[Cotlet](https://cotlet.dev/index.md) · [Integrations](https://cotlet.dev/integrations.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Use cases](https://cotlet.dev/use-cases.md) · [Security](https://cotlet.dev/security.md) · [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md) · [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [Contact](https://cotlet.dev/contact.md) · [Pricing](https://cotlet.dev/pricing.md) · [Sign up](https://cotlet.dev/signup)

# JazzHR API

> Every JazzHR endpoint on Cotlet: inputs, JSON Schema, cURL, Python and Node.js examples and an example response for each call.

Source: https://cotlet.dev/docs/api/jazzhr

Docs sections: [Get started](https://cotlet.dev/docs.md) · [REST API](https://cotlet.dev/docs/api.md) · [MCP](https://cotlet.dev/docs/mcp.md) · [SDKs & CLI](https://cotlet.dev/docs/sdks.md) · [Integrations](https://cotlet.dev/docs/integrations.md)

13 endpoints for JazzHR, each at its own method and path, called with your API key. Open an endpoint for its inputs, examples and response.

- Base URL: `https://cotlet.dev/api/v1/jazzhr`
- Connects with: Your own JazzHR user login. What your agent can do follows your role: moving candidates, emailing and job status need the same rights you have by hand. You sign in in your own browser.
- Integration page: https://cotlet.dev/integrations/jazzhr-api-mcp-server

## Read

Return data and change nothing in the account.

| Endpoint | Description |
|---|---|
| [`GET /jobs`](https://cotlet.dev/docs/api/jazzhr/list_jobs.md) | Jobs of your account with status, department and location, filtered by status or title. |
| [`GET /jobs/{job_id}`](https://cotlet.dev/docs/api/jazzhr/get_job.md) | One job with its description, hiring lead, workflow and status. |
| [`GET /jobs/{job_id}/workflow-stages`](https://cotlet.dev/docs/api/jazzhr/list_workflow_stages.md) | The stages of the workflow a job uses, in order, with the closing statuses such as Not Hired. |
| [`GET /candidates`](https://cotlet.dev/docs/api/jazzhr/list_candidates.md) | Candidates of a job with stage, rating and apply date, filtered by stage, status or name. |
| [`GET /candidates/{candidate_id}`](https://cotlet.dev/docs/api/jazzhr/get_candidate.md) | One candidate with contact details, questionnaire answers, source and notes on the job. |
| [`GET /tasks`](https://cotlet.dev/docs/api/jazzhr/list_tasks.md) | Open and done tasks with the candidate, assignee and due date. |

## Write

Change the account. Calls marked Confirm wait for the user to approve them.

| Endpoint | Description |
|---|---|
| [`PATCH /jobs/{job_id}/candidates/{candidate_id}/status`](https://cotlet.dev/docs/api/jazzhr/change_candidate_status.md) (Confirm) | Move one candidate to a workflow stage of their job, or to a closing status such as Not Hired. |
| [`POST /jobs/{job_id}/change-status/bulk`](https://cotlet.dev/docs/api/jazzhr/bulk_change_status.md) (Confirm) | Move a group of candidates of one job to a stage or closing status in one pass. |
| [`POST /candidates/{candidate_id}/email`](https://cotlet.dev/docs/api/jazzhr/send_candidate_email.md) (Confirm) | Email one candidate from their profile, from a template or with your own text. |
| [`POST /jobs/{job_id}/candidates/{candidate_id}/note`](https://cotlet.dev/docs/api/jazzhr/add_candidate_note.md) (Confirm) | Add a note to a candidate on one job, visible to your hiring team. |
| [`POST /candidates/{candidate_id}/tasks`](https://cotlet.dev/docs/api/jazzhr/create_task.md) (Confirm) | Create a task on a candidate for a teammate, with a due date and optional email notice. |
| [`POST /jobs`](https://cotlet.dev/docs/api/jazzhr/create_job.md) | Create a job as Drafting or Open from a title, description and basic fields. |
| [`PUT /jobs/{job_id}/status`](https://cotlet.dev/docs/api/jazzhr/set_job_status.md) (Confirm) | Change a job to Open, On Hold, Drafting, Filled, Cancelled or Closed. |

---

Give your AI agents your signed-in browser.

**Product:** [Integrations](https://cotlet.dev/integrations.md) · [Use cases](https://cotlet.dev/use-cases.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Pricing](https://cotlet.dev/pricing.md) · [Security](https://cotlet.dev/security.md)

**Resources:** [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [GitHub](https://github.com/cotletdev/cotlet)

**Solutions:** [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md)

**Company:** [About](https://cotlet.dev/about.md) · [AI info: company facts](https://cotlet.dev/ai-info.md) · [Contact](https://cotlet.dev/contact.md)

**Legal:** [Terms of service](https://cotlet.dev/terms) · [Privacy policy](https://cotlet.dev/privacy) · [Refund policy](https://cotlet.dev/refunds) · [Acceptable use](https://cotlet.dev/acceptable-use) · [Cookie policy](https://cotlet.dev/cookies) · [DPA](https://cotlet.dev/dpa) · [Subprocessors](https://cotlet.dev/subprocessors)

**Elsewhere:** [Status page](https://status.cotlet.dev) · [Cotlet on GitHub](https://github.com/cotletdev) · [Cotlet on X](https://x.com/cotletdev) · [Cotlet on LinkedIn](https://www.linkedin.com/company/cotletdev) · [Cotlet on Product Hunt](https://www.producthunt.com/products/cotlet) · [Cotlet on Crunchbase](https://www.crunchbase.com/organization/cotlet) · [Cotlet on SaaSHub](https://www.saashub.com/cotlet)

Cotlet is an independent service. It is not affiliated with, endorsed by or sponsored by any of the products listed on this site. Product names are trademarks of their respective owners.

## For AI agents: sign your user up

Is your user asking you to sign them up for Cotlet? You can do it for them, no account or key needed.

1. Read the fields and their allowed values: GET https://cotlet.dev/api/v1/access-requests
2. Ask the user for each value: email, apps, what you will do with them. If they leave the password to you, generate a strong one and show it to them.
3. Show the user what you will send, then POST it as JSON to https://cotlet.dev/api/v1/access-requests.

One call creates the account and sends the access request; we email the user when access is granted.
