Airalo · AsyncAPI Specification

Airalo Webhooks

Version

View Spec View on GitHub CompanyeSIMTelecommunicationsTravelConnectivityMobile DataRoamingPartner APIWebhookSingaporeAsyncAPIEvents

AsyncAPI Specification

Raw ↑
generated: '2026-09-19'
method: searched
source: https://developers.partners.airalo.com/webhook-definition-1380483m0
spec_type: none
asyncapi_published: false
probed:
- url: https://developers.partners.airalo.com/asyncapi.yaml
  http_status: 404
- url: https://partners-api.airalo.com/asyncapi.yaml
  http_status: 404
transport: https-webhook
docs:
- https://developers.partners.airalo.com/webhook-definition-1380483m0
- https://developers.partners.airalo.com/webhooks-guide-930005m0
- https://developers.partners.airalo.com/airalo-webhooks-opt-in-and-flow-930064m0
- https://developers.partners.airalo.com/notifications-2508831f0
subscription:
  model: opt-in per event type
  operation: POST /v2/notifications/opt-in (operationId optInNotification)
  unsubscribe: POST /v2/notifications/opt-out (operationId optOutNotification)
  status: GET /v2/notifications/opt-in (operationId getNotificationDetails)
  validation: >-
    At opt-in Airalo issues an HTTP HEAD request to the supplied webhook_url; the endpoint must answer
    200 OK or the opt-in fails. The endpoint must support both HEAD and POST.
  override: >-
    POST /v2/orders-async and POST /v2/future-orders accept an optional webhook_url in the request body
    which overrides the opted-in URL for that order.
security:
  signature_header: airalo-signature
  algorithm: HMAC-SHA512
  key: the partner's API secret
  payload: the raw JSON body
  verification_examples: [php, javascript, python, java]
  docs: https://developers.partners.airalo.com/webhook-definition-1380483m0
delivery:
  retries: 20
  interval: 15 minutes
  success_criteria: HTTP 200
  failure_criteria: 'Any response >= 204 is treated as a failure and triggers the retry schedule.'
  note: >-
    Airalo's own sample handlers return 200 even for business-level failures the partner cannot process
    (unknown order, non-retryable Airalo error), reserving the retry path for genuine processing errors.
  sandbox: Webhook notification settings do not work in Sandbox mode; use the webhook simulator instead.
events:
- name: async_order_notification
  opt_in_type: async_orders
  trigger: An asynchronous order (POST /v2/orders-async) completes and an eSIM is generated.
  payload: >-
    The same shape as the synchronous POST /v2/orders response, plus a `request_id` field carrying the
    25-character nanoid returned when the async order was accepted. A failure payload carries `reason` and
    no `sims`.
  channels: [webhook]
  note: Email delivery is explicitly not supported for this event.
  source: https://developers.partners.airalo.com/opt-in-11883038e0
- name: low_data_notification
  opt_in_type: webhook_low_data (or email_low_data)
  trigger: >-
    An end-user eSIM reaches 75% or 90% of its data allowance, or has 3 days / 1 day remaining before
    expiry.
  channels: [webhook, email]
  simulator_subtypes: [data_75, data_90, expire_1, expire_3]
  note: >-
    Delivered to partner addresses (support/back office), not directly to customers; a single email address
    should be configured. Optional `language` parameter for email localization.
  source: https://developers.partners.airalo.com/opt-in-11883039e0
- name: credit_limit_notification
  opt_in_type: webhook_credit_limit (or email_credit_limit)
  trigger: The partner's credit usage crosses a subscribed threshold.
  levels: [50, 70, 80, 90]
  channels: [webhook, email]
  note: '`levels` is an optional subset of [50, 70, 80, 90]; omitted, Airalo applies its default set.'
  source: https://developers.partners.airalo.com/opt-in-11883042e0
- name: future_order_completion
  trigger: A future-dated order (POST /v2/future-orders) reaches its due date and is processed.
  channels: [webhook]
  payload: The regular order response plus `request_id`.
  note: >-
    Delivered to the async_orders opted-in URL or to the per-request webhook_url. A future order cannot be
    created unless one of the two is present.
  source: https://developers.partners.airalo.com/future-orders-14455445e0
testing:
  simulator: POST /v2/simulator/webhook (operationId simulateWebhook)
  docs: https://developers.partners.airalo.com/webhook-simulator-11883044e0
  note: >-
    Triggers a mock event of any of the three types without placing a real order or consuming credit;
    supplying webhook_url bypasses the opt-in check. 5 requests per minute per IP.
note: >-
  Airalo documents a real, signed, retrying webhook surface with an opt-in API and a simulator, but publishes
  no AsyncAPI document. This artifact is the webhook catalog; it wires type: Webhooks, not type: AsyncAPI.
  Nothing here is derived — every event, header, retry number and threshold is quoted from Airalo's own pages.

Work with this as data

Every AsyncAPI spec here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for asyncapi

4 MCP tools reach this
  • find_asyncapisBrowse and filter every AsyncAPI spec in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This AsyncAPI spec
curl "https://apis.io/api/v1/asyncapis/airalo-webhooks"
All asyncapi
curl "https://apis.io/api/v1/asyncapis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.