Timeline API
2 PracBill API endpoints for timeline. Base URL https://billing.pracbill.com.au/api.
Get timeline entries (notes, events, time logs, attachments and module specific rows) for a specific record, newest first. Events and time logs are only included when assigned to the API user (uid 50) or the system. A bare JSON array is returned (not an envelope); an invalid key returns the ErrorResponse object instead.
GET /{api_key}/timeline/{module}/{id}
Responses
200— Timeline entries retrieved successfully
Add (or update, when `id` is supplied) a timeline entry on a record. Records are attributed to API user 50. Behaviour by module: `customer`/`customers` + category `event` creates an event; `orders` writes an order note and emails the notification recipients; `helpdesk`/`helptickets` adds a ticket log entry; any other module writes a generic note. An invalid or unknown API key returns HTTP 200 with the `ErrorResponse` envelope `{"success": false, "description": "invalid key"}`; the handler's other failures use the same envelope with a different `description`.
POST /{api_key}/timeline/{module}/{id}
Request body
| Field | Type | Description |
|---|---|---|
title | string | Entry title (events: event name) |
category required | string | `event` creates a calendar event; anything else (normally `note`) creates a note |
description required | string | Entry content/description |
event_date | string | Event start (parsed with strtotime; used when category is `event`) |
event_type | string | Event type (category `event` only) |
id | object | Existing note id to update (orders: onid of the order note; other modules: notes.id). Omit to create. Ignored for events and helpdesk |
emails | string | Orders only: comma separated recipient list for the order-note notification email |
custom_address | string | Orders only: one extra notification recipient |
Responses
200— Timeline entry saved (failures: HTTP 200 with the ErrorResponse envelope)