API reference

Event

What a webhook message carries: one thing that happened, with the thing itself as the API shows it.

The event object

object string
Always "event".
id id
The event's id: the same on every retry, so use it to skip ones you've had.
type string
What happened: customer.created, vendor.created, product.created, invoice.created, invoice.sent, invoice.paid, invoice.voided, payment.received, bill.created, expense.created, or ping (a test).
created_at timestamp
When it happened.
business_id id
Whose books it happened in.
data object
data.object: the customer, invoice, payment… as GET returns it when the message was first sent ({id, object, deleted: true} if it's gone since).

Sent to webhook endpoints as a POST, signed with TallyPip-Signature. How to check it, and how retries work: Webhooks. The types: customer.created, vendor.created, product.created, invoice.created, invoice.sent, invoice.paid, invoice.voided, payment.received, bill.created, expense.created.

Example

{
  "id": "3f6c1e2a-8b4d-4c1e-9a7b-2d5e6f708110",
  "object": "event",
  "type": "invoice.paid",
  "created_at": "2026-10-06T14:30:00.000Z",
  "business_id": "3f6c1e2a-8b4d-4c1e-9a7b-2d5e6f708190",
  "data": {
    "object": {
      "object": "invoice",
      "id": "3f6c1e2a-8b4d-4c1e-9a7b-2d5e6f708104",
      "number": "INV-1042",
      "status": "paid",
      "…": "…"
    }
  }
}