Documentation

List Team Members

Last updated on August 20, 2026

Retrieve the team members belonging to your business. Use the returned IDs as valid team-member-id values when assigning leads or displaying ownership options in an integration.

Endpoint

GET /api/v1/team-members
PropertyValue
MethodGET
Base path/api/v1/team-members
Full URLhttps://client-api.e-so.in/api/v1/team-members
AuthenticationRequired

Authentication

Every request must include a business access token in one of the following headers. If both headers are sent, Authorization is used.

HeaderFormatExample
AuthorizationBearer <token>Authorization: Bearer abc123...
auth-key<token>auth-key: abc123...
  • Tokens are scoped to the business, so the response includes only members belonging to that business.
  • A missing, invalid, or expired token returns 401 Unauthorized.
  • Keep the token secret. Do not expose it in client-side code or public repositories. Rotate it immediately if it may have been leaked.

Request

Headers

HeaderRequiredDescription
Authorization or auth-keyYesBusiness access token.
Content-TypeNoNo request body is sent.

Path and query parameters

None. The endpoint does not require path or query parameters.

Body

No request body is required.

GET /api/v1/team-members HTTP/1.1
Host: client-api.e-so.in
Authorization: Bearer YOUR_TOKEN

Responses

Success — 200 OK

Returns the team members for the authenticated business. The payload is an empty array when no members are found.

{
  "status": 200,
  "success": true,
  "message": "success",
  "payload": [
    {
      "id": 42,
      "name": "Example Member",
      "email": "member@example.com",
      "role_id": "Admin"
    }
  ]
}
FieldTypeDescription
statusnumberHTTP status code, 200.
successbooleantrue when the request succeeds.
messagestringConfirmation message: success.
payloadarrayList of team members, or [] when none are found.

Team member fields

FieldTypeDescription
idintegerUnique ID. Use it as team-member-id when assigning a lead.
namestringDisplay name of the team member.
emailstringEmail address of the team member.
role_idstringRole label: Admin or Team Member. This is a human-readable label, not a numeric ID.

Error responses

HTTP statusWhen it happensResolution
401The token is missing, invalid, expired, or revoked.Check the header name and token value. Request a new token if needed.
500An unexpected server error occurred.Retry with exponential backoff. If it persists, contact EasySocial Support with the request ID and timestamp.

Behavior

BehaviorDetails
Business scopeOnly members associated with the business of the access token are returned.
Empty resultA business with no eligible members receives 200 with payload: [].
Use with AssignUse each returned id as team-member-id in the Assign Lead endpoint.
PaginationNone. The endpoint returns all eligible members in one response and has no page, limit, from, or to parameters.
Read-onlyThe endpoint does not create or modify team members. Manage members from the EasySocial dashboard.

Code examples

Replace YOUR_TOKEN with the business access token.

cURL

curl -X GET "https://client-api.e-so.in/api/v1/team-members" \
  -H "Authorization: Bearer YOUR_TOKEN"

# Alternative header
curl -X GET "https://client-api.e-so.in/api/v1/team-members" \
  -H "auth-key: YOUR_TOKEN"

JavaScript — fetch

const response = await fetch(
  "https://client-api.e-so.in/api/v1/team-members",
  {
    method: "GET",
    headers: { Authorization: "Bearer YOUR_TOKEN" },
  },
);

const body = await response.json();
if (!response.ok) {
  console.error(`Error ${body.status}: ${body.message}`);
} else {
  body.payload.forEach((member) => {
    console.log(`${member.id} — ${member.name} (${member.role_id})`);
  });
}

Python — requests

import requests

url = "https://client-api.e-so.in/api/v1/team-members"
headers = {"Authorization": "Bearer YOUR_TOKEN"}
response = requests.get(url, headers=headers)

if response.status_code == 200:
    for member in response.json()["payload"]:
        print(member["id"], member["name"], member["role_id"])
elif response.status_code == 401:
    print("Authentication failed — check your token.")
else:
    print(f"Unexpected error {response.status_code}: {response.text}")
MethodPathPurpose
PUT/engage/v1/leads/{team-member-id}/{lead-id}/assignAssign a lead to one of the returned team members.
PUT/engage/v1/leads/{lead-id}/unassignRemove the owner from a lead.
GET/engage/v1/leadsList leads with an optional assigned filter for verifying assignment.

Support

If an integration issue continues, contact EasySocial Support and include the full request URL, the status and message from the response, and the request timestamp in UTC. Never include the access-token value.