List professionals
GET https://eendorsements.com/api/v1/partner/professionals
Returns a cursor-paginated list of professionals belonging to your company. Only active professionals are returned by default.
Query parameters
Number of records to return. Min 1, max 100.
Opaque pagination cursor returned in a previous response’s pagination.next_cursor.
Filter by status. Pass "true" for active only, "false" for inactive only. Omit to get all active professionals (default).
Response
{
"professionals" : [
{
"id" : "a1b2c3d4-e5f6-7890-abcd-ef1234567890" ,
"slug" : "jane-smith" ,
"first_name" : "Jane" ,
"last_name" : "Smith" ,
"active" : true ,
"profile_url" : "https://eendorsements.com/user/jane-smith" ,
"default_survey_url" : "https://eendorsements.com/s/550e8400-e29b-41d4-a716-446655440000" ,
"created_at" : "2024-03-15T12:00:00Z"
}
],
"pagination" : {
"count" : 1 ,
"has_more" : false ,
"next_cursor" : null
}
}
Array of professional objects. UUID of the professional.
URL-friendly identifier used in profile and embed URLs.
Whether the professional is active.
Canonical public profile page URL.
Direct link to this professional’s default review-request survey. Share this URL to collect reviews attributed to this professional.
ISO 8601 timestamp of when the record was created.
Number of records in this page.
Whether more records exist after this page.
Pass this value as cursor to fetch the next page. null when on the last page.
Get a professional
GET https://eendorsements.com/api/v1/partner/professionals/:slug
Returns a single professional by their slug. The professional must belong to your company.
Path parameters
The professional’s slug (e.g. jane-smith).
Response
{
"id" : "a1b2c3d4-e5f6-7890-abcd-ef1234567890" ,
"slug" : "jane-smith" ,
"first_name" : "Jane" ,
"last_name" : "Smith" ,
"active" : true ,
"location_id" : 42 ,
"profile_url" : "https://eendorsements.com/user/jane-smith" ,
"default_survey_url" : "https://eendorsements.com/s/550e8400-e29b-41d4-a716-446655440000" ,
"created_at" : "2024-03-15T12:00:00Z"
}
ID of the location this professional is assigned to, or null if unassigned.
Returns 404 if the slug is not found or does not belong to your company.
Create a professional
POST https://eendorsements.com/api/v1/partner/professionals
Content-Type : application/json
Creates a new professional in your company and sends them an invite email. Once they accept the invite they can log in and manage their profile.
A default review-request survey is automatically generated for the new professional within a few seconds. Poll GET /professionals/:slug to retrieve the default_survey_url once it’s ready.
Request body
Professional’s first name.
Professional’s last name.
Email address. An invite link will be sent here. Must be unique across the platform.
URL-friendly identifier for the profile page. Auto-generated from the name if omitted. Must contain only lowercase letters, numbers, and hyphens.
ID of the location to assign this professional to. Must belong to your company.
Whether the professional should be active immediately.
Example request
{
"first_name" : "Jane" ,
"last_name" : "Smith" ,
"email" : "jane.smith@example.com" ,
"location_id" : 42
}
Response 201 Created
{
"id" : "a1b2c3d4-e5f6-7890-abcd-ef1234567890" ,
"slug" : "jane-smith" ,
"first_name" : "Jane" ,
"last_name" : "Smith" ,
"active" : true ,
"location_id" : 42 ,
"profile_url" : "https://eendorsements.com/user/jane-smith" ,
"default_survey_url" : null ,
"created_at" : "2024-03-15T12:00:00Z"
}
default_survey_url will be null immediately after creation while the survey is being provisioned. Fetch the professional again after a few seconds to get the URL.
Error codes
Status Meaning 401Missing or invalid API key 409A user with this email already exists 422Validation error — see the error field 500Internal server error