Test environment

Test environment

Run the complete Openhandle API against deterministic synthetic data with a $0.000 actual charge.

Make this request first:

curl "https://api.openhandle.dev/v1/instagram/profiles/@northstar_forge_test" \
  -H "Authorization: Bearer $OPENHANDLE_TEST_KEY"

A Test API key selects a safe synthetic data universe. It starts with oh_test_. The key, not a username, header, query parameter, or tool argument, selects the environment.

Test and Live use the same routes, parameters, response schemas, pagination, and error handling. A test request still passes through authentication, validation, rate limits, request history, pricing, and immutable usage logging. The actual charge is always $0.000 and the normal live-equivalent price is recorded separately.

Test requests never call an external data service. They do not consume an allowance, move a live price band, take money from your balance, or enter the accounting totals.

What a test answer contains

A test answer fills the same fields a live answer does. We build each one from a real answer we reviewed, then replace every name, text, handle, ID, link, phone number, and place with made-up values. Counts, flags, dates, and platform values such as type keep their real shape.

Nothing in a test answer belongs to a real person or account. Handles are made up, such as northstar_forge_test. Links use made-up paths, point to example.openhandle.dev, or point to our test media.

Records with the sparse, nullable_metrics, or omitted_optional_fields trait keep their empty fields on purpose, so you can test how your code handles null. See data states.

Response metadata

An answered test request includes these headers:

HeaderMeaning
Openhandle-Environment: testThe Test environment answered the request.
Openhandle-Cost: 0.000Authoritative actual charge.
Openhandle-List-PricePrice of the same request in Live, for the source and freshness that answered it. A cache hit shows the cache price.
Openhandle-Billing-Disposition: testThe request is excluded from billing.
Openhandle-Dataset-VersionExact synthetic dataset used.
X-Request-IDIdentifier used in Requests and Usage.

Openhandle-Source remains live or cache. In Test, live means a fresh synthetic read. It does not mean that Openhandle contacted an external service.

Start here

  1. Create a Test API key.
  2. Find a documented synthetic record.
  3. Call a normal endpoint or use the dashboard Playground in Test mode.
  4. Inspect the request and its $0.000 charge in Requests or Usage.

No payment method or free Live request is required for this flow. You only verify your email with the code we send at signup.

On this page