# List intents

> List intents created by the authenticated agent.

`GET /v1/agent-api/intents`

## Query parameters

| Field       | Type                                                                                                                                           | Required | Description                                                                                                 |
| ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ----------------------------------------------------------------------------------------------------------- |
| `status`    | array of `"pending"` \| `"processing"` \| `"completed"` \| `"blocked"` \| `"failed"`                                                           |          | Public intent statuses to include. Repeat to include any of several statuses; omit to include every status. |
| `type`      | array of `"send"` \| `"transfer"` \| `"create_counterparty"` \| `"request_counterparty_details"` \| `"x402"` \| `"mpp"` \| `"policy_override"` |          | Intent types to include. Repeat to include any of several types; omit to include every type.                |
| `start`     | string                                                                                                                                         |          | Inclusive lower bound on the intent creation time                                                           |
| `accountId` | string                                                                                                                                         |          | Resolved source account id                                                                                  |
| `limit`     | integer                                                                                                                                        |          | Maximum intents to return                                                                                   |
| `offset`    | integer                                                                                                                                        |          | Number of matching intents to skip                                                                          |

## Responses

| Status | Description                                                                                                                                           |
| ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
| `200`  | Stored intent summaries for this durable agent identity in its organization, newest first. Use GET /intents/{id} for the full intent-specific result. |
| `400`  | Invalid status, type, timestamp, account id, or pagination                                                                                            |

## Response fields

| Field                            | Type                                                                                                                                  | Required | Description                                                                                                                                                                                  |
| -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `intents`                        | array of object                                                                                                                       | Yes      |                                                                                                                                                                                              |
| `intents[].id`                   | string                                                                                                                                | Yes      |                                                                                                                                                                                              |
| `intents[].accountId`            | string                                                                                                                                |          |                                                                                                                                                                                              |
| `intents[].destinationAccountId` | string                                                                                                                                |          |                                                                                                                                                                                              |
| `intents[].type`                 | `"send"` \| `"transfer"` \| `"create_counterparty"` \| `"request_counterparty_details"` \| `"x402"` \| `"mpp"` \| `"policy_override"` | Yes      |                                                                                                                                                                                              |
| `intents[].status`               | `"pending"` \| `"processing"` \| `"completed"` \| `"blocked"` \| `"failed"`                                                           | Yes      |                                                                                                                                                                                              |
| `intents[].resolution`           | `"completed"` \| `"blocked"` \| `"denied"` \| `"expired"` \| `"failed"` \| `"cancelled"` or string or null                            | Yes      | Exact terminal outcome, or null while the intent is nonterminal. Known values are completed, blocked, denied, expired, failed, and cancelled; clients must preserve future nonblank strings. |
| `intents[].amount`               | money                                                                                                                                 |          |                                                                                                                                                                                              |
| `intents[].counterpartyId`       | string                                                                                                                                |          |                                                                                                                                                                                              |
| `intents[].counterpartyName`     | string                                                                                                                                |          |                                                                                                                                                                                              |
| `intents[].network`              | string                                                                                                                                |          |                                                                                                                                                                                              |
| `intents[].reasons`              | array of string                                                                                                                       | Yes      |                                                                                                                                                                                              |
| `intents[].expiresAt`            | string or null                                                                                                                        | Yes      |                                                                                                                                                                                              |
| `intents[].createdAt`            | string                                                                                                                                | Yes      |                                                                                                                                                                                              |
| `intents[].metadata`             | object                                                                                                                                | Yes      |                                                                                                                                                                                              |
| `total`                          | number                                                                                                                                | Yes      |                                                                                                                                                                                              |

## Example

### SDK

```ts
import { createCatenaClient } from "@catena/sdk"

// Reads CATENA_SECRET_KEY
const client = createCatenaClient()

const { intents } = await client.listIntents({ status: "completed", limit: 20 })
```

### CLI

```sh
catena intents list --status completed --limit 20
```

### Response `200`

```json
{
  "intents": [
    {
      "id": "int_01JC3B2K7W9D4F6H8J1M3P5R7T",
      "accountId": "acct_01JC2Y6ZQ8R4M7N9P3S5T6V8WX",
      "type": "send",
      "status": "completed",
      "resolution": "completed",
      "amount": {
        "amount": "420.000000",
        "assetId": "USD",
        "asset_id": "USD"
      },
      "reasons": [],
      "expiresAt": null,
      "createdAt": "2026-10-26T15:04:05.000Z",
      "metadata": {
        "dataUrl": null
      }
    }
  ],
  "total": 1
}
```
