Skip to content
SynupAPI
Get an API key
GETapi.synup.com/api/v4/users

List Users

This API retrieves a paginated list of all users in the system.

Pagination:

  • Uses cursor-based pagination for efficient data retrieval.
  • Returns up to 50 users per request.
  • Includes pageInfo for navigating through results.
Requires an API key. Send it as Authorization: API <your-key> — see Getting started.

Request

Request
curl -X GET 'https://api.synup.com/api/v4/users' \
  -H 'Authorization: API YOUR_API_KEY' \
  -H 'Content-Type: application/json'

Responses

StatusDescription
200Successfully retrieved users
401Unauthorized - Valid API key required
403Forbidden - Insufficient permissions to list users
Example response
{
  "data": {
    "users": {
      "totalCount": 342,
      "pageInfo": {
        "hasNextPage": true,
        "hasPreviousPage": false,
        "total": 50,
        "endCursor": "VXNlcjoxNDYyNTM="
      },
      "edges": [
        {
          "cursor": "VXNlcjoxNjUzNjA=",
          "node": {
            "id": "VXNlcjoxNjUzNjA=",
            "email": "user@example.com",
            "firstName": "John",
            "lastName": "Doe",
            "customRole": {
              "id": "Q3VzdG9tUm9sZTo1OTE5",
              "name": "District Manager(Read)"
            },
            "directCustomer": true,
            "createdAt": "2025-02-03 10:25:44 UTC",
            "inviteStatus": "ACTIVE"
          }
        }
      ]
    }
  }
}

Response body

NameTypeRequiredDescription
dataobjectoptional
data.usersobjectoptional
data.users.totalCountintegeroptionalTotal number of users in the system
data.users.pageInfoobjectoptional
data.users.pageInfo.hasNextPagebooleanoptionalIndicates if there are more pages after the current page
data.users.pageInfo.hasPreviousPagebooleanoptionalIndicates if there are previous pages before the current page
data.users.pageInfo.totalintegeroptionalNumber of items in the current page
data.users.pageInfo.endCursorstringoptionalCursor for the last item in the current page
data.users.edgesarray of objectoptional
data.users.edges[].cursorstringoptionalUnique cursor for this user record
data.users.edges[].nodeobjectoptional
data.users.edges[].node.idstringrequiredUnique identifier for the user
data.users.edges[].node.emailstringrequiredUser's email address
data.users.edges[].node.firstNamestringrequiredUser's first name
data.users.edges[].node.lastNamestringoptionalUser's last name (optional)
data.users.edges[].node.customRoleobjectrequired
data.users.edges[].node.customRole.idstringoptionalRole identifier
data.users.edges[].node.customRole.namestringoptionalRole name
data.users.edges[].node.directCustomerbooleanrequiredIndicates if the user is a direct customer
data.users.edges[].node.createdAtstringrequiredTimestamp when the user was created
data.users.edges[].node.inviteStatusstringrequiredCurrent status of the user's invitation
ACTIVEINVITE_SENTRESEND_INVITE