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.
Post a job
Publish roles on your Worklittle job board and optionally the global jobs index. Session posting in Worklittle Business or API-key automation for listings.
Overview
POST /business/jobs publishes a Worklittle-hosted job to your organization's job board.
curl -s -X POST "https://api.worklittle.com/business/jobs" \
-H "Authorization: Bearer $WORKLITTLE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"title": "Senior Backend Engineer",
"description": "Role description, 20 to 25,000 characters.",
"employment_type": "full_time",
"workplace_type": "remote"
}'
The key needs the jobs:post scope. A search-only key cannot post. In MCP, use post_a_job (internal name create_job_listing; create_job creates an internal job that is not candidate-facing unless open_to_candidates is true). Listings are free. Posted jobs appear on GET /job-boards/:company_slug/jobs and may enter the paid global index.
Required fields on create
| Field | Rule | | --- | --- | | `title` | 3 to 160 characters | | `description` or `description_raw` | 20 to 25,000 characters | | `employment_type` | `full_time`, `part_time`, `contract`, `internship`, `temporary`, `volunteer` | | `workplace_type` | `remote`, `hybrid`, `on_site` | | `location_city`, `location_state`, `location_country` | All three required unless `workplace_type` is `remote` |
Optional:
salary_min, salary_max, salary_currency, salary_period (year, month, or hour). Parsed from the description when omitted. apply_url, department, roles_to_fill (1 to 1,000, default 1), start_date, end_date, accepting_applicants, open_to_candidates, company_organization_id. slug or public_slug. Generated from the title when omitted. Employer job responses return slug with a preview_key. Public list responses never include preview_key. application_fields. Defines the questions applicants see. Apply validation follows it.
Session routes
Used by the Worklittle Business UI after sign-in at worklittle.com/business. Set the organization with PUT /business/jobs/organization before the first publish.
| Method | Path | Purpose | | --- | --- | --- | | GET | `/business/jobs/organization` | Read posting organization | | PUT | `/business/jobs/organization` | Set organization (one per account) | | POST | `/business/jobs` | Submit job for review and publish | | GET | `/business/jobs` | List your submissions | | PATCH | `/business/jobs/:id` | Edit, reopen, or stop accepting applicants | | DELETE | `/business/jobs/:id` | Close job and remove from public search | | GET | `/business/jobs/:id/applications` | List applications for a job (`jobs:applications`) | | GET | `/jobs/post/:id/applications/:application_id` | Read one application (`jobs:applications`) | | POST | `/business/jobs/:id/transfer` | Transfer job to another org member |
Both description and description_raw are accepted on create.
API key job listings
| Endpoint | Methods | Scope | Purpose | | --- | --- | --- | --- | | `/business/jobs` | GET, POST | `jobs:post` | List or create Worklittle ATS job listings | | `/business/jobs/:id` | PATCH, DELETE | `jobs:post` | Update or close a listing | | `/jobs/manage` | GET, POST | `jobs:post` | Alias for job listings | | `/jobs/manage/:id` | PATCH, DELETE | `jobs:post` | Alias for listing item routes |
MCP tools: post_a_job, list_posted_jobs, update_posted_job, delete_posted_job, list_job_applications. MCP takes the location as city, state, and country.
A create response is 201 with { job, billing } when the job is published. It is 202 when the job needs review (review explains why) or its start_date is in the future (scheduled: true). With open_to_candidates: false it is 201 with internal_job: true and the job is not published.
After you publish
| Task | Where | | --- | --- | | Review applications | `GET /business/jobs/:id/applications` (needs `jobs:applications`) or MCP `list_job_applications` | | Accept applications | Use the posted job's `public_job_id`. See [Apply for jobs](/business/api/apply-for-jobs). | | Build a careers page | [Public job board](/business/api/public-job-board). Resolve jobs by `slug`. | | React to changes | `job.created`, `job.published`, `job.updated`, `job.closed` in [Webhooks](/business/webhooks/overview) |
Global index visibility can lag. Board routes update first.