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.