---
title: "Transition the custody state of a SafeCustodyRecord"
method: POST
path: "/safe_custody/records/{id}/state_changes.json"
tags: ["Safe Custody Records"]
---

# Transition the custody state of a SafeCustodyRecord

`POST /safe_custody/records/{id}/state_changes.json`

Records a custody state transition for the record (`held`, `temporarily_removed` or `removed`) as a new SafeCustodyRecordState.
Transitions are validated against the record's state machine; an unsupported transition returns `422`.
Records cannot be moved between packets.

## Path parameters

- `id` integer, required

## Query parameters

- `fields` string

## Headers

- `X-API-VERSION` string

## Request body

- object
  - `data` object, required
    - `actor_id` integer, required — The unique identifier of the actor (a user or contact) associated with the state change.
    - `actor_type` 1 | 2, required — The type of actor: 1 for a user, 2 for a contact.
    - `date` string, date — The date of the state change (ISO-8601). Defaults to the record's stored_on date.
    - `reason` string — The reason for the state change.
    - `state` 'held' | 'temporarily_removed' | 'removed', required — The custody state to transition to.

## Response `201`

Created

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `422` — Unprocessable Entity
- `429` — Too Many Requests

---

[API](https://skmtc.dev/clio/apis/clio-api-documentation.md) · [All operations](https://skmtc.dev/clio/apis/clio-api-documentation/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/clio/clio-api-documentation/revisions/73791ddd1207/schema)
