Skip to main content

API keys and scopes

Create keys from My Account → API keys. Give each key only the scopes it needs. The secret is shown once after creation; store it securely.

Use a key with the REST API or MCP server:

Authorization: Bearer <key>

Scopes

ScopeAllows
teams:read / teams:writeRead or manage teams.
team_members:read / team_members:writeRead or manage team membership.
team_projects:readRead projects linked to a team.
users:readResolve limited user identity information.
projects:read / projects:writeRead or manage projects.
project_access:read / project_access:writeRead or manage project members and teams.
work_items:read / work_items:writeRead or manage work items.
entries:read / entries:writeRead or manage entries.
relationships:read / relationships:writeRead or manage relationships.
audit_logs:readRead audit logs.

Project access still applies: a key can only read or change projects available to its owner. MCP project content and summary tools check both the requested scope and the key owner's project access. Team and team-project directory endpoints are organization-wide and are controlled by their team scopes. Team creation, team updates, team deletion, and team membership changes additionally require the API-key owner to be an administrator or superadministrator. Audit log endpoints also require an administrator or superadministrator.

Collection endpoints use zero-based page and size query parameters. The default size is endpoint-specific; the maximum is 100. Successful paginated responses include page, size, totalItems, and totalPages in meta. Nested project and team collections are paginated too:

  • GET /api/v1/projects/{projectId}/members
  • GET /api/v1/projects/{projectId}/teams
  • GET /api/v1/teams/{teamId}/members
  • GET /api/v1/teams/{teamId}/projects

GET /api/v1/projects/{projectId}/search returns work items, entries, and relationships together. It requires all three corresponding read scopes and accepts a limit from 1 to 100.

All successful and error responses use the standard data, errors, and meta envelope. Invalid JSON, invalid query parameters, and oversized input are reported as 400 BAD_REQUEST responses. Revoke a key from My Account when it should stop working.

Endpoint access

Endpoint groupRequired scopeAdditional rule
/api/v1/projectsprojects:read / projects:writeProject reads require viewer access; updates and deletion require owner access.
/api/v1/projects/{projectId}/members and /teamsproject_access:read / project_access:writeReads require viewer access; changes require project-owner access.
/api/v1/projects/{projectId}/work-itemswork_items:read / work_items:writeProject viewer or editor access, respectively.
/api/v1/work-items/{workItemId}/entriesentries:read / entries:writeAccess is checked through the work item’s project.
/api/v1/projects/{projectId}/relationshipsrelationships:read / relationships:writeProject viewer or editor access, respectively.
/api/v1/projects/{projectId}/searchwork_items:read, entries:read, and relationships:readProject viewer access; all three scopes are required because one response contains all three resource types.
/api/v1/projects/{projectId}/content-orderwork_items:write and entries:writeProject editor access; ordering can update both work-item and entry positions.
/api/v1/teams and team membersteams:*, team_members:*Team creation, updates, deletion, and membership changes require an admin-like key owner.
/api/v1/teams/{teamId}/projectsteam_projects:readReverse lookup only. Manage links from the project-side endpoints with project_access:write.
/api/v1/users/{userId}users:readReturns active, limited identity fields only.
/api/v1/audit-logs and project audit logsaudit_logs:readAdmin or superadmin key owner only.