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.
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