# AllRide Vouchers — Provider API - [Introduction](https://docs-provider.voucher.allride.io/index.md): Build on the AllRide Vouchers Provider API. - [Quickstart](https://docs-provider.voucher.allride.io/quickstart.md): Make your first calls in the sandbox. - [Sandbox and production](https://docs-provider.voucher.allride.io/guides/environments.md): The two environments, their base URLs, keys and data. - [Concepts](https://docs-provider.voucher.allride.io/guides/concepts.md): Partners, roles and the core resources of the platform. - [Going-live checklist](https://docs-provider.voucher.allride.io/guides/going-live.md): Everything to check before you switch to production. - [Authentication](https://docs-provider.voucher.allride.io/guides/authentication.md): Authenticate API requests with your partner API key. - [API keys](https://docs-provider.voucher.allride.io/guides/api-keys.md): Create, scope, rotate and revoke API keys. - [Permissions and scopes](https://docs-provider.voucher.allride.io/guides/permissions.md): Which permissions each operation needs and which can be delegated to API keys. - [IP allowlist](https://docs-provider.voucher.allride.io/guides/ip-allowlist.md): Restrict which addresses may call the API with your credentials. - [Network and IP addresses](https://docs-provider.voucher.allride.io/guides/network.md): Where the API lives and which addresses AllRide connects from. - [Requests and responses](https://docs-provider.voucher.allride.io/guides/requests-and-responses.md): Formats, envelopes, ids, time, money, updates and concurrent changes. - [Pagination, filtering and sorting](https://docs-provider.voucher.allride.io/guides/pagination.md): Page through lists, sort, search and filter. - [Idempotency](https://docs-provider.voucher.allride.io/guides/idempotency.md): Retry POST requests safely with the Idempotency-Key header. - [Errors](https://docs-provider.voucher.allride.io/errors/index.md): The error format, status codes and how to retry. - [Error catalog](https://docs-provider.voucher.allride.io/errors/catalog.md): Every error code the Provider API can return, with what to do about it. - [Limits](https://docs-provider.voucher.allride.io/guides/limits.md): Size and count limits, and how long data is kept. - [Versioning and deprecation](https://docs-provider.voucher.allride.io/guides/versioning.md): How the API changes and how you hear about it. - [Webhooks](https://docs-provider.voucher.allride.io/webhooks/overview.md): Receive events at your endpoint. - [Verifying signatures](https://docs-provider.voucher.allride.io/webhooks/verify-signatures.md): Check that a webhook comes from AllRide and was not changed. - [Retries, logs and replay](https://docs-provider.voucher.allride.io/webhooks/retries-and-logs.md): What happens when a delivery fails, and how to recover. - [Event catalog](https://docs-provider.voucher.allride.io/webhooks/events.md): Every webhook type with its trigger and payload. - [Voucher sets](https://docs-provider.voucher.allride.io/provider/voucher-sets.md): Create voucher sets, fill their content and follow their status. - [Change requests and approval](https://docs-provider.voucher.allride.io/provider/change-requests.md): Propose content changes and get them approved by AllRide. - [Content rules](https://docs-provider.voucher.allride.io/provider/content-rules.md): What content consumers may see, and how it is checked. - [Vouchers and uploads](https://docs-provider.voucher.allride.io/provider/vouchers-and-uploads.md): Add codes and links, import files, revoke and reveal vouchers. - [Dynamic links](https://docs-provider.voucher.allride.io/provider/link-templates.md): Render links from Link Templates at redemption. - [Activation and scheduling](https://docs-provider.voucher.allride.io/provider/activation-and-scheduling.md): Activate voucher sets now or on a schedule. - [Stock and alerts](https://docs-provider.voucher.allride.io/provider/stock-and-alerts.md): Read stock figures and get alerted before a set runs out. - [Redemptions and analytics](https://docs-provider.voucher.allride.io/provider/redemptions-and-analytics.md): See when your vouchers are redeemed and read statistics. - [Provider profile and branding](https://docs-provider.voucher.allride.io/provider/profile-and-branding.md): Your general information, how you look to consumers, and your dashboard theme. - [Members and groups](https://docs-provider.voucher.allride.io/workspace/members-and-groups.md): People in your partner, their groups and permissions. - [Audit log](https://docs-provider.voucher.allride.io/workspace/audit-log.md): Who changed what in your partner, through the dashboard or the API. - [Get the provider profile](https://docs-provider.voucher.allride.io/api-reference/provider-provider-profile-get.md): Returns your consumer-visible general information and general terms. The profile changes only through approved change requests; before the first approval `live` is `null` and `liveRevisionNo` is `0`. See [Provider profile and branding](/provider/profile-and-branding). - [List the provider profile changelog](https://docs-provider.voucher.allride.io/api-reference/provider-provider-profile-changelog.md): Lists the approved change requests of the provider profile, newest decision first, with their `diff`. Changes made by AllRide show `origin: admin` and the reviewer as AllRide. - [Get the listing branding](https://docs-provider.voucher.allride.io/api-reference/provider-listing-branding-get.md): Returns how you look inside consumer catalogs and landing pages. Listing branding changes only through approved change requests. - [List the listing branding changelog](https://docs-provider.voucher.allride.io/api-reference/provider-listing-branding-changelog.md): Lists the approved change requests of the listing branding with their `diff`. - [List brand assets](https://docs-provider.voucher.allride.io/api-reference/provider-brand-assets-list.md): Lists your partner's brand assets. Deleted assets are left out unless you filter by `status`. - [Create a brand asset](https://docs-provider.voucher.allride.io/api-reference/provider-brand-assets-create.md): Creates an asset in `pending-upload` and returns a signed `uploadTarget` valid for 1 hour. PUT the image to `uploadTarget.url` with exactly the given headers, then call `:complete`. PNG, JPEG or WebP; at most 2 MiB (hero 5 MiB). At most 500 counted assets per partner. - [Get a brand asset](https://docs-provider.voucher.allride.io/api-reference/provider-brand-assets-get.md): Returns one asset. While it is `pending-upload`, `uploadTarget` is re-signed for its remaining validity; poll this operation until `status` is `ready` or `rejected`. - [Complete a brand asset upload](https://docs-provider.voucher.allride.io/api-reference/provider-brand-assets-complete.md): Checks that the file exists and has the declared size, then moves the asset to `processing`. Processing verifies the SHA-256, the dimensions (logo and icon ≤ 2048 × 2048, hero ≤ 4096 × 4096, at least 32 × 32), re-encodes the image and strips metadata; the asset then becomes `ready` or `rejected`. - [Delete a brand asset](https://docs-provider.voucher.allride.io/api-reference/provider-brand-assets-delete.md): Soft-deletes the asset (`status: deleted`). An asset still referenced by live or draft content or by an open change request cannot be deleted; the error's `references` member tells you where. Deleting a deleted asset again returns 204. - [List categories](https://docs-provider.voucher.allride.io/api-reference/provider-categories-list.md): Lists the active categories that AllRide manages. Use their ids for `categoryId` in voucher set content and `defaultCategoryId` in the provider profile. - [Get a category](https://docs-provider.voucher.allride.io/api-reference/provider-categories-get.md): Returns one active category. - [List voucher sets](https://docs-provider.voucher.allride.io/api-reference/provider-voucher-sets-list.md): Lists your voucher sets. `status` filters use the effective status (a scheduled set whose `activeFrom` has passed is `active` even before the schedule runs). - [Create a voucher set](https://docs-provider.voucher.allride.io/api-reference/provider-voucher-sets-create.md): Creates a voucher set in `draft`; `content` becomes its `draftContent`. In the same transaction a stock alert rule with the thresholds 50, 75, 90 and 100 % is created. Consumers see nothing until a change request is approved and the set is activated. See [Voucher sets](/provider/voucher-sets). - [Get a voucher set](https://docs-provider.voucher.allride.io/api-reference/provider-voucher-sets-get.md): Returns one voucher set with its live content, draft, schedule and stock. - [Update a voucher set](https://docs-provider.voucher.allride.io/api-reference/provider-voucher-sets-update.md): JSON Merge Patch of `internalName`, `voucherKind` (draft sets without vouchers only) and `draftContent`. Live content changes only through change requests; schedule fields only through the lifecycle commands. Needs no approval. - [Activate a voucher set now](https://docs-provider.voucher.allride.io/api-reference/provider-voucher-sets-activate.md): Moves an `inactive` set with an approved live revision to `active` at once. To bring a scheduled activation forward, use `:schedule-activation` with a past `activeFrom`. See [Activation and scheduling](/provider/activation-and-scheduling). - [Archive a voucher set](https://docs-provider.voucher.allride.io/api-reference/provider-voucher-sets-archive.md): Archives a `draft` or `inactive` set. Archiving is terminal: vouchers and redemptions stay for reporting, nothing can be redeemed or uploaded, and the stock alert rule is disabled. Open uploads in `pending-upload` or `validated` are cancelled. - [Cancel a schedule](https://docs-provider.voucher.allride.io/api-reference/provider-voucher-sets-cancel-schedule.md): On a `scheduled` set clears `activeFrom` and `deactivateAt` (status `inactive`); on a `deactivation-scheduled` set clears `deactivateAt` (status `active`). - [Deactivate a voucher set now](https://docs-provider.voucher.allride.io/api-reference/provider-voucher-sets-deactivate.md): Moves an `active` or `deactivation-scheduled` set to `inactive` at once; the next redemption attempt fails. - [Schedule activation](https://docs-provider.voucher.allride.io/api-reference/provider-voucher-sets-schedule-activation.md): Schedules (or reschedules) activation of an `inactive` or `scheduled` set. A future `activeFrom` gives `scheduled`; a past one activates now. `deactivateAt`: absent keeps the stored value, `null` clears it, a value replaces it. Instants are truncated to seconds, at most 2 years ahead; schedules run… - [Schedule deactivation](https://docs-provider.voucher.allride.io/api-reference/provider-voucher-sets-schedule-deactivation.md): Sets `deactivateAt` on a `scheduled`, `active` or `deactivation-scheduled` set. Use `:deactivate` to stop at once. - [List the voucher set changelog](https://docs-provider.voucher.allride.io/api-reference/provider-voucher-sets-changelog.md): Lists the approved change requests of the voucher set with their `diff`, origin and `decisionReason`. - [List revisions](https://docs-provider.voucher.allride.io/api-reference/provider-voucher-set-revisions-list.md): Lists the approved, immutable content snapshots of the voucher set. - [Get a revision](https://docs-provider.voucher.allride.io/api-reference/provider-voucher-set-revisions-get.md): Returns one revision of the voucher set. - [Preview a link template](https://docs-provider.voucher.allride.io/api-reference/provider-link-templates-preview.md): Validates and renders a Link Template with sample values. An invalid template is answered with 200 and `valid: false` plus `issues`; only a malformed body is a 400 `data-failed-validation`. See [Dynamic links](/provider/link-templates). - [List change requests](https://docs-provider.voucher.allride.io/api-reference/provider-change-requests-list.md): Lists the change requests of all subjects. Provider profile and listing branding change requests appear only for principals that also hold `view-provider-profile`. - [List voucher set change requests](https://docs-provider.voucher.allride.io/api-reference/provider-voucher-set-change-requests-list.md): Lists the change requests of the voucher set. - [Create a voucher set change request](https://docs-provider.voucher.allride.io/api-reference/provider-voucher-set-change-requests-create.md): Proposes new content for the voucher set. With `submit: true` (the default) the complete content is validated, automated checks run and the change request goes to `scanning`; a `create` change request moves the set from `draft` to `pending-approval`. Without `proposedContent` the set's `draftContent… - [Get a voucher set change request](https://docs-provider.voucher.allride.io/api-reference/provider-voucher-set-change-requests-get.md): Returns one change request with its status, diff, warnings and decision. - [Edit a voucher set change request](https://docs-provider.voucher.allride.io/api-reference/provider-voucher-set-change-requests-update.md): Edits an open change request (`draft`, `submitted`, `scanning`, `awaiting-review`) and rebases it on the current live revision. Outside `draft` the complete content is validated again and the automated checks restart. - [Submit a voucher set change request](https://docs-provider.voucher.allride.io/api-reference/provider-voucher-set-change-requests-submit.md): Submits a `draft` change request: complete validation, automated checks, status `scanning`; a `create` change request moves the set to `pending-approval`. - [Withdraw a voucher set change request](https://docs-provider.voucher.allride.io/api-reference/provider-voucher-set-change-requests-withdraw.md): Withdraws an open change request. The proposed content goes back to the set's `draftContent`, and a withdrawn `create` change request returns a never-approved set to `draft`. - [List provider profile change requests](https://docs-provider.voucher.allride.io/api-reference/provider-provider-profile-change-requests-list.md): Lists the change requests of the provider profile. - [Create a provider profile change request](https://docs-provider.voucher.allride.io/api-reference/provider-provider-profile-change-requests-create.md): Proposes new content for the provider profile. With `submit: true` (the default) the complete content is validated, automated checks run and the change request goes to `scanning`. With `submit: false` a `draft` is created. Only one change request per subject can be open. AllRide reviews every change… - [Get a provider profile change request](https://docs-provider.voucher.allride.io/api-reference/provider-provider-profile-change-requests-get.md): Returns one change request with its status, diff, warnings and decision. - [Edit a provider profile change request](https://docs-provider.voucher.allride.io/api-reference/provider-provider-profile-change-requests-update.md): Edits an open change request (`draft`, `submitted`, `scanning`, `awaiting-review`) and rebases it on the current live revision. Outside `draft` the complete content is validated again and the automated checks restart. - [Submit a provider profile change request](https://docs-provider.voucher.allride.io/api-reference/provider-provider-profile-change-requests-submit.md): Submits a `draft` change request: complete validation, automated checks, status `scanning`. - [Withdraw a provider profile change request](https://docs-provider.voucher.allride.io/api-reference/provider-provider-profile-change-requests-withdraw.md): Withdraws an open change request. - [List listing branding change requests](https://docs-provider.voucher.allride.io/api-reference/provider-listing-branding-change-requests-list.md): Lists the change requests of the listing branding. - [Create a listing branding change request](https://docs-provider.voucher.allride.io/api-reference/provider-listing-branding-change-requests-create.md): Proposes new content for the listing branding. With `submit: true` (the default) the complete content is validated, automated checks run and the change request goes to `scanning`. With `submit: false` a `draft` is created. Only one change request per subject can be open. AllRide reviews every change… - [Get a listing branding change request](https://docs-provider.voucher.allride.io/api-reference/provider-listing-branding-change-requests-get.md): Returns one change request with its status, diff, warnings and decision. - [Edit a listing branding change request](https://docs-provider.voucher.allride.io/api-reference/provider-listing-branding-change-requests-update.md): Edits an open change request (`draft`, `submitted`, `scanning`, `awaiting-review`) and rebases it on the current live revision. Outside `draft` the complete content is validated again and the automated checks restart. - [Submit a listing branding change request](https://docs-provider.voucher.allride.io/api-reference/provider-listing-branding-change-requests-submit.md): Submits a `draft` change request: complete validation, automated checks, status `scanning`. - [Withdraw a listing branding change request](https://docs-provider.voucher.allride.io/api-reference/provider-listing-branding-change-requests-withdraw.md): Withdraws an open change request. - [List vouchers](https://docs-provider.voucher.allride.io/api-reference/provider-vouchers-list.md): Lists the vouchers of a set. Values are always masked (`valueMask`). `search` is an exact match on the full value and works only for principals holding `reveal-provider-vouchers`; others get an empty page. - [Create vouchers in a batch](https://docs-provider.voucher.allride.io/api-reference/provider-vouchers-batch.md): Creates up to 1,000 vouchers in one transaction, all or nothing. Any invalid item → 400 `data-failed-validation` with one validation error per problem (`vouchers[17].value`); any value already in the set → 409 `voucher-value-exists`. Created vouchers are `available` at once. Send an `Idempotency-Key… - [Revoke several vouchers](https://docs-provider.voucher.allride.io/api-reference/provider-vouchers-revoke-many.md): Revokes up to 1,000 `available` vouchers of the set, all or nothing. Revoked vouchers are never redeemable and never deleted. - [Get a voucher](https://docs-provider.voucher.allride.io/api-reference/provider-vouchers-get.md): Returns one voucher with its masked value. - [Reveal a voucher value](https://docs-provider.voucher.allride.io/api-reference/provider-vouchers-reveal.md): Returns the clear value of one voucher. This is the only response that carries a clear voucher value. Every reveal is audited (`voucher.revealed`); there is no bulk reveal. An idempotent replay returns `value: null` with `Idempotent-Replay-Redacted: true`. Dashboard users need a sign-in within the l… - [Revoke a voucher](https://docs-provider.voucher.allride.io/api-reference/provider-vouchers-revoke.md): Revokes one `available` voucher. - [List uploads of all voucher sets](https://docs-provider.voucher.allride.io/api-reference/provider-voucher-uploads-list-all.md): Lists the uploads of all your voucher sets. - [List uploads of a voucher set](https://docs-provider.voucher.allride.io/api-reference/provider-voucher-uploads-list.md): Lists the uploads of one voucher set. `uploadTarget` is `null` in lists; get the upload for a fresh one. - [Create a voucher upload](https://docs-provider.voucher.allride.io/api-reference/provider-voucher-uploads-create.md): Creates an upload in `pending-upload` with a signed `uploadTarget` (valid 1 hour). PUT the CSV or XLSX file there with the given `Content-Type`, then call `:start`. At most 100 MiB and 1,000,000 rows; at most 10 open uploads per set. See [Vouchers and uploads](/provider/vouchers-and-uploads). - [Get a voucher upload](https://docs-provider.voucher.allride.io/api-reference/provider-voucher-uploads-get.md): Returns the upload (the job resource). Poll it after `:start` and `:import`, starting after `Retry-After` and doubling up to 30 seconds. - [Cancel a voucher upload](https://docs-provider.voucher.allride.io/api-reference/provider-voucher-uploads-cancel.md): Cancels an upload in `pending-upload` or `validated`. - [Import the valid rows](https://docs-provider.voucher.allride.io/api-reference/provider-voucher-uploads-import.md): Confirms the import of the valid rows of a `validated` upload (`skipInvalidRows: true`). Imports in chunks of 5,000 rows; each row's `validUntil` is checked again. Answers 202; follow `Location`. - [Start processing a voucher upload](https://docs-provider.voucher.allride.io/api-reference/provider-voucher-uploads-start.md): Checks that the file exists and has the declared size, then starts validation. Every row is validated before any voucher is written. Without invalid rows the import follows automatically; otherwise the upload stops in `validated` until you call `:import` or `:cancel`. Answers 202; follow `Location`.… - [List upload row errors](https://docs-provider.voucher.allride.io/api-reference/provider-voucher-uploads-errors.md): Lists row problems and duplicate reports of an upload (at most 10,000 stored). Items never contain values. Separate duplicates with `filter[code][in]=duplicate-in-file,value-exists`. - [Get the stock alert rule](https://docs-provider.voucher.allride.io/api-reference/provider-stock-alert-rules-get.md): Returns the stock alert rule of the set. Every set you create has one from the start. See [Stock and alerts](/provider/stock-and-alerts). - [Replace the stock alert rule](https://docs-provider.voucher.allride.io/api-reference/provider-stock-alert-rules-replace.md): Replaces the rule. Thresholds you add at or below the current usage are marked as fired without an email. Answers 201 only for a set that had no rule. - [List stock alert firings](https://docs-provider.voucher.allride.io/api-reference/provider-stock-alert-firings-list.md): Lists the alerts sent for the set. - [List redemptions](https://docs-provider.voucher.allride.io/api-reference/provider-redemptions-list.md): Lists redemptions of your vouchers in the provider projection: no consumer, entity, link, channel, metadata or issued value, by design. For incremental sync use `filter[redeemedAt][gte]=&sort=redeemedAt` and dedupe by `id`. See [Redemptions and analytics](/provider/redemptions-and-… - [Get a redemption](https://docs-provider.voucher.allride.io/api-reference/provider-redemptions-get.md): Returns one redemption of your vouchers in the provider projection. - [Get the analytics summary](https://docs-provider.voucher.allride.io/api-reference/provider-analytics-summary.md): Returns redemption counts, voucher set counts per status and a stock overview. There is no consumer dimension. Figures are eventually consistent (up to 2 minutes). - [Get redemptions over time](https://docs-provider.voucher.allride.io/api-reference/provider-analytics-redemptions.md): Returns redemptions, voids and face value per day, ISO week or month, optionally per voucher set. Series are dense; voids count in the bucket of `voidedAt`. - [Get inventory flow over time](https://docs-provider.voucher.allride.io/api-reference/provider-analytics-inventory.md): Returns vouchers added, revoked and redeemed per bucket next to the current stock. - [List stock per voucher set](https://docs-provider.voucher.allride.io/api-reference/provider-analytics-stock.md): Lists the stock of every voucher set with its alert state. Unlimited sets sort last. - [Get your partner](https://docs-provider.voucher.allride.io/api-reference/partner-partner-get.md): Returns your partner record with API access status, contacts and security settings. - [Update general information](https://docs-provider.voucher.allride.io/api-reference/partner-partner-update.md): JSON Merge Patch of `contacts`, `defaultLocale` and `timezone`. Name, legal name, country and slug are managed by AllRide. - [Update security settings](https://docs-provider.voucher.allride.io/api-reference/partner-partner-update-settings.md): Changes `mfaRequired` and `ipAllowlistEnforcement`. Enforcement needs at least one allowlist entry and must not lock out the calling user. Effective within 60 seconds. - [Get the API access status](https://docs-provider.voucher.allride.io/api-reference/partner-api-access-get.md): Returns the API access state. API keys only authenticate while it is `active`, so keys always see `active`. - [Request API access](https://docs-provider.voucher.allride.io/api-reference/partner-api-access-request.md): Asks AllRide to activate API access (`not-requested` → `requested`). AllRide decides in the admin dashboard; you are emailed the decision. - [Get developer reference information](https://docs-provider.voucher.allride.io/api-reference/partner-developer-reference-get.md): Returns the base URLs, the AllRide egress addresses, the key format, your allowlist state, and webhook facts of this environment. - [Get the calling principal](https://docs-provider.voucher.allride.io/api-reference/partner-principal-get.md): Tells an integration which partner, environment and permissions its key has. Call it first to test a new key. - [List selectable time zones](https://docs-provider.voucher.allride.io/api-reference/partner-timezones-list.md): Returns every IANA zone accepted for `timezone` (whole-hour offsets only). Not paginated. - [List members](https://docs-provider.voucher.allride.io/api-reference/partner-members-list.md): Lists members and invitations. - [Invite a member](https://docs-provider.voucher.allride.io/api-reference/partner-members-create.md): Invites a person by email; the invitation expires after 7 days. You can grant only permissions you hold. - [Get a member](https://docs-provider.voucher.allride.io/api-reference/partner-members-get.md): Returns one member. - [Change a member's direct permissions](https://docs-provider.voucher.allride.io/api-reference/partner-members-update.md): Replaces the member's direct permissions. Groups are changed on the group. - [Remove a member](https://docs-provider.voucher.allride.io/api-reference/partner-members-remove.md): Removes a member or revokes an invitation (terminal). - [Resend an invitation](https://docs-provider.voucher.allride.io/api-reference/partner-members-resend-invitation.md): Sends a new invitation to an `invited` member; the old link stops working. - [Suspend a member](https://docs-provider.voucher.allride.io/api-reference/partner-members-suspend.md): Suspends an active member. - [Unsuspend a member](https://docs-provider.voucher.allride.io/api-reference/partner-members-unsuspend.md): Reactivates a suspended member. - [List groups](https://docs-provider.voucher.allride.io/api-reference/partner-groups-list.md): Lists groups; deleted groups appear only with `filter[status]=deleted`. - [Create a group](https://docs-provider.voucher.allride.io/api-reference/partner-groups-create.md): Creates a custom group. You can grant only permissions you hold. - [Get a group](https://docs-provider.voucher.allride.io/api-reference/partner-groups-get.md): Returns one group. - [Update a group](https://docs-provider.voucher.allride.io/api-reference/partner-groups-update.md): Changes name, description, permissions or members (lists are replaced whole). - [Delete a group](https://docs-provider.voucher.allride.io/api-reference/partner-groups-delete.md): Deletes a custom group and its member links. - [List the members of a group](https://docs-provider.voucher.allride.io/api-reference/partner-groups-members.md): Lists the members of a group. - [List permissions](https://docs-provider.voucher.allride.io/api-reference/partner-permissions-list.md): Lists the permission catalog with `delegable` (can be an API key scope) and `applicable` (applies to your roles). `perPage=100` returns it in one page. - [List API keys](https://docs-provider.voucher.allride.io/api-reference/partner-api-keys-list.md): Lists API keys (metadata only, never the secret). - [Create an API key](https://docs-provider.voucher.allride.io/api-reference/partner-api-keys-create.md): Creates a key with delegable scopes you hold. The `secret` is shown once; an idempotent replay returns `secret: null` with `Idempotent-Replay-Redacted: true`. At most 20 active keys. See [API keys](/guides/api-keys). - [Get an API key](https://docs-provider.voucher.allride.io/api-reference/partner-api-keys-get.md): Returns one key without its secret. - [Rename an API key](https://docs-provider.voucher.allride.io/api-reference/partner-api-keys-update.md): Renames a key. Scopes and expiry cannot change; roll or create a key instead. - [Revoke an API key](https://docs-provider.voucher.allride.io/api-reference/partner-api-keys-revoke.md): Revokes an active key; it stops working within 60 seconds. - [Roll an API key](https://docs-provider.voucher.allride.io/api-reference/partner-api-keys-roll.md): Creates a new key with the same scopes and lets the old key expire after `gracePeriodMinutes` (default 1,440). Both keys work during the grace period, and the new key shares the old key's idempotency scope, so retries replay. The new `secret` is shown once. - [List webhook endpoints](https://docs-provider.voucher.allride.io/api-reference/partner-webhook-endpoints-list.md): Lists endpoints; deleted ones only with a `status` filter. - [Create a webhook endpoint](https://docs-provider.voucher.allride.io/api-reference/partner-webhook-endpoints-create.md): Registers an https endpoint (port 443 or 8443) for up to 30 event types and returns both signing secrets once. At most 10 endpoints. See [Webhooks](/webhooks/overview). - [Get a webhook endpoint](https://docs-provider.voucher.allride.io/api-reference/partner-webhook-endpoints-get.md): Returns one endpoint without secrets. - [Update a webhook endpoint](https://docs-provider.voucher.allride.io/api-reference/partner-webhook-endpoints-update.md): Changes `url`, `description` or `eventTypes` (replaced whole). A URL or type change is emailed to your owners and technical contact. - [Pause a webhook endpoint](https://docs-provider.voucher.allride.io/api-reference/partner-webhook-endpoints-pause.md): Pauses deliveries. Events while paused are stored as `FAILED` deliveries with `lastErrorCode: endpoint-disabled` and can be replayed for 30 days. - [Resume a webhook endpoint](https://docs-provider.voucher.allride.io/api-reference/partner-webhook-endpoints-resume.md): Resumes a paused endpoint. - [Rotate the first signing secret](https://docs-provider.voucher.allride.io/api-reference/partner-webhook-endpoints-rotate-first-secret.md): Replaces the first secret and returns it once; the second secret keeps verifying `s2`. See [Verifying signatures](/webhooks/verify-signatures). - [Rotate the second signing secret](https://docs-provider.voucher.allride.io/api-reference/partner-webhook-endpoints-rotate-second-secret.md): Replaces the second secret and returns it once; the first secret keeps verifying `s1`. - [Send a test event](https://docs-provider.voucher.allride.io/api-reference/partner-webhook-endpoints-send-test-event.md): Sends a `webhook-endpoint-test` event to an active endpoint, even if it is not subscribed to that type. The event is stored first and appears in the delivery log at once as `PENDING`; answers 202 with its `webhookDeliveryId`. - [Delete a webhook endpoint](https://docs-provider.voucher.allride.io/api-reference/partner-webhook-endpoints-delete.md): Deletes the endpoint (terminal). Its deliveries stay readable for 30 days; a second DELETE returns 204. - [List webhook event types](https://docs-provider.voucher.allride.io/api-reference/partner-webhook-event-types-list.md): Lists the webhook types your roles can subscribe to. `perPage=100` returns the full list. - [Replay failed deliveries](https://docs-provider.voucher.allride.io/api-reference/partner-webhook-endpoints-replay-failed.md): Re-queues every stored event of the window `[since, until)` whose delivery to this endpoint is `FAILED`, oldest first, at most 10,000 per call (`truncated` and `nextSince` tell you to continue); each goes back to `PENDING` with the same `event.id`. Runs in the background; follow the log with `filter… - [List webhook deliveries](https://docs-provider.voucher.allride.io/api-reference/partner-webhook-deliveries-list.md): Lists the stored webhook events of the last 30 days, one entry per event and endpoint, with `status` (`PENDING`, `DELIVERED`, `FAILED`) and the attempts (status code, response excerpt, time). An event appears as `PENDING` as soon as it is stored, before the first send. Payloads are masked. - [Get a webhook delivery](https://docs-provider.voucher.allride.io/api-reference/partner-webhook-deliveries-get.md): Returns one delivery: the stored event (masked payload), its status and every attempt with signature header, status code, the first 4 KiB of your response and time. - [Replay a webhook delivery](https://docs-provider.voucher.allride.io/api-reference/partner-webhook-deliveries-replay.md): Re-sends the same stored event (same body and `event.id`, fresh `t` and signatures) to an active endpoint. The delivery goes back to `PENDING` and its new attempts are added with `trigger: replay`. Events older than 30 days cannot be replayed. - [List IP allowlist entries](https://docs-provider.voucher.allride.io/api-reference/partner-ip-allowlist-list.md): Lists the CIDR blocks allowed to call the API (at most 100). - [Add an IP allowlist entry](https://docs-provider.voucher.allride.io/api-reference/partner-ip-allowlist-create.md): Adds a public IPv4 (prefix ≥ /8) or IPv6 (≥ /32) CIDR block. Effective within 60 seconds. See [IP allowlist](/guides/ip-allowlist). - [Relabel an IP allowlist entry](https://docs-provider.voucher.allride.io/api-reference/partner-ip-allowlist-update.md): Changes the label. To change the CIDR, delete and add the entry. - [Remove an IP allowlist entry](https://docs-provider.voucher.allride.io/api-reference/partner-ip-allowlist-delete.md): Removes an entry. The last entry cannot be removed while enforcement is on, and a removal must not lock out the calling user. - [Get the workspace branding](https://docs-provider.voucher.allride.io/api-reference/partner-workspace-branding-get.md): Returns your dashboard theme. Any member and any API key may read it. - [Replace the workspace branding](https://docs-provider.voucher.allride.io/api-reference/partner-workspace-branding-replace.md): Replaces the dashboard theme; no approval needed. Text is checked against the [content rules](/provider/content-rules) and refused with 422 `content-blocked`; text and button colours need a 4.5:1 contrast. Answers 201 on the first save, then 200. - [List brand assets](https://docs-provider.voucher.allride.io/api-reference/partner-brand-assets-list.md): Lists your partner's brand assets. Deleted assets are left out unless you filter by `status`. - [Create a brand asset](https://docs-provider.voucher.allride.io/api-reference/partner-brand-assets-create.md): Creates an asset in `pending-upload` and returns a signed `uploadTarget` valid for 1 hour. PUT the image to `uploadTarget.url` with exactly the given headers, then call `:complete`. PNG, JPEG or WebP; at most 2 MiB (hero 5 MiB). At most 500 counted assets per partner. - [Get a brand asset](https://docs-provider.voucher.allride.io/api-reference/partner-brand-assets-get.md): Returns one asset. While it is `pending-upload`, `uploadTarget` is re-signed for its remaining validity; poll this operation until `status` is `ready` or `rejected`. - [Complete a brand asset upload](https://docs-provider.voucher.allride.io/api-reference/partner-brand-assets-complete.md): Checks that the file exists and has the declared size, then moves the asset to `processing`. Processing verifies the SHA-256, the dimensions (logo and icon ≤ 2048 × 2048, hero ≤ 4096 × 4096, at least 32 × 32), re-encodes the image and strips metadata; the asset then becomes `ready` or `rejected`. - [Delete a brand asset](https://docs-provider.voucher.allride.io/api-reference/partner-brand-assets-delete.md): Soft-deletes the asset (`status: deleted`). An asset still referenced by live or draft content or by an open change request cannot be deleted; the error's `references` member tells you where. Deleting a deleted asset again returns 204. - [List SSO connections](https://docs-provider.voucher.allride.io/api-reference/partner-sso-connections-list.md): Lists single sign-on connections. - [Create an SSO connection](https://docs-provider.voucher.allride.io/api-reference/partner-sso-connections-create.md): Creates a SAML or OIDC connection in `draft` and returns the TXT records to publish and the values to configure in your identity provider. - [Get an SSO connection](https://docs-provider.voucher.allride.io/api-reference/partner-sso-connections-get.md): Returns one connection. - [Update an SSO connection](https://docs-provider.voucher.allride.io/api-reference/partner-sso-connections-update.md): Changes the connection; new email domains start unverified. - [Activate an SSO connection](https://docs-provider.voucher.allride.io/api-reference/partner-sso-connections-activate.md): Activates a `testing` or `disabled` connection with at least one verified domain. - [Deactivate an SSO connection](https://docs-provider.voucher.allride.io/api-reference/partner-sso-connections-deactivate.md): Disables the connection; enforcement stops. - [Verify SSO email domains](https://docs-provider.voucher.allride.io/api-reference/partner-sso-connections-verify.md): Checks the TXT records of unverified domains; with at least one verified domain a `draft` connection moves to `testing`. - [List audit events](https://docs-provider.voucher.allride.io/api-reference/partner-audit-events-list.md): Lists audit events of your partner; without `filter[createdAt][gte]` the last 90 days. Windows longer than 24 months are refused. See [Audit log](/workspace/audit-log). - [Get an audit event](https://docs-provider.voucher.allride.io/api-reference/partner-audit-events-get.md): Returns one audit event. - [change-request-approved](https://docs-provider.voucher.allride.io/webhooks/events/change-request-approved.md): AllRide approved one of your change requests; the content is live as a new revision. - [change-request-rejected](https://docs-provider.voucher.allride.io/webhooks/events/change-request-rejected.md): AllRide rejected one of your change requests; `decisionReason` explains why. - [redemption-created](https://docs-provider.voucher.allride.io/webhooks/events/redemption-created.md): One of your vouchers was redeemed by a consumer. - [redemption-voided](https://docs-provider.voucher.allride.io/webhooks/events/redemption-voided.md): A consumer voided a redemption of one of your vouchers. - [voucher-set-activated](https://docs-provider.voucher.allride.io/webhooks/events/voucher-set-activated.md): A voucher set became active, through activate now or when its scheduled activeFrom was reached. - [voucher-set-deactivated](https://docs-provider.voucher.allride.io/webhooks/events/voucher-set-deactivated.md): A voucher set became inactive, through deactivate now or when its deactivateAt was reached. - [voucher-set-suspended](https://docs-provider.voucher.allride.io/webhooks/events/voucher-set-suspended.md): AllRide suspended a voucher set; `suspensionReason` says why. - [voucher-set-stock-threshold-reached](https://docs-provider.voucher.allride.io/webhooks/events/voucher-set-stock-threshold-reached.md): Usage of a voucher set crossed one or more of the thresholds of its stock alert rule. - [voucher-set-depleted](https://docs-provider.voucher.allride.io/webhooks/events/voucher-set-depleted.md): A voucher set has no remaining redemptions. - [voucher-upload-completed](https://docs-provider.voucher.allride.io/webhooks/events/voucher-upload-completed.md): A voucher upload finished importing. - [voucher-upload-failed](https://docs-provider.voucher.allride.io/webhooks/events/voucher-upload-failed.md): A voucher upload failed; `failureReason` says why. - [webhook-endpoint-test](https://docs-provider.voucher.allride.io/webhooks/events/webhook-endpoint-test.md): Sent by Send a test event. ## OpenAPI Specs - [provider.v1](/openapi/provider.v1.json) This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.