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.

Glossary

Worklittle terms you will meet in these docs and in API responses, from job_id and cursor to Apply with AI, enrichment, scopes, and Jobs vs Business surfaces.

Identifiers and pagination

| Term | Meaning |
| --- | --- |
| `job_id` | Identifier for a job in the Worklittle index. Comes from a search or board response. Never construct one |
| `public_job_id` | The hosted id for an employer-published job, used on apply and board detail routes |
| `slug` | Human-readable job identifier on a company board, suitable for your own `/careers/{slug}` URLs |
| `company_slug` | Employer identifier in board paths and the `company` search filter, for example `stripe` |
| `candidate_id` | An ATS candidate row, scoped to one organization |
| `candidate_job_id` | A candidate's participation in one specific pipeline. Stage changes key on this, not on `candidate_id` |
| `session_id` | An Apply with AI browser run |
| `cursor` | Opaque pagination token. Pass `meta.next_cursor` back as `cursor`. Never parse or construct one |
| Delivery id | `Worklittle-Webhook-Id`, the dedupe key for webhook handlers |

Products and surfaces

| Term | Meaning |
| --- | --- |
| **Jobs** | The market-wide index plus candidate-facing apply and document tools. [Overview](/jobs/get-started/overview) |
| **Worklittle Business** | The signed-in employer product at [https://worklittle.com/business](https://worklittle.com/business): posting, ATS, employees, HR ops, webhooks, keys, billing, usage, and limits. [Overview](/business/get-started/overview) |
| **MCP** | Model Context Protocol server at `mcp.worklittle.com` exposing the API as tools. [Guide](/jobs/mcp) |
| **Job board** | An employer's public listing surface at `/business/jobs/company/:company/...`, no API key required |
| **Global index** | `GET /jobs`, the market-wide dataset spanning employers |
| **ATS** | Applicant tracking system. Here it means your organization's private candidate pipeline |
| **HRIS** | Human resources information system, the external system webhooks commonly sync into |

Data and enrichment

| Term | Meaning |
| --- | --- |
| **Enrichment** | Server-side processing that derives structured salary, location, seniority, and summary data from raw postings. Some runs once on first detail read and is cached afterwards |
| `description_raw` | The unprocessed posting body. May be thin or absent depending on the source |
| **Thin listing** | A posting that arrives with a title and little or no body. Do not infer requirements from one |
| **List row versus detail** | List responses are snippets. Full responsibilities and qualifications require a detail fetch |
| **Keywords** | Skill and technology terms extracted by `get_job_keywords`, with narrative prose removed. The right input for document tailoring |
| **Geocoded location** | Structured coordinates on every job, which is what makes radius and map search possible |
| `application_fields` | The employer's form schema on a hosted job, including required custom questions |
| `features` | Per-organization board toggles such as `resume_autofill` and `similar_job_alerts` |

Apply and eligibility

| Term | Meaning |
| --- | --- |
| **Apply with AI** | A run that fills and submits an employer's own application form automatically by default. Bills AI token usage at published rates. Typical successful run ~$0.01–$0.03. No per-user concurrent cap; `queued` when the **200** global Browser Run slots are full |
| `can_apply` | The only supported check for whether Apply with AI can run on a job |
| **Hosted apply** | `POST /jobs/:id/apply` for jobs published on Worklittle. **$0.01** per successful submit |
| **Board apply** | `POST /business/jobs/company/:company/jobs/:id/apply`, free and unauthenticated |
| `closed_at` | Timestamp set when a catalog role has stopped accepting applications. Independent of eligibility. Not a future deadline |
| `closes_at` | ATS application deadline on a catalog job, including future dates. Detail only. Same idea as Business Close date / `end_date` |
| **Close date** | Worklittle Business form field (`close_date`). Maps to `end_date` / `accepting_applicants_until` on posted jobs, not to catalog `closed_at` |
| **Bot denylist** | Server-side protection that permanently denies jobs whose forms repeatedly produce bot or spam handoffs, and temporarily cools down boards with several such jobs |
| `auto_submit` | Ignored on API keys. Sessions started with a key always submit |
| `proxy_contact_reasons` | Explanation of why a temporary email or SMS number was used for verification on a session |
| **Applied jobs** | The key owner's personal tracked pipeline: `saved`, `in_progress`, `applied`, `interview`, `offer`, `rejected`, `withdrawn`, `skipped` |

Access and billing

| Term | Meaning |
| --- | --- |
| **API key** | An `sk-wl-api01-` secret, shown once at creation. Works for both REST and MCP |
| **Scope** | Permission on a key: `jobs:read`, `jobs:apply`, `agent:tools`, `jobs:post`, `jobs:applications`, `webhooks:manage`, `documents:read`, `documents:write`, `employees:read` (`people:read` is reserved while People Search is off) |
| **Metered** | A route that bills AI tokens on the organization wallet. Job search and most ATS calls are free within monthly quotas |
| **402** | `PAYMENT_REQUIRED`. Billing card or spend limit blocked token usage. Never retry it |
| **429** | `RATE_LIMITED` or `QUOTA_EXCEEDED`. Default key limit is 60 requests per minute |
| **410** | `GONE`. Public People Search is temporarily disabled |
| **Not signed in** | Limited product features. API keys and MCP require an account. Signed-in: Personal monthly free AI credit, Instant **$9.99/mo** with **$20/mo** AI credit, then Personal PAYG |