Coding agent documentation index Fetch the complete documentation index at: https://docs.worklittle.com/docs-agent-manifest.json Use this file to discover all available pages before exploring further.
Manage candidates
Operate your employer ATS: candidates, pipeline stages, notes, interviews, employees, email, and offers.
Overview
ATS routes are organization-scoped. They never appear on public job search. Requires session auth or Bearer key with jobs:applications.
When to use
If you are building:
Hiring pipeline software List and stage candidates with /candidates or MCP list_candidates / update_candidates Recruiter CRM features Notes, bookmarks, alerts, and interview scheduling tools HRIS-style employee records /employees and employment period tools after hire Outbound hiring comms Email templates, preview, metered /email/send, and sent history /email/sends (opens included) Offer management /offers CRUD and MCP create_offer
Basic usage
curl -s "https://api.worklittle.com/candidates?limit=25&stage_key=applied" \
-H "Authorization: Bearer $WORKLITTLE_API_KEY"
curl -s -X PATCH "https://api.worklittle.com/candidates/CANDIDATE_ID" \
-H "Authorization: Bearer $WORKLITTLE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"stage_key":"phone_screen"}'
SDK / CLI: Libraries. MCP: get_candidate_profile, update_candidates.
Manage candidates reference
> Self-contained reference for Worklittle employer ATS APIs.
Overview
| Area | REST prefix | MCP examples | | --- | --- | --- | | Candidates | `/candidates`, `/candidate-*` | `list_candidates`, `get_candidate_profile` | | Employees | `/employees` | `list_employees`, `create_employee` | | Email & offers | `/email-messages`, `/email/send`, `/email/sends`, `/offers` | `send_email`, `list_email_sends`, `create_offer` | | Applications (read) | `/business/jobs/:id/applications` | `list_job_applications`, `get_job_application` |
Catalog apply is Apply for jobs. Hosted submit_job_application is Embedded job board.
Candidates (REST)
| Endpoint | Methods | Purpose | | --- | --- | --- | | `/field-hints` | GET | Placeholder examples for contact and employment fields | | `/candidates` | GET, PATCH | List (paginated with `limit`) or update core fields and stage | | `/candidates/:id` | GET | Full profile, applications, notes, interviews, `field_hints` | | `/candidates/:id/resume-file` | GET | Download applicant resume file | | `/candidates/:id/bookmark` | POST, DELETE | Org-wide bookmark | | `/candidates/:id/alerts` | GET, PATCH | Your pipeline alerts and follow-up reminder | | `/candidates/:id/generate-about-summary` | POST | Regenerate one-sentence `about_summary` | | `/candidate-alerts` | GET | All of your candidate alert settings | | `/candidates/import` | POST | Bulk import candidates | | `/business/candidates/answers` | POST | Fetch application Q&A for many candidate ids | | `/job-applications/:id/cover-letter-file` | GET | Download cover letter file for an application | | `/candidate-notes` | GET, POST, PATCH, DELETE | Notes (`?candidate_id=` on GET) | | `/candidate-notes/:id` | GET, DELETE | Single note with attachments | | `/candidate-note-attachments` | POST, DELETE | Upload attachment (base64 or raw bytes) | | `/candidate-note-attachments/:id` | GET | Download attachment | | `/candidate-experience` | POST, PATCH, DELETE | Work history CRUD | | `/candidate-education` | POST, PATCH, DELETE | Education CRUD | | `/candidate-interviews` | POST, PATCH, DELETE | Interview CRUD | | `/interview-answers` | POST, PATCH, DELETE | Interview Q&A CRUD | | `/pipeline-stages` | GET | Pipeline stages for your organization |
List filters: limit, cursor, sort, q, location, stage_key, posted_job_id, bookmarked=true.
Employees (REST)
| Endpoint | Methods | Purpose | | --- | --- | --- | | `/employees` | GET, POST | List or create employees | | `/employees/:id` | GET, PATCH, DELETE | Employee detail, update, or remove | | `/employee-employment-periods` | POST, PATCH, DELETE | Employment stint history | | `/employee-performance-feedback` | PUT, DELETE | Performance feedback rows |
Email and offers
| Endpoint | Methods | Purpose | | --- | --- | --- | | `/email-messages` | GET, POST, PUT, PATCH, DELETE | Stage email templates and settings | | `/email-messages/preview` | POST | Preview a template before send | | `/email/send` | POST | Send or schedule ATS email to candidates | | `/email/sends` | GET | List org sent emails + open stats (ATS + automation) | | `/usage` | GET | Org usage / audit logs (`organization_logs`; same Destination as Business Usage — `where_label` / `where_href` for Chat, Voice, jobs, Private, …; metered AI + free burns + org activity; filters: `source` incl. `org_activity` / `platform_ai`, `since`, `cursor`, `api_key_id`; `ledger_type`) | | `/offers` | GET, POST, PATCH, DELETE | Offer list and CRUD |
Template CRUD and preview are free; each successful send is metered - Pricing.
Common mistakes
| Wrong | Correct | | --- | --- | | Using `jobs:read` for ATS | Use `jobs:applications` | | Omitting `limit` expecting small lists | Default to paginated `limit` + `cursor` | | Searching People index for applicants | Use `/candidates` for your org's applicants |
Patterns and gotchas
Applications vs candidates - Apply creates applications; ATS upsert creates candidate rows when org-linked. Webhooks - candidate.application_submitted and stage events - Webhooks. * Resume files - GET /candidates/:id/resume-file for downloads; not the same as People resume unlock.