> ## Documentation Index
> Fetch the complete documentation index at: https://jobo.world/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Sandbox

> Build with a sandbox key: the same API on the same host, fictional jobs in the real response shape, free calls, and Auto Apply that only ever reaches sandbox forms.

A sandbox key (`jbe_test_…`) gives you the Jobo API with fictional data. Use the same base URL, `https://connect.jobo.world`, with the same endpoints, request bodies and response shapes. Only the key changes.

```bash theme={null}
curl "https://connect.jobo.world/api/jobs?q=engineer&page_size=5" \
  -H "X-Api-Key: $JOBO_SANDBOX_API_KEY"
```

Create one in the [dashboard](https://enterprise.jobo.world) under **Settings → API Keys → Create API key → Sandbox**. Sandbox job and company calls need no plan or wallet balance. Sandbox keys count toward your account's key limit like any other key.

## What is different

| | Live key (`jbe_live_…`) | Sandbox key (`jbe_test_…`) |
| - | - | - |
| Jobs and companies | Real postings | About 200 fictional jobs at fictional companies, in the same `JobDto` and `CompanyDto` shapes |
| Search, filters, facets, paging | Yes | Yes, with the same parameters and response shape. Free-text ranking and location matching are simpler than live |
| Billing | Per delivered job | Free. Nothing is debited and no plan allowance is used |
| Rate limits | Your plan's limits | The same limits, counted the same way |
| Auto Apply | Applies to real employers; needs Auto Apply access, the agreement and an approved business review | Applies only to sandbox forms, so none of those are needed. No employer is ever contacted |
| Applications | Visible to live keys | Visible only to sandbox keys, and returned with `"livemode": false` |

Sandbox responses carry an `X-Jobo-Environment: sandbox` header. Every sandbox job has `source: "jobosandbox"`, and its `apply_url` is a working form on the Jobo sandbox ATS at `sandbox.jobo.world`, so `POST /api/auto-apply/applications` with a sandbox `job_id` runs a real application end to end. The sandbox emails each submission, with the resume attached, to the address entered in the form, so use an inbox you control.

Sandbox dates move forward every day, so the newest posting is always recent and `posted_after` windows behave as they would on live. Job and company ids are stable and safe to store.

## Supported endpoints

| Area | Endpoints |
| - | - |
| Jobs | `GET /api/jobs`, `POST /api/jobs/search`, `GET /api/jobs/{id}` |
| Companies | `GET /api/companies/{id}`, `GET /api/companies/{id}/jobs` |
| Auto Apply | Every `/api/auto-apply/applications` endpoint |
| Auto Apply mailboxes | Listing, reading and checking a mailbox, and reading verification codes |

Any other endpoint answers `404` with `code: "not_available_in_sandbox"`. Use a live key for feeds, exports, geocoding, domain lookups, and creating or deleting a mailbox.

## Keeping live and sandbox apart

* **Ids do not cross over.** A live job id is unknown to a sandbox key. A sandbox application answers `404 application_not_found` to a live key, and the other way round.
* **Applications stay in the sandbox.** With a sandbox key, `apply_url` must be a `https://sandbox.jobo.world/apply/…` form. Anything else is rejected with `422 invalid_target`.
* **Idempotency keys** are scoped to your account. Reusing one from a live request in a sandbox request returns `409 idempotency_key_reuse`.
* **Mailboxes belong to your account,** not to an environment, so a mailbox created with a live key also serves sandbox applications. A sandbox key can read and check mailboxes but not create or delete them.

<Note>
  Sandbox applications run real browser sessions, so they share your account's Auto Apply concurrency and daily limits with live applications. A busy sandbox test run can hold back live applications.
</Note>

## Test scenarios

Besides the job catalogue, the sandbox ATS hosts failure scenarios for testing recovery: validation errors, login walls, email verification and an unconfirmed submission. They are not listed in search. Create an application with their `apply_url` directly, using a sandbox key. You can find them in [Portal → Auto Apply → Sandbox](https://enterprise.jobo.world/auto-apply/sandbox) or at [sandbox.jobo.world](https://sandbox.jobo.world).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.