curl --request PUT \
--url https://api.sandbox.paypathiq.com/v1/clients/{clientCode}/payment-deliveries/{externalPaymentRequestId}/attempts/{externalAttemptId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"channel": "api",
"outcome": "delivered"
}
'{
"accountingAcceptance": "partially_acknowledged",
"allocations": [
{
"allocatedAmount": {
"amount": "100.00",
"currency": "EUR"
},
"allocationReference": "5f1d3c6e-2b6a-4a57-9a3e-0d8b1c2f4a10",
"externalReceivableId": "REC_EXAMPLE_1",
"matchedAmount": {
"amount": "100.00",
"currency": "EUR"
},
"unmatchedAmount": {
"amount": "0.00",
"currency": "EUR"
}
},
{
"allocatedAmount": {
"amount": "200.00",
"currency": "EUR"
},
"allocationReference": "7a9e1b44-6c0f-4f25-8d71-3e5a9b0c6d21",
"externalReceivableId": "REC_EXAMPLE_2",
"matchedAmount": {
"amount": "0.00",
"currency": "EUR"
},
"unmatchedAmount": {
"amount": "200.00",
"currency": "EUR"
}
}
],
"confirmedAt": "2026-10-15T12:00:00.000Z",
"delivery": {
"attempts": [
{
"channel": "api",
"externalAttemptId": "DELIVERY_ATTEMPT_1",
"outcome": "delivered",
"recordedAt": "2026-10-15T12:10:00.000Z"
}
],
"state": "delivered"
},
"deliveryOwner": "partner",
"externalPaymentRequestId": "PAYREQ_EXAMPLE",
"paymentAmount": {
"amount": "300.00",
"currency": "EUR"
},
"paymentReference": "0c4e8a52-1d3b-4e6f-b7a9-2f5c8d1e3a60",
"reconciliations": [
"RECON_EXAMPLE"
],
"unappliedAmount": {
"amount": "0.00",
"currency": "EUR"
},
"unmatchedAmount": {
"amount": "200.00",
"currency": "EUR"
}
}Record a delivery attempt
Requires payment_observations:write and a partner receipt delivery owner. Records one immutable delivery attempt: an API delivery or file download, with the outcome downloaded, delivered or failed. An attempt is evidence of delivery only. It never marks the Payment accepted, never moves funds and never changes accountingAcceptance; only receipt lines acknowledged through a payment reconciliation do. Reusing the attempt identity with an identical body returns 200 and changes nothing, so a lost response is safe to repeat; different evidence returns 409.
curl --request PUT \
--url https://api.sandbox.paypathiq.com/v1/clients/{clientCode}/payment-deliveries/{externalPaymentRequestId}/attempts/{externalAttemptId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"channel": "api",
"outcome": "delivered"
}
'{
"accountingAcceptance": "partially_acknowledged",
"allocations": [
{
"allocatedAmount": {
"amount": "100.00",
"currency": "EUR"
},
"allocationReference": "5f1d3c6e-2b6a-4a57-9a3e-0d8b1c2f4a10",
"externalReceivableId": "REC_EXAMPLE_1",
"matchedAmount": {
"amount": "100.00",
"currency": "EUR"
},
"unmatchedAmount": {
"amount": "0.00",
"currency": "EUR"
}
},
{
"allocatedAmount": {
"amount": "200.00",
"currency": "EUR"
},
"allocationReference": "7a9e1b44-6c0f-4f25-8d71-3e5a9b0c6d21",
"externalReceivableId": "REC_EXAMPLE_2",
"matchedAmount": {
"amount": "0.00",
"currency": "EUR"
},
"unmatchedAmount": {
"amount": "200.00",
"currency": "EUR"
}
}
],
"confirmedAt": "2026-10-15T12:00:00.000Z",
"delivery": {
"attempts": [
{
"channel": "api",
"externalAttemptId": "DELIVERY_ATTEMPT_1",
"outcome": "delivered",
"recordedAt": "2026-10-15T12:10:00.000Z"
}
],
"state": "delivered"
},
"deliveryOwner": "partner",
"externalPaymentRequestId": "PAYREQ_EXAMPLE",
"paymentAmount": {
"amount": "300.00",
"currency": "EUR"
},
"paymentReference": "0c4e8a52-1d3b-4e6f-b7a9-2f5c8d1e3a60",
"reconciliations": [
"RECON_EXAMPLE"
],
"unappliedAmount": {
"amount": "0.00",
"currency": "EUR"
},
"unmatchedAmount": {
"amount": "200.00",
"currency": "EUR"
}
}Authorizations
Integration-owned environment-specific API key. Never paste a production key into documentation tools.
Path Parameters
Stable non-sensitive Client code authorized by the Integration grant.
^[A-Za-z0-9_-]{1,128}$The hosted Payment request whose confirmed Payment is being delivered.
^[A-Za-z0-9_-]{1,128}$Caller-assigned identifier of this delivery attempt. Reusing it with an identical body is a safe retry.
^[A-Za-z0-9_-]{1,128}$Body
One uncompressed resource representation, limited to 256 KiB.
api: your middleware sent the Payment to the accounting system through its API. file_download: you exported it as a file for the accounting system.
api, file_download downloaded: you retrieved or exported the Payment details. delivered: the accounting system's intake received them. failed: the delivery did not complete. None of these is accounting acceptance: only receipt lines acknowledged through a payment reconciliation are.
downloaded, delivered, failed Response
Identical safe retry.
pending: no receipt line has acknowledged this Payment. partially_acknowledged: some of the allocated amount is acknowledged. acknowledged: every allocated amount is acknowledged. held: a receipt line differs and affected actions are held. Derived only from payment reconciliations, never from delivery attempts or reads.
pending, partially_acknowledged, acknowledged, held Show child attributes
Show child attributes
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$Show child attributes
Show child attributes
The agreed owner of receipt delivery for this connection. Only the owner may retrieve, deliver and acknowledge.
"partner"^[A-Za-z0-9_-]{1,128}$Show child attributes
Show child attributes
A stable opaque reference to the confirmed Payment.
^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$Identifiers of the payment reconciliations that acknowledged this Payment.
^[A-Za-z0-9_-]{1,128}$Show child attributes
Show child attributes
Show child attributes
Show child attributes