Webhooks

Event catalog

Every event Oatmilk sends, with a sample of each delivery.

These are the 53 events Oatmilk sends today, grouped by area. Pick one to see the exact delivery your endpoint would receive. The samples are built by the same code that sends real deliveries, with synthetic data.

Subscribe to an exact name such as invoice.paid, to a group with invoice.*, or to everything with *. New event types may be added: handle types you don't recognise by answering 200 and ignoring them.

Invoices

Accounts

Signatures

Compliance

Contractors

Receipts and mail

Suggestions

Connectors

invoice.created

An invoice was created as a draft.

{
  "id": "bf4e5ff3-0d1e-4f2a-8b3c-4d5e6f7a8b9c",
  "type": "invoice.created",
  "created": 1790000000,
  "organizationId": "org_synthetic",
  "subject": {
    "type": "invoice",
    "id": "7f0f6c1e-1c1f-4b5e-9c8d-2f5e8e3c1a10"
  },
  "data": {
    "number": null,
    "status": "draft",
    "partyId": "0b7a5d5e-3c34-4b8e-9e6a-5f8d0a1c2b3d",
    "currency": "CAD",
    "totalMinor": "113000",
    "amountPaidMinor": "0",
    "balanceMinor": "113000",
    "issueDate": null,
    "dueDate": "2026-10-01",
    "scheduledSendDate": null
  }
}

The test event

webhook.test is sent when you press Send a test event in Developers › Webhooks or call webhooks.test without an event type. It reaches every endpoint whatever its subscriptions, and has "test": true at the top level so you can tell it apart. A test of a catalog event has the same shape as the real one, with "test": true in its envelope and its data.