Skip to main content

Registering your webhook URL

Webhook endpoints are not registered through our API. To subscribe, contact us through support@nox.energy with your HTTPS callback URL and which events you wish to subscribe to. We will configure delivery on our side. You will use the same NOX API key as for API requests when verifying signatures. Keep it secret; see the Authentication guide.

Using the webhook

Your webhook endpoint receives HTTP POST requests with JSON payloads.
  • Return 2xx to acknowledge receipt.
  • Return 4xx for permanent failures (we will not retry).
  • Return 5xx or time out to trigger a retry.

Request format

Body (JSON):

Signature verification

Your NOX API key is the webhook signing secret. Never log it, expose it in client-side code, or commit it to a repository.
Verify each request as follows:
  1. Replay protection: Reject if X-Webhook-Timestamp is older than 5 minutes compared to your server clock.
  2. Signed payload: Reconstruct {timestamp}.{raw_body} where raw_body is the exact bytes received (the raw HTTP body).
  3. HMAC: Compute HMAC-SHA256(signed_payload, secret) using your NOX API key as secret. Compare to X-Webhook-Signature (strip the sha256= prefix).
The body is canonical JSON (sort_keys=True, no extra whitespace). Use the raw request body as received; do not re-serialize before verifying. Python example:

Subscribable event types