Skip to main content
The Workspace Users API lets you list and fetch people in your workspace: active members (recruiters and admins who have joined) and invited users (people who have been invited but not yet accepted). Use these endpoints when you need to sync your system with TapTalent’s user list, show who can access the workspace, resolve inviter or reporting manager details, or filter users by role, team, or status. What you get: Each user includes an id, contact info (email, firstName, lastName), status (ACTIVE, INVITED, or EXPIRED), role and company-admin flag, optional teamId/teamIds and reportingManagerId. Use GET /users/:userId to resolve an inviter or manager by id, and the Workspace Teams API to resolve team names from teamId or teamIds.

List Workspace Users

Returns a paginated list of everyone in the workspace: active members and invited users (including expired invites). Use query parameters to filter by status, role, company-admin flag, or a search term on name/email.

GET /users

Authentication

Requires API key authentication via Authorization: Bearer YOUR_API_KEY header.

Query Parameters

ParameterTypeRequiredDescription
pageintegerNoPage number (default: 1)
perPageintegerNoItems per page (default: 20, max: 100)
statusstringNoComma-separated list: ACTIVE, INVITED, EXPIRED. Only users with these statuses are returned.
rolestringNoFilter by role. Use internal code (SUPER_ADMIN, ADMIN) or display name (“Super Admin”, “Admin”).
isCompanyAdminbooleanNoIf true, only company admins. If false, only non-admins. Omit for all.
searchstringNoSubstring match (case-insensitive) on email, first name, or last name.

User Object (in list and get-one)

FieldTypeDescription
idstringUnique identifier for the user or invite
emailstringUser’s email address
firstNamestringFirst name
lastNamestringLast name
statusstringOne of: ACTIVE (member), INVITED (pending invite), EXPIRED (invite expired)
rolestring or nullDisplay name for the user’s role (e.g. “Super Admin”, “Admin”). Null if not set.
isCompanyAdminbooleanWhether the user is a company admin. Always false for invited users.
invitedByIdstring or nullFor invited users, the workspace user id of the person who sent the invite. null for active members. Use this id with GET /users/:userId to fetch inviter details.
teamIdstring or nullPrimary team id for the user. First team in teamIds. Use with GET /teams/:teamId to fetch team details.
teamIdsarray of stringsAll team ids the user belongs to (active members may have multiple; invited users have one).
reportingManagerIdstring or nullWorkspace user id of the user’s reporting manager. null if not set. Use with GET /users/:userId to fetch manager details.

Example Request

# List all users (with optional filters)
curl -X GET "https://partner-api.taptalent.io/v1/partner/users?page=1&perPage=20" \
  -H "Authorization: Bearer sk_live_AbCdEfGhIjKlMnOpQrStUv" \
  -H "Content-Type: application/json"

# Filter by status and role
curl -X GET "https://partner-api.taptalent.io/v1/partner/users?status=ACTIVE,INVITED&role=Admin&isCompanyAdmin=false&search=jane" \
  -H "Authorization: Bearer sk_live_AbCdEfGhIjKlMnOpQrStUv"

Example Response

{
  "status": "success",
  "data": [
    {
      "id": "user-id-abc123",
      "email": "jane@example.com",
      "firstName": "Jane",
      "lastName": "Doe",
      "status": "ACTIVE",
      "role": "Super Admin",
      "isCompanyAdmin": true,
      "invitedById": null,
      "teamId": "team-uuid-1",
      "teamIds": ["team-uuid-1"],
      "reportingManagerId": null
    },
    {
      "id": "invite-id-xyz789",
      "email": "bob@example.com",
      "firstName": "Bob",
      "lastName": "Smith",
      "status": "INVITED",
      "role": "Admin",
      "isCompanyAdmin": false,
      "invitedById": "user-id-abc123",
      "teamId": "team-uuid-1",
      "teamIds": ["team-uuid-1"],
      "reportingManagerId": "user-id-abc123"
    }
  ],
  "pagination": {
    "page": 1,
    "perPage": 20,
    "total": 5
  }
}

Get Workspace User

Returns one user or invite by userId. Use this after listing users when you need full details for a single person, or to resolve an inviter (invitedById) or reporting manager (reportingManagerId) from another user’s payload. The user or invite must belong to your workspace; otherwise the API returns 404.

GET /users/:userId

Authentication

Requires API key authentication via Authorization: Bearer YOUR_API_KEY header.

Path Parameters

ParameterTypeRequiredDescription
userIdstringYesThe unique identifier of the user or invite

Example Request

curl -X GET "https://partner-api.taptalent.io/v1/partner/users/user-id-abc123" \
  -H "Authorization: Bearer sk_live_AbCdEfGhIjKlMnOpQrStUv" \
  -H "Content-Type: application/json"

Example Response

{
  "status": "success",
  "data": {
    "id": "user-id-abc123",
    "email": "jane@example.com",
    "firstName": "Jane",
    "lastName": "Doe",
    "status": "ACTIVE",
    "role": "Super Admin",
    "isCompanyAdmin": true,
    "invitedById": null,
    "teamId": "team-uuid-1",
    "teamIds": ["team-uuid-1"],
    "reportingManagerId": null
  }
}

Error Response (404)

When the user is not found or does not belong to your workspace:
{
  "statusCode": 404,
  "code": "NOT_FOUND",
  "type": "not_found",
  "errorMessage": "User not found in this workspace"
}

  • Workspace Teams — List and fetch teams; use teamId or teamIds from the user object to get team names.
  • API Reference Overview — Base URL and authentication for all partner endpoints.