# SLA Policies

## GET /workspaces/{workspaceId}/inbox/sla-policies

> List SLA policies

```json
{"openapi":"3.0.3","info":{"title":"Collaboration","version":"v1"},"tags":[{"description":"Manage SLA policies for your inbox","name":"sla_policies"}],"security":[{"user":[]},{"accessKey":[]}],"components":{"securitySchemes":{"user":{"description":"Provide the token that is returned upon login","scheme":"bearer","type":"http","bearerFormat":"jwt"},"accessKey":{"description":"Uses the Authorization header: 'AccessKey ' followed by your access key token (e.g., 'Authorization: AccessKey AbCdEfGhIjKlMnOpQrStUvWxYzAbCdEfGhIj')","scheme":"AccessKey","type":"http"}},"parameters":{"limit":{"name":"limit","description":"Limits the number of results to return","in":"query","schema":{"type":"integer","minimum":1,"maximum":100,"default":10}},"cursor":{"name":"pageToken","description":"Pagination token that keeps of track of the current position in the list","in":"query","schema":{"type":"string"}},"direction":{"name":"reverse","description":"Order in which to retrieve the results","in":"query","schema":{"type":"boolean","default":false}}},"responses":{"SlaPolicyList":{"description":"A paginated list of SLA policies.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/responseBody"},{"type":"object","properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/SlaPolicy"}}},"required":["results"]}]}}}}},"schemas":{"responseBody":{"type":"object","title":"PaginatedList","description":"A list of results that supports pagination.","properties":{"nextPageToken":{"type":"string","description":"The token to fetch the next page of results. If empty, there are no more results to fetch."}}},"SlaPolicy":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","format":"uuid"},"workspaceId":{"type":"string","format":"uuid"},"name":{"type":"string"},"description":{"type":"string"},"timeKeepingMethod":{"$ref":"#/components/schemas/SlaTimeKeepingMethod"},"metrics":{"$ref":"#/components/schemas/SlaMetrics"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"required":["id","workspaceId","name","description","timeKeepingMethod","createdAt","updatedAt"]},"SlaTimeKeepingMethod":{"description":"Determine how the timers are tracking expiry.\n* `clock` will simply count using the full 24 hours of a day.\n* `businessHours` takes into account the business hours configured for the assigned team.\n","type":"string","enum":["clock","businessHours"]},"SlaMetrics":{"type":"object","additionalProperties":false,"properties":{"firstReplyTime":{"type":"array","items":{"$ref":"#/components/schemas/SlaMetricDefinition"}},"nextReplyTime":{"type":"array","items":{"$ref":"#/components/schemas/SlaMetricDefinition"}}}},"SlaMetricDefinition":{"type":"object","additionalProperties":false,"properties":{"priority":{"description":"Apply the metric for tickets with this priority","type":"string"},"breachThreshold":{"description":"The number of minutes until a ticket reaches a breached state for this SLA metric.","type":"integer"},"warningThreshold":{"description":"The number of minutes until a ticket reaches a warning state for this SLA metric.","type":"integer"}},"required":["priority","breachThreshold","warningThreshold"]}}},"paths":{"/workspaces/{workspaceId}/inbox/sla-policies":{"get":{"operationId":"listSLAPolicies","parameters":[{"$ref":"#/components/parameters/limit"},{"$ref":"#/components/parameters/cursor"},{"$ref":"#/components/parameters/direction"}],"responses":{"200":{"$ref":"#/components/responses/SlaPolicyList"}},"summary":"List SLA policies","tags":["sla_policies"]}}}}
```

## POST /workspaces/{workspaceId}/inbox/sla-policies

> Create SLA policy

```json
{"openapi":"3.0.3","info":{"title":"Collaboration","version":"v1"},"tags":[{"description":"Manage SLA policies for your inbox","name":"sla_policies"}],"security":[{"user":[]},{"accessKey":[]}],"components":{"securitySchemes":{"user":{"description":"Provide the token that is returned upon login","scheme":"bearer","type":"http","bearerFormat":"jwt"},"accessKey":{"description":"Uses the Authorization header: 'AccessKey ' followed by your access key token (e.g., 'Authorization: AccessKey AbCdEfGhIjKlMnOpQrStUvWxYzAbCdEfGhIj')","scheme":"AccessKey","type":"http"}},"schemas":{"CreateSlaPolicy":{"type":"object","additionalProperties":false,"properties":{"name":{"type":"string"},"description":{"type":"string"},"timeKeepingMethod":{"$ref":"#/components/schemas/SlaTimeKeepingMethod"},"metrics":{"$ref":"#/components/schemas/SlaMetrics"}},"required":["name","description","timeKeepingMethod"]},"SlaTimeKeepingMethod":{"description":"Determine how the timers are tracking expiry.\n* `clock` will simply count using the full 24 hours of a day.\n* `businessHours` takes into account the business hours configured for the assigned team.\n","type":"string","enum":["clock","businessHours"]},"SlaMetrics":{"type":"object","additionalProperties":false,"properties":{"firstReplyTime":{"type":"array","items":{"$ref":"#/components/schemas/SlaMetricDefinition"}},"nextReplyTime":{"type":"array","items":{"$ref":"#/components/schemas/SlaMetricDefinition"}}}},"SlaMetricDefinition":{"type":"object","additionalProperties":false,"properties":{"priority":{"description":"Apply the metric for tickets with this priority","type":"string"},"breachThreshold":{"description":"The number of minutes until a ticket reaches a breached state for this SLA metric.","type":"integer"},"warningThreshold":{"description":"The number of minutes until a ticket reaches a warning state for this SLA metric.","type":"integer"}},"required":["priority","breachThreshold","warningThreshold"]},"SlaPolicy":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","format":"uuid"},"workspaceId":{"type":"string","format":"uuid"},"name":{"type":"string"},"description":{"type":"string"},"timeKeepingMethod":{"$ref":"#/components/schemas/SlaTimeKeepingMethod"},"metrics":{"$ref":"#/components/schemas/SlaMetrics"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"required":["id","workspaceId","name","description","timeKeepingMethod","createdAt","updatedAt"]},"ValidationError":{"type":"object","additionalProperties":false,"required":["code","message"],"properties":{"code":{"type":"string","minLength":5},"message":{"type":"string","minLength":5},"details":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}}}}}},"responses":{"SlaPolicy":{"description":"The SLA policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SlaPolicy"}}}}}},"paths":{"/workspaces/{workspaceId}/inbox/sla-policies":{"post":{"operationId":"createSLAPolicy","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSlaPolicy"}}},"required":true},"responses":{"201":{"$ref":"#/components/responses/SlaPolicy"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}},"description":"Invalid input"}},"summary":"Create SLA policy","tags":["sla_policies"]}}}}
```

## GET /workspaces/{workspaceId}/inbox/sla-policies/{slaPolicyId}

> Get SLA policy

```json
{"openapi":"3.0.3","info":{"title":"Collaboration","version":"v1"},"tags":[{"description":"Manage SLA policies for your inbox","name":"sla_policies"}],"security":[{"user":[]},{"accessKey":[]}],"components":{"securitySchemes":{"user":{"description":"Provide the token that is returned upon login","scheme":"bearer","type":"http","bearerFormat":"jwt"},"accessKey":{"description":"Uses the Authorization header: 'AccessKey ' followed by your access key token (e.g., 'Authorization: AccessKey AbCdEfGhIjKlMnOpQrStUvWxYzAbCdEfGhIj')","scheme":"AccessKey","type":"http"}},"responses":{"SlaPolicy":{"description":"The SLA policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SlaPolicy"}}}}},"schemas":{"SlaPolicy":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","format":"uuid"},"workspaceId":{"type":"string","format":"uuid"},"name":{"type":"string"},"description":{"type":"string"},"timeKeepingMethod":{"$ref":"#/components/schemas/SlaTimeKeepingMethod"},"metrics":{"$ref":"#/components/schemas/SlaMetrics"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"required":["id","workspaceId","name","description","timeKeepingMethod","createdAt","updatedAt"]},"SlaTimeKeepingMethod":{"description":"Determine how the timers are tracking expiry.\n* `clock` will simply count using the full 24 hours of a day.\n* `businessHours` takes into account the business hours configured for the assigned team.\n","type":"string","enum":["clock","businessHours"]},"SlaMetrics":{"type":"object","additionalProperties":false,"properties":{"firstReplyTime":{"type":"array","items":{"$ref":"#/components/schemas/SlaMetricDefinition"}},"nextReplyTime":{"type":"array","items":{"$ref":"#/components/schemas/SlaMetricDefinition"}}}},"SlaMetricDefinition":{"type":"object","additionalProperties":false,"properties":{"priority":{"description":"Apply the metric for tickets with this priority","type":"string"},"breachThreshold":{"description":"The number of minutes until a ticket reaches a breached state for this SLA metric.","type":"integer"},"warningThreshold":{"description":"The number of minutes until a ticket reaches a warning state for this SLA metric.","type":"integer"}},"required":["priority","breachThreshold","warningThreshold"]},"Error":{"type":"object","additionalProperties":false,"required":["code","message"],"properties":{"code":{"type":"string","minLength":5},"details":{"type":"object","additionalProperties":true},"message":{"type":"string","minLength":5}}}}},"paths":{"/workspaces/{workspaceId}/inbox/sla-policies/{slaPolicyId}":{"get":{"operationId":"getSLAPolicy","responses":{"200":{"$ref":"#/components/responses/SlaPolicy"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Workspace or SLA policy not found"}},"summary":"Get SLA policy","tags":["sla_policies"]}}}}
```

## PATCH /workspaces/{workspaceId}/inbox/sla-policies/{slaPolicyId}

> Update SLA policy

```json
{"openapi":"3.0.3","info":{"title":"Collaboration","version":"v1"},"tags":[{"description":"Manage SLA policies for your inbox","name":"sla_policies"}],"security":[{"user":[]},{"accessKey":[]}],"components":{"securitySchemes":{"user":{"description":"Provide the token that is returned upon login","scheme":"bearer","type":"http","bearerFormat":"jwt"},"accessKey":{"description":"Uses the Authorization header: 'AccessKey ' followed by your access key token (e.g., 'Authorization: AccessKey AbCdEfGhIjKlMnOpQrStUvWxYzAbCdEfGhIj')","scheme":"AccessKey","type":"http"}},"schemas":{"UpdateSlaPolicy":{"type":"object","additionalProperties":false,"properties":{"name":{"type":"string"},"description":{"type":"string"},"timeKeepingMethod":{"$ref":"#/components/schemas/SlaTimeKeepingMethod"},"metrics":{"$ref":"#/components/schemas/SlaMetrics"}}},"SlaTimeKeepingMethod":{"description":"Determine how the timers are tracking expiry.\n* `clock` will simply count using the full 24 hours of a day.\n* `businessHours` takes into account the business hours configured for the assigned team.\n","type":"string","enum":["clock","businessHours"]},"SlaMetrics":{"type":"object","additionalProperties":false,"properties":{"firstReplyTime":{"type":"array","items":{"$ref":"#/components/schemas/SlaMetricDefinition"}},"nextReplyTime":{"type":"array","items":{"$ref":"#/components/schemas/SlaMetricDefinition"}}}},"SlaMetricDefinition":{"type":"object","additionalProperties":false,"properties":{"priority":{"description":"Apply the metric for tickets with this priority","type":"string"},"breachThreshold":{"description":"The number of minutes until a ticket reaches a breached state for this SLA metric.","type":"integer"},"warningThreshold":{"description":"The number of minutes until a ticket reaches a warning state for this SLA metric.","type":"integer"}},"required":["priority","breachThreshold","warningThreshold"]},"SlaPolicy":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","format":"uuid"},"workspaceId":{"type":"string","format":"uuid"},"name":{"type":"string"},"description":{"type":"string"},"timeKeepingMethod":{"$ref":"#/components/schemas/SlaTimeKeepingMethod"},"metrics":{"$ref":"#/components/schemas/SlaMetrics"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"required":["id","workspaceId","name","description","timeKeepingMethod","createdAt","updatedAt"]},"Error":{"type":"object","additionalProperties":false,"required":["code","message"],"properties":{"code":{"type":"string","minLength":5},"details":{"type":"object","additionalProperties":true},"message":{"type":"string","minLength":5}}},"ValidationError":{"type":"object","additionalProperties":false,"required":["code","message"],"properties":{"code":{"type":"string","minLength":5},"message":{"type":"string","minLength":5},"details":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}}}}}},"responses":{"SlaPolicy":{"description":"The SLA policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SlaPolicy"}}}}}},"paths":{"/workspaces/{workspaceId}/inbox/sla-policies/{slaPolicyId}":{"patch":{"operationId":"updateSLAPolicy","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateSlaPolicy"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/SlaPolicy"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Workspace or SLA policy not found"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}},"description":"Invalid input"}},"summary":"Update SLA policy","tags":["sla_policies"]}}}}
```

## DELETE /workspaces/{workspaceId}/inbox/sla-policies/{slaPolicyId}

> Delete SLA policy

```json
{"openapi":"3.0.3","info":{"title":"Collaboration","version":"v1"},"tags":[{"description":"Manage SLA policies for your inbox","name":"sla_policies"}],"security":[{"user":[]},{"accessKey":[]}],"components":{"securitySchemes":{"user":{"description":"Provide the token that is returned upon login","scheme":"bearer","type":"http","bearerFormat":"jwt"},"accessKey":{"description":"Uses the Authorization header: 'AccessKey ' followed by your access key token (e.g., 'Authorization: AccessKey AbCdEfGhIjKlMnOpQrStUvWxYzAbCdEfGhIj')","scheme":"AccessKey","type":"http"}},"schemas":{"Error":{"type":"object","additionalProperties":false,"required":["code","message"],"properties":{"code":{"type":"string","minLength":5},"details":{"type":"object","additionalProperties":true},"message":{"type":"string","minLength":5}}}}},"paths":{"/workspaces/{workspaceId}/inbox/sla-policies/{slaPolicyId}":{"delete":{"operationId":"deleteSLAPolicy","responses":{"204":{"description":"OK"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Workspace or SLA policy not found"}},"summary":"Delete SLA policy","tags":["sla_policies"]}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.bird.com/api/collaborations-api/api-reference/sla-policies.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
