Partner onboarding
A practical checklist for integrators starting work on a Trybe integration: what to ask us for, what you'll receive back, and how to graduate from a sandbox build to a production rollout.
What you'll be issued
When an integration kicks off, you'll receive (typically by email) five pieces of information. Keep them somewhere you can find them again — every API call you make will reference at least the API key and the site ID.
| Item | Purpose | Lives where |
|---|---|---|
| Playground API key | Bearer token for every request against the sandbox environment. Stash it in your secrets manager on first open — links you're sent are one-time and expire. | Your secrets manager / .env |
| Site ID | UUID identifying the venue your integration is scoped to. Required on most calls (path param, query param, or body field — usually site_id). |
Hard-code or pass per request |
| Organisation ID | UUID of the parent organisation. Some cross-site endpoints need it. | Hard-code |
| Booking engine URL | https://<tenant>.playground.try.be — the consumer-facing booking frame for your tenant in playground. Useful if you're embedding or testing customer-side flows. |
Reference only |
| Onboarding Manager | A named contact responsible for getting your integration live. Direct dev questions here; they'll loop in engineering as needed. | — |
If anything is missing from your kickoff email, ask for it before you start building. Reverse-engineering a Site ID from a UUID list is not a productive use of your time.
Base URLs
| Environment | Base URL | What lives here |
|---|---|---|
| Playground | https://api.playground.try.be |
Test-mode payments, whitelist-only email delivery, safe to break. Identical shape to production. |
| Production | https://api.try.be |
Real bookings, real payments, real customers. Don't point your dev loop here. |
Both environments serve the same OpenAPI surface; switching base URL is the only change required to move a working integration from sandbox to live.
A typical build loop
- Confirm credentials work:
GET /token-infowith the playground key returns the decoded JWT claims and a 200. If you see a 401, the bearer header is wrong; if you see a 200 with an unexpectedsub, you have the wrong key. - Browse the reference at docs.try.be/endpoints for the resources you'll touch. Each operation page shows the exact request and response shapes plus copy-paste curl/JS/Python snippets.
- Build against playground end-to-end. See Test cards for card numbers that exercise the happy-path, declines, and 3DS challenges in playground without moving real money. SMS sends are throttled to whitelisted numbers. You can break things confidently.
- Verify the booking engine URL if your integration involves the consumer-side flow — the playground booking frame uses your test inventory so end-to-end smoke tests don't require backend stubs.
- Ask for a production token when you're ready. See below.
Graduating to production
When the sandbox build is signed off and you're ready to point at live data:
- Tell your Onboarding Manager you need a production key. Include the name of the site (or sites) you're integrating with, not just the playground tenant — the live site lives in a different organisation tree.
- The site manager for that venue has to authorise the key issuance by email (a one-line "yes, this is approved" reply is enough). You'll need their email; if you don't know who they are, your Trybe contact can find them.
- The production token comes back via a one-time-use link. Store
it under a different env var (e.g.
TRYBE_API_KEY_PRODvsTRYBE_API_KEY) so a misconfiguration can't cross-fire. - Swap the base URL to
https://api.try.beand re-run your integration test suite. Wire format is identical — if something breaks here that worked in playground, it's almost always an ID-shaped problem (production IDs are different UUIDs from the sandbox ones).
Seeding the sandbox with realistic data
A common ask: "the playground tenant is empty, can I get realistic treatments / services / practitioners to test against?" Two paths:
- Read-only token against the production tenant so you can copy the catalogue across yourself via the SDK or curl. Ask for this explicitly; it requires the same site-manager approval as a production write key.
- A data export from the team — typically a CSV / JSON dump of the treatment catalogue, practitioners, and availability patterns, which you re-import via the playground admin UI.
No strong preference from our side — whichever is easier given how your build is structured.
What stays the same across both environments
- The OpenAPI spec — every operation, schema, parameter name and response shape is identical.
- Authentication — bearer token in the
Authorizationheader. - Error envelopes — same
message/errors[]shape in both envs. - Rate limits — see Rate limits.
- Webhooks — both environments deliver the same event types; you just register a separate listener per environment.
When to ask for help
| Question type | Where |
|---|---|
| "Is this endpoint behaving as documented?" | Your Onboarding Manager |
| "I need a sandbox tenant for my integration" | Your Onboarding Manager |
| "I need a production key" | Your Onboarding Manager + site-manager email approval |
| "Is there an endpoint for X that I can't find?" | Your Onboarding Manager — describe the use case; we'll triage whether it's an existing endpoint we should surface better or a real gap to port |
| "My OAuth / SSO flow isn't issuing tokens" | See Single Sign On; the OAuth flow is separate from this PAT flow |
If you're stuck on a single endpoint, paste the curl you're running and the response you got. Don't paraphrase — the wire output is what we'll triage from.