# Update an execution plan (PATCH /plan/{planId})

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

Updates an existing execution plan by submitting proof of completed plan steps (transaction hashes or signatures). The endpoint retrieves the existing plan, attaches proofs to specified steps, verifies the proofs, and potentially regenerates remaining steps if needed. Returns the full updated plan with current status. Note: Order IDs are not accepted in requests; they are system-generated after receiving a signature.

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

## Path parameters

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `planId` | string | yes | The unique identifier of the plan to update. |

## Headers

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

## Body

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `steps` | object[] | yes | Array of steps with proofs to attach. Only steps being updated need to be included. |

## Responses

- `200` — Update plan successful.
- `400` — RequestValidationError, Bad Input
- `401` — UnauthorizedError eg. Account is blocked.
- `404` — ResourceNotFound eg. No quotes available or Gas fee/price not available
- `422` — UnprocessableEntity eg. Plan is already completed and cannot be updated.
- `429` — Ratelimited
- `500` — Unexpected error
- `504` — Request duration limit reached.

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