{
"id": "Webhook:019542f5-b3e7-1d02-0000-000000000008",
"type": "BULK_UPLOAD.COMPLETED",
"timestamp": "2025-08-15T14:32:00Z",
"data": {
"id": "Job:019542f5-b3e7-1d02-0000-000000000006",
"status": "COMPLETED",
"progress": {
"total": 5000,
"processed": 5000,
"successful": 5000,
"failed": 0
},
"errors": []
}
}{
"status": 400,
"code": "INVALID_INPUT",
"message": "<string>",
"details": {}
}Webhook that is called when a bulk customer upload job completes or fails. This endpoint should be implemented by clients of the Grid API.
The webhook includes a signature in the X-Grid-Signature header that allows you to verify that the webhook was sent by Grid.
To verify the signature:
If the signature verification succeeds, the webhook is authentic. If not, it should be rejected.
This webhook is sent when a bulk upload job completes or fails, providing detailed information about the results.
{
"id": "Webhook:019542f5-b3e7-1d02-0000-000000000008",
"type": "BULK_UPLOAD.COMPLETED",
"timestamp": "2025-08-15T14:32:00Z",
"data": {
"id": "Job:019542f5-b3e7-1d02-0000-000000000006",
"status": "COMPLETED",
"progress": {
"total": 5000,
"processed": 5000,
"successful": 5000,
"failed": 0
},
"errors": []
}
}{
"status": 400,
"code": "INVALID_INPUT",
"message": "<string>",
"details": {}
}Secp256r1 (P-256) asymmetric signature of the webhook payload, which can be used to verify that the webhook was sent by Grid. To verify the signature:
If the signature verification succeeds, the webhook is authentic. If not, it should be rejected.
Unique identifier for this webhook delivery (can be used for idempotency)
"Webhook:019542f5-b3e7-1d02-0000-000000000007"
Status-specific event type in OBJECT.EVENT dot-notation (e.g., OUTGOING_PAYMENT.COMPLETED)
BULK_UPLOAD.COMPLETED, BULK_UPLOAD.FAILED ISO 8601 timestamp of when the webhook was sent
"2025-08-15T14:32:00Z"
The resource object. Contains the full resource as the corresponding GET endpoint would return it.
Show child attributes
Webhook received successfully
Was this page helpful?