Documentation

Events API

Record order, payment, invoice and account events. Each event updates the related records in Adionexus and triggers the notification mapped to its type.

API version: v1 · Base URL: https://api.adionexus.web.id

Quickstart

  1. Create a workspace. New workspaces start in test mode.
  2. In Settings → API keys, create a test key with the events:write scope.
  3. Send an order.created event for a test customer.
  4. Open Events in the dashboard to see the recorded event and the rendered notification.
Test mode does not deliver email. Notifications are rendered and logged so you can review them. Verify a sending domain and switch to live mode to deliver to customers.

Authentication

Authenticate every request with a bearer token. Test keys start with adx_test_ and live keys with adx_live_. Keep live keys on your server; never put them in browser or mobile code.

Authorization: Bearer adx_test_••••••••••••

Create an event

POST /api/v1/events

POST /api/v1/events
Content-Type: application/json
Idempotency-Key: 6f1c2a0e-payment-ADX-10482

{
  "type": "payment.confirmed",
  "order_id": "ADX-10482",
  "customer_id": "cus_28491",
  "amount": 1284.00,
  "currency": "USD"
}

Parameters

FieldTypeDescription
typestringRequired. One of the event types.
customer_idstringRequired. The customer the event belongs to. Notifications go to this customer's email address.
order_idstringRequired for order, payment and invoice events.
amountnumberRequired for payment and invoice events. Decimal amount in the given currency.
currencystringThree-letter ISO 4217 code, e.g. USD.
occurred_atstringOptional ISO 8601 timestamp. Defaults to the time Adionexus received the event.
metadataobjectOptional key–value pairs, available to templates and shown in the event log.

Response

202 Accepted

{
  "id": "evt_7Hq2Lw9XbN",
  "type": "payment.confirmed",
  "status": "accepted",
  "order_id": "ADX-10482",
  "workflows": ["order.mark_paid", "invoice.generate", "notify.payment_receipt"],
  "received_at": "2026-10-02T09:58:32Z"
}

Event types

TypeRecord updateDefault notification
order.createdOrder created as pendingOrder confirmation
payment.confirmedOrder marked paid, invoice generatedPayment receipt
payment.failedPayment attempt recorded with reasonPayment failure notice
invoice.createdInvoice openedInvoice notification
order.shippedOrder marked shippedShipping notification
order.completedOrder closedOrder completion
account.verification_requestedVerification token issuedAccount verification
account.verifiedAccount activatedAccount activation
password.reset_requestedReset token issued (expires in 60 min)Password reset email

Idempotency

Send an Idempotency-Key header with each event. If a request is retried with the same key within 24 hours, Adionexus returns the original response and does not record a second event or send a second notification.

Notifications

Each event type maps to one template, editable under Settings → Notifications. Adionexus sends at most one message per event to the customer it belongs to. Delivery, bounce and complaint results are attached to the event in the log.

Addresses that hard-bounce or file a complaint are added to the workspace suppression list automatically. See the Sending Policy for details.

Sending domains

To deliver from your own domain, add it under Settings → Sending domain and publish the DNS records shown there:

  • Three DKIM CNAME records.
  • An MX and SPF TXT record for the custom MAIL FROM subdomain.
  • A DMARC TXT record at _dmarc.yourdomain.com.

Live mode becomes available once all records are verified.

Errors

StatusMeaning
400Invalid body or unknown event type. The response includes the failing field.
401Missing or invalid API key.
403Key lacks the events:write scope, or live sending is paused for the workspace.
404Referenced customer_id or order_id does not exist.
409Idempotency key reused with a different body.
429Rate limit reached. Retry after the time in the Retry-After header.

Questions about the API: help@adionexus.web.id