Skip to main content
Grantex can POST a signed JSON payload to your server whenever key events occur — grant created, grant revoked, or token issued. Use webhooks to keep your application in sync with the authorization lifecycle without polling.

Supported Events

Registering an Endpoint

Response:
The secret is returned only once. Store it securely — you need it to verify incoming payloads.

Event Payload Shape

Every webhook POST has the same envelope:

grant.created

grant.revoked

cascade: true means descendant grants were also revoked.

token.issued

Verifying Signatures

Every request carries a timestamped signature over <timestamp>.<raw body>:
Verify against X-Grantex-Signature-V2 and reject deliveries older than your tolerance (300 seconds by default). Both halves matter: the timestamp is inside the signed material, so it cannot be rewritten, and without it a captured delivery would stay valid forever. Each delivery attempt is signed at the moment it is sent, so a retry arriving after backoff carries a fresh timestamp rather than the time the event was queued. Always verify against the raw request body. A body that has been parsed and re-serialized will not hash to the same value. TypeScript:
Python:
Go:

Legacy X-Grantex-Signature

The original header signs the body alone. Because it commits to nothing time-bound, a delivery captured once stays valid forever and can be replayed at any time. It is still sent so existing receivers keep working, and verifyWebhookSignature / verify_webhook_signature / VerifyWebhookSignature still verify it — but they are deprecated. Move to the timestamped header; the legacy one will be withdrawn.

SDK Usage

Delivery Behaviour

  • Grantex delivers webhooks with a 10-second timeout per request.
  • Your endpoint should return any 2xx status to be considered successful.
  • Respond quickly (under 5s) and do heavy processing asynchronously.
  • Failed deliveries are retried with exponential backoff.

Local Development

Use a tunnel tool to expose your local server:

Ownership

Grantex is owned by Orchestrum Technologies LLP. Inventor and owner: Sanjeev Kumar. Ownership contact: sanjeev@orchestrum.in or mishra.sanjeev@gmail.com.
Last modified on August 29, 2026