API Guide
Testing Your Integration
How to build and verify an integration safely before it touches live operations.
Start with a read-only key
Build and verify every read path with a key that holds only *:read scopes. A read-only key cannot mutate anything, and — unless it holds communications:read or audit_log:read, which force request signing — it requires no signing either, which makes the first half of an integration risk-free.
Use a branch-scoped key to limit blast radius
When you move to writes, mint a branch-scoped key pointed at a single branch — ideally a low-volume or internal one. The branch filter is enforced at the gateway, so a bug in your code cannot reach the rest of the company's data.
Note that six resources are company-wide only (storage, inventory, tasks, claims, employees, audit log) — a branch-scoped key gets 403 branch_scope_unsupported there, so those paths need a company-wide key to test.
A pre-flight checklist
GET /v1/whoamireturns the scopes, tenancy, and limits you expect.- Pagination walks to completion and terminates when
next_cursoris absent. - A deliberately misspelled parameter returns
400 unknown_param— proof your client surfaces errors rather than swallowing them. - Every write carries an
Idempotency-Key— the API rejects writes without one (400 idempotency_key_required) — and a forced retry with the same key produces one record, not two. - Updates echo the record's
updated_atinIf-Match, and your conflict handler re-reads on409 version_conflict. - Signed requests survive a clock skew test and a body re-serialization pass.
429handling honorsRetry-After.- Webhook signature verification rejects a tampered body.
Verifying webhooks locally
Point a temporary endpoint at a tunnel to your development machine, then fire POST /v1/webhook-endpoints/{id}/test and confirm your verifier accepts the signed ping — and rejects the same body with one byte changed.
A dedicated sandbox
An isolated sandbox environment with seeded data is on the roadmap. Until it ships, the read-only-key and branch-scoped-key approach above is the supported way to build safely. If your integration needs something more, talk to us and we will work through it with you.