# Read one record's SLA state

The record's chip: which stage it is in, when it entered (the newest status or stage move in its own timeline), how long it has sat in the policy's clock, the target and warning it is measured against, and when the promise comes due in wall-clock time. State is on_track, at_risk, breached, or none, and none carries a sentence saying why: the stage has no SLA, the record is settled, or the page has no status column. Reading this rings nothing.

Access class: `def:read`.

## Endpoint

`GET /v1/definitions/{key}/rows/{rowId}/sla`

## Parameters

| Name | In | Type | Required |
| --- | --- | --- | --- |
| key | path | string | Yes |
| rowId | path | string | Yes |
| body | query | null | No |
| params | query | object | No |
| query | query | object | No |

## Responses

### 200

the action's answer

Content type: `application/json`.

```json
{
  "data": {
    "businessHoursOnly": true,
    "elapsedMinutes": 1.5,
    "reason": "string",
    "stage": "string",
    "state": "string",
    "targetMinutes": 1.5,
    "warningMinutes": 1.5
  }
}
```

### default

a refusal: `{"error": "<what a person needs to read>"}`. 401 no credential, 402 the plan does not include this, 403 the seat does not, 404 the thing does not exist or is not yours to see.

Content type: `application/json`.

```json
{
  "error": "string"
}
```
