Gravv docs
Docs Agent Sign in Get API keys

Resume a paused transfer

Continues a transfer that returned transfer_status: paused, with what its requirements asked for. When the transfer can go ahead, resumed is true and Gravv sends the transfer.resumed webhook. When it still cannot, resumed is false and the response lists the new requirements. Gravv does not charge the fee again.

Use a new Idempotency-Key for each attempt with new information, as a retry with the same key returns the first answer. A 410 means the pause expired or was cancelled; start a new transfer.

POSThttps://api.gravv.xyz/v1/transfer/{id}/resume

Headers

1 to 255 printable ASCII characters. A retry with the same key within 24 hours returns the first response, including a 400. After you correct a request, send a new key.

Path Parameters

The transfer reference from POST /v1/transfer

Request Body

Optional. It must match the path.

Your record of how you verified the sender. When your limits policy uses attested tiers, the transfer counts against this remitter instead of the customer.

Your ID for the sender

Who verified the sender

Each value must be clear

Sender details. Some payout routes need them; without them the transfer pauses with sender_details_required.

Alpha-2 code

YYYY-MM-DD

YYYY-MM-DD

YYYY-MM-DD, not in the future

Alpha-2 code

Your record of how you verified the sender. When your limits policy uses attested tiers, the transfer counts against this remitter instead of the customer.

Your ID for the sender

Who verified the sender

Each value must be clear

Request Examples

{
"supporting_document_ids": [
"5b0d8f3e-2a71-4c4f-9e0b-7d6c1a2b3c4d"
]
}

Responses

Status Description
200 The result of the resume
400 The transfer is not paused, or the body is wrong
404 No such transfer
409 The transfer changed while the request ran. Retry.
410 The pause expired or was cancelled
422 The sender is blocked, or a supporting document is still missing
503 Limits cannot be checked right now. Retry.

200 response

Why the transfer paused

Possible values: per_transfer, daily, weekly, monthly, annual, annual_requires_approval, screening, sender_details_required, supporting_document_required

What to send on resume: remitter_verification, screening_clear, supporting_document, a sender detail such as remitter_full_name, or customer_email (update the customer, then resume). admin_review means only Gravv can release it.

Possible values: per_transfer, daily, weekly, monthly, annual

Allowance left in that window, in USD

When the pause expires, 72 hours by default. The transfer then fails.

{
"data": {
"transfer_id": "c1a2b3c4-d5e6-4f70-8a91-b2c3d4e5f607",
"status": "approved_awaiting_execution",
"transfer_status": "pending",
"resumed": true,
"local_amount": "7650000",
"local_currency": "NGN"
},
"error": null
}

400 response

Such as ERROR_CODE_DUPLICATE_TRANSACTION

{
"data": null,
"error": "this transfer is not paused",
"transfer_status": "completed"
}

404 response

What went wrong

{
"data": null,
"error": "transfer workflow not found"
}

409 response

Such as ERROR_CODE_DUPLICATE_TRANSACTION

410 response

Such as ERROR_CODE_DUPLICATE_TRANSACTION

{
"data": null,
"error": "this paused transfer has expired and can no longer be resumed; please initiate a new transfer",
"code": "ERROR_CODE_TRANSFER_PAUSE_EXPIRED"
}

422 response

Such as ERROR_CODE_DUPLICATE_TRANSACTION

503 response

Such as ERROR_CODE_DUPLICATE_TRANSACTION

Authorization

  • ApiKeyAuth
Was this page helpful?
ESC