---
title: "List agreements"
method: GET
path: "/v0/agreements"
tags: ["Agreement Records"]
---

# List agreements

`GET /v0/agreements`

## Request

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

Lists agreement summaries visible to the authenticated Shodai account. Supports pagination, filtering, and sorting.

## Query parameters

- `state` string
- `chainId` integer
- `createdAt[gt]` string, date-time
- `createdAt[gte]` string, date-time
- `createdAt[lt]` string, date-time
- `createdAt[lte]` string, date-time
- `updatedAt[gt]` string, date-time
- `updatedAt[gte]` string, date-time
- `updatedAt[lt]` string, date-time
- `updatedAt[lte]` string, date-time
- `limit` integer
- `cursor` string
- `sort[createdAt]` 'asc' | 'desc'
- `sort[updatedAt]` 'asc' | 'desc'
- `sort[displayName]` 'asc' | 'desc'

## Response `200`

Paged agreement summaries visible to the authenticated Shodai account.

- object
  - `data` AgreementSummary[], required
    - `id` string, required: Agreement record ID.
    - `address` string: Deployed agreement address, when deployed.
    - `chainId` integer, required: Chain ID for the deployed agreement.
    - `status` 'Draft' | 'Deployed', required: Agreement record status.
    - `state` string: Cached agreement state, when available.
    - `templateId` string: Agreement metadata templateId or id value, when present.
    - `lastInputId` string: Most recent submitted input ID, when available.
    - `lastInputAt` string, date-time: Time of the most recent submitted input, when available.
    - `updatedAt` string, date-time, required: Record update timestamp.
    - `createdAt` string, date-time, required: Record creation timestamp.
    - `displayName` string, required: Human-readable record label.
    - `owner` string: Wallet address associated with hosted record ownership.
    - `documentId` string: Opaque hosted agreement document identifier used by /agreements/documents/{documentId}.
    - `docUri` string: Optional document URI associated with the deployed agreement, typically /agreements/documents/{documentId}.
  - `pageInfo` PageInfo, required
    - `limit` integer, required
    - `nextCursor` string, nullable, required
    - `totalCount` integer: Total number of matching records when available.
  - `meta` ResponseMeta, required
    - `apiVersion` string, required
    - `requestId` string, required: Correlation ID for support and debugging.

## Other responses

- `400`: Invalid list query.
- `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.

---

[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)
