---
title: "Get agreement state"
method: GET
path: "/v0/agreements/{id}/state"
tags: ["Using Agreements"]
---

# Get agreement state

`GET /v0/agreements/{id}/state`

## Request

- Base URL: `https://test-api.shodai.network`
- URL: `https://test-api.shodai.network/v0/agreements/{id}/state`
- Auth: one of:
  - API key in header `X-API-Key`
  - HTTP bearer

Returns the current state of an agreement. For deployed agreements, interpret the state against the authored agreement lifecycle.

## Path parameters

- `id` string, required

## Response `200`

Agreement state payload.

- object
  - `data` AgreementStateResponse, required: Current agreement status and state.
    - `status` 'Draft' | 'Deployed', required: Agreement record status.
    - `state` string, nullable, required: Current agreement state, or null when no state is available.
    - `requiredConfirmations` integer: Confirmations an input needs before it is treated as settled and the state advances. Use with an input record’s blockNumber and the current chain head to show progress while it is PENDING.
  - `meta` ResponseMeta, required
    - `apiVersion` string, required
    - `requestId` string, required: Correlation ID for support and debugging.

## Other responses

- `401`: Missing or invalid API credential.
- `402`: The authenticated Shodai account has paid_required entitlement mode for the requested scope. Per-call x402 settlement is not implemented. Treat this as an entitlement/operator issue.
- `403`: The credential lacks the required OAuth scope, the account lacks entitlement, or the account cannot access the resource.
- `404`: Agreement not found.

---

[API](https://skmtc.dev/shodai/apis/agreements-api.md) · [All operations](https://skmtc.dev/shodai/apis/agreements-api/llms.txt) · [OpenAPI document](https://skmtc.dev/shodai/apis/agreements-api/revisions/0ac329d0e9a0?raw)
