PixelMatch

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-23456789abcd

Request

FieldTypeRequiredNotes
operation_idstring (UUID)yesThe 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

  • 400operation_id missing or not a UUID.
  • 401X-API-Key missing or invalid.
  • 404 — no operation with that operation_id in this shop's scope.
  • 503 — a provider contribution or receipt store is temporarily unavailable. The endpoint fails explicitly instead of returning an incomplete receipts list; retry the whole request.

On this page