List sync events
Lists what changed since your last call, oldest first.
GET/v1/workspaces/{regionId}/sync/events
Parameters
afterstringThe nextCursor of your last call (an event id). Leave it out to start from the oldest event.
limitinteger1-500 events per call. Defaults to 100.
Returns
200 OK with the object shown in the response.
More details
What changed in this workspace side, oldest first. An event names a document, never its content: read the document with the operation for it, so you always get its current version. Pass nextCursor back as after on your next call; while hasMore is true, call again at once. Events are kept 30 days and delivered at least once, so the same change can come twice; the newest 5 seconds wait for the next call. A Supplier caller gets purchase_order.issued, changed, canceled and rejected, invoice.received, approved, rejected, paid, payment_withdrawn, remittance_sent and credit_applied, invoice.updated (a buyer put the invoice on hold for review, or released it: read GetInvoiceStatus), and credit_note.accepted and rejected. A Buyer caller gets invoice.received and credit_note.received (a supplier sent one); invoice.updated (an invoice was approved, by a person or automatically, or rejected, or its supplier confirmed bank details or reported it); invoice.payment (a payment was recorded or withdrawn, credit settled the invoice, or a payment through Pleaxy went through or failed: read GetInvoiceRemittance); purchase_order.updated (an order was approved, rejected or canceled); and purchase_order.confirmed and purchase_order.shipped (read GetPurchaseOrderFulfillment). It gets only the document types its procurement role can view.
Response fields
events[].typestringWhat happened, as <document>.<change>, e.g. invoice.paid.
events[].buyerWorkspaceIdstringSupplier callers: the buyer's Workspace ID, to pass as ?buyer= when reading the document.
nextCursorstringWhere your next call starts. Absent only before the first event.
hasMorebooleanMore events are waiting: call again at once.
Errors
- 400 Bad Request - after isn't an event id, or limit is out of range.
- 401 Unauthorized - No credential was presented, or the Bearer token / X-Api-Key value is missing, invalid, expired, or revoked.
- 403 Forbidden - The caller's Bearer token or API key doesn't grant access to this workspace (regionId), or lacks the required role.
curl "$PLEAXY_API_BASE_URL/v1/workspaces/reg_01k5x8p9j3q7vn2mhb4tzc6rde.supplier/sync/events?after=EV-mgx2k9a1-0c4f81d2" \
-H "X-Api-Key: $PLEAXY_API_KEY"{
"events": [
{ "id": "EV-mgx2kb7e-91a2c3d4", "at": "2026-10-23T10:02:11.402Z", "type": "invoice.paid", "documentType": "invoice", "documentId": "INV-3C9E71B2", "buyerWorkspaceId": "reg_01k5x8n2a7c4bq9wze0tkv3fjm.buyer" }
],
"nextCursor": "EV-mgx2kb7e-91a2c3d4",
"hasMore": false
}