Skip to main content
Every request needs a bearer key. Create live (pk_live_…) and sandbox (pk_test_…) keys in the Partner portal. Sandbox orders do not bill or run live fulfillment.

Get a key

1

Open the Partner portal

2

Create a key

Choose New key, add a label, and pick a permission preset. Copy the secret now. You will not see it again.
3

Pick the environment

pk_live_… is production. pk_test_… is sandbox. Both use the same base URL: https://api.peeker.ai/partner/v1.

Send the key on every request

Use exactly Authorization: Bearer <key>. No other auth schemes are accepted.

Verify with GET /me

This is the cheapest health check. It confirms the key, environment, and preset.
A 200 with api_key.environment: "test" means you are on sandbox routes.

Permission presets

Presets are locked at creation. They show up on GET /me as api_key.permission_preset. To change a preset, create a new key and revoke the old one.

Rotate without downtime

1

Create the replacement

Partner portal → API → New key. It is valid immediately.
2

Roll your deployment

Ship the new key. Both keys work during rollout.
3

Revoke the old key

Revocation is immediate. Requests that still use the old key return 401 unauthorized.
Revoke immediately if a key leaks. There is no soft-revoke window.

Track requests with Peeker-Request-Id

Every response includes Peeker-Request-Id (an opaque UUID). Log it. Support looks it up when you contact us. Errors also include the same value as error.request_id.

Unauthorized and forbidden

401 unauthorized

Missing, malformed, or revoked key:

403 forbidden

Valid key without permission for that action. Use a full key for most writes, or limited for availability only.
Last modified on July 23, 2026