Skip to content

Reconcile one provider operation from backend-owned Kill Bill evidence

POST
/reservation-bookings/{reservationBookingId}/payment-provider-operation-reconciliations
curl --request POST \
--url https://example.com/reservation-bookings/example/payment-provider-operation-reconciliations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "reconciliationId": "example", "paymentProviderAttemptKey": "example", "expectedPaymentLedgerRevision": 1, "expectedRefundLedgerRevision": 1, "reasonCode": "example", "providerLookupIdempotencyKey": "example", "reconciledAt": "2026-04-15T12:00:00Z" }'
reservationBookingId
required
string
>= 1 characters
Media typeapplication/json
Reconcile Payment Provider Operation Request
object
reconciliationId
required
string
>= 1 characters
paymentProviderAttemptKey
required
string
>= 1 characters
expectedPaymentLedgerRevision
required
integer
expectedRefundLedgerRevision
required
integer
reasonCode
required
string
>= 1 characters
providerLookupIdempotencyKey
required
string
>= 1 characters
reconciledAt
required
string format: date-time
key
additional properties

Immutable provider reconciliation fact

Media typeapplication/json
object
reconciliationId
required
string
>= 1 characters
paymentProviderAttemptKey
required
string
>= 1 characters
paymentRecordKey
required
string
>= 1 characters
reservationBookingId
required
string
>= 1 characters
providerKey
required
string
>= 1 characters
providerOperationKind
required
Allowed values: charge refund
providerRequestKey
required
string
>= 1 characters
providerTransactionKey
required
string | null
>= 1 characters
observedOutcome
required
Allowed values: accepted rejected not_found unknown
nextAction
required
Allowed values: resume_local_closeout retry_confirmed_not_applied_operation record_noop_reconciliation await_provider_certainty
expectedPaymentLedgerRevision
required
integer
expectedRefundLedgerRevision
required
integer
providerEvidenceFingerprint
required
string
/^[0-9a-f]{64}$/
reasonCode
required
string
>= 1 characters
reconciledByActorId
required
string
>= 1 characters
reconciledAt
required
string format: date-time
retryEligibleAt
required
string | null format: date-time
settlementBlocked
required
boolean
key
additional properties

Supabase bearer token is required

Actor lacks reservation finance close permission

Reconciliation id or ledger revision conflict

Provider lookup or persistence unavailable