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.
Organization operations
Write surveys, HR documents, and attendance from code so the results show up in the Worklittle UI your team already uses, with no separate internal tool to maintain.
The point of this pattern is not the API. It is that a script or an agent can produce something a non-technical teammate opens in the product five seconds later.
All routes are organization-scoped and gated by org role as well as key scope. A 403 often means the key is valid but the member lacks access.
Surveys
| Method | Path | Purpose | | --- | --- | --- | | GET / POST | `/business/surveys` | List and create | | GET / PATCH / DELETE | `/business/surveys/:id` | Read, update, delete | | POST | `/business/surveys/:id/duplicate` | Clone | | GET | `/business/surveys/:id/responses` | Read responses | | PATCH / DELETE | `/business/surveys/:id/responses/bulk` | Bulk edit or delete | | GET / PUT | `/business/surveys/:id/shares` | Share targets | | GET | `/business/surveys/public/:id` | Public form schema, no key | | POST | `/business/surveys/public/:id/responses` | Public submit, no key |
Management routes need employees:read. Answer keys in a submit body are question ids, not question text. Reference: Surveys.
Documents and e-sign
curl -s -X POST "https://api.worklittle.com/business/documents" \
-H "Authorization: Bearer $WORKLITTLE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"title": "Offer letter",
"template_key": "offer_letter",
"body_html": "<p>Hello {{employee_name}}</p>"
}'
curl -s -X PUT "https://api.worklittle.com/business/documents/DOC_ID/shares" \
-H "Authorization: Bearer $WORKLITTLE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"emails":["alex@example.com"],"message":"Please review and sign."}'
Merge tags resolve at sign time: {{company_name}}, {{company_logo}}, {{company_address}}, {{employee_name}}, {{employee_title}}, {{today_date}}. Key scopes: documents:read for list, create, and shares. documents:write for upload, self-sign, and duplicate. The member also needs the matching Documents role. Share with emails (external signers) and/or employee_ids. remove_signature_ids removes a signer and message adds a note to the invite. Agents should call list_hr_document_templates then get_hr_document_spec_guide before drafting.
Reference: Documents.
Attendance
Attendance is the calendar API. There is no /calendar prefix. Scope: jobs:applications.
| Method | Path | Purpose | | --- | --- | --- | | GET | `/business/attendance` | Org calendar entries. `start` and `end` (YYYY-MM-DD) are required | | GET | `/business/attendance?employee_id=:id` | One employee's entries | | POST | `/business/attendance` | Create an entry | | PATCH / DELETE | `/business/attendance/:id` | Update or remove | | POST | `/business/attendance/:id/approve` | Approve a pending edit | | POST | `/business/attendance/:id/deny` | Deny a pending edit |
MCP list tools return self_employee_id, can_write_any, and can_write_self. Check them before scheduling someone other than the key owner. Recurrence uses rules such as FREQ=WEEKLY;BYDAY=MO,WE,FR. Reference: Attendance.