/api/v1/openapi.json defines the exact request
and response schema. This page helps you choose the right resource and scope
before opening the generated reference.

Generated OpenAPI reference with resources, scopes, and request examples.
API key format
API keys have the formatharly_{type}_{env}_{secret}:
Example secret key:
harly_sk_live_AbCdEf123...
Publishable keys (pk) are limited to jobs:read and applications:write —
the subset safe to expose in a browser. Use secret keys for all server-side
integrations.
Resources
Mutation examples
List jobs
Create a candidate
Move an application
UsetoStageId (not stageId) and always include an idempotency key on mutations:
Reject an application
Rotate an API key
key — the new raw value, shown once.
All scopes
Errors
Use synthetic data in examples and integration tests. Never place a real resume
or candidate email in a public README or issue.
Public jobs and applications
These routes are intended for career sites, custom application forms, and the Harly embed widget. They are CORS-enabled and do not require a secret key, but each request must be scoped to a workspace with?workspace=<slug> or a
publishable key (pk_). See the public API guide
for request and response examples.
Publishable keys are limited to
jobs:read and applications:write. They are
safe to expose in browser code, but they are not authentication for a person;
they only identify and scope the workspace. Never expose a secret key.
The public list endpoint accepts department, location, workplaceType,
and q filters. Public application submissions return 201; validation
failures return 422, failed CAPTCHA checks return 403, unavailable jobs
return 404, and rate-limited clients receive 429 with Retry-After.
OpenAPI document
Fetch
/api/v1/openapi.json from your Harly instance for the full generated contract.