# Intent reference

This page summarizes intent structure and supported intent types. For the concept, see [Intents and approvals](/products/custody/governance/intents).

## Intent structure

An intent contains:

| Field | Description |
|  --- | --- |
| `id` | Unique intent identifier. |
| `author` | User that created and signed the intent, or service subject for a system-signed intent. |
| `targetDomainId` | Domain where the change applies. |
| `payload` | Operation-specific payload. |
| `expiryAt` | Expiration time for approval. |
| `customProperties` | Custom metadata. |


For complete structure, see [Intent request structure](/products/custody/governance/intents/intent-request-structure).

## Intent catalog

Intent types are grouped by the product concept they affect. For payload schemas, see [Propose an intent](/products/custody/reference/api/openapi/intents/createintent) and [Perform a dry run for an intent](/products/custody/reference/api/openapi/intents/intentdryrun).

| Bucket | Intent types | Concept and procedure docs |
|  --- | --- | --- |
| Accounts | `v0_AddAccountLedgers`, `v0_CreateAccount`, `v0_UpdateAccount`, `v0_LockAccount`, `v0_UnlockAccount` | [Accounts](/products/custody/accounts-and-assets/accounts/overview), [Manage accounts with the API](/products/custody/accounts-and-assets/accounts/manage-accounts-api), [Manage accounts in the UI](/products/custody/accounts-and-assets/accounts/manage-accounts-ui) |
| Assets | `v0_CreateLedger`, `v0_UpdateLedger`, `v0_CreateTicker`, `v0_UpdateTicker`, `v0_ValidateTickers`, `v0_LockTicker`, `v0_UnlockTicker` | [Tokens](/products/custody/accounts-and-assets/tokenization/token-management), [Manage tokens with the API](/products/custody/accounts-and-assets/tokenization/token-management/api), [Add tokens](/products/custody/accounts-and-assets/tokenization/token-management/api/add-custom-token), [Dynamic ledgers payloads](/products/custody/accounts-and-assets/blockchains/dynamic-ledgers-payloads), [Dynamic ledger payload reference](/products/custody/accounts-and-assets/blockchains/dynamic-ledgers-update-payloads) |
| Domains | `v0_CreateDomain`, `v0_UpdateDomain`, `v0_UpdateDomainPermissions`, `v0_LockDomain`, `v0_UnlockDomain` | [Domains](/products/custody/governance/domains), [Manage domains](/products/custody/governance/domains/manage-domains), [Domain reference](/products/custody/governance/domains/reference) |
| Endpoints | `v0_CreateEndpoint`, `v0_UpdateEndpoint`, `v0_LockEndpoint`, `v0_UnlockEndpoint` | [Endpoints](/products/custody/accounts-and-assets/endpoints), [Manage endpoints](/products/custody/accounts-and-assets/endpoints/manage-endpoints) |
| Flows | `v0_AcknowledgeBackup`, `v0_AddTrustedPublicKeysForMigration`, `v0_CreateBackup`, `v0_ExecuteExtension`, `v0_MigrateSilo3AccountBatch`, `v0_NotarizeData`, `v0_RegisterTrustedPublicKey`, `v0_RewrapVaultKeyMaterial`, `v0_SetSystemProperty` | [Intent request structure](/products/custody/governance/intents/intent-request-structure), [Store a payload](/products/custody/governance/intents/sign-and-store-payloads#store-a-payload), [MPC backups](/products/custody/deployment/integrate-kms/mpc/backups), [Notary key rotation and migration](/products/custody/operations-and-maintenance/security-maintenance/notary-key-rotation-and-migration), [Vault wrapping key rotation for MPC](/products/custody/identity-and-access/vault-management/vault-wrapping-key-rotation-mpc), [Register the state review authority public key](/products/custody/operations-and-maintenance/backup-and-restore/register-a-key), [System-signed intent configuration](/products/custody/deployment/reference/system-signed-intents) |
| Manifests | `v0_SignManifest` | [Sign a manifest](/products/custody/governance/intents/sign-and-store-payloads#sign-a-manifest) |
| Policies | `v0_CreatePolicy`, `v0_UpdatePolicy`, `v0_LockPolicy`, `v0_UnlockPolicy` | [Policies](/products/custody/governance/policies), [Manage policies](/products/custody/governance/policies/manage-policies), [Policy reference](/products/custody/governance/policies/reference) |
| Quarantines | `v0_ReleaseQuarantinedTransfers` | [Release quarantined assets with the API](/products/custody/transactions/send-and-receive/receive-assets-api#release-quarantined-assets), [Release quarantined assets with the UI](/products/custody/transactions/send-and-receive/receive-assets-ui#release-quarantined-assets) |
| Transfer order | `v0_CreateTransferOrder` | [Transaction initiation](/products/custody/transactions/initiation), [Send assets with the API](/products/custody/transactions/send-and-receive/send-assets-api), [Send assets with the UI](/products/custody/transactions/send-and-receive/send-assets-ui) |
| Transaction order | `v0_AttemptTransactionOrderCancellation`, `v0_CreateTransactionOrder` | [Transaction initiation](/products/custody/transactions/initiation), [Cancel and replace transactions](/products/custody/transactions/cancel-and-replace), [Smart contract transactions with the API](/products/custody/transactions/smart-contracts/api), [Transaction reference](/products/custody/transactions/reference) |
| Users | `v0_CreateUser`, `v0_UpdateUser`, `v0_LockUser`, `v0_UnlockUser` | [Users](/products/custody/governance/users), [Manage users and roles](/products/custody/governance/users/manage-users-and-roles), [User reference](/products/custody/governance/users/reference) |
| Vaults | `v0_CreateVault`, `v0_UpdateVault`, `v0_LockVault`, `v0_UnlockVault` | [Vaults](/products/custody/identity-and-access/vault-management), [Manage vaults](/products/custody/identity-and-access/vault-management/manage-vaults) |


## Approval checks

When reviewing an intent, check:

- Intent type.
- Target domain.
- Payload.
- Expiry.
- Selected policy.
- Remaining approvers.
- Current state.


For operations, see [Manage intents and approvals](/products/custody/governance/intents/manage-intents-and-approvals).