# Attorney endpoints: API reference

> Called with an attorney token to review a case and record its steps. An API key cannot call them. Customers integrating the API do not need them.

Source: https://evictionsapi.com/docs/api/attorney

Called with an attorney token to review a case and record its steps. Today they act on test-mode cases, where a built-in reviewer uses them; a real case is handled by the attorney engaged for it and does not go through these endpoints. An API key cannot call them. Customers integrating the API do not need them; they are listed so the reference is complete.

The examples use https://api.evictionsapi.com and placeholder keys. The conventions shared by all endpoints, the error codes and the rate limits are in https://evictionsapi.com/docs/api.md

## Endpoints

### GET /v1/attorney/queue

Cases awaiting the attorney's review, and assigned cases that need attention

Credential: Attorney token (`Authorization: Bearer eut_...`).

```sh
curl https://api.evictionsapi.com/v1/attorney/queue \
  -H "Authorization: Bearer eut_..."
```

Responses:

- `200` Cases in notice or filing review, and open cases on hold or with a failed job, oldest first. Body: { items: AttorneyQueueItem[] }.
- `400` The request is invalid. Body: Error.
- `401` The credential is missing or invalid. Body: Error.
- `403` The credential is not allowed to do this. Body: Error.
- `404` Not found. Body: Error.
- `409` The request conflicts with the current state: for a case, it is not in a state that allows this, or its details were erased (`erased`); for an API key, a limit or the key in use. Body: Error.
- `422` The case did not pass a check. Body: Error.

### GET /v1/attorney/cases/{id}

A case with its documents, evidence, gate results, filings, service attempts and full audit trail; the access is audited

Credential: Attorney token (`Authorization: Bearer eut_...`).

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `id` | path | string | Yes | The case id. |

```sh
curl https://api.evictionsapi.com/v1/attorney/cases/case_... \
  -H "Authorization: Bearer eut_..."
```

Responses:

- `200` The case in attorney detail. Body: AttorneyCase.
- `400` The request is invalid. Body: Error.
- `401` The credential is missing or invalid. Body: Error.
- `403` The credential is not allowed to do this. Body: Error.
- `404` Not found. Body: Error.
- `409` The request conflicts with the current state: for a case, it is not in a state that allows this, or its details were erased (`erased`); for an API key, a limit or the key in use. Body: Error.
- `422` The case did not pass a check. Body: Error.

### GET /v1/attorney/cases/{id}/documents/{docId}

Download a document; the access is audited

Credential: Attorney token (`Authorization: Bearer eut_...`).

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `id` | path | string | Yes | The case id. |
| `docId` | path | string | Yes | The document id. |

```sh
curl https://api.evictionsapi.com/v1/attorney/cases/case_.../documents/doc_... \
  -H "Authorization: Bearer eut_..." \
  -o document.pdf
```

Responses:

- `200` The document bytes. Body: binary.
- `400` The request is invalid. Body: Error.
- `401` The credential is missing or invalid. Body: Error.
- `403` The credential is not allowed to do this. Body: Error.
- `404` Not found. Body: Error.
- `409` The request conflicts with the current state: for a case, it is not in a state that allows this, or its details were erased (`erased`); for an API key, a limit or the key in use. Body: Error.
- `410` `erased`: the details of the case were erased, and the document's content with them. Body: Error.
- `422` The case did not pass a check. Body: Error.

### POST /v1/attorney/cases/{id}/reviews

Approve, reject or request changes, naming the document hashes reviewed

Credential: Attorney token (`Authorization: Bearer eut_...`).

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `id` | path | string | Yes | The case id. |

```sh
curl -X POST https://api.evictionsapi.com/v1/attorney/cases/case_.../reviews \
  -H "Authorization: Bearer eut_..." \
  -H "Content-Type: application/json" \
  -d '{
  "decision": "approve",
  "documentHashes": ["df75f3ea1d63370ba642bde84f53668817f063ac887beb86b8593d78cf5642b9"]
}'
```

Responses:

- `200` The case after the decision. Body: Case.
- `400` The request is invalid. Body: Error.
- `401` The credential is missing or invalid. Body: Error.
- `403` The credential is not allowed to do this. Body: Error.
- `404` Not found. Body: Error.
- `409` The request conflicts with the current state: for a case, it is not in a state that allows this, or its details were erased (`erased`); for an API key, a limit or the key in use. Body: Error.
- `422` The case did not pass a check. Body: Error.

### POST /v1/attorney/cases/{id}/outcomes

Record a court outcome

Credential: Attorney token (`Authorization: Bearer eut_...`).

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `id` | path | string | Yes | The case id. |

```sh
curl -X POST https://api.evictionsapi.com/v1/attorney/cases/case_.../outcomes \
  -H "Authorization: Bearer eut_..." \
  -H "Content-Type: application/json" \
  -d '{ "type": "hearing_scheduled", "date": "2026-11-02" }'
```

Responses:

- `200` The case after the outcome. Body: Case.
- `400` The request is invalid. Body: Error.
- `401` The credential is missing or invalid. Body: Error.
- `403` The credential is not allowed to do this. Body: Error.
- `404` Not found. Body: Error.
- `409` The request conflicts with the current state: for a case, it is not in a state that allows this, or its details were erased (`erased`); for an API key, a limit or the key in use. Body: Error.
- `422` The case did not pass a check. Body: Error.
