Skip to main content

Webhook Event Types

Webhook Types​

The UAE API currently uses these event types:

  • legal_entity.synchronized: a legal entity has been linked, re-verified, unlinked or its receiving capabilities have been synced to Peppol with a manual sync.
  • document.received: an incoming invoice or credit note is available.
  • document.delivered: an outgoing invoice or credit note has completed delivery.

Subscribe only to the events your application handles. The API Reference remains the source of truth for the supported event catalogue and payload contract.

Onboarding Events​

The taxpayer starts the onboarding on EmaraTax and completes it on the A-Cube onboarding page, without an A-Cube login. A-Cube sends legal_entity.synchronized to the account that owns the legal entity, so you don't have to check the status by hand.

The event is sent once, when the whole action has completed and the central registry has been updated:

actionStatus beforeStatus afterMeaning
LINKReservedActiveThe taxpayer linked the TIN to A-Cube.
REVERIFYActiveActiveThe taxpayer data has been refreshed.
DELINKActiveInactiveThe taxpayer removed the link to A-Cube.

If a step fails, no event is sent. Events are sent only to the webhooks of the account that owns the legal entity.

The same event is also sent after POST /legal-entities/{legalEntityId}/sync. In this case action is SYNC.

{
"eventId": "019e91b7-f799-7df7-a469-4824b2656b0e",
"eventType": "legal_entity.synchronized",
"legalEntityId": "019e91b7-0a3c-7b1e-9f2d-5c8a1b4e6d70",
"tin": "1758250844",
"name": "Legal Entity Name",
"status": "Active",
"action": "LINK",
"timestamp": "2026-08-14T06:19:14+00:00"
}
FieldDescription
legalEntityIdIdentifier of the legal entity.
tinTax Identification Number of the taxpayer.
nameEnglish name of the taxpayer, as registered in EmaraTax.
statusStatus of the legal entity after the action.
actionLINK, REVERIFY or DELINK; SYNC when the event comes from a manual sync.
timestampWhen the event was created, in ISO 8601 format.

To read the full current state, call GET /legal-entities/{legalEntityId} and check its status, enabled capabilities, and synchronization timestamps.

The event tells you that something changed; the legal entity resource tells you the current state.

Invoice Lifecycle & Events​

Document processing is asynchronous. A successful POST creates the resource first; validation, Peppol exchange, and tax reporting continue afterwards.

  • For outgoing documents, use document.delivered and the document status to confirm delivery.
  • For incoming documents, use document.received to retrieve and import the new resource.
  • If a webhook is delayed, use the collection and detail endpoints as a fallback.

Keep exchange and tax reporting as separate status concepts. A document may be delivered while tax reporting is still processing, or one of the two operations may fail independently.