Skip to main content
POST
/
v1
/
sandbox
/
deposits
Create a sandbox deposit
curl --request POST \
  --url https://api.sandbox.daya.co/v1/sandbox/deposits \
  --header 'Content-Type: application/json' \
  --header 'X-Api-Key: <x-api-key>' \
  --data '
{
  "onramp_id": "<string>",
  "should_flag": true
}
'

Overview

This sandbox-only endpoint creates a mock deposit for an existing onramp and runs it through the same processing pipeline as a real deposit:
  • Deposit creation
  • FX processing
  • Settlement
  • Webhook dispatch
Use this to validate your end-to-end integration (including webhook handling) before going to production.
This endpoint is not available in production. Calls in production return 403 Not available in production.
For end-to-end guidance (recommended flow, what to validate, and common flagging scenarios), see Sandbox testing.

Authentication

X-Api-Key
string
required
Your merchant API key

Request Body

onramp_id
string
required
The onramp to attach this simulated deposit to.Example: onramp_3j5k8n2q
should_flag
boolean
Optional. If true, the deposit will be created in a flagged state so you can test your flagged-handling path.Default: false

Request Examples

curl --request POST \
  --url https://api.sandbox.daya.co/v1/sandbox/deposits \
  --header 'X-Api-Key: YOUR_SANDBOX_KEY' \
  --header 'Content-Type: application/json' \
  --data '{
    "onramp_id": "onramp_3j5k8n2q"
  }'

Response

Returns a deposit object plus helper fields:
  • deposit: The created deposit
  • payment_reference: The payment reference associated with the onramp/deposit
  • message: Human-readable status message

Error Responses

This endpoint may return:
  • 400: Invalid request
  • 401: Unauthorized
  • 403: Not available in production
  • 404: Onramp not found
  • 500: Internal server error

Next Steps

Webhooks Overview

Verify your webhook handling with sandbox events

Sandbox testing

Recommended end-to-end sandbox flow + common flagging scenarios