Account webhooks
The API tells your server when money comes in, goes out or fails. You
create the subscription with your account’s accountId; omitting it
returns 422 account_id_required. There is no “every account”
subscription with this credential — that would read someone else’s
movement.
Host: https://client.api.corpx.com. The envelope and the full event
catalogue are in Webhooks (reference). This page is the
first-day cut.
Create the subscription
accountId is not editable afterwards. Change URL or events: PUT /v1/webhooks/{subscriptionId}. Change account: create another
subscription.
authType: HMAC is recommended. The secret never comes back in
responses (hmacSecretSet: true|false). Omitting secret on PUT
keeps the key; sending a new value rotates it; authType: "NONE"
deletes the key.
Event types: GET /v1/webhooks/events.
Useful first-day events
The catalogue has dozens more (MED, fees, accreditation). Subscribe only to what you will handle.
Verify HMAC
With authType: HMAC, each delivery has X-Signature:
base64(HMAC_SHA256(secret, raw_body)). Use the raw bytes —
re-serializing JSON changes field order and invalidates the signature.
Reply 2xx when you receive the envelope. Heavy work goes on a queue. 4xx/5xx trigger another attempt.
Deliveries and retry
GET /v1/webhooks/{subscriptionId}/deliveries— attempts, newest first. WithoutfromDate, last 7 days.GET /v1/webhooks/{subscriptionId}/deliveries/{deliveryId}— outbound envelope, when persisted.POST .../deliveries/{deliveryId}/retry— redeliver to this subscription only.
Checklist
- HTTPS on your endpoint
-
accountIdat creation - HMAC checked against the raw body
- Fast 2xx; async processing
- Idempotency on your side: the same
eventIdmay arrive again