---
title: "Get an intent"
method: GET
path: "/intents/{intentId}"
tags: ["Intents"]
---

# Get an intent

`GET /intents/{intentId}`

## Request

- Base URL: `https://api.catena.com/v1`
- URL: `https://api.catena.com/v1/intents/{intentId}`
- Auth: HTTP bearer

Answers for any agent intent in the organization, whether or not it went to approval. Activity access reads any of them; approval access alone reads only an intent that went to approval. The approval section is present only for an approval reader, and only for an intent that went to approval.

## Path parameters

- `intentId` string, required

## Response `200`

The intent, what it proposed, its movement, and its approval

- object
  - `intent` union, required
    - object
      - `id` string, required
      - `state` 'created' | 'evaluating' | 'approved' | 'pending_approval' | 'blocked' | 'denied' | 'expired' | 'cancelled' | 'executing' | 'completed' | 'failed', required
      - `agentId` string, nullable, required
      - `agentName` string, required
      - `counterpartyName` string
      - `createdAt` string, date-time, required
      - `resolvedAt` string, date-time, nullable, required
      - `failureReason` string
      - `approval` object, nullable, required
        - `resolution` 'pending' | 'approved' | 'denied' | 'unresolved', required
        - `reasons` string[], required
        - `requiredApprovals` number, required
        - `approvals` object[], required
          - `email` string, required
          - `at` string, required
          - `notes` string
          - `name` string
          - `userId` string
        - `deniedBy` string
        - `deniedByName` string
        - `workflow` object, required
          - `requiresSignature` boolean, required
          - `finishesOnApproval` boolean, required
          - `awaitsAdminFinish` boolean, required
          - `awaitsAdminDeny` boolean, required
      - `action` 'send', required
      - `proposal` object, nullable, required
        - `method` 'ach' | 'wire' | 'on-chain', required
        - `memo` string
        - `description` string
      - `movement` object, required
        - `id` string, required
        - `intentId` string
        - `policyName` string
        - `agentId` string
        - `policyId` string
        - `agentName` string, required
        - `action` string, required
        - `amount` object
          - `amount` string, required
          - `assetId` string, required
          - `asset_id` string, required
        - `fee` object
          - `amount` string, required
          - `assetId` string, required
          - `asset_id` string, required
        - `counterpartyName` string
        - `method` 'ach' | 'wire' | 'stablecoin'
        - `direction` 'incoming' | 'outgoing'
        - `state` string, required
        - `movementStatus` string
        - `movementPlanId` string
        - `accountId` string
        - `accountName` string
        - `destinationAccountId` string, nullable, required
        - `destinationAmount` object
          - `amount` string, required
          - `assetId` string, required
          - `asset_id` string, required
        - `createdAt` string, date-time, required
        - `completedAt` string, date-time
        - `approvals` object[], required
          - `email` string, required
          - `at` string, required
          - `notes` string
          - `name` string
          - `userId` string
        - `requiredApprovals` number
        - `expiresAt` string, date-time
        - `deniedBy` string
        - `deniedByName` string
        - `deniedAt` string, date-time
        - `memo` string
        - `description` string
        - `providerTraceNumber` string
        - `providerSenderBankRoutingNumber` string
        - `failureReason` string
        - `txHash` string
        - `network` 'base' | 'base-sepolia' | 'arc' | 'arc-testnet' | 'solana'
        - `awaitsAdminFinish` boolean
        - `awaitsAdminDeny` boolean
        - `evidenceLookup` object
          - `key` 'intentId' | 'transactionId' | 'walletTransactionId', required
          - `id` string, required
        - `requestType` 'sandbox_faucet'
    - object
      - `id` string, required
      - `state` 'created' | 'evaluating' | 'approved' | 'pending_approval' | 'blocked' | 'denied' | 'expired' | 'cancelled' | 'executing' | 'completed' | 'failed', required
      - `agentId` string, nullable, required
      - `agentName` string, required
      - `counterpartyName` string
      - `createdAt` string, date-time, required
      - `resolvedAt` string, date-time, nullable, required
      - `failureReason` string
      - `approval` object, nullable, required
        - `resolution` 'pending' | 'approved' | 'denied' | 'unresolved', required
        - `reasons` string[], required
        - `requiredApprovals` number, required
        - `approvals` object[], required
          - `email` string, required
          - `at` string, required
          - `notes` string
          - `name` string
          - `userId` string
        - `deniedBy` string
        - `deniedByName` string
        - `workflow` object, required
          - `requiresSignature` boolean, required
          - `finishesOnApproval` boolean, required
          - `awaitsAdminFinish` boolean, required
          - `awaitsAdminDeny` boolean, required
      - `action` 'transfer', required
      - `proposal` object, nullable, required
        - `destinationAccountId` string
        - `destinationAccountName` string
        - `memo` string
        - `description` string
      - `movement` object, required
        - `id` string, required
        - `intentId` string
        - `policyName` string
        - `agentId` string
        - `policyId` string
        - `agentName` string, required
        - `action` string, required
        - `amount` object
          - `amount` string, required
          - `assetId` string, required
          - `asset_id` string, required
        - `fee` object
          - `amount` string, required
          - `assetId` string, required
          - `asset_id` string, required
        - `counterpartyName` string
        - `method` 'ach' | 'wire' | 'stablecoin'
        - `direction` 'incoming' | 'outgoing'
        - `state` string, required
        - `movementStatus` string
        - `movementPlanId` string
        - `accountId` string
        - `accountName` string
        - `destinationAccountId` string, nullable, required
        - `destinationAmount` object
          - `amount` string, required
          - `assetId` string, required
          - `asset_id` string, required
        - `createdAt` string, date-time, required
        - `completedAt` string, date-time
        - `approvals` object[], required
          - `email` string, required
          - `at` string, required
          - `notes` string
          - `name` string
          - `userId` string
        - `requiredApprovals` number
        - `expiresAt` string, date-time
        - `deniedBy` string
        - `deniedByName` string
        - `deniedAt` string, date-time
        - `memo` string
        - `description` string
        - `providerTraceNumber` string
        - `providerSenderBankRoutingNumber` string
        - `failureReason` string
        - `txHash` string
        - `network` 'base' | 'base-sepolia' | 'arc' | 'arc-testnet' | 'solana'
        - `awaitsAdminFinish` boolean
        - `awaitsAdminDeny` boolean
        - `evidenceLookup` object
          - `key` 'intentId' | 'transactionId' | 'walletTransactionId', required
          - `id` string, required
        - `requestType` 'sandbox_faucet'
    - object
      - `id` string, required
      - `state` 'created' | 'evaluating' | 'approved' | 'pending_approval' | 'blocked' | 'denied' | 'expired' | 'cancelled' | 'executing' | 'completed' | 'failed', required
      - `agentId` string, nullable, required
      - `agentName` string, required
      - `counterpartyName` string
      - `createdAt` string, date-time, required
      - `resolvedAt` string, date-time, nullable, required
      - `failureReason` string
      - `approval` object, nullable, required
        - `resolution` 'pending' | 'approved' | 'denied' | 'unresolved', required
        - `reasons` string[], required
        - `requiredApprovals` number, required
        - `approvals` object[], required
          - `email` string, required
          - `at` string, required
          - `notes` string
          - `name` string
          - `userId` string
        - `deniedBy` string
        - `deniedByName` string
        - `workflow` object, required
          - `requiresSignature` boolean, required
          - `finishesOnApproval` boolean, required
          - `awaitsAdminFinish` boolean, required
          - `awaitsAdminDeny` boolean, required
      - `action` 'x402', required
      - `proposal` object, nullable, required
        - `resourceUrl` string
        - `description` string
      - `movement` object, required
        - `id` string, required
        - `intentId` string
        - `policyName` string
        - `agentId` string
        - `policyId` string
        - `agentName` string, required
        - `action` string, required
        - `amount` object
          - `amount` string, required
          - `assetId` string, required
          - `asset_id` string, required
        - `fee` object
          - `amount` string, required
          - `assetId` string, required
          - `asset_id` string, required
        - `counterpartyName` string
        - `method` 'ach' | 'wire' | 'stablecoin'
        - `direction` 'incoming' | 'outgoing'
        - `state` string, required
        - `movementStatus` string
        - `movementPlanId` string
        - `accountId` string
        - `accountName` string
        - `destinationAccountId` string, nullable, required
        - `destinationAmount` object
          - `amount` string, required
          - `assetId` string, required
          - `asset_id` string, required
        - `createdAt` string, date-time, required
        - `completedAt` string, date-time
        - `approvals` object[], required
          - `email` string, required
          - `at` string, required
          - `notes` string
          - `name` string
          - `userId` string
        - `requiredApprovals` number
        - `expiresAt` string, date-time
        - `deniedBy` string
        - `deniedByName` string
        - `deniedAt` string, date-time
        - `memo` string
        - `description` string
        - `providerTraceNumber` string
        - `providerSenderBankRoutingNumber` string
        - `failureReason` string
        - `txHash` string
        - `network` 'base' | 'base-sepolia' | 'arc' | 'arc-testnet' | 'solana'
        - `awaitsAdminFinish` boolean
        - `awaitsAdminDeny` boolean
        - `evidenceLookup` object
          - `key` 'intentId' | 'transactionId' | 'walletTransactionId', required
          - `id` string, required
        - `requestType` 'sandbox_faucet'
    - object
      - `id` string, required
      - `state` 'created' | 'evaluating' | 'approved' | 'pending_approval' | 'blocked' | 'denied' | 'expired' | 'cancelled' | 'executing' | 'completed' | 'failed', required
      - `agentId` string, nullable, required
      - `agentName` string, required
      - `counterpartyName` string
      - `createdAt` string, date-time, required
      - `resolvedAt` string, date-time, nullable, required
      - `failureReason` string
      - `approval` object, nullable, required
        - `resolution` 'pending' | 'approved' | 'denied' | 'unresolved', required
        - `reasons` string[], required
        - `requiredApprovals` number, required
        - `approvals` object[], required
          - `email` string, required
          - `at` string, required
          - `notes` string
          - `name` string
          - `userId` string
        - `deniedBy` string
        - `deniedByName` string
        - `workflow` object, required
          - `requiresSignature` boolean, required
          - `finishesOnApproval` boolean, required
          - `awaitsAdminFinish` boolean, required
          - `awaitsAdminDeny` boolean, required
      - `action` 'mpp', required
      - `proposal` object, nullable, required
        - `resourceUrl` string
        - `serviceName` string
        - `description` string
      - `movement` object, required
        - `id` string, required
        - `intentId` string
        - `policyName` string
        - `agentId` string
        - `policyId` string
        - `agentName` string, required
        - `action` string, required
        - `amount` object
          - `amount` string, required
          - `assetId` string, required
          - `asset_id` string, required
        - `fee` object
          - `amount` string, required
          - `assetId` string, required
          - `asset_id` string, required
        - `counterpartyName` string
        - `method` 'ach' | 'wire' | 'stablecoin'
        - `direction` 'incoming' | 'outgoing'
        - `state` string, required
        - `movementStatus` string
        - `movementPlanId` string
        - `accountId` string
        - `accountName` string
        - `destinationAccountId` string, nullable, required
        - `destinationAmount` object
          - `amount` string, required
          - `assetId` string, required
          - `asset_id` string, required
        - `createdAt` string, date-time, required
        - `completedAt` string, date-time
        - `approvals` object[], required
          - `email` string, required
          - `at` string, required
          - `notes` string
          - `name` string
          - `userId` string
        - `requiredApprovals` number
        - `expiresAt` string, date-time
        - `deniedBy` string
        - `deniedByName` string
        - `deniedAt` string, date-time
        - `memo` string
        - `description` string
        - `providerTraceNumber` string
        - `providerSenderBankRoutingNumber` string
        - `failureReason` string
        - `txHash` string
        - `network` 'base' | 'base-sepolia' | 'arc' | 'arc-testnet' | 'solana'
        - `awaitsAdminFinish` boolean
        - `awaitsAdminDeny` boolean
        - `evidenceLookup` object
          - `key` 'intentId' | 'transactionId' | 'walletTransactionId', required
          - `id` string, required
        - `requestType` 'sandbox_faucet'
    - object
      - `id` string, required
      - `state` 'created' | 'evaluating' | 'approved' | 'pending_approval' | 'blocked' | 'denied' | 'expired' | 'cancelled' | 'executing' | 'completed' | 'failed', required
      - `agentId` string, nullable, required
      - `agentName` string, required
      - `counterpartyName` string
      - `createdAt` string, date-time, required
      - `resolvedAt` string, date-time, nullable, required
      - `failureReason` string
      - `approval` object, nullable, required
        - `resolution` 'pending' | 'approved' | 'denied' | 'unresolved', required
        - `reasons` string[], required
        - `requiredApprovals` number, required
        - `approvals` object[], required
          - `email` string, required
          - `at` string, required
          - `notes` string
          - `name` string
          - `userId` string
        - `deniedBy` string
        - `deniedByName` string
        - `workflow` object, required
          - `requiresSignature` boolean, required
          - `finishesOnApproval` boolean, required
          - `awaitsAdminFinish` boolean, required
          - `awaitsAdminDeny` boolean, required
      - `action` 'create_counterparty', required
      - `proposal` object, nullable, required
        - `name` string, required
        - `email` string
        - `rail` unknown
      - `movement` unknown, required
    - object
      - `id` string, required
      - `state` 'created' | 'evaluating' | 'approved' | 'pending_approval' | 'blocked' | 'denied' | 'expired' | 'cancelled' | 'executing' | 'completed' | 'failed', required
      - `agentId` string, nullable, required
      - `agentName` string, required
      - `counterpartyName` string
      - `createdAt` string, date-time, required
      - `resolvedAt` string, date-time, nullable, required
      - `failureReason` string
      - `approval` object, nullable, required
        - `resolution` 'pending' | 'approved' | 'denied' | 'unresolved', required
        - `reasons` string[], required
        - `requiredApprovals` number, required
        - `approvals` object[], required
          - `email` string, required
          - `at` string, required
          - `notes` string
          - `name` string
          - `userId` string
        - `deniedBy` string
        - `deniedByName` string
        - `workflow` object, required
          - `requiresSignature` boolean, required
          - `finishesOnApproval` boolean, required
          - `awaitsAdminFinish` boolean, required
          - `awaitsAdminDeny` boolean, required
      - `action` 'request_counterparty_details', required
      - `proposal` object, nullable, required
        - `methods` object, required
          - `bank` boolean, required
          - `wallet` boolean, required
        - `counterparty` object
          - `id` string, required
          - `name` string, required
          - `email` string
      - `movement` unknown, required
    - object
      - `id` string, required
      - `state` 'created' | 'evaluating' | 'approved' | 'pending_approval' | 'blocked' | 'denied' | 'expired' | 'cancelled' | 'executing' | 'completed' | 'failed', required
      - `agentId` string, nullable, required
      - `agentName` string, required
      - `counterpartyName` string
      - `createdAt` string, date-time, required
      - `resolvedAt` string, date-time, nullable, required
      - `failureReason` string
      - `approval` object, nullable, required
        - `resolution` 'pending' | 'approved' | 'denied' | 'unresolved', required
        - `reasons` string[], required
        - `requiredApprovals` number, required
        - `approvals` object[], required
          - `email` string, required
          - `at` string, required
          - `notes` string
          - `name` string
          - `userId` string
        - `deniedBy` string
        - `deniedByName` string
        - `workflow` object, required
          - `requiresSignature` boolean, required
          - `finishesOnApproval` boolean, required
          - `awaitsAdminFinish` boolean, required
          - `awaitsAdminDeny` boolean, required
      - `action` 'policy_override', required
      - `proposal` object, nullable, required
        - `operations` union[], required
          - union
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
        - `durationSeconds` number, required
        - `reason` string, required
      - `movement` unknown, required
    - object
      - `id` string, required
      - `state` 'created' | 'evaluating' | 'approved' | 'pending_approval' | 'blocked' | 'denied' | 'expired' | 'cancelled' | 'executing' | 'completed' | 'failed', required
      - `agentId` string, nullable, required
      - `agentName` string, required
      - `counterpartyName` string
      - `createdAt` string, date-time, required
      - `resolvedAt` string, date-time, nullable, required
      - `failureReason` string
      - `approval` object, nullable, required
        - `resolution` 'pending' | 'approved' | 'denied' | 'unresolved', required
        - `reasons` string[], required
        - `requiredApprovals` number, required
        - `approvals` object[], required
          - `email` string, required
          - `at` string, required
          - `notes` string
          - `name` string
          - `userId` string
        - `deniedBy` string
        - `deniedByName` string
        - `workflow` object, required
          - `requiresSignature` boolean, required
          - `finishesOnApproval` boolean, required
          - `awaitsAdminFinish` boolean, required
          - `awaitsAdminDeny` boolean, required
      - `action` 'policy_proposal', required
      - `proposal` object, nullable, required
        - `schemaVersion` number, required
        - `request` object, nullable, required
          - `rationale` string, required
          - `proposedCounterparties` object[], required
            - `ref` string, required
            - `name` string, required
            - `email` string
            - `rails` union[]
              - …
          - `policy` object, required
            - `name` string, required
            - `counterpartyAccess` union, required
              - …
            - `permissions` union[], required
              - …
            - `rules` object, required
              - …
        - `review` object, nullable, required
          - `status` 'ready' | 'not_ready' | 'blocked' | 'unsupported' | 'unavailable', required
          - `issues` union[], required
            - union
              - …
          - `diagnostics` union[], required
            - union
              - …
          - `preview` object, nullable, required
            - `accounts` object[], required
              - …
            - `counterparties` object[], required
              - …
            - `proposedCounterparties` object[], required
              - …
            - `plan` object, required
              - …
      - `movement` unknown, required
      - `expiresAt` string, date-time, nullable, required

## Changes

- **2026-10-21** `bfbeabca329a`: 1 info
  - added the required property `intent/oneOf[subschema #8]/expiresAt` to the response with the `200` status
- **2026-10-21** `3593c03cf2a6`: 1 info
  - added the optional property `intent/oneOf[subschema #8]/proposal/anyOf[subschema #1]/review/anyOf[subschema #1]/diagnostics/items/oneOf[subschema #7]/errorCode` to the response with the `200` status
- **2026-10-20** `39392bfeaba6`: 2 info
  - added the required property `intent/oneOf[subschema #8]/proposal/anyOf[subschema #1]/request` to the response with the `200` status
  - added the required property `intent/oneOf[subschema #8]/proposal/anyOf[subschema #1]/review` to the response with the `200` status
- **2026-10-16** `87e043c01da0`: 2 info
  - removed `subschema #1, subschema #2` from the `intent/oneOf[subschema #7]/proposal/anyOf[subschema #1]/operations/items/` response property `allOf` list for the response status `200`
  - added `subschema #1, subschema #2` to the `intent/oneOf[subschema #7]/proposal/anyOf[subschema #1]/operations/items/` response property `anyOf` list for the response status `200`
- **2026-10-12** `9bdc2bf06f30`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/catena/apis/catena-api/changes/intents/:intentId/get.md)

---

[API](https://skmtc.dev/catena/apis/catena-api.md) · [All operations](https://skmtc.dev/catena/apis/catena-api/llms.txt) · [OpenAPI document](https://skmtc.dev/catena/apis/catena-api/revisions/852257e39bf8?raw)
