For the complete documentation index, see llms.txt. This page is also available as Markdown.

Scenario Labels

Colour-coded team labels can be assigned to scenarios for organization and filtering.

List team labels

get
/scenario-labels

Retrieves the colour-coded labels owned by a team, sorted by name (case-insensitive) ascending. Each label carries a scenariosCount — the number of non-trashed scenarios in the team that currently carry it.

Required scopes
This endpoint requires the following scopes:
Authorizations
AuthorizationstringRequired

Authorize the API call with your API token in the Authorization header with the value: Token your-api-token.

If you don't have an API token yet, please refer to the "Authentication" section to learn how to create one.

Query parameters
teamIdinteger · min: 1Required

The team (company) whose labels are listed.

Example: 112
Responses
200

Successful response

application/json
get/scenario-labels
200

Successful response

Create team label

post
/scenario-labels

Creates a new team label. Requires scenario edit on the team. Label names are unique (case-insensitive) within a team.

Required scopes
This endpoint requires the following scopes:
Authorizations
AuthorizationstringRequired

Authorize the API call with your API token in the Authorization header with the value: Token your-api-token.

If you don't have an API token yet, please refer to the "Authentication" section to learn how to create one.

Body
teamIdinteger · min: 1Required
namestring · min: 1 · max: 30Required
colourstring · enumRequired

Fixed palette semantic token name; the UI maps each token to its hex value.

Possible values:
descriptionstring · max: 500Optional
Responses
200

Label created

application/json
post/scenario-labels

Delete team label

delete
/scenario-labels/{labelId}

Deletes a team label. Requires scenario edit on the label's team. Removes the label from every scenario it was assigned to.

Required scopes
This endpoint requires the following scopes:
Authorizations
AuthorizationstringRequired

Authorize the API call with your API token in the Authorization header with the value: Token your-api-token.

If you don't have an API token yet, please refer to the "Authentication" section to learn how to create one.

Path parameters
labelIdinteger · min: 1Required
Responses
200

Label deleted

application/json
delete/scenario-labels/{labelId}

Update team label

patch
/scenario-labels/{labelId}

Renames, re-colours, or re-describes a team label. Requires scenario edit on the label's team. Every chip using the label updates at once.

Required scopes
This endpoint requires the following scopes:
Authorizations
AuthorizationstringRequired

Authorize the API call with your API token in the Authorization header with the value: Token your-api-token.

If you don't have an API token yet, please refer to the "Authentication" section to learn how to create one.

Path parameters
labelIdinteger · min: 1Required
Body
namestring · min: 1 · max: 30Optional
colourstring · enumOptional

Fixed palette semantic token name; the UI maps each token to its hex value.

Possible values:
descriptionstring · max: 500 · nullableOptional
Responses
200

Label updated

application/json
patch/scenario-labels/{labelId}

Assign a label to multiple scenarios

post
/scenario-labels/{labelId}/scenarios

Assigns a team label to as many as 10,000 scenario IDs in one request. The caller needs scenario edit on the label's team (or the equivalent admin permission). Valid same-team assignments are written atomically as one accepted subset; expected per-scenario failures do not prevent other valid assignments and the response remains 200. Missing and cross-team scenario IDs use the same generic IM002 rejection so the endpoint does not reveal whether an unauthorized scenario exists. Repeating an existing assignment is successful.

Required scopes
This endpoint requires the following scopes:
Authorizations
AuthorizationstringRequired

Authorize the API call with your API token in the Authorization header with the value: Token your-api-token.

If you don't have an API token yet, please refer to the "Authentication" section to learn how to create one.

Path parameters
labelIdinteger · int32 · min: 1Required

Team label to assign.

Example: {"summary":"Assign a team label","value":42}
Body
scenarioIdsinteger · int32[] · min: 1 · max: 10000Required

Scenario IDs to process. The raw array is limited before duplicate IDs are removed. Duplicate IDs are processed once and retain the position of their first occurrence.

Responses
200

Batch processed. This status is also returned when every distinct scenario ID is rejected; inspect results and summary for per-scenario outcomes.

application/json
post/scenario-labels/{labelId}/scenarios

Remove a label from multiple scenarios

delete
/scenario-labels/{labelId}/scenarios

Removes a team label from as many as 10,000 scenario IDs in one request. The caller needs scenario edit on the label's team (or the equivalent admin permission). Valid same-team removals are written atomically as one accepted subset; expected per-scenario failures do not prevent other valid removals and the response remains 200. Missing and cross-team scenario IDs use the same generic IM002 rejection so the endpoint does not reveal whether an unauthorized scenario exists. Removing an assignment that is already absent is successful. An invalid cross-team assignment is rejected and preserved.

Required scopes
This endpoint requires the following scopes:
Authorizations
AuthorizationstringRequired

Authorize the API call with your API token in the Authorization header with the value: Token your-api-token.

If you don't have an API token yet, please refer to the "Authentication" section to learn how to create one.

Path parameters
labelIdinteger · int32 · min: 1Required

Team label to remove.

Example: {"summary":"Remove a team label","value":42}
Body
scenarioIdsinteger · int32[] · min: 1 · max: 10000Required

Scenario IDs to process. The raw array is limited before duplicate IDs are removed. Duplicate IDs are processed once and retain the position of their first occurrence.

Responses
200

Batch processed. This status is also returned when every distinct scenario ID is rejected; inspect results and summary for per-scenario outcomes.

application/json
delete/scenario-labels/{labelId}/scenarios

Assign label to scenario

post
/scenario-labels/{labelId}/scenarios/{scenarioId}

Assigns a team label to a single scenario. A team label may only be applied to scenarios in that same team. Idempotent.

Required scopes
This endpoint requires the following scopes:
Authorizations
AuthorizationstringRequired

Authorize the API call with your API token in the Authorization header with the value: Token your-api-token.

If you don't have an API token yet, please refer to the "Authentication" section to learn how to create one.

Path parameters
labelIdinteger · min: 1Required
scenarioIdinteger · min: 1Required
Responses
200

Label assigned

application/json
post/scenario-labels/{labelId}/scenarios/{scenarioId}

Remove label from scenario

delete
/scenario-labels/{labelId}/scenarios/{scenarioId}

Removes a team label from a single scenario. Idempotent.

Required scopes
This endpoint requires the following scopes:
Authorizations
AuthorizationstringRequired

Authorize the API call with your API token in the Authorization header with the value: Token your-api-token.

If you don't have an API token yet, please refer to the "Authentication" section to learn how to create one.

Path parameters
labelIdinteger · min: 1Required
scenarioIdinteger · min: 1Required
Responses
200

Label removed

application/json
delete/scenario-labels/{labelId}/scenarios/{scenarioId}

Last updated