//Sandbox API

Sandbox API

The Sandbox API provides a fully isolated testing environment that mirrors the production API.

Sandbox vs Production

| Aspect | Sandbox | Production | |--------|---------|------------| | Data isolation | ✅ Fully isolated | ✅ Live data | | Payment processing | ✅ Test cards only | ✅ Live payments | | Email sending | ✅ Captured (not delivered) | ✅ Delivered | | Rate limits | ✅ Relaxed | ✅ Standard | | Webhooks | ✅ Sent to test endpoints | ✅ Sent to prod endpoints |

Sandbox Base URL

~~~ https://api.buttrbase.com/sandbox ~~~

Test Credentials

Use these test credentials in the sandbox:

| Credential | Value | |------------|-------| | Test email | test@sandbox.buttrbase.com | | Test password | sandbox-password | | Test card | 4242 4242 4242 4242 | | Test card expiry | 12/34 |

Sandbox Reset

POST /api/sandbox/reset

Resets all sandbox data for the organization. Irreversible.

Output: ~~~json { "message": "Sandbox reset successfully." } ~~~

Limitations

  • Sandbox data is automatically purged after 30 days of inactivity.
  • There is no self-service delete endpoint in this release.

Error Reference

| Status | Code | Meaning | |--------|------|---------| | 400 | validation_error | Request body failed validation | | 401 | unauthorized | Missing or invalid Authorization header | | 403 | forbidden | Insufficient permissions | | 404 | not_found | Resource does not exist | | 409 | conflict | Resource already exists or constraint violated | | 422 | unprocessable | Semantic validation failure | | 429 | rate_limited | Request rate exceeded | | 500 | internal_error | Unexpected server error |