Webhooks overview
Use the Webhooks API to inspect event history and delivery attempts, retrieve individual events, and resend supported events.
Review delivery history or browse the operations in this category.
Register your URL, verify signatures and recover missed events.
How it works
Gravv sends each event to the webhook URL you registered in the Dashboard for the key's environment. Gravv stores every delivery as a record, and these routes let you see and recover them:
- Audit what Gravv sent with the event history, newest first. The
event_typefilter takes the category, such astransfer. A full type such astransfer.status.completedreturns an empty list. An unknownstatusalso returns an empty list. - Debug a failure with the record. It holds the stored event in
payload,attempts,max_retriesand your endpoint's last response. Its call history lists each attempt. Neither returns the request headers Gravv sent. - Recover by reading
payloadand processing it, or by resending the event. A resend is not signed and carries noX-Signatureheader. The call returns HTTP 200 with your endpoint's status code. If the resend fails, Gravv retries the event again and signs those retries.
Three ids appear in these routes:
items[].idin history is the record id, the{id}of the other routes.event_idon the record is the event'sevent_group_id, the same value as theX-Event-IDheader.payload.event_idis the id your endpoint received. Deduplicate on that one.
These routes return errors as HTTP 400 with {"data":null,"error":"<message>"}, including for an unknown id. A missing or wrong API key still gets 401. A scoped key without webhook:create gets 403 on the resend. Too many requests get 429.
For the event types and their fields, see the event catalogue. For signatures, retries and deduplication, see Set up webhooks.
Endpoints
| Endpoint | Description |
|---|---|
GET /v1/webhooks/history |
List webhook event history, paginated, with category, status, date and transaction filters |
GET /v1/webhooks/event/{id} |
Get one record with the stored event, its attempts and your endpoint's last response |
GET /v1/webhooks/calls/{id} |
List each delivery attempt for a record |
POST /v1/webhooks/event/send/{id} |
Trigger an immediate, unsigned manual redelivery (requires the webhook:create permission) |
Authentication
All requests use https://api.gravv.xyz/v1/ and authenticate with the Api-Key header. See Authentication for details.