Get operation state
POST /v1/get_operation_state
Read the latest state of an operation by its server-issued
operation_id. Useful when you missed a webhook and want to reconcile
the operation, or to poll while building an integration.
Endpoint
POST /v1/get_operation_state
Content-Type: application/json
X-API-Key: 01234567-89ab-4cde-8f01-23456789abcdRequest
| Field | Type | Required | Notes |
|---|---|---|---|
operation_id | string (UUID) | yes | The server-issued ID returned by /v1/payment or /v1/payout. |
Example
curl -X POST https://api.match.admin-pixelwave.com/v1/get_operation_state \
-H "Content-Type: application/json" \
-H "X-API-Key: 01234567-89ab-4cde-8f01-23456789abcd" \
-d '{"operation_id": "f6c2e7d4-3e5b-4f1f-8a02-9d6c7e8a1b22"}'Response
200 OK with the operation object.
The response also contains an additive receipts array:
{
"operation_id": "f6c2e7d4-3e5b-4f1f-8a02-9d6c7e8a1b22",
"status": "completed",
"receipts": [
{
"id": "b07f94d8-e13e-5fbb-9695-87088c0ddbce",
"amount": 5000,
"completed_at": "2026-07-16T12:34:56Z",
"receipt_url": "https://storage.example/..."
},
{
"id": "20ebd58a-fdf7-5002-b41b-a3d21464086c",
"amount": 5000,
"completed_at": "2026-07-16T12:35:10Z",
"receipt_url": null
}
]
}Each item is one completed physical contribution to the operation. A payout
assembled from multiple provider legs or matching payments therefore returns
multiple items. receipt_url is a short-lived HTTPS download link when the
provider has a file; it is null when the contribution has no downloadable
receipt. Items are ordered by completed_at, then id.
receipts is empty until the parent operation is completed, including when
some provider legs have already completed. This keeps the decomposition stable
and prevents integrations from treating an in-progress partial result as
final. The field is additive and existing response fields are unchanged.
Polling guidance
Webhooks are the canonical signal for terminal status. Poll only as a fallback — for example, when building integration tooling or recovering from a missed delivery. There is no ETag or version field; each call returns the current state at read time.
Errors
400—operation_idmissing or not a UUID.401—X-API-Keymissing or invalid.404— no operation with thatoperation_idin this shop's scope.503— a provider contribution or receipt store is temporarily unavailable. The endpoint fails explicitly instead of returning an incompletereceiptslist; retry the whole request.