# MigrationRequest

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

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

| Field | Required at this level | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>sourceVenueId</code> | Yes | <code>string</code> | Min length: <code>3</code>; Max length: <code>160</code> |
| <code>targetVenueId</code> | Yes | <code>string</code> | Min length: <code>3</code>; Max length: <code>160</code> |
| <code>assetMappingId</code> | Yes | <code>string</code> | Min length: <code>3</code>; Max length: <code>160</code> |
| <code>capitalQuote</code> | Yes | [PositiveAtomicAmount](/api-reference/schemas/positive-atomic-amount/) | — |
| <code>gasAndFeesQuote</code> | Yes | [AtomicAmount](/api-reference/schemas/atomic-amount/) | — |
| <code>execution</code> | No | <code>object</code> | Additional properties rejected |
| <code>execution.vaultId</code> | Yes | <code>string</code> | Min length: <code>3</code>; Max length: <code>160</code> |
| <code>execution.scheduledPlanId</code> | Yes | [Hash](/api-reference/schemas/hash/) | — |
| <code>execution.legs</code> | Yes | Array of <code>object</code> | Min items: <code>4</code>; Max items: <code>4</code> |
| <code>execution.legs&#91;&#93;.legId</code> | Yes | <code>string</code> | Allowed: <code>forward-withdraw-source</code>, <code>forward-deploy-target</code>, <code>rollback-withdraw-target</code>, <code>rollback-redeploy-source</code> |
| <code>execution.legs&#91;&#93;.scheduledLegIndex</code> | Yes | <code>integer</code> | Minimum: <code>0</code>; Maximum: <code>4294967295</code> |
| <code>execution.legs&#91;&#93;.proof</code> | Yes | Array of [Hash](/api-reference/schemas/hash/) | Max items: <code>64</code> |
| <code>execution.legs&#91;&#93;.action</code> | Yes | [ControllerVenueActionV2](/api-reference/schemas/controller-venue-action-v2/) | — |
| <code>execution.legs&#91;&#93;.economicBinding</code> | Yes | [MigrationLegEconomicBindingV2](/api-reference/schemas/migration-leg-economic-binding-v2/) | — |
| <code>reason</code> | Yes | <code>string</code> | Min length: <code>3</code>; Max length: <code>500</code> |

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/MigrationRequest</code> in the [OpenAPI contract](/openapi/liquidity-operating-system-v2.openapi.json).