Checklist
Account and access- Your production consumer partner exists and its API access is
active(GET /partner/v1/api-accessshows"status": "active"). - A production
vk_live_key exists for each system that calls the API, with the minimum scopes it needs, stored in a secret manager and never in code or logs (API keys, Permissions and scopes). - You have a plan to rotate keys with
:rollbefore they expire. - Your technical contact (
contacts.technicalEmailon the partner record) is current: key expiry warnings and deprecation notices go there.
- Your outbound IPv4 and IPv6 ranges are on the IP allowlist and enforcement is on (IP allowlist).
- Your client calls the API only over
https://with TLS 1.2 or newer and validates the server certificate against your system trust store, without pinning it (Network and IP addresses). - Your outbound firewall (if any) allows the API by hostname, not by IP address: the API hosts are served through Cloudflare and have no static inbound addresses (Network and IP addresses).
- All four of AllRide’s egress addresses, including the two disaster-recovery addresses, are allowed by the firewall in front of your webhook receiver (and your SMTP server, if you use email OTP links) (Network and IP addresses).
- A production webhook endpoint is registered for the event types you handle (Webhooks).
- Your receiver verifies
x-signing-signatureagainst either of your two secrets, over the raw body, and rejects old timestamps (Verifying signatures). - Your handlers are idempotent: deliveries can repeat and arrive out of order.
- Your receiver answers
2xxwithin 15 seconds and does the work afterwards.
- Every POST sends an
Idempotency-Key, and retries reuse the key of the same intent (Idempotency). - Your retry policy follows the errors guide: retry 5xx, network errors and the retryable conflicts with the same key, and an edge
429afterRetry-After; never retry other 4xx without changing the request. - Your client ignores unknown fields and treats enums as open sets (Versioning and deprecation).
- Your JSON parser handles ids and counters above 2^53 (Requests and responses).
- You log the
X-Request-Idof failed calls so that support can trace them.
- The Price Terms of the voucher sets you offer are accepted in the production consumer dashboard (Prices and price acceptance).
- Your Provider Toggles and Voucher Set Toggles are set (Catalog and toggles).
- Your billing account, billing contacts and payment method are complete (Billing).
- If you use Redemption Links: Workspace Branding with
landing.privacyUrlandlanding.imprintUrlset (required before you can create links;landing.termsUrlis optional, see Landing pages), an active custom domain if you want one, and for email OTP links a verified SMTP configuration with an active template.
-
contacts.technicalEmailon your partner is a monitored mailbox (deprecation, network and sandbox notices go there).