Gravv docs
Docs Agent Sign in Get API keys

Simulate a deposit

Sandbox only. A live key gets a 403. Sends a test bank deposit to an account through the normal deposit flow, with fees, ledger entries and webhooks. The account must be active with bank details.

A 200 means Gravv accepted the deposit, not that it settled. Wait for the transfer.inflow.completed or transfer.inflow.deposit_settled webhook. Each new Idempotency-Key makes a new deposit.

POSThttps://api.gravv.xyz/v2/accounts/simulate/deposit

Headers

Required for POST requests. The key is 1 to 255 printable ASCII characters. A retry with the same key within 24 hours returns the first response, so reuse the key when you retry the same request.

Request Body

An active account of yours with bank details

Positive amount in major units, as a string. It must fit the rail's smallest unit.

Defaults to the account currency

Rail the deposit arrives on. Defaults to the bank's usual rail.

Possible values: ach, wire, rtp, swift, sepa, fps

Request Examples

{
"account_id": "6f1c2a9e-3b1d-4f7a-9c62-0d8e4b7a5c11",
"amount": "250.00",
"rail": "wire"
}

Responses

Status Description
200 Deposit accepted
400 Invalid amount or rail, or the account cannot take a test deposit
403 Not a sandbox key
404 Not found, or not in your business

200 response

Reference of the test deposit

Possible values: pending, processing, blocked, completed, failed, compensated

{
"data": {
"accepted": true,
"reference": "d3b07384-d9a0-4c8f-9e2b-6f1a2c3d4e5f",
"state": "pending"
},
"error": null
}

400 response

Error message. When several fields fail, it names the first and says how many others are in details. Branch on the HTTP status and the details codes, not on this text.

Field problems, keyed by field path. Each value is CODE: message, such as REQUIRED: Customer ID is required. The API joins several problems on one field with ; .

{
"data": null,
"error": "account has no linked virtual account to deposit into"
}

403 response

Error message. When several fields fail, it names the first and says how many others are in details. Branch on the HTTP status and the details codes, not on this text.

Field problems, keyed by field path. Each value is CODE: message, such as REQUIRED: Customer ID is required. The API joins several problems on one field with ; .

{
"data": null,
"error": "Forbidden: insufficient permissions to perform this action"
}

404 response

Error message. When several fields fail, it names the first and says how many others are in details. Branch on the HTTP status and the details codes, not on this text.

Field problems, keyed by field path. Each value is CODE: message, such as REQUIRED: Customer ID is required. The API joins several problems on one field with ; .

{
"data": null,
"error": "Resource not found"
}

Authorization

  • ApiKeyAuth
Was this page helpful?
ESC