GuideLab Docs

Read the changes feed

Every order, connection and invitation change for the calling cell, oldest first by (xid, kind, entityId), as the same envelopes the webhooks carry, built from current state. Only changes of transactions older than every running one are listed, so a late commit always appears after the cursor. Pass the previous page's next as after=<xid>,<kind>,<entityId> and persist it once the page is applied; a coalesced change reappears with a new xid, and applying by revision makes repeats no-ops.

GET
/smileline/v1/changes

Every order, connection and invitation change for the calling cell, oldest first by (xid, kind, entityId), as the same envelopes the webhooks carry, built from current state. Only changes of transactions older than every running one are listed, so a late commit always appears after the cursor. Pass the previous page's next as after=,, and persist it once the page is applied; a coalesced change reappears with a new xid, and applying by revision makes repeats no-ops.

Authorization

smilelineBearer
AuthorizationBearer <token>

Smileline cell credential gl_sl_v1_<cell>_<secret>, one per Smileline cell; accepted only on /smileline/v1. A practice belongs to one cell and is not found from any other.

In: header

Query Parameters

after?string
Match^\d{1,20},[a-z_]{1,32},[^,]{1,200}$/u
limit?integer
Range1 <= value <= 50
Default50

Response Body

application/json

application/json

curl -X GET "https://example.com/smileline/v1/changes"
{  "events": [    {      "type": "order.updated",      "deliveryId": "string",      "revision": 0,      "occurredAt": "string",      "data": {        "orderId": "string",        "orderNumber": "string",        "revision": 0,        "practiceRef": "string",        "labId": "string",        "labName": "string",        "patientRef": "string",        "externalRefs": {          "procedureId": "string",          "planId": "string",          "appointmentId": "string"        },        "createdByRef": "string",        "status": "string",        "stage": {          "code": "string",          "label": "string",          "tone": "start"        },        "needsAction": {          "kind": "surgical_report",          "label": "string"        },        "dueDate": "string",        "submittedAt": "string",        "completedAt": "string",        "cancelledAt": "string",        "shipment": {          "status": "string",          "trackingUrl": "string"        },        "summary": "string",        "total": {          "amountMinor": 0,          "currency": "string"        },        "invoice": {          "status": "string",          "amountDueMinor": 0,          "currency": "string",          "dueDate": "string"        },        "lastLabMessageAt": "string",        "unreadLabMessages": 0,        "remakeOfOrderId": "string",        "updatedAt": "string"      }    }  ],  "next": {    "xid": "string",    "kind": "string",    "entityId": "string"  },  "hasMore": true}
Empty
Empty
Empty
{  "error": "string",  "code": "string"}
Empty