# MigrationActionIntentV2

[All API schemas](/api-reference/schemas/)

<code>object</code> — Additional properties rejected

| Field | Required at this level | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>schemaVersion</code> | Yes | Constant <code>migration-action-intent-v2</code> | — |
| <code>releaseId</code> | Yes | [Hash](/api-reference/schemas/hash/) | — |
| <code>chainId</code> | Yes | <code>integer</code> | Allowed: <code>677</code>, <code>968</code> |
| <code>planId</code> | Yes | <code>string</code> | — |
| <code>planRootHash</code> | Yes | [Hash](/api-reference/schemas/hash/) | — |
| <code>route</code> | Yes | <code>string</code> | Allowed: <code>FORWARD</code>, <code>ROLLBACK</code> |
| <code>leg</code> | Yes | [MigrationPlanLeg](/api-reference/schemas/migration-plan-leg/) | — |
| <code>controllerExecution</code> | Yes | [ControllerExecutionBindingV2](/api-reference/schemas/controller-execution-binding-v2/) | — |

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

Exact definition: <code>#/components/schemas/MigrationActionIntentV2</code> in the [OpenAPI contract](/openapi/liquidity-operating-system-v2.openapi.json).