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 |