# Create an execution plan (POST /plan)

Operation `create_plan` of the Uniswap API. Base URL: `https://trade-api.gateway.uniswap.org/v1`.

Creates a multi-step execution plan for chained transactions. The plan breaks down complex multi-chain or multi-transaction flows into sequential steps that can be executed by the client. Each step includes the method (transaction, message signature, or batch calls), payload, and current status. The response includes the current step index to track progress through the plan.

Parameters: 1 header, 3 body · Request: `application/json` · Auth: apiKey · Responses: 200, 400, 401, 404, 429, 500, 504

## Headers

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `x-api-key` | string | yes | Your API key for authentication. |

## Body

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `routing` | enum | yes | The routing type for the plan. Currently only CHAINED is supported for multi-step execution plans. |
| `quote` | object | yes | A quote for a chained transaction flow that spans multiple steps, potentially across multiple chains. |
| `urgency` | enum | UrgencyWithOverrides | no | The urgency impacts the estimated gas price of the transaction. The higher the urgency, the higher the gas price, and the faster the transaction is likely to be selected from the mempool. Send the bare string form (e.g. `"normal"`) for the common case, or the object form `{ level, overrides }` to supply caller caps for `maxPriorityFeePerGas`, `maxFeePerGas`, and `gasLimit`. |

## Responses

- `200` — Create plan successful.
- `400` — RequestValidationError, Bad Input
- `401` — UnauthorizedError eg. Account is blocked.
- `404` — ResourceNotFound eg. No quotes available or Gas fee/price not available
- `429` — Ratelimited
- `500` — Unexpected error
- `504` — Request duration limit reached.

Interactive playground: https://developers.uniswap.org/docs/api-reference/create_plan
All endpoints: https://developers.uniswap.org/docs/api-reference
