Skip to main content
POST
/
v1
/
transfers
/
{transfer_id}
/
reverse
Reverse transfer
curl --request POST \
  --url https://api.adullam.dev/v1/transfers/{transfer_id}/reverse \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --header 'Idempotency-Key: <idempotency-key>' \
  --data '
{
  "reason": "error",
  "description": "Wrong recipient"
}
'
{
  "id": "rev_xyz789",
  "transfer_id": "txf_abc123",
  "type": "reversal",
  "status": "processing",
  "amount": 10000,
  "currency": "XOF",
  "reason": "error",
  "description": "Wrong recipient",
  "ussd_reference": null,
  "created_at": "2024-01-15T11:00:00Z",
  "completed_at": null,
  "failure_reason": null
}

Reverse Transfer

Reversing a transfer allows you to cancel or refund a transaction when authorized. Use the Reverse Transfer API to initiate a reversal for a specific transfer ID, subject to eligibility and conditions.

Authorizations

Authorization
string
header
required

Use the access token obtained from /v1/auth/token

Headers

Idempotency-Key
string<uuid>
required

UUID for idempotent requests

Path Parameters

transfer_id
string
required

Transfer ID

Body

application/json
reason
enum<string>
required
Available options:
fraud,
error,
customer_request,
technical_issue
Example:

"error"

description
string
Maximum string length: 200
Example:

"Wrong recipient"

Response

Reversal created

id
string
Example:

"rev_xyz789"

transfer_id
string
Example:

"txf_abc123"

type
enum<string>

Cancellation if transfer not completed, reversal if completed

Available options:
cancellation,
reversal
Example:

"reversal"

status
enum<string>
Available options:
pending,
processing,
completed,
failed
Example:

"processing"

amount
integer
Example:

10000

currency
string
Example:

"XOF"

reason
enum<string>
Available options:
fraud,
error,
customer_request,
technical_issue
Example:

"error"

description
string
Example:

"Wrong recipient"

ussd_reference
string | null
Example:

null

created_at
string<date-time>
Example:

"2024-01-15T11:00:00Z"

completed_at
string<date-time> | null
Example:

null

failure_reason
string | null
Example:

null