ARNPROXY

Webhooks

Webhooks are optional signed notifications to your HTTPS receiver. Polling remains available, and customers do not need to install a webhook to use the API.

My API account

Enable the receiver in your API account. Public HTTPS on port 443 is required; redirects, query strings and URL credentials are not supported. Changes to URL, enablement or signing secret cancel old pending events. Historical operations are not backfilled.

Only supported new API operations are observed, not every HTTP response or website purchase. Notifications contain safe identifiers and state, never API keys or proxy passwords. timestamp records local UTC observation; the minute worker may introduce delay.

Event types

TypeState
webhook.testtest
order.acceptedaccepted
order.delivereddelivered
order.action_requiredaction_required
order.canceledcanceled
renewal.completedcompleted
extra_login.operation.completedcompleted
extra_login.operation.rejectedrejected
extra_login.operation.action_requiredaction_required
proxy_ip.operation.completedcompleted
proxy_ip.operation.rejectedrejected
proxy_ip.operation.action_requiredaction_required
proxy_ip.authorization.revokedrevoked
residential_list.operation.completedcompleted
residential_list.operation.rejectedrejected
residential_list.operation.action_requiredaction_required
auto_renewal.configuration.completedcompleted
application/json
{
    "id": "evt_0123456789abcdef0123456789abcdef",
    "type": "order.delivered",
    "timestamp": "2026-10-26T12:00:00+00:00",
    "api_version": "1",
    "data": {
        "account_id": 12345,
        "order_id": 12345,
        "number": "1000012345",
        "product": "proxy",
        "state": "delivered",
        "quantity": 1,
        "mode": null,
        "gb": null,
        "reason_code": null,
        "provider_live_check": false
    }
}

Signature verification

Verify webhook-id, webhook-timestamp and webhook-signature using the separate webhook secret. Remove whsec_, Base64-decode the key, sign the exact raw body framing below with HMAC-SHA256, and compare in constant time. Enforce a 300-second timestamp tolerance.

HMAC-SHA256
signed_content = webhook_id + "." + webhook_timestamp + "." + raw_body
webhook_signature = "v1," + Base64(HMAC_SHA256(decoded_secret, signed_content))

Delivery & retries

Process each event ID idempotently. Delivery can repeat and arrive out of order. Return 2xx after accepting it. At most 7 attempts use delays of 1 min, 5 min, 30 min, 2 h, 6 h and 24 h. Retries resend only the notification, never the business operation.

HTTP 2xx confirms delivery. HTTP 408/429/5xx and transient network failures may retry. Other 4xx and redirects fail permanently. Retry attempts keep the same event ID and body with a new signing timestamp.

Search the current language. Close with Esc