API test data
for the paths nobody rehearses
Simulated resources that behave like live ones, and usage you can drive against them, so thresholds, caps, suspensions and error responses all fire while it is still cheap for them to.
Sandbox profiles are simulated and cost nothing. No card, no commitment.
THE HALF NOBODY TESTS
Success paths are easy. Everything else is the integration.
What you can cause deliberately, rather than waiting to encounter.
Push usage to a threshold
The warning fires, your handler receives it, and you find out whether it works.
Push it to the ceiling
The action applies, the profile suspends, and the state change arrives as an event.
Ask for a documented error
Any code in the specification, returned in the one error shape, on demand.
Repeat a mutating call
And confirm idempotency returns the original response rather than doing it twice.
None of this costs anything, because none of it is carried on a network.
WHO IT IS FOR
For the integration you will have to trust at three in the morning
Every integration handles the happy path. What separates a good one is what it does when the platform says no, and that is exactly what is hardest to arrange.
Rehearse the bad day. Drive a simulated profile to its cap today, at no cost.
WHAT YOU GET
Failures you can cause, rather than wait for
Resources, usage and errors that behave exactly as production does, because they are mocked from the same specification production is validated against.
- Resources
- Simulated profiles and fleets, issued by the ordinary endpoints with a test key.
- Usage
- Driven against a resource on demand, so counters, thresholds and caps all move when you want them to.
- Errors
- Any documented code returned deliberately, in the one error shape with the parameter at fault.
- Determinism
- The same scenario produces the same result, which is what makes it usable in a pipeline.
- Events
- Every transition you cause fires the real webhook, to your endpoint, in the real envelope.
- Keys
- Test keys only. Driving usage cannot touch a live resource, and that boundary is enforced.
- Retries
- Idempotency can be exercised directly, so the behaviour is rehearsed rather than assumed.
- Errors
- One shape everywhere: a type, a code, a message, the parameter at fault and a link. Never a bare 500 with a stack trace.
- Reference
- One published OpenAPI specification. The server validates against it, the SDKs are generated from it and the sandbox mocks from it.
WORKS WITH
Switch on the next one the same way
Nothing new to sign and nothing new to integrate. The same call with a different noun.
QUESTIONS
Test data on Telyne
Can I make the API return an error on purpose?
Yes. Any documented code, returned in the one error shape with the parameter at fault named. The failure paths are the half of an integration that is hardest to arrange and most important to get right.
Does driving usage cost anything?
No. Nothing is carried on a network and nothing is rated, so a simulated profile can be pushed to its ceiling as often as you like.
Is it deterministic enough for CI?
Yes. The same scenario produces the same result, which is the property that makes it usable in a pipeline rather than only by hand.
Do the events actually fire?
Yes, the real ones, to your endpoint, in the real envelope. A driven threshold is indistinguishable from an encountered one as far as your handler is concerned.
Can this touch anything live?
No. Test data works on test keys, and a test key cannot reach live resources. The boundary is enforced by the platform rather than left to care.
Rehearse a failure before it is a real one
No approval step and nothing to sign. The sandbox is open now, and production access opens in the order requests arrive.
One email at launch. Nothing else, and unsubscribe in one click.
We send a link to confirm the address. Unconfirmed addresses are deleted after 30 days.
Complex requirement or an existing estate to move? Talk to us.