> ## Documentation Index
> Fetch the complete documentation index at: https://docs.natural.com/llms.txt
> Use this file to discover all available pages before exploring further.

# IDs

> Prefixed identifiers for type safety and readability

All Natural API resources use prefixed IDs. These combine a type prefix with a UUID, making IDs both human-readable and type-safe.

## Format

```
{prefix}_{uuid_hex}
```

Example: `pty_019cd34e27bf78399b4e75b327d2ab25`

* **Prefix**: 2-4 character type indicator (e.g., `pty_` for party)
* **UUID**: 32 hexadecimal characters (no hyphens)

## ID types

| Prefix | Resource               | Description                                                        |
| ------ | ---------------------- | ------------------------------------------------------------------ |
| `pty_` | Party                  | Business or individual entity on the platform                      |
| `usr_` | User                   | Person who logs into a party                                       |
| `agt_` | Agent                  | API client that acts on behalf of a party                          |
| `dlg_` | Delegation             | Permission grant between two parties                               |
| `adl_` | Agent Delegation       | Links an agent to a delegation                                     |
| `din_` | Delegation Invitation  | Pending invitation to create a delegation                          |
| `dlk_` | Delegation Link        | Shareable URL to accept a delegation                               |
| `mbr_` | Party Membership       | A user's membership in a party                                     |
| `ses_` | Session                | Authenticated user session                                         |
| `apy_` | API Key                | Credential for API access                                          |
| `wal_` | Wallet                 | Holds funds for a party                                            |
| `eac_` | External Account       | Linked bank account for deposits and withdrawals                   |
| `pay_` | Payment                | A payment between two parties                                      |
| `prq_` | Payment Request        | A request for a payment from another party                         |
| `trf_` | Transfer               | A deposit or withdrawal between a wallet and a bank account        |
| `mmr_` | Money Movement Request | Fund movement between wallets                                      |
| `txn_` | Transaction            | Ledger entry returned by GET /transactions                         |
| `inv_` | Party Invitation       | Pending invitation for a party to join the platform                |
| `apr_` | Approval Request       | A payment awaiting approval                                        |
| `req_` | Request                | Per-request correlation ID, returned as `meta.supportId` on errors |
| `whk_` | Webhook                | Webhook configuration                                              |
| `evt_` | Event                  | Webhook event payload                                              |
| `ins_` | Instance               | Agent session, uses UUIDv7                                         |

## Working with IDs

### API requests

Always use the full prefixed ID in API requests:

```json theme={null}
{
  "data": {
    "attributes": {
      "amount": 500000,
      "counterparty": "pty_019cd1798d617f65a79cb965dda9eac3",
      "customerPartyId": "pty_019cd34e27bf78399b4e75b327d2ab25"
    }
  }
}
```

### Validation

IDs are validated on every request. An invalid ID is rejected with an `invalid_value` error:

```json theme={null}
{
  "errors": [
    {
      "code": "invalid_value",
      "status": "422",
      "detail": "Invalid pty ID format",
      "source": { "pointer": "/data/attributes/counterparty" }
    }
  ]
}
```

## Related

* [Parties](/guides/concepts/parties) - Primary business entity using `pty_` IDs
* [Users](/guides/concepts/users) - Human users with `usr_` IDs
* [Agents](/guides/concepts/agents) - AI agents with `agt_` IDs
