# Get multi-leg payment status
Enables users to query the processing status of a multi-leg payment.
# OpenAPI definition
```json
{
"openapi": "3.0.0",
"info": {
"title": "Banking - Transaction banking",
"version": "0.9.0",
"description": "Transaction banking API",
"contact": {
"name": "API Support",
"url": "https://developers.pismo.io/support/"
},
"license": {
"name": "Copyright Pismo"
}
},
"servers": [
{
"url": "https://sandbox.pismolabs.io",
"description": "Sandbox API server for testing"
}
],
"security": [
{
"BearerAuth": []
}
],
"tags": [
{
"name": "Payments",
"description": "Payment endpoints supporting external accounts"
}
],
"components": {
"parameters": {
"MultilegIdPath": {
"name": "multilegId",
"in": "path",
"description": "Multileg ID provided when the multileg payment is created.",
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 43
},
"required": true,
"example": "0a50c88a-ade8-4bcc-a639-9a0b0f11e245"
}
},
"schemas": {
"ErrorCode": {
"description": "Error code\n`minLength: 1`\n`maxLength: 12`\n",
"type": "string",
"minLength": 1,
"maxLength": 12,
"example": "WPMT0017"
},
"ErrorMessage": {
"description": "Error message\n`minLength: 1`\n`maxLength: 1000`\n",
"type": "string",
"minLength": 1,
"maxLength": 1000,
"example": "Invalid JSON payload received: Error unmarshalling request"
},
"ErrorResponse": {
"type": "object",
"properties": {
"code": {
"$ref": "#/components/schemas/ErrorCode"
},
"message": {
"$ref": "#/components/schemas/ErrorMessage"
}
}
},
"EventDatetime": {
"type": "string",
"format": "date-time",
"minLength": 1,
"maxLength": 30,
"description": "Event date and time displayed in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
\n`minLength: 1`\n`maxLength: 30`\n",
"example": "2023-04-27T12:01:24Z"
},
"ExternalAccountId2": {
"type": "string",
"description": "External ID of the account to which the transaction is posted.",
"maxLength": 60,
"minLength": 1,
"example": "289",
"pattern": "^[a-zA-Z0-9-]+$"
},
"LegProcessingStatus": {
"type": "string",
"description": "Status of the leg processing.
\n* `PENDING`: The payment leg is awaiting execution.\n* `EXECUTED`: The payment leg was executed successfully.\n* `FAILED`: The payment leg execution failed.\n* `ROLLED_BACK`: The payment leg was executed successfully but was rolled back due to a failure in another leg.\n* `ROLLBACK_FAILED`: The payment leg was executed successfully; another leg failed, triggering a rollback, but the rollback for this leg was unsuccessful.\n",
"enum": [
"PENDING",
"EXECUTED",
"FAILED",
"ROLLED_BACK",
"ROLLBACK_FAILED"
],
"example": "PENDING"
},
"MultilegLegError": {
"title": "MultilegLegError",
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "HTTP Status code of the error",
"example": 400
},
"code": {
"$ref": "#/components/schemas/ErrorCode"
},
"message": {
"$ref": "#/components/schemas/ErrorMessage"
}
}
},
"MultiLegItemV3Status": {
"title": "MultiLegLegStatus",
"type": "object",
"properties": {
"tracking_id": {
"$ref": "#/components/schemas/TrackingID"
},
"external_account_id": {
"$ref": "#/components/schemas/ExternalAccountId2"
},
"status": {
"$ref": "#/components/schemas/LegProcessingStatus"
},
"event_datetime": {
"$ref": "#/components/schemas/EventDatetime"
},
"error": {
"$ref": "#/components/schemas/MultilegLegError"
},
"rollback": {
"title": "Multileg payment leg rollback",
"type": "object",
"properties": {
"tracking_id": {
"$ref": "#/components/schemas/TrackingID"
},
"event_datetime": {
"$ref": "#/components/schemas/EventDatetime"
},
"error": {
"$ref": "#/components/schemas/MultilegLegError"
}
},
"required": [
"tracking_id"
]
}
},
"required": [
"tracking_id",
"external_account_id",
"status"
]
},
"MultiLegV3Status": {
"title": "MultiLegLegV3Status",
"type": "object",
"properties": {
"multileg_id": {
"$ref": "#/components/schemas/MultilegID"
},
"status": {
"type": "string",
"description": "Status of the multi-leg processing.
\n* `CREATING`: The multileg payment request has been received and queued for execution.\n* `EXECUTING`: Asynchronous processing of the multileg payment has started.\n* `DEBITS_EXECUTED`: All debit legs have been successfully executed; credit leg processing is still in progress.\n* `CREDITS_FAILED`: Used in v2 when one or more credit legs failed. This status is no longer used in v3, but remains in the API for queries on payments created via the V2 endpoint.\n* `FINISHED`: All payment legs were processed successfully.\n* `ROLLING_BACK`: One or more payment legs failed, and the rollback process has begun.\n* `ROLLED_BACK`: One or more payment legs failed, and all successful legs were rolled back.\n* `ROLLBACK_FAILED`: One or more payment legs failed, rollback was attempted, but the rollback of some legs was unsuccessful.\n* `TIMED_OUT`: Processing did not complete because the multileg execution timed out.\n",
"enum": [
"CREATING",
"EXECUTING",
"DEBITS_EXECUTED",
"CREDITS_FAILED",
"FINISHED",
"ROLLING_BACK",
"ROLLED_BACK",
"ROLLBACK_FAILED",
"TIMED_OUT"
],
"example": "CREATING"
},
"debits": {
"type": "array",
"items": {
"$ref": "#/components/schemas/MultiLegItemV3Status"
}
},
"credits": {
"type": "array",
"items": {
"$ref": "#/components/schemas/MultiLegItemV3Status"
}
}
},
"required": [
"multileg_id",
"status"
]
},
"TrackingID": {
"type": "string",
"description": "A unique payment tracking number provided by the client. If an existing `tracking_id` already exists in the system, the API returns a `409` error.\n\nThis field is:\n - Unique within the Organization.\n - Immutable — It can't be updated.\n - Not recyclable — You can't reuse a `tracking_id`.\n",
"minLength": 1,
"maxLength": 43,
"example": "0a50c88a-ade8-4bcc-a639-9a0b0f11e244"
},
"MultilegID": {
"type": "string",
"description": "A unique multileg payment identifier provided by the client. If an existing `multileg_id` already exists in the system, the API returns a `409` error.\n\nThis field is:\n - Unique within the Organization.\n - Immutable — It can't be updated.\n - Not recyclable — You can't reuse a `multileg_id`.\n",
"minLength": 1,
"maxLength": 43,
"pattern": "^[a-zA-Z0-9-]+$",
"example": "0a50c88a-ade8-4bcc-a639-9a0b0f11e245"
}
},
"securitySchemes": {
"BearerAuth": {
"type": "http",
"scheme": "bearer",
"bearerFormat": "JWT"
}
}
},
"paths": {
"/corporate/v3/payments/multileg/{multilegId}": {
"get": {
"summary": "Get multi-leg payment status",
"operationId": "corporate-v3-get-multileg-payment",
"description": "Enables users to query the processing status of a multi-leg payment.",
"parameters": [
{
"$ref": "#/components/parameters/MultilegIdPath"
}
],
"tags": [
"Payments"
],
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MultiLegV3Status"
},
"examples": {
"Successful payment": {
"value": {
"multileg_id": "b37a045b-8f84-4085-ac97-1d8684a4227b",
"status": "FINISHED",
"debits": [
{
"tracking_id": "7ebb12b9-98e1-469c-b57f-07aebbe12658",
"external_account_id": "289",
"status": "EXECUTED",
"event_datetime": "2025-09-16T13:35:15.333Z"
}
],
"credits": [
{
"tracking_id": "eb93fac3-548e-4a09-a577-1b678b4a9986",
"external_account_id": "289",
"status": "EXECUTED",
"event_datetime": "2025-09-16T13:35:15.333Z"
}
]
}
},
"Rolled back": {
"value": {
"multileg_id": "b37a045b-8f84-4085-ac97-1d8684a4227b",
"status": "ROLLED_BACK",
"debits": [
{
"tracking_id": "7ebb12b9-98e1-469c-b57f-07aebbe12658",
"external_account_id": "289",
"status": "FAILED",
"event_datetime": "2025-09-16T13:35:15.333Z",
"error": {
"status": 400,
"code": "WPMT0010",
"message": "Insufficient funds"
}
},
{
"tracking_id": "7ebb12b9-98e1-469c-b57f-07aebbe12658",
"external_account_id": "289",
"status": "ROLLED_BACK",
"event_datetime": "2025-09-16T13:35:15.333Z",
"rollback": {
"tracking_id": "63b7c177-cc70-456c-a2ff-5e2504d4bf3e",
"event_datetime": "2025-09-16T13:35:16.333Z"
}
}
],
"credits": [
{
"tracking_id": "eb93fac3-548e-4a09-a577-1b678b4a9986",
"external_account_id": "289",
"status": "PENDING"
}
]
}
},
"Rollback failed": {
"value": {
"multileg_id": "b37a045b-8f84-4085-ac97-1d8684a4227b",
"status": "ROLLBACK_FAILED",
"debits": [
{
"tracking_id": "7ebb12b9-98e1-469c-b57f-07aebbe12658",
"external_account_id": "289",
"status": "ROLLBACK_FAILED",
"event_datetime": "2025-09-16T13:35:15.333Z",
"rollback": {
"tracking_id": "8fa69f77-560e-49ab-b29f-7eadf36fb2e3",
"event_datetime": "2025-09-16T13:35:16.333Z",
"error": {
"status": 400,
"code": "WOBK0007",
"message": "Operations blocked for account"
}
}
},
{
"tracking_id": "7ebb12b9-98e1-469c-b57f-07aebbe12658",
"external_account_id": "289",
"status": "ROLLED_BACK",
"event_datetime": "2025-09-16T13:35:15.333Z",
"rollback": {
"tracking_id": "63b7c177-cc70-456c-a2ff-5e2504d4bf3e",
"event_datetime": "2025-09-16T13:35:16.333Z"
}
}
],
"credits": [
{
"tracking_id": "eb93fac3-548e-4a09-a577-1b678b4a9986",
"external_account_id": "289",
"status": "FAILED",
"error": {
"status": 400,
"code": "WOBK0007",
"message": "Operations blocked for account"
}
}
]
}
}
}
}
}
},
"404": {
"description": "Not Found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
},
"examples": {
"Multileg not found": {
"value": {
"code": "WMLP0007",
"message": "multi leg not found"
}
}
}
}
}
}
}
}
}
}
}
```