# Intents

An **intent** represents a signed request to execute an action in Ripple Custody. For the request structure, standard fields, dry-run flow, and example payloads, see [Intent structure](intent-structure.md).

## Propose an intent

 - [POST /v1/intents](https://docs.ripple.com/products/custody/v1.19/api/reference/openapi/intents/createintent.md)

## Approve an intent

 - [POST /v1/intents/approve](https://docs.ripple.com/products/custody/v1.19/api/reference/openapi/intents/approveintent.md)

## Reject an intent

 - [POST /v1/intents/reject](https://docs.ripple.com/products/custody/v1.19/api/reference/openapi/intents/rejectintent.md)

## List intents

 - [GET /v1/domains/{domainId}/intents](https://docs.ripple.com/products/custody/v1.19/api/reference/openapi/intents/getintents.md)

## Get intent details

 - [GET /v1/domains/{domainId}/intents/{intentId}](https://docs.ripple.com/products/custody/v1.19/api/reference/openapi/intents/getintent.md)

## Get remaining users

 - [GET /v1/domains/{domainId}/intents/{intentId}/remaining-users](https://docs.ripple.com/products/custody/v1.19/api/reference/openapi/intents/getremainingusers.md): This API operation will return the remaining user IDs able to approve for the currently open step of the intent approval process.

## Perform a dry-run for given intent payload

 - [POST /v1/intents/dry-run](https://docs.ripple.com/products/custody/v1.19/api/reference/openapi/intents/intentdryrun.md)

