Test mode
A test key (abr_test_…) is a throwaway place to check that your client is wired up correctly — that the key authenticates, the scopes are right, and your request bodies parse.
It cannot tell you whether a real project will succeed. Responses are canned. The word count is always 100, the page count always 1, the credit balance always 999,999, and the deliverable is a short placeholder .txt regardless of what you uploaded. Nothing you send is read, converted, segmented or translated.
Use it for the first hour of an integration and for CI. Validate everything else against a live key on one small real project.
What it covers
Requests are validated exactly as they are on a live key — only the work is skipped.
| Verified | Not verified |
|---|---|
Authentication and 401 |
Word, character and page counts |
Scopes and 403 insufficient_scope |
File format, encoding, segmentation |
Request schema and 422 |
Deliverable content |
| Error codes and error body shape | Turnaround time and quality scores |
Rate-limit headers and 429 |
Credit arithmetic |
| Pagination | The awaiting_payment → resume path |
| Idempotency semantics | Anything the translation pipeline does |
Status never advances
A test project is created with status processing and stays there — nothing runs, so nothing completes. Deliverables are available immediately, so list and download them rather than polling. A poll loop that waits for completed against a test key never exits.
Same host, different prefix
Test and live share https://api-arbitr.straker.ai. Only the key prefix changes. GET /v1/me reports which mode a key is in.
The per-minute cap is lower on test keys — see Rate limits.
Identifiers are opaque
Live ids are UUIDs. Test ids are not — you get proj_test_…, deliv_test_… and file_test_…. Code that parses or validates an id as a UUID works against live and fails against test. Treat every id as an opaque string. See Identifiers.
Test projects are temporary
- Held for 24 hours, then discarded.
- At most 200 per key; older ones fall off.
- Owned by the key that created them. Revoke or rotate that key and the history is gone.
- They never enter the translation pipeline, so they do not appear in the arbitr web app. The API is the only place you can see them.
Do not build anything that expects a test project to still be there tomorrow.
Mode is fixed when the key is created
A key cannot move between test and live. When you are ready for real projects, create a live key and deploy it — see Create an API key.
Credits and payment
Test mode never charges. Because the balance is a fixed placeholder, a test key never parks at awaiting_payment and never exercises the resume flow — see Resume after payment for what that path looks like on a live key.