API ReferenceWritable configuration
Writable configuration
Lists the workspace-specific keys accepted by incident and service requests. These endpoints also identify the default status, severity, and service tier.
Search all guides and API reference text. Method and scope filter endpoints only.
Endpoints
List available workflow statuses
#/api/v1/configuration/workflow-statusesReturns the workflow statuses that incident requests can use. The response lists statuses in workflow order. Exactly one status has is_default set to true. If a create-incident request omits status, the API uses that status.
- Required scope
- incidents:read
Example request
Replace {company}, <token>, and any other placeholders with your values.
curl --request GET \
--url 'https://{company}.api.tellagen.com/api/v1/configuration/workflow-statuses' \
--header 'Authorization: Bearer <token>'Success: 200
Each entry contains a status key, label, display order, default flag, lifecycle flags, and color.
Success response JSON
{
"workflow_statuses": [
{
"key": "open",
"label": "Open",
"order": 0,
"is_default": true,
"is_terminal": false,
"is_escalation_threshold": true,
"color": "bg-amber-500"
},
{
"key": "resolved",
"label": "Resolved",
"order": 1,
"is_default": false,
"is_terminal": true,
"is_escalation_threshold": false,
"color": "bg-moss"
}
]
}Parameters, headers, and fields
Operation ID: listWorkflowStatuses
Response 200
Each entry contains a status key, label, display order, default flag, lifecycle flags, and color.
“Always returned” applies when the parent object exists. The value can be null. Child fields describe each array item.
| Field | Description |
|---|---|
workflow_statusesobject[] Always returned | The workflow statuses in configured workflow order. |
workflow_statuses[].keystring Always returned | A workflow-status key accepted by incident requests. |
workflow_statuses[].labelstring Always returned | The status name shown to users. |
workflow_statuses[].orderinteger Always returned | The zero-based position of the status in the workflow. Minimum: 0. |
workflow_statuses[].is_defaultboolean Always returned | Identifies the default workflow status for new incidents. |
workflow_statuses[].is_terminalboolean Always returned | Indicates whether this status ends the active incident workflow. |
workflow_statuses[].is_escalation_thresholdboolean Always returned | Indicates whether this status is the configured escalation threshold. |
workflow_statuses[].colorstring Always returned | The color class used to display the status (for example bg-amber-500). |
Errors and recovery (7)
You can repeat this request. If the API returns 429, wait for Retry-After. Set a maximum number of attempts. Retries and updates
Error responses (7)
- 400
- The API rejected the request because its syntax or one of its values is invalid.
- 401
- The request does not contain valid authentication.
- 403
- Authentication succeeded, but the caller lacks the required API scope or workspace permission.
- 404
- The requested resource does not exist or is not available to the caller.
- 409
- The request conflicts with the current resource state. idempotency_key_reused means that the key belongs to different request content. idempotency_in_progress means that an identical request is still in progress. idempotency_outcome_unknown means that an earlier request may have completed, but its result could not be stored and must not be retried automatically.
- 429
- The request exceeded an applicable sliding limit. Free API keys allow 20 requests per second and 600 requests per 60 seconds. Team API keys allow 100 requests per second and 3,000 requests per 60 seconds. Browser users allow 100 requests per second. Browser company allows 500 requests per second and 5,000 requests per 10 seconds. Browser company means the sum of user traffic for one company. Anonymous client IPs allow 20 requests per second and 200 requests per 10 seconds. The rate limiter does not count requests that it rejects.
- 500
- An internal server error prevented completion of the request.
List available severities
#/api/v1/configuration/severitiesReturns the severity levels that incident requests can use. The response lists severities from the highest score threshold to the lowest. Exactly one severity has is_default set to true. If a create-incident request omits severity, the API uses that severity.
- Required scope
- incidents:read
Example request
Replace {company}, <token>, and any other placeholders with your values.
curl --request GET \
--url 'https://{company}.api.tellagen.com/api/v1/configuration/severities' \
--header 'Authorization: Bearer <token>'Success: 200
Each entry contains a severity key, label, display order, default flag, score threshold, description, and color.
Success response JSON
{
"severities": [
{
"key": "sev1",
"label": "SEV1",
"order": 0,
"is_default": false,
"min_score": 300,
"description": "Critical - complete outage",
"color": "ember"
},
{
"key": "sev2",
"label": "SEV2",
"order": 1,
"is_default": true,
"min_score": 150,
"description": "Major - degraded experience",
"color": "amber-500"
}
]
}Parameters, headers, and fields
Operation ID: listSeverities
Response 200
Each entry contains a severity key, label, display order, default flag, score threshold, description, and color.
“Always returned” applies when the parent object exists. The value can be null. Child fields describe each array item.
| Field | Description |
|---|---|
severitiesobject[] Always returned | The severity levels from the highest score threshold to the lowest. |
severities[].keystring Always returned | A severity key accepted by incident requests. |
severities[].labelstring Always returned | The severity name shown to users. |
severities[].orderinteger Always returned | The zero-based position of the severity in the response. Minimum: 0. |
severities[].is_defaultboolean Always returned | Identifies the default severity for new incidents. |
severities[].min_scorenumber Always returned | The minimum calculated score for this severity. Minimum: 0. |
severities[].descriptionstring Always returned | The workspace description of this severity. |
severities[].colorstring Always returned | The color token used to display the severity. |
Errors and recovery (7)
You can repeat this request. If the API returns 429, wait for Retry-After. Set a maximum number of attempts. Retries and updates
Error responses (7)
- 400
- The API rejected the request because its syntax or one of its values is invalid.
- 401
- The request does not contain valid authentication.
- 403
- Authentication succeeded, but the caller lacks the required API scope or workspace permission.
- 404
- The requested resource does not exist or is not available to the caller.
- 409
- The request conflicts with the current resource state. idempotency_key_reused means that the key belongs to different request content. idempotency_in_progress means that an identical request is still in progress. idempotency_outcome_unknown means that an earlier request may have completed, but its result could not be stored and must not be retried automatically.
- 429
- The request exceeded an applicable sliding limit. Free API keys allow 20 requests per second and 600 requests per 60 seconds. Team API keys allow 100 requests per second and 3,000 requests per 60 seconds. Browser users allow 100 requests per second. Browser company allows 500 requests per second and 5,000 requests per 10 seconds. Browser company means the sum of user traffic for one company. Anonymous client IPs allow 20 requests per second and 200 requests per 10 seconds. The rate limiter does not count requests that it rejects.
- 500
- An internal server error prevented completion of the request.
List available service tiers
#/api/v1/configuration/service-tiersReturns the service tiers that service requests can use. The response lists tiers in configured rank order. Exactly one tier has is_default set to true. If a create-service request omits tier, the API uses that tier.
- Required scope
- services:read
Example request
Replace {company}, <token>, and any other placeholders with your values.
curl --request GET \
--url 'https://{company}.api.tellagen.com/api/v1/configuration/service-tiers' \
--header 'Authorization: Bearer <token>'Success: 200
Each entry contains a tier key, label, display order, default flag, and description.
Success response JSON
{
"service_tiers": [
{
"key": "t0",
"label": "T0 - Mission Critical",
"order": 0,
"is_default": false,
"description": "Mission critical"
},
{
"key": "t2",
"label": "T2 - Important",
"order": 2,
"is_default": true,
"description": "Important"
}
]
}Parameters, headers, and fields
Operation ID: listServiceTiers
Response 200
Each entry contains a tier key, label, display order, default flag, and description.
“Always returned” applies when the parent object exists. The value can be null. Child fields describe each array item.
| Field | Description |
|---|---|
service_tiersobject[] Always returned | The service tiers in configured rank order. |
service_tiers[].keystring Always returned | A service-tier key accepted by service requests. |
service_tiers[].labelstring Always returned | The tier name shown to users. |
service_tiers[].orderinteger Always returned | The zero-based position of the tier in configured rank order. Minimum: 0. |
service_tiers[].is_defaultboolean Always returned | Identifies the default tier for new services. |
service_tiers[].descriptionstring Always returned | The workspace description of this service tier. |
Errors and recovery (7)
You can repeat this request. If the API returns 429, wait for Retry-After. Set a maximum number of attempts. Retries and updates
Error responses (7)
- 400
- The API rejected the request because its syntax or one of its values is invalid.
- 401
- The request does not contain valid authentication.
- 403
- Authentication succeeded, but the caller lacks the required API scope or workspace permission.
- 404
- The requested resource does not exist or is not available to the caller.
- 409
- The request conflicts with the current resource state. idempotency_key_reused means that the key belongs to different request content. idempotency_in_progress means that an identical request is still in progress. idempotency_outcome_unknown means that an earlier request may have completed, but its result could not be stored and must not be retried automatically.
- 429
- The request exceeded an applicable sliding limit. Free API keys allow 20 requests per second and 600 requests per 60 seconds. Team API keys allow 100 requests per second and 3,000 requests per 60 seconds. Browser users allow 100 requests per second. Browser company allows 500 requests per second and 5,000 requests per 10 seconds. Browser company means the sum of user traffic for one company. Anonymous client IPs allow 20 requests per second and 200 requests per 10 seconds. The rate limiter does not count requests that it rejects.
- 500
- An internal server error prevented completion of the request.