Documentation Index
Fetch the complete documentation index at: https://docs.taptalent.io/llms.txt
Use this file to discover all available pages before exploring further.
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
| Parameter | Type | Required | Description |
|---|
page | integer | No | Page number (default: 1) |
perPage | integer | No | Items per page (default: 20, max: 100) |
status | string | No | Comma-separated list: ACTIVE, INVITED, EXPIRED. Only users with these statuses are returned. |
role | string | No | Filter by role. Use internal code (SUPER_ADMIN, ADMIN) or display name (“Super Admin”, “Admin”). |
isCompanyAdmin | boolean | No | If true, only company admins. If false, only non-admins. Omit for all. |
search | string | No | Substring match (case-insensitive) on email, first name, or last name. |
User Object (in list and get-one)
| Field | Type | Description |
|---|
id | string | Unique identifier for the user or invite |
email | string | User’s email address |
firstName | string | First name |
lastName | string | Last name |
status | string | One of: ACTIVE (member), INVITED (pending invite), EXPIRED (invite expired) |
role | string or null | Display name for the user’s role (e.g. “Super Admin”, “Admin”). Null if not set. |
isCompanyAdmin | boolean | Whether the user is a company admin. Always false for invited users. |
invitedById | string or null | For 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. |
teamId | string or null | Primary team id for the user. First team in teamIds. Use with GET /teams/:teamId to fetch team details. |
teamIds | array of strings | All team ids the user belongs to (active members may have multiple; invited users have one). |
reportingManagerId | string or null | Workspace 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
| Parameter | Type | Required | Description |
|---|
userId | string | Yes | The 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"
}