{
"event": {
"id": "3f1c9a52-7b4e-4d21-9c6a-0e5d8b2f4a17",
"type": "price-terms-change-scheduled",
"timestamp": 1793610900
},
"payload": {
"resource": "price-change",
"id": 7301,
"startsAt": "2026-11-30T23:00:00Z",
"voucherSets": [
{
"id": 2030,
"resource": "voucher-set-price-terms",
"voucherSetId": 2030,
"providerPartnerId": 1030,
"provider": {
"id": 1030,
"resource": "partner",
"name": "Acme Scooters",
"_links": {
"self": {
"href": "https://api.voucher.allride.io/consumer/v1/catalog/providers/1030",
"type": "application/json"
}
}
},
"voucherSetName": {
"de": "Acme Starter Pass",
"en": "Acme Starter Pass"
},
"status": "change-pending",
"nextChangeAt": "2026-11-30T23:00:00Z",
"current": {
"startsAt": "2025-12-31T23:00:00Z",
"endsAt": "2026-11-30T23:00:00Z",
"terms": {
"pricingModel": "per-unit",
"unitPrice": {
"value": 800,
"scale": 4,
"label": "€0.08"
},
"tiers": null
},
"termsDigest": "4f0c2a9e7b13d5c8e1f6a0b2c4d6e8f0a1b3c5d7e9f1a3b5c7d9e1f3a5b7c9d1",
"acceptBy": "2025-12-31T23:00:00Z",
"acceptance": {
"status": "accepted",
"priceAcceptanceId": 61017,
"acceptedAt": "2026-01-03T09:12:00Z",
"acceptedBy": {
"type": "partner-user",
"id": 4069,
"label": "finance@example.com"
}
}
},
"upcoming": [
{
"startsAt": "2026-11-30T23:00:00Z",
"endsAt": null,
"terms": {
"pricingModel": "per-unit",
"unitPrice": {
"value": 1000,
"scale": 4,
"label": "€0.10"
},
"tiers": null
},
"termsDigest": "9a17e3c5b7d9f1a3c5e7a9b1d3f5a7c9e1b3d5f7a9c1e3b5d7f9a1c3e5b7d9f1",
"acceptBy": "2026-11-30T23:00:00Z",
"acceptance": {
"status": "pending"
}
}
],
"_links": {
"self": {
"href": "https://api.voucher.allride.io/consumer/v1/pricing/voucher-sets/2030",
"type": "application/json"
},
"voucherSet": {
"href": "https://api.voucher.allride.io/consumer/v1/catalog/voucher-sets/2030",
"type": "application/json"
}
}
}
]
}
}Price terms
price-terms-change-scheduled
A price change was scheduled
WEBHOOK
price-terms-change-scheduled
{
"event": {
"id": "3f1c9a52-7b4e-4d21-9c6a-0e5d8b2f4a17",
"type": "price-terms-change-scheduled",
"timestamp": 1793610900
},
"payload": {
"resource": "price-change",
"id": 7301,
"startsAt": "2026-11-30T23:00:00Z",
"voucherSets": [
{
"id": 2030,
"resource": "voucher-set-price-terms",
"voucherSetId": 2030,
"providerPartnerId": 1030,
"provider": {
"id": 1030,
"resource": "partner",
"name": "Acme Scooters",
"_links": {
"self": {
"href": "https://api.voucher.allride.io/consumer/v1/catalog/providers/1030",
"type": "application/json"
}
}
},
"voucherSetName": {
"de": "Acme Starter Pass",
"en": "Acme Starter Pass"
},
"status": "change-pending",
"nextChangeAt": "2026-11-30T23:00:00Z",
"current": {
"startsAt": "2025-12-31T23:00:00Z",
"endsAt": "2026-11-30T23:00:00Z",
"terms": {
"pricingModel": "per-unit",
"unitPrice": {
"value": 800,
"scale": 4,
"label": "€0.08"
},
"tiers": null
},
"termsDigest": "4f0c2a9e7b13d5c8e1f6a0b2c4d6e8f0a1b3c5d7e9f1a3b5c7d9e1f3a5b7c9d1",
"acceptBy": "2025-12-31T23:00:00Z",
"acceptance": {
"status": "accepted",
"priceAcceptanceId": 61017,
"acceptedAt": "2026-01-03T09:12:00Z",
"acceptedBy": {
"type": "partner-user",
"id": 4069,
"label": "finance@example.com"
}
}
},
"upcoming": [
{
"startsAt": "2026-11-30T23:00:00Z",
"endsAt": null,
"terms": {
"pricingModel": "per-unit",
"unitPrice": {
"value": 1000,
"scale": 4,
"label": "€0.10"
},
"tiers": null
},
"termsDigest": "9a17e3c5b7d9f1a3c5e7a9b1d3f5a7c9e1b3d5f7a9c1e3b5d7f9a1c3e5b7d9f1",
"acceptBy": "2026-11-30T23:00:00Z",
"acceptance": {
"status": "pending"
}
}
],
"_links": {
"self": {
"href": "https://api.voucher.allride.io/consumer/v1/pricing/voucher-sets/2030",
"type": "application/json"
},
"voucherSet": {
"href": "https://api.voucher.allride.io/consumer/v1/catalog/voucher-sets/2030",
"type": "application/json"
}
}
}
]
}
}Audience: consumer · Trigger: AllRide schedules a change of your Price Terms · Payload:
Verify the
{resource, id, startsAt, voucherSets} · Permission: subscribing needs view-consumer-pricing
Pricing event. Subscribing requires
view-consumer-pricing. See Pricing webhooks.x-signing-signature header before you trust the body (Verifying signatures). Deliveries are at least once and unordered; deduplicate on event.id.Authorizations
Your API key in Authorization: Bearer <key>. Use vk_test_… keys against the sandbox and vk_live_… keys against production.
Headers
t=<unix seconds>,s1=<hex HMAC-SHA256 of "<raw body>.<t>" with your first secret>,s2=<the same with your second secret>. Accept the delivery when either signature matches. See Verifying signatures.
Body
application/json
Response
Acknowledge receipt within 15 seconds.