{
"event": {
"id": "8d2e4b61-5a3f-4c7e-9b10-2f6a7c8d9e01",
"type": "voucher-upload-completed",
"timestamp": 1793700902
},
"payload": {
"id": 27017,
"resource": "voucher-upload",
"voucherSetId": 2030,
"fileName": "codes-november.csv",
"format": "csv",
"sizeBytes": 524288,
"sha256": "3b4c2a1f0e9d8c7b6a5f4e3d2c1b0a99887766554433221100ffeeddccbbaa99",
"status": "completed",
"defaults": {
"redemptionType": "single",
"maxRedemptions": null,
"validFrom": null,
"validUntil": "2026-12-31T22:59:59Z",
"metadata": null
},
"skipInvalidRows": true,
"counts": {
"totalRows": 10000,
"validRows": 9997,
"invalidRows": 3,
"duplicateRows": 0,
"importedRows": 9997
},
"failureReason": null,
"startedAt": "2026-10-22T10:02:00Z",
"completedAt": "2026-10-22T10:04:31Z",
"uploadTarget": null,
"createdBy": {
"type": "partner-user",
"id": 4043,
"label": "ops@example.com"
},
"createdAt": "2026-10-22T10:00:00Z",
"updatedAt": "2026-10-22T10:00:00Z",
"_links": {
"self": {
"href": "https://api.voucher-staging.allride.io/provider/v1/voucher-sets/2030/uploads/27017",
"type": "application/json"
},
"voucherSet": {
"href": "https://api.voucher-staging.allride.io/provider/v1/voucher-sets/2030",
"type": "application/json"
},
"errors": {
"href": "https://api.voucher-staging.allride.io/provider/v1/voucher-sets/2030/uploads/27017/errors",
"type": "application/json"
}
}
}
}voucher-upload
voucher-upload-completed
A voucher upload finished importing.
WEBHOOK
voucher-upload-completed
{
"event": {
"id": "8d2e4b61-5a3f-4c7e-9b10-2f6a7c8d9e01",
"type": "voucher-upload-completed",
"timestamp": 1793700902
},
"payload": {
"id": 27017,
"resource": "voucher-upload",
"voucherSetId": 2030,
"fileName": "codes-november.csv",
"format": "csv",
"sizeBytes": 524288,
"sha256": "3b4c2a1f0e9d8c7b6a5f4e3d2c1b0a99887766554433221100ffeeddccbbaa99",
"status": "completed",
"defaults": {
"redemptionType": "single",
"maxRedemptions": null,
"validFrom": null,
"validUntil": "2026-12-31T22:59:59Z",
"metadata": null
},
"skipInvalidRows": true,
"counts": {
"totalRows": 10000,
"validRows": 9997,
"invalidRows": 3,
"duplicateRows": 0,
"importedRows": 9997
},
"failureReason": null,
"startedAt": "2026-10-22T10:02:00Z",
"completedAt": "2026-10-22T10:04:31Z",
"uploadTarget": null,
"createdBy": {
"type": "partner-user",
"id": 4043,
"label": "ops@example.com"
},
"createdAt": "2026-10-22T10:00:00Z",
"updatedAt": "2026-10-22T10:00:00Z",
"_links": {
"self": {
"href": "https://api.voucher-staging.allride.io/provider/v1/voucher-sets/2030/uploads/27017",
"type": "application/json"
},
"voucherSet": {
"href": "https://api.voucher-staging.allride.io/provider/v1/voucher-sets/2030",
"type": "application/json"
},
"errors": {
"href": "https://api.voucher-staging.allride.io/provider/v1/voucher-sets/2030/uploads/27017/errors",
"type": "application/json"
}
}
}
}Audience: provider · Trigger:
voucher-upload-completed · Payload: the voucher upload in its webhook view, as payload next to event; deduplicate on event.id.Authorizations
Partner API key: Authorization: Bearer vk_live_…. Use vk_test_… keys against the sandbox. See Authentication.
Headers
t=,s1=<hex HMAC-SHA256 of "." with your first secret>,s2=. See Verifying signatures.
Body
application/json
Response
Acknowledge receipt within 15 seconds.