Workspace
Every endpoint on this page requires workspace:read.
GET /v1/workspace
Section titled “GET /v1/workspace”Returns the current workspace context for the authenticated caller.
curl "$API_BASE_URL/v1/workspace" \ -H "Authorization: Bearer $ACCESS_TOKEN"Response 200 OK:
{ "id": "ws_01EXAMPLE", "name": "Quantify", "slug": "quantify", "description": "Quantify workspace", "state": "active", "currentUserAccountId": "usr_01EXAMPLE", "currentWorkspaceMemberId": "member_01EXAMPLE", "currentMemberRole": 2}GET /v1/workspace/issue-roles
Section titled “GET /v1/workspace/issue-roles”Returns the workspace issue-role catalog.
Query parameters
Section titled “Query parameters”| Parameter | Type | Notes |
|---|---|---|
cursor | string | Optional cursor |
page_size | integer | Optional page size |
Example
Section titled “Example”curl "$API_BASE_URL/v1/workspace/issue-roles?page_size=2" \ -H "Authorization: Bearer $ACCESS_TOKEN"Response 200 OK:
{ "results": [ { "id": "role_reviewer", "name": "Reviewer", "description": "Reviews implementation and behavior.", "iconCss": "fa-regular fa-eye", "color": "#0f766e", "position": 1, "isRequired": false }, { "id": "role_qa", "name": "QA", "description": "Validates the change before release.", "iconCss": "fa-solid fa-vial-circle-check", "color": "#ea580c", "position": 2, "isRequired": false } ], "pagination": { "pageSize": 2, "cursor": "", "nextCursor": "", "hasMore": false, "returnedCount": 2, "totalCount": 2 }}GET /v1/workspace/issue-statuses
Section titled “GET /v1/workspace/issue-statuses”Returns the workspace issue-status catalog.
curl "$API_BASE_URL/v1/workspace/issue-statuses" \ -H "Authorization: Bearer $ACCESS_TOKEN"Response 200 OK:
{ "results": [ { "id": "iss-status_open", "name": "Open", "description": "Ready for work.", "color": "#2563eb", "category": "open", "position": 1, "isInitial": true, "isTerminal": false }, { "id": "iss-status_done", "name": "Done", "description": "Completed and closed.", "color": "#16a34a", "category": "done", "position": 4, "isInitial": false, "isTerminal": true } ], "pagination": { "pageSize": 100, "cursor": "", "nextCursor": "", "hasMore": false, "returnedCount": 2, "totalCount": 2 }}GET /v1/workspace/issue-estimates
Section titled “GET /v1/workspace/issue-estimates”Returns the workspace estimate catalog.
curl "$API_BASE_URL/v1/workspace/issue-estimates" \ -H "Authorization: Bearer $ACCESS_TOKEN"Response 200 OK:
{ "results": [ { "id": "est_small", "name": "Small", "iconCss": "fa-solid fa-seedling", "color": "#22c55e", "value": 1, "hours": 4, "position": 1 }, { "id": "est_large", "name": "Large", "iconCss": "fa-solid fa-mountain", "color": "#f59e0b", "value": 3, "hours": 16, "position": 3 } ], "pagination": { "pageSize": 100, "cursor": "", "nextCursor": "", "hasMore": false, "returnedCount": 2, "totalCount": 2 }}GET /v1/workspace/issue-labels
Section titled “GET /v1/workspace/issue-labels”Returns issue labels for the workspace, optionally scoped to a team.
Query parameters
Section titled “Query parameters”| Parameter | Type | Notes |
|---|---|---|
team_id | string | Optional team filter |
team_code | string | Optional team filter |
cursor | string | Optional cursor |
page_size | integer | Optional page size |
If both team_id and team_code are supplied, they must resolve to the same accessible team.
Example
Section titled “Example”curl "$API_BASE_URL/v1/workspace/issue-labels?team_code=PLAT&page_size=2" \ -H "Authorization: Bearer $ACCESS_TOKEN"Response 200 OK:
{ "results": [ { "id": "label_docs", "isGroup": false, "name": "documentation", "description": "Documentation work", "color": "#8b5cf6", "teamId": "team_platform", "groupId": "label-group_area", "groupName": "Area" }, { "id": "label_api", "isGroup": false, "name": "api", "description": "Public API work", "color": "#2563eb", "teamId": "team_platform", "groupId": "label-group_area", "groupName": "Area" } ], "pagination": { "pageSize": 2, "cursor": "", "nextCursor": "", "hasMore": false, "returnedCount": 2, "totalCount": 2 }}Error notes
Section titled “Error notes”- Invalid team filters return
400 invalid_request - Missing scope returns
403 insufficient_scope