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.

Attendance

Organization calendar and time-off entries via /attendance. Same data as the Work calendar UI.

Overview

Attendance is the calendar API. GET /business/attendance returns the org calendar. Scope to one person with GET /business/employees/:id/attendance.

Authentication

| Call | Auth | Scope |
| --- | --- | --- |
| List, create, update, delete, approve/deny | Bearer or session | `jobs:applications` |

Org role gates still apply. 403 means the key is valid but the member cannot access attendance for that org.

Examples

List

curl -s "https://api.worklittle.com/business/attendance" \
  -H "Authorization: Bearer $WORKLITTLE_API_KEY"

Create

curl -s -X POST "https://api.worklittle.com/business/attendance" \
  -H "Authorization: Bearer $WORKLITTLE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"employee_id":"EMP_ID","start_date":"2026-08-01","end_date":"2026-08-02","type":"pto"}'

Field names follow the handler (snake_case). 400 responses include the required fields for that entry type.

Approve or deny pending

curl -s -X POST "https://api.worklittle.com/business/attendance/ENTRY_ID/approve" \
  -H "Authorization: Bearer $WORKLITTLE_API_KEY"

curl -s -X POST "https://api.worklittle.com/business/attendance/ENTRY_ID/deny" \
  -H "Authorization: Bearer $WORKLITTLE_API_KEY"

Routes

| Method | Path | Description |
| --- | --- | --- |
| GET | `/business/attendance` | Org calendar entries |
| POST | `/business/attendance` | Create |
| GET | `/business/employees/:id/attendance` | Entries for one employee |
| PATCH | `/business/attendance/:id` | Update |
| DELETE | `/business/attendance/:id` | Delete |
| POST | `/business/attendance/:id/approve` | Approve pending edit |
| POST | `/business/attendance/:id/deny` | Deny pending edit |

SDK

After building the monorepo client (SDK):

import { createWorklittle } from "worklittle";

const wl = createWorklittle({ apiKey: process.env.WORKLITTLE_API_KEY });
const all = await wl.attendance.list();
const one = await wl.attendance.list({ employee_id: "EMP_ID" });
await wl.attendance.create({ /* entry fields */ });