# Compliance

> The compliance checklist, deadlines and reminders.

MCP toolset: `compliance` (https://app.getoatmilk.com/api/mcp?toolset=compliance)

## calendar

- [`calendar.events`](https://app.getoatmilk.com/docs/api/calendar.events.md) — List important company dates between from and to (YYYY-MM-DD, at most 400 days): compliance deadlines with what, why, citations and weekend-adjusted dates, plus invoice due dates, agreement expiries and contractor pay runs from other modules. Sources that fail are listed in unavailable.

## compliance

- [`compliance.checklist`](https://app.getoatmilk.com/docs/api/compliance.checklist.md) — Read the actionable compliance checklist: stored obligations with days until due, summary counts, missing company profile details, assignable members, and related action items from invoices, agreements, contractors, receipts awaiting review, receipt match review and Stripe exceptions. Sources that fail are listed in unavailable.

- [`compliance.refresh`](https://app.getoatmilk.com/docs/api/compliance.refresh.md) — Regenerate compliance obligations from the company profile and reminder settings. Adds new deadlines, updates changed dates and wording, marks untouched items whose rule no longer applies as not applicable with a system note, and never deletes items or changes human status, notes or completion. Requires an idempotencyKey.

## compliance.items

- [`compliance.items.create`](https://app.getoatmilk.com/docs/api/compliance.items.create.md) — Add a custom compliance checklist item with title, what to do, why, dueDate, category, optional https citations, an optional in-app link (actionHref, a workspace page path starting with /, /finance, /legal or /people) and an optional owner. Custom items get the same reminders as built-in rules. Requires an idempotencyKey.

- [`compliance.items.get`](https://app.getoatmilk.com/docs/api/compliance.items.get.md) — Read one compliance item by id with its full what and why, citations, notes, owner, change history and the reminder emails that included it.

- [`compliance.items.list`](https://app.getoatmilk.com/docs/api/compliance.items.list.md) — List compliance checklist items with what to do, why it matters, official citations, statutory and effective due dates, days until due, status, owner and reminder state. Filter by status (upcoming, in_progress, done, skipped, open or all), category, a from/to due-date range, the assigned owner (assigneeUserId) or who assigned it (assignedByUserId).

- [`compliance.items.update`](https://app.getoatmilk.com/docs/api/compliance.items.update.md) — Update a compliance item's status (upcoming, in_progress, done or skipped), notes, owner (assigneeUserId of an active administrator or finance member) or snoozedUntil date. Requires id, expectedRevision and idempotencyKey. Automatic refreshes never overwrite these human decisions.

## compliance.kickoff

- [`compliance.kickoff.run`](https://app.getoatmilk.com/docs/api/compliance.kickoff.run.md) — Start tax preparation for a kickoff item now: marks it in progress, prepares the exact corporate or GST/HST workpaper period, adds follow-up checklist items and emails administrators a link that opens that workpaper. Records a compliance.kickoff run with prepare and notify steps. Requires itemId and idempotencyKey.

## compliance.reminders

- [`compliance.reminders.preview`](https://app.getoatmilk.com/docs/api/compliance.reminders.preview.md) — Preview the grouped compliance reminder emails with recipients, subject, HTML and text. Mode upcoming (default) shows every open item within the reminder window, exactly what Send now would queue; mode scheduled shows only what the next daily digest would send. Nothing is sent.

- [`compliance.reminders.sendNow`](https://app.getoatmilk.com/docs/api/compliance.reminders.sendNow.md) — Queue grouped compliance reminder emails now for every open item within the reminder window, from the reminders identity to the configured recipients or else all active administrators. Records each digest and updates item reminder state. Requires an idempotencyKey.
