Simulate a payroll deposit (sandbox only)
Builds a bank deposit webhook, signs it with the sandbox's own secret, and sends it through the same HTTPS edge production uses — the full pipeline runs (verify → normalize → enqueue → reconcile), no real bank involved. The church must belong to the authenticated partner. status_code echoes what the webhook edge answered: a rejection surfaces as-is rather than being masked as success.
Headers
- Type: stringIdempotency
- Key min length:1max length:255requiredRequired on every POST, before any effect. Replays with the same key return the original resource with
200.
Body
required
application/json
- Type: stringaccount
_ref requiredSimulated bank account reference receiving the credit.
- Type: numberamountgreater than:0required
Deposit amount in dollars; must be exact cents.
- Type: stringchurch
_id required - Type: stringtrace
Optional trace id; generated when omitted.
Responses
- application/json
- application/problem+json
- application/problem+json
Request Example for post/sandbox/simulate/deposit
curl https://api.sandbox.rostergiving.com/sandbox/simulate/deposit \
--request POST \
--header 'Idempotency-Key: ' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
--data '{
"church_id": "",
"account_ref": "",
"amount": 1,
"trace": ""
}'
{
"status_code": 1,
"simulated": {
"event_type": "ach.credit.received",
"trace": "string",
"bank_ts": "2026-09-01T19:58:46.877Z"
}
}