Skip to main content
Every customer gets a private sandbox company. A tb_test_ key reads and writes the sandbox instead of your real company, through the same endpoints, scopes, limits and response shapes. Going live means swapping the key, nothing else.
Response

What the sandbox contains

The sandbox is created and seeded when your first test key is issued. It is shaped so every endpoint has something meaningful to return: Sandbox employees have non-deliverable addresses on a .invalid domain, so nobody can sign in as them and no email can ever reach them. The sandbox is excluded from TeamBuilder’s analytics and does not appear in your company’s TeamBuilder portal.

Testing roster sync

Test keys with the employees:write scope sync into the sandbox. Use them to rehearse your real export before the first live run:
  • Emails you send are stored as non-deliverable stand-ins, so real addresses are never kept in the sandbox and nobody is contacted. Because of this, look up synced sandbox employees by external_id, not email, and expect email fields in sandbox responses (including deactivation_candidates) to be stand-ins. Names, job titles, HR ids and department names are stored as you send them.
  • Your SSO domain restriction does not apply.
  • The sandbox holds at most 500 employees; rows that would add more fail with sandbox_limit_reached. Trim large exports for test runs.
  • Every other rule (matching, departments, deactivation guards, idempotency, rate limits) behaves exactly as in live.
Sandbox data persists between runs and is not reset automatically. If you need a fresh sandbox, ask us.

The API playground

The Try it panel on each API reference page sends real requests.
Playground requests are relayed through the servers of Mintlify, the platform that hosts this documentation, so a key you paste there leaves your machine. Use only tb_test_ keys in the playground. If a live key was ever pasted there, rotate it.

Moving to live

1

Get your live key

Ask contact@teambuilder.ge for a tb_live_ key with the same scopes.
2

Swap the secret

Replace the test key in your production secret manager. Keep the test key in development and staging.
3

Assert the mode

On start-up, call GET /v1/ping and fail fast if mode is not what that environment expects.
4

Re-resolve ids

Sandbox employee_id and department id values do not exist in your live company. Clear any cached ids and resolve them again with live data.