Creates a payment method in setup-pending and a Stripe SetupIntent. No request body. Load Stripe.js with publishableKey, collect the IBAN in Stripe’s IBAN Element together with the account holder’s name and email, show the SEPA mandate text naming creditor, and confirm with stripe.confirmSepaDebitSetup(clientSecret, …). The IBAN goes to Stripe only. The method stays setup-pending until Stripe confirms the mandate, then it is active and the default; poll it. You have one SEPA mandate at a time: starting a setup removes any other unfinished setup (its SetupIntent is canceled), and once the new mandate is active it replaces your previous one (removed, deactivatedReasonClass: replaced). Until then the previous mandate keeps collecting; if the new setup fails, it stays. AllRide decides whether you pay by SEPA Direct Debit or by bank transfer: while the billing account’s preferredPaymentMethodType is bank-transfer this answers 409 sepa-not-enabled. Dashboard only (the consumer dashboard’s Billing › Payment method page, https://consumer.voucher.allride.io/go/billing-payment-method); needs a recent sign-in. Allowed while your partner is suspended. A replay with the same Idempotency-Key returns clientSecret: null and creates no second SetupIntent. See SEPA Direct Debit mandate.
Required permissions:manage-consumer-billing · API keys: not allowed · Recent sign-in: required for dashboard users (15 minutes)
Optional key (1-255 printable ASCII characters, no spaces; a UUID is ideal) that makes this POST safe to retry: the same key with the same request replays the stored response for 24 hours. See Idempotency.
Result of starting a SEPA Direct Debit setup: confirm it with Stripe.js.
Show child attributes
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"AllRide Vouchers — Consumer API","colors":{"primary":"#0A0A0A","light":"#FAFAFA","dark":"#0A0A0A"},"logo":{"light":"https://mintcdn.com/allride-voucher-consumer/9vqpJaAUcuaHTUy2/logo/light.svg?fit=max\u0026auto=format\u0026n=9vqpJaAUcuaHTUy2\u0026q=85\u0026s=92f0ea94edcefc1febba871b5ead8cdd","dark":"https://mintcdn.com/allride-voucher-consumer/9vqpJaAUcuaHTUy2/logo/dark.svg?fit=max\u0026auto=format\u0026n=9vqpJaAUcuaHTUy2\u0026q=85\u0026s=c5e31c42ccee8249e8a321e4a1064b5d","href":"https://docs-consumer.voucher.allride.io"},"favicon":"https://mintcdn.com/allride-voucher-consumer/9vqpJaAUcuaHTUy2/favicon.svg?fit=max\u0026auto=format\u0026n=9vqpJaAUcuaHTUy2\u0026q=85\u0026s=7a8b0fcba322123aacae3e4c870276d3","api":{"playground":{"display":"interactive","proxy":true},"examples":{"defaults":"required","languages":["curl","javascript","python","java","go","php"]}},"navbar":{"links":[{"href":"https://consumer-developers.voucher-staging.allride.io/go/overview","label":"Sandbox dashboard"},{"href":"https://allride.io","label":"Support"}],"primary":{"type":"button","label":"Developer dashboard","href":"https://consumer-developers.voucher.allride.io/go/api-keys"}},"footer":{"links":[{"header":"AllRide","items":[{"label":"Imprint","href":"https://www.allride.io/impressum"},{"label":"Privacy","href":"https://www.allride.io/datenschutz"}]}]},"seo":{"indexing":"navigable"},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"allride-voucher-consumer","hasAudioNarration":false,"actualSubdomain":"allride-voucher-consumer","customDomains":[],"gitSource":{"type":"github","owner":"allride-mobility","repo":"allridevoucherpartnerconsumerapidocs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":"","_id":"6adf634194b1979157fe3cae"},"chroma":{"latestBuiltDeploymentHistoryId":"6ae9bdb007405bf5d5959ed9","collectionId":"b9f9a568-3bc7-4868-ba2c-e500f0d532c1","liveDeploymentHistoryId":"6ae9bdb007405bf5d5959ed9","schemaVersion":"v3"},"entitlements":{},"buildId":"6ae9c317bf4ef845262b05b7","clientVersion":"0.0.4045","searchFilterCounts":[{"language":"default","tag":"API reference","count":141},{"language":"default","tag":"Consumer API","count":72},{"language":"default","tag":"Workspace API","count":69},{"language":"default","tag":"Guides","count":34},{"language":"default","tag":"Webhook events","count":24},{"language":"default","tag":"Billing","count":20},{"language":"default","tag":"Catalog","count":15},{"language":"default","tag":"Email (SMTP and templates)","count":15},{"language":"default","tag":"Webhook endpoints","count":12},{"language":"default","tag":"Consumer guides","count":10}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"html:not(.dark) .method-nav-pill .text-green-700{color:#14532d}html:not(.dark) .method-nav-pill .text-blue-700{color:#1e3a8a}html:not(.dark) .method-nav-pill .text-red-700{color:#7f1d1d}html:not(.dark) .method-nav-pill .text-orange-700{color:#7c2d12}html:not(.dark) .method-nav-pill .text-yellow-700{color:#713f12}html:not(.dark) .method-nav-pill .text-purple-700{color:#581c87}html:not(.dark) [data-component-part=field-required-pill]{color:#991b1b}"}],"page":{"pagePath":"api-reference/consumer-billing-payment-methods-setup-sepa-debit","slug":"/api-reference/consumer-billing-payment-methods-setup-sepa-debit","pageMetadata":{"title":"Start a SEPA Direct Debit mandate setup","description":"Creates a payment method in `setup-pending` and a Stripe SetupIntent. No request body. Load Stripe.js with `publishableKey`, collect the IBAN in Stripe's IBAN Element together with the account holder's name and email, show the SEPA mandate text naming `creditor`, and confirm with `stripe.confirmSepaDebitSetup(clientSecret, …)`. The IBAN goes to Stripe only. The method stays `setup-pending` until Stripe confirms the mandate, then it is `active` and the default; poll it. You have one SEPA mandate at a time: starting a setup removes any other unfinished setup (its SetupIntent is canceled), and once the new mandate is `active` it replaces your previous one (`removed`, `deactivatedReasonClass: replaced`). Until then the previous mandate keeps collecting; if the new setup fails, it stays. AllRide decides whether you pay by SEPA Direct Debit or by bank transfer: while the billing account's `preferredPaymentMethodType` is `bank-transfer` this answers `409 sepa-not-enabled`. Dashboard only (the consumer dashboard's Billing › Payment method page, https://consumer.voucher.allride.io/go/billing-payment-method); needs a recent sign-in. Allowed while your partner is suspended. A replay with the same `Idempotency-Key` returns `clientSecret: null` and creates no second SetupIntent. See [SEPA Direct Debit mandate](/consumer/billing#sepa-direct-debit-mandate).\n\n**Required permissions:** `manage-consumer-billing` · **API keys:** not allowed · **Recent sign-in:** required for dashboard users (15 minutes)","deprecated":null,"version":null,"sidebarTitle":"Consumer billing payment methods setup sepa debit","openapi":"/openapi/consumer.v1.json post /consumer/v1/billing/payment-methods:setup-sepa-debit","href":"/api-reference/consumer-billing-payment-methods-setup-sepa-debit","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n a: \"a\",\n code: \"code\",\n p: \"p\",\n strong: \"strong\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsxs(_components.p, {\n children: [\"Creates a payment method in \", _jsx(_components.code, {\n children: \"setup-pending\"\n }), \" and a Stripe SetupIntent. No request body. Load Stripe.js with \", _jsx(_components.code, {\n children: \"publishableKey\"\n }), \", collect the IBAN in Stripe’s IBAN Element together with the account holder’s name and email, show the SEPA mandate text naming \", _jsx(_components.code, {\n children: \"creditor\"\n }), \", and confirm with \", _jsx(_components.code, {\n children: \"stripe.confirmSepaDebitSetup(clientSecret, …)\"\n }), \". The IBAN goes to Stripe only. The method stays \", _jsx(_components.code, {\n children: \"setup-pending\"\n }), \" until Stripe confirms the mandate, then it is \", _jsx(_components.code, {\n children: \"active\"\n }), \" and the default; poll it. You have one SEPA mandate at a time: starting a setup removes any other unfinished setup (its SetupIntent is canceled), and once the new mandate is \", _jsx(_components.code, {\n children: \"active\"\n }), \" it replaces your previous one (\", _jsx(_components.code, {\n children: \"removed\"\n }), \", \", _jsx(_components.code, {\n children: \"deactivatedReasonClass: replaced\"\n }), \"). Until then the previous mandate keeps collecting; if the new setup fails, it stays. AllRide decides whether you pay by SEPA Direct Debit or by bank transfer: while the billing account’s \", _jsx(_components.code, {\n children: \"preferredPaymentMethodType\"\n }), \" is \", _jsx(_components.code, {\n children: \"bank-transfer\"\n }), \" this answers \", _jsx(_components.code, {\n children: \"409 sepa-not-enabled\"\n }), \". Dashboard only (the consumer dashboard’s Billing › Payment method page, \", _jsx(_components.a, {\n href: \"https://consumer.voucher.allride.io/go/billing-payment-method\",\n children: \"https://consumer.voucher.allride.io/go/billing-payment-method\"\n }), \"); needs a recent sign-in. Allowed while your partner is suspended. A replay with the same \", _jsx(_components.code, {\n children: \"Idempotency-Key\"\n }), \" returns \", _jsx(_components.code, {\n children: \"clientSecret: null\"\n }), \" and creates no second SetupIntent. See \", _jsx(_components.a, {\n href: \"/consumer/billing#sepa-direct-debit-mandate\",\n children: \"SEPA Direct Debit mandate\"\n }), \".\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"Required permissions:\"\n }), \" \", _jsx(_components.code, {\n children: \"manage-consumer-billing\"\n }), \" · \", _jsx(_components.strong, {\n children: \"API keys:\"\n }), \" not allowed · \", _jsx(_components.strong, {\n children: \"Recent sign-in:\"\n }), \" required for dashboard users (15 minutes)\"]\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const{Note}={..._provideComponents(),...props.components};if(!Note)_missingMdxReference(`Note`,true);return _jsx(Note,{children:`Dashboard session only. API keys cannot call this operation.`})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Start a SEPA Direct Debit mandate setup","description":"Creates a payment method in `setup-pending` and a Stripe SetupIntent. No request body. Load Stripe.js with `publishableKey`, collect the IBAN in Stripe's IBAN Element together with the account holder's name and email, show the SEPA mandate text naming `creditor`, and confirm with `stripe.confirmSepaDebitSetup(clientSecret, …)`. The IBAN goes to Stripe only. The method stays `setup-pending` until Stripe confirms the mandate, then it is `active` and the default; poll it. You have one SEPA mandate at a time: starting a setup removes any other unfinished setup (its SetupIntent is canceled), and once the new mandate is `active` it replaces your previous one (`removed`, `deactivatedReasonClass: replaced`). Until then the previous mandate keeps collecting; if the new setup fails, it stays. AllRide decides whether you pay by SEPA Direct Debit or by bank transfer: while the billing account's `preferredPaymentMethodType` is `bank-transfer` this answers `409 sepa-not-enabled`. Dashboard only (the consumer dashboard's Billing › Payment method page, https://consumer.voucher.allride.io/go/billing-payment-method); needs a recent sign-in. Allowed while your partner is suspended. A replay with the same `Idempotency-Key` returns `clientSecret: null` and creates no second SetupIntent. See [SEPA Direct Debit mandate](/consumer/billing#sepa-direct-debit-mandate).\n\n**Required permissions:** `manage-consumer-billing` · **API keys:** not allowed · **Recent sign-in:** required for dashboard users (15 minutes)","deprecated":null,"version":null,"sidebarTitle":"Consumer billing payment methods setup sepa debit","openapi":"/openapi/consumer.v1.json post /consumer/v1/billing/payment-methods:setup-sepa-debit","href":"/api-reference/consumer-billing-payment-methods-setup-sepa-debit","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"consumer.billing-payment-methods.setup-sepa-debit","summary":"Start a SEPA Direct Debit mandate setup","description":"Creates a payment method in `setup-pending` and a Stripe SetupIntent. No request body. Load Stripe.js with `publishableKey`, collect the IBAN in Stripe's IBAN Element together with the account holder's name and email, show the SEPA mandate text naming `creditor`, and confirm with `stripe.confirmSepaDebitSetup(clientSecret, …)`. The IBAN goes to Stripe only. The method stays `setup-pending` until Stripe confirms the mandate, then it is `active` and the default; poll it. You have one SEPA mandate at a time: starting a setup removes any other unfinished setup (its SetupIntent is canceled), and once the new mandate is `active` it replaces your previous one (`removed`, `deactivatedReasonClass: replaced`). Until then the previous mandate keeps collecting; if the new setup fails, it stays. AllRide decides whether you pay by SEPA Direct Debit or by bank transfer: while the billing account's `preferredPaymentMethodType` is `bank-transfer` this answers `409 sepa-not-enabled`. Dashboard only (the consumer dashboard's Billing › Payment method page, https://consumer.voucher.allride.io/go/billing-payment-method); needs a recent sign-in. Allowed while your partner is suspended. A replay with the same `Idempotency-Key` returns `clientSecret: null` and creates no second SetupIntent. See [SEPA Direct Debit mandate](/consumer/billing#sepa-direct-debit-mandate).\n\n**Required permissions:** `manage-consumer-billing` · **API keys:** not allowed · **Recent sign-in:** required for dashboard users (15 minutes)","tags":["Billing"],"parameters":["0912200b-475d-4545-9a2a-aba892387bc1"],"responses":{"201":"47b5f522-fc40-4c10-9304-53b032319fb8","400":"92fb06e4-bab9-48ea-b32f-69be29011cb4","401":"8cf00882-5d7b-4dd0-a80c-59ff45ccb2f2","403":"836aad04-8a44-4315-8489-9247be313768","404":"a433da5b-96c4-4dd7-9057-2a767d1f6ade","409":"0aa89923-9ceb-4dc1-a2a2-0b992deb1abd","422":"154298a6-1169-407f-9678-332dfc7bcbaf","500":"676e1646-e359-4804-be3b-5746d38fe9a1","503":"92ccb344-0679-4166-b4f5-6f1af6ba172d"},"x-permissions":["manage-consumer-billing"],"x-audience":"consumer","x-api-key-callable":false,"x-mint":{"href":"/api-reference/consumer-billing-payment-methods-setup-sepa-debit","content":"\u003cNote>Dashboard session only. API keys cannot call this operation.\u003c/Note>"},"x-recent-auth":true,"method":"post","type":"path","servers":["194c8b4a-ee81-4799-8d91-168cc798538c"],"security":["e665e8eb-c733-4f11-acb6-1852122ca357"],"path":"/consumer/v1/billing/payment-methods:setup-sepa-debit","baseUrlOptions":["https://api.voucher-staging.allride.io"],"title":"Start a SEPA Direct Debit mandate setup","codeSamples":[],"requestExampleLanguages":["bash","javascript","python","java","go","php"],"requiredOnlyExamples":true,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"0912200b-475d-4545-9a2a-aba892387bc1":{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional key (1-255 printable ASCII characters, no spaces; a UUID is ideal) that makes this POST safe to retry: the same key with the same request replays the stored response for 24 hours. See [Idempotency](/guides/idempotency).","schema":{"type":"string","minLength":1,"maxLength":255,"pattern":"^[\\x21-\\x7E]{1,255}$","isRequired":false,"description":"Optional key (1-255 printable ASCII characters, no spaces; a UUID is ideal) that makes this POST safe to retry: the same key with the same request replays the stored response for 24 hours. See [Idempotency](/guides/idempotency).","uniqueKey":"","typeLabel":"string"},"example":"order-8812:line-1"}},"responses":{"47b5f522-fc40-4c10-9304-53b032319fb8":{"description":"Created","headers":{"X-Request-Id":{"description":"Request id (yours if you sent a valid `X-Request-Id`, else generated).","schema":{"type":"string"}},"Location":{"description":"Absolute URL of the created resource or the job to poll.","schema":{"type":"string","format":"uri"}},"Idempotent-Replayed":{"description":"`true` when this response is a replay of a stored response for the same `Idempotency-Key`.","schema":{"type":"string","enum":["true"]}},"Idempotent-Replay-Redacted":{"description":"`true` on a replay whose show-once values were removed (set to `null`).","schema":{"type":"string","enum":["true"]}}},"content":{"application/json":{"schema":{"type":"object","description":"Single-object envelope around a `SepaDebitSetup`.","properties":{"data":{"type":"object","description":"Result of starting a SEPA Direct Debit setup: confirm it with Stripe.js.","properties":{"paymentMethod":{"type":"object","description":"The new payment method in `setup-pending`.","properties":{"id":{"type":"integer","format":"uint64","minimum":0,"maximum":18446744073709552000,"x-bigint":true,"description":"Numeric id of the resource, unique per resource type.","isRequired":true,"uniqueKey":"data.paymentMethod.id","typeLabel":"integer\u003cuint64>"},"resource":{"type":"string","enum":["payment-method"],"description":"Always `payment-method`.","isRequired":true,"uniqueKey":"data.paymentMethod.resource","typeLabel":"enum\u003cstring>"},"type":{"type":"string","enum":["sepa-debit"],"description":"Payment method type (SEPA Direct Debit only in v1). Treat as an open set: new values may be added.","isRequired":true,"uniqueKey":"data.paymentMethod.type","typeLabel":"enum\u003cstring>"},"status":{"type":"string","enum":["setup-pending","active","inactive","removed","setup-failed"],"description":"`setup-pending` until the payment provider confirms the mandate, then `active`; `inactive` after a revocation or hard failure; `setup-failed` when the setup failed or was not confirmed within 24 hours; `removed` after a removal or when a newer mandate replaced it. You have at most one `active` and one `setup-pending` mandate. Treat as an open set: new values may be added.","isRequired":true,"uniqueKey":"data.paymentMethod.status","typeLabel":"enum\u003cstring>"},"isDefault":{"type":"boolean","description":"Whether this is the default method for collecting invoices.","isRequired":true,"uniqueKey":"data.paymentMethod.isDefault","typeLabel":"boolean"},"mandateReference":{"oneOf":[{"type":"string","maxLength":35,"description":"SEPA mandate reference, printed in pre-notifications.","isRequired":true,"uniqueKey":"data.paymentMethod.mandateReference.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":35,"description":"SEPA mandate reference, printed in pre-notifications.","isRequired":true,"uniqueKey":"data.paymentMethod.mandateReference.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.paymentMethod.mandateReference","typeLabel":"string | null"},"ibanLast4":{"oneOf":[{"type":"string","minLength":4,"maxLength":4,"description":"Last 4 characters of the IBAN. AllRide never receives the full IBAN.","isRequired":true,"uniqueKey":"data.paymentMethod.ibanLast4.oneOf.0","typeLabel":"string"},{"type":"null","minLength":4,"maxLength":4,"description":"Last 4 characters of the IBAN. AllRide never receives the full IBAN.","isRequired":true,"uniqueKey":"data.paymentMethod.ibanLast4.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.paymentMethod.ibanLast4","typeLabel":"string | null"},"bankCode":{"oneOf":[{"type":"string","description":"Bank code.","isRequired":true,"uniqueKey":"data.paymentMethod.bankCode.oneOf.0","typeLabel":"string"},{"type":"null","description":"Bank code.","isRequired":true,"uniqueKey":"data.paymentMethod.bankCode.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.paymentMethod.bankCode","typeLabel":"string | null"},"bankCountry":{"oneOf":[{"type":"string","description":"Country of the bank (ISO 3166-1 alpha-2).","isRequired":true,"uniqueKey":"data.paymentMethod.bankCountry.oneOf.0","typeLabel":"string"},{"type":"null","description":"Country of the bank (ISO 3166-1 alpha-2).","isRequired":true,"uniqueKey":"data.paymentMethod.bankCountry.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.paymentMethod.bankCountry","typeLabel":"string | null"},"acceptedAt":{"oneOf":[{"type":"string","description":"When the mandate was accepted.","format":"date-time","example":"2026-11-01T00:00:00Z","isRequired":true,"uniqueKey":"data.paymentMethod.acceptedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","description":"When the mandate was accepted.","isRequired":true,"uniqueKey":"data.paymentMethod.acceptedAt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.paymentMethod.acceptedAt","typeLabel":"string\u003cdate-time> | null"},"setupExpiresAt":{"oneOf":[{"type":"string","description":"Until when a `setup-pending` mandate may be confirmed (24 hours); later it is `setup-failed`.","format":"date-time","example":"2026-11-01T00:00:00Z","isRequired":true,"uniqueKey":"data.paymentMethod.setupExpiresAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","description":"Until when a `setup-pending` mandate may be confirmed (24 hours); later it is `setup-failed`.","isRequired":true,"uniqueKey":"data.paymentMethod.setupExpiresAt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.paymentMethod.setupExpiresAt","typeLabel":"string\u003cdate-time> | null"},"deactivatedReasonClass":{"oneOf":[{"type":"string","enum":["revoked","account-closed","bank-rejected","removed-by-consumer","replaced","other",null],"description":"Why the method stopped being usable (`replaced`: a newer mandate took its place). Treat as an open set: new values may be added.","isRequired":true,"uniqueKey":"data.paymentMethod.deactivatedReasonClass.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["revoked","account-closed","bank-rejected","removed-by-consumer","replaced","other",null],"description":"Why the method stopped being usable (`replaced`: a newer mandate took its place). Treat as an open set: new values may be added.","isRequired":true,"uniqueKey":"data.paymentMethod.deactivatedReasonClass.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.paymentMethod.deactivatedReasonClass","typeLabel":"enum\u003cstring> | null"},"createdAt":{"type":"string","format":"date-time","description":"Creation time.","example":"2026-11-01T00:00:00Z","isRequired":true,"uniqueKey":"data.paymentMethod.createdAt","typeLabel":"string\u003cdate-time>"},"updatedAt":{"type":"string","format":"date-time","description":"Last change.","example":"2026-11-01T00:00:00Z","isRequired":true,"uniqueKey":"data.paymentMethod.updatedAt","typeLabel":"string\u003cdate-time>"},"_links":{"type":"object","description":"Related resources you may follow (HAL style). A link is present only when you hold the target's permissions.","properties":{"self":{"type":"object","description":"This resource.","properties":{"href":{"type":"string","format":"uri","description":"Absolute URL.","isRequired":true,"uniqueKey":"data.paymentMethod._links.self.href","typeLabel":"string\u003curi>"},"type":{"type":"string","description":"Media type of the target, usually `application/json`.","isRequired":true,"uniqueKey":"data.paymentMethod._links.self.type","typeLabel":"string"}},"required":["href","type"],"additionalProperties":false,"isRequired":true,"uniqueKey":"data.paymentMethod._links.self","typeLabel":"object"}},"required":["self"],"additionalProperties":false,"isRequired":true,"uniqueKey":"data.paymentMethod._links","typeLabel":"object"}},"required":["id","resource","type","status","isDefault","mandateReference","ibanLast4","bankCode","bankCountry","acceptedAt","setupExpiresAt","deactivatedReasonClass","createdAt","updatedAt","_links"],"additionalProperties":false,"isRequired":true,"uniqueKey":"data.paymentMethod","typeLabel":"object"},"clientSecret":{"oneOf":[{"type":"string","readOnly":true,"description":"The SetupIntent's client secret for Stripe.js `confirmSepaDebitSetup`. Shown once: `null` on idempotent replays, which carry `Idempotent-Replay-Redacted: true`.","isRequired":true,"uniqueKey":"data.clientSecret.oneOf.0","typeLabel":"string"},{"type":"null","readOnly":true,"description":"The SetupIntent's client secret for Stripe.js `confirmSepaDebitSetup`. Shown once: `null` on idempotent replays, which carry `Idempotent-Replay-Redacted: true`.","isRequired":true,"uniqueKey":"data.clientSecret.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.clientSecret","typeLabel":"string | null"},"publishableKey":{"type":"string","description":"The publishable key to load Stripe.js with (`loadStripe`).","isRequired":true,"uniqueKey":"data.publishableKey","typeLabel":"string"},"creditor":{"oneOf":[{"type":"object","description":"The creditor the mandate text names; `null` while AllRide has no issuer profile.","required":["name","creditorId"],"properties":{"name":{"type":"string","description":"AllRide's legal name as SEPA creditor.","isRequired":true,"uniqueKey":"data.creditor.oneOf.0.name","typeLabel":"string"},"creditorId":{"type":"string","description":"AllRide's SEPA creditor identifier, for the mandate text.","isRequired":true,"uniqueKey":"data.creditor.oneOf.0.creditorId","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"data.creditor.oneOf.0","typeLabel":"object"},{"type":"null","description":"The creditor the mandate text names; `null` while AllRide has no issuer profile.","isRequired":true,"uniqueKey":"data.creditor.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.creditor","typeLabel":"object | null"}},"required":["paymentMethod","clientSecret","publishableKey","creditor"],"additionalProperties":false,"isRequired":true,"uniqueKey":"data","typeLabel":"object"}},"required":["data"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"default":{"title":"default","value":{"data":{"paymentMethod":{"id":42018,"resource":"payment-method","type":"sepa-debit","status":"setup-pending","isDefault":false,"mandateReference":null,"ibanLast4":null,"bankCode":null,"bankCountry":null,"acceptedAt":null,"setupExpiresAt":"2026-11-03T10:05:00Z","deactivatedReasonClass":null,"createdAt":"2026-11-02T10:05:00Z","updatedAt":"2026-11-02T10:05:00Z","_links":{"self":{"href":"https://api.voucher.allride.io/consumer/v1/billing/payment-methods/42018","type":"application/json"}}},"clientSecret":"seti_example_secret_example","publishableKey":"pk_test_example","creditor":{"name":"AllRide GmbH","creditorId":"DE00ZZZ00000000000"}}}}},"exampleType":"examples"}},"exampleType":"examples"},"92fb06e4-bab9-48ea-b32f-69be29011cb4":{"description":"Bad Request","x-error-codes":["invalid-header","invalid-idempotency-key","data-failed-validation"],"headers":{"X-Request-Id":{"description":"Request id (yours if you sent a valid `X-Request-Id`, else generated).","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","description":"Error body of every 4xx and 5xx response (`Content-Type: application/json`).","properties":{"errors":{"type":"array","minItems":1,"items":{"type":"object","description":"One error. Branch on `errorCode`; ignore members you do not know.","properties":{"message":{"type":"string","description":"Human-readable message. For 5xx errors it is always the generic `Something went wrong on our side`.","isRequired":true,"uniqueKey":"errors.items.[INDEX].message","typeLabel":"string"},"statusCode":{"type":"integer","description":"The HTTP status.","isRequired":true,"uniqueKey":"errors.items.[INDEX].statusCode","typeLabel":"integer"},"errorCode":{"type":"string","description":"Stable kebab-case error code, listed in the error catalog.","isRequired":true,"uniqueKey":"errors.items.[INDEX].errorCode","typeLabel":"string"},"requestId":{"type":"string","description":"5xx only: the request id (also in the `X-Request-Id` header). Quote it when you contact support.","uniqueKey":"errors.items.[INDEX].requestId","typeLabel":"string"},"more":{"type":"object","additionalProperties":true,"description":"Additional details for some codes, for example `validationErrors` (array of `ValidationError`) or `requiredPermissions`. The members per code are listed in the error catalog.","properties":{"validationErrors":{"type":"array","items":{"type":"object","description":"One invalid property or parameter of a `data-failed-validation` error (also used for item failures of batch operations and content checks).","properties":{"property":{"type":"string","description":"Path of the offending property in your request body (`items[2].quantity`), or the name of the query parameter, path parameter or header.","isRequired":true,"uniqueKey":"errors.items.[INDEX].more.validationErrors.items.[INDEX].property","typeLabel":"string"},"constraint":{"type":"string","description":"The violated rule as a kebab-case item code, for example `required`, `too-long`, `invalid-id`, `unknown-field`. See the validation item codes in the error catalog.","isRequired":true,"uniqueKey":"errors.items.[INDEX].more.validationErrors.items.[INDEX].constraint","typeLabel":"string"},"message":{"type":"object","description":"Explanation per locale.","properties":{"en":{"type":"string","description":"English message.","isRequired":true,"uniqueKey":"errors.items.[INDEX].more.validationErrors.items.[INDEX].message.en","typeLabel":"string"},"de":{"type":"string","description":"German message.","uniqueKey":"errors.items.[INDEX].more.validationErrors.items.[INDEX].message.de","typeLabel":"string"}},"required":["en"],"additionalProperties":false,"isRequired":true,"uniqueKey":"errors.items.[INDEX].more.validationErrors.items.[INDEX].message","typeLabel":"object"},"params":{"type":"object","additionalProperties":true,"description":"Parameters of the constraint, for example `min` and `max` for `invalid-page` or `allowed` for `invalid-sort`.","uniqueKey":"errors.items.[INDEX].more.validationErrors.items.[INDEX].params","typeLabel":"object"},"value":{"description":"The rejected value, when it is safe to return.","uniqueKey":"errors.items.[INDEX].more.validationErrors.items.[INDEX].value","typeLabel":"any"}},"required":["property","constraint","message"],"additionalProperties":true,"uniqueKey":"errors.items.[INDEX].more.validationErrors.items.[INDEX]","typeLabel":"object"},"description":"Invalid properties or parameters.","uniqueKey":"errors.items.[INDEX].more.validationErrors","typeLabel":"object[]"}},"uniqueKey":"errors.items.[INDEX].more","typeLabel":"object"}},"required":["message","statusCode","errorCode"],"additionalProperties":true,"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"description":"The errors; in v1 always exactly one.","isRequired":true,"uniqueKey":"errors","typeLabel":"object[]"}},"required":["errors"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"invalid-header":{"title":"invalid-header","value":{"errors":[{"message":"A standard or platform header is malformed or missing; `more.validationErrors[].property` names it.","statusCode":400,"errorCode":"invalid-header"}]}},"invalid-idempotency-key":{"title":"invalid-idempotency-key","value":{"errors":[{"message":"The `Idempotency-Key` header is not 1-255 printable ASCII characters.","statusCode":400,"errorCode":"invalid-idempotency-key"}]}},"data-failed-validation":{"title":"data-failed-validation","value":{"errors":[{"message":"One or more properties or parameters are invalid; each is listed in `more.validationErrors` with its property path and violated constraint. Unknown properties and query parameters are refused as well.","statusCode":400,"errorCode":"data-failed-validation","more":{"validationErrors":[{"property":"name","constraint":"required","message":{"en":"This property is required."}}]}}]}}},"exampleType":"examples"}},"exampleType":"examples"},"8cf00882-5d7b-4dd0-a80c-59ff45ccb2f2":{"description":"Unauthorized: the credential is missing or invalid.","x-error-codes":["unauthenticated","token-invalid","token-expired","api-key-invalid"],"headers":{"X-Request-Id":{"description":"Request id (yours if you sent a valid `X-Request-Id`, else generated).","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","description":"Error body of every 4xx and 5xx response (`Content-Type: application/json`).","properties":{"errors":{"type":"array","minItems":1,"items":{"type":"object","description":"One error. Branch on `errorCode`; ignore members you do not know.","properties":{"message":{"type":"string","description":"Human-readable message. For 5xx errors it is always the generic `Something went wrong on our side`.","isRequired":true,"uniqueKey":"errors.items.[INDEX].message","typeLabel":"string"},"statusCode":{"type":"integer","description":"The HTTP status.","isRequired":true,"uniqueKey":"errors.items.[INDEX].statusCode","typeLabel":"integer"},"errorCode":{"type":"string","description":"Stable kebab-case error code, listed in the error catalog.","isRequired":true,"uniqueKey":"errors.items.[INDEX].errorCode","typeLabel":"string"},"requestId":{"type":"string","description":"5xx only: the request id (also in the `X-Request-Id` header). Quote it when you contact support.","uniqueKey":"errors.items.[INDEX].requestId","typeLabel":"string"},"more":{"type":"object","additionalProperties":true,"description":"Additional details for some codes, for example `validationErrors` (array of `ValidationError`) or `requiredPermissions`. The members per code are listed in the error catalog.","properties":{"validationErrors":{"type":"array","items":{"type":"object","description":"One invalid property or parameter of a `data-failed-validation` error (also used for item failures of batch operations and content checks).","properties":{"property":{"type":"string","description":"Path of the offending property in your request body (`items[2].quantity`), or the name of the query parameter, path parameter or header.","isRequired":true,"uniqueKey":"errors.items.[INDEX].more.validationErrors.items.[INDEX].property","typeLabel":"string"},"constraint":{"type":"string","description":"The violated rule as a kebab-case item code, for example `required`, `too-long`, `invalid-id`, `unknown-field`. See the validation item codes in the error catalog.","isRequired":true,"uniqueKey":"errors.items.[INDEX].more.validationErrors.items.[INDEX].constraint","typeLabel":"string"},"message":{"type":"object","description":"Explanation per locale.","properties":{"en":{"type":"string","description":"English message.","isRequired":true,"uniqueKey":"errors.items.[INDEX].more.validationErrors.items.[INDEX].message.en","typeLabel":"string"},"de":{"type":"string","description":"German message.","uniqueKey":"errors.items.[INDEX].more.validationErrors.items.[INDEX].message.de","typeLabel":"string"}},"required":["en"],"additionalProperties":false,"isRequired":true,"uniqueKey":"errors.items.[INDEX].more.validationErrors.items.[INDEX].message","typeLabel":"object"},"params":{"type":"object","additionalProperties":true,"description":"Parameters of the constraint, for example `min` and `max` for `invalid-page` or `allowed` for `invalid-sort`.","uniqueKey":"errors.items.[INDEX].more.validationErrors.items.[INDEX].params","typeLabel":"object"},"value":{"description":"The rejected value, when it is safe to return.","uniqueKey":"errors.items.[INDEX].more.validationErrors.items.[INDEX].value","typeLabel":"any"}},"required":["property","constraint","message"],"additionalProperties":true,"uniqueKey":"errors.items.[INDEX].more.validationErrors.items.[INDEX]","typeLabel":"object"},"description":"Invalid properties or parameters.","uniqueKey":"errors.items.[INDEX].more.validationErrors","typeLabel":"object[]"}},"uniqueKey":"errors.items.[INDEX].more","typeLabel":"object"}},"required":["message","statusCode","errorCode"],"additionalProperties":true,"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"description":"The errors; in v1 always exactly one.","isRequired":true,"uniqueKey":"errors","typeLabel":"object[]"}},"required":["errors"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"unauthenticated":{"title":"unauthenticated","value":{"errors":[{"message":"No credential was sent with the request.","statusCode":401,"errorCode":"unauthenticated"}]}},"token-invalid":{"title":"token-invalid","value":{"errors":[{"message":"The credential cannot be verified for this surface (wrong scheme, signature or credential kind).","statusCode":401,"errorCode":"token-invalid"}]}},"token-expired":{"title":"token-expired","value":{"errors":[{"message":"The dashboard ID token has expired.","statusCode":401,"errorCode":"token-expired"}]}},"api-key-invalid":{"title":"api-key-invalid","value":{"errors":[{"message":"The API key is unknown, revoked, expired, past its roll grace period or belongs to the other environment (`vk_test_` against production or `vk_live_` against the sandbox).","statusCode":401,"errorCode":"api-key-invalid"}]}}},"exampleType":"examples"}},"exampleType":"examples"},"836aad04-8a44-4315-8489-9247be313768":{"description":"Forbidden: an access gate refused the request.","x-error-codes":["partner-role-missing","partner-suspended","partner-offboarded","api-access-inactive","ip-not-allowed","mfa-required","sso-required","missing-permission","reauthentication-required"],"headers":{"X-Request-Id":{"description":"Request id (yours if you sent a valid `X-Request-Id`, else generated).","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","description":"Error body of every 4xx and 5xx response (`Content-Type: application/json`).","properties":{"errors":{"type":"array","minItems":1,"items":{"type":"object","description":"One error. Branch on `errorCode`; ignore members you do not know.","properties":{"message":{"type":"string","description":"Human-readable message. For 5xx errors it is always the generic `Something went wrong on our side`.","isRequired":true,"uniqueKey":"errors.items.[INDEX].message","typeLabel":"string"},"statusCode":{"type":"integer","description":"The HTTP status.","isRequired":true,"uniqueKey":"errors.items.[INDEX].statusCode","typeLabel":"integer"},"errorCode":{"type":"string","description":"Stable kebab-case error code, listed in the error catalog.","isRequired":true,"uniqueKey":"errors.items.[INDEX].errorCode","typeLabel":"string"},"requestId":{"type":"string","description":"5xx only: the request id (also in the `X-Request-Id` header). Quote it when you contact support.","uniqueKey":"errors.items.[INDEX].requestId","typeLabel":"string"},"more":{"type":"object","additionalProperties":true,"description":"Additional details for some codes, for example `validationErrors` (array of `ValidationError`) or `requiredPermissions`. The members per code are listed in the error catalog.","properties":{"validationErrors":{"type":"array","items":{"type":"object","description":"One invalid property or parameter of a `data-failed-validation` error (also used for item failures of batch operations and content checks).","properties":{"property":{"type":"string","description":"Path of the offending property in your request body (`items[2].quantity`), or the name of the query parameter, path parameter or header.","isRequired":true,"uniqueKey":"errors.items.[INDEX].more.validationErrors.items.[INDEX].property","typeLabel":"string"},"constraint":{"type":"string","description":"The violated rule as a kebab-case item code, for example `required`, `too-long`, `invalid-id`, `unknown-field`. See the validation item codes in the error catalog.","isRequired":true,"uniqueKey":"errors.items.[INDEX].more.validationErrors.items.[INDEX].constraint","typeLabel":"string"},"message":{"type":"object","description":"Explanation per locale.","properties":{"en":{"type":"string","description":"English message.","isRequired":true,"uniqueKey":"errors.items.[INDEX].more.validationErrors.items.[INDEX].message.en","typeLabel":"string"},"de":{"type":"string","description":"German message.","uniqueKey":"errors.items.[INDEX].more.validationErrors.items.[INDEX].message.de","typeLabel":"string"}},"required":["en"],"additionalProperties":false,"isRequired":true,"uniqueKey":"errors.items.[INDEX].more.validationErrors.items.[INDEX].message","typeLabel":"object"},"params":{"type":"object","additionalProperties":true,"description":"Parameters of the constraint, for example `min` and `max` for `invalid-page` or `allowed` for `invalid-sort`.","uniqueKey":"errors.items.[INDEX].more.validationErrors.items.[INDEX].params","typeLabel":"object"},"value":{"description":"The rejected value, when it is safe to return.","uniqueKey":"errors.items.[INDEX].more.validationErrors.items.[INDEX].value","typeLabel":"any"}},"required":["property","constraint","message"],"additionalProperties":true,"uniqueKey":"errors.items.[INDEX].more.validationErrors.items.[INDEX]","typeLabel":"object"},"description":"Invalid properties or parameters.","uniqueKey":"errors.items.[INDEX].more.validationErrors","typeLabel":"object[]"}},"uniqueKey":"errors.items.[INDEX].more","typeLabel":"object"}},"required":["message","statusCode","errorCode"],"additionalProperties":true,"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"description":"The errors; in v1 always exactly one.","isRequired":true,"uniqueKey":"errors","typeLabel":"object[]"}},"required":["errors"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"partner-role-missing":{"title":"partner-role-missing","value":{"errors":[{"message":"Your partner lacks the role (provider or consumer) this surface needs.","statusCode":403,"errorCode":"partner-role-missing","more":{"requiredRole":"consumer"}}]}},"partner-suspended":{"title":"partner-suspended","value":{"errors":[{"message":"Your partner is suspended: writes are refused (billing writes from the dashboard excepted).","statusCode":403,"errorCode":"partner-suspended"}]}},"partner-offboarded":{"title":"partner-offboarded","value":{"errors":[{"message":"Your partner has been offboarded; every route is refused.","statusCode":403,"errorCode":"partner-offboarded"}]}},"api-access-inactive":{"title":"api-access-inactive","value":{"errors":[{"message":"API access of your partner is not active (not yet granted, revoked, or the partner is suspended), so API keys are refused.","statusCode":403,"errorCode":"api-access-inactive"}]}},"ip-not-allowed":{"title":"ip-not-allowed","value":{"errors":[{"message":"The request's source address is not in your IP allowlist while enforcement is on.","statusCode":403,"errorCode":"ip-not-allowed"}]}},"mfa-required":{"title":"mfa-required","value":{"errors":[{"message":"Your partner requires multi-factor authentication for dashboard users.","statusCode":403,"errorCode":"mfa-required"}]}},"sso-required":{"title":"sso-required","value":{"errors":[{"message":"Your partner enforces single sign-on for this user's email domain.","statusCode":403,"errorCode":"sso-required"}]}},"missing-permission":{"title":"missing-permission","value":{"errors":[{"message":"The membership or API key lacks a permission the operation requires, including non-delegable permissions called with an API key.","statusCode":403,"errorCode":"missing-permission","more":{"requiredPermissions":["create-consumer-redemptions"]}}]}},"reauthentication-required":{"title":"reauthentication-required","value":{"errors":[{"message":"The operation needs a sign-in within the last 15 minutes (dashboard users only).","statusCode":403,"errorCode":"reauthentication-required"}]}}},"exampleType":"examples"}},"exampleType":"examples"},"a433da5b-96c4-4dd7-9057-2a767d1f6ade":{"description":"Not found.","x-error-codes":["route-not-found","billing-account-not-found"],"headers":{"X-Request-Id":{"description":"Request id (yours if you sent a valid `X-Request-Id`, else generated).","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","description":"Error body of every 4xx and 5xx response (`Content-Type: application/json`).","properties":{"errors":{"type":"array","minItems":1,"items":{"type":"object","description":"One error. Branch on `errorCode`; ignore members you do not know.","properties":{"message":{"type":"string","description":"Human-readable message. For 5xx errors it is always the generic `Something went wrong on our side`.","isRequired":true,"uniqueKey":"errors.items.[INDEX].message","typeLabel":"string"},"statusCode":{"type":"integer","description":"The HTTP status.","isRequired":true,"uniqueKey":"errors.items.[INDEX].statusCode","typeLabel":"integer"},"errorCode":{"type":"string","description":"Stable kebab-case error code, listed in the error catalog.","isRequired":true,"uniqueKey":"errors.items.[INDEX].errorCode","typeLabel":"string"},"requestId":{"type":"string","description":"5xx only: the request id (also in the `X-Request-Id` header). Quote it when you contact support.","uniqueKey":"errors.items.[INDEX].requestId","typeLabel":"string"},"more":{"type":"object","additionalProperties":true,"description":"Additional details for some codes, for example `validationErrors` (array of `ValidationError`) or `requiredPermissions`. The members per code are listed in the error catalog.","properties":{"validationErrors":{"type":"array","items":{"type":"object","description":"One invalid property or parameter of a `data-failed-validation` error (also used for item failures of batch operations and content checks).","properties":{"property":{"type":"string","description":"Path of the offending property in your request body (`items[2].quantity`), or the name of the query parameter, path parameter or header.","isRequired":true,"uniqueKey":"errors.items.[INDEX].more.validationErrors.items.[INDEX].property","typeLabel":"string"},"constraint":{"type":"string","description":"The violated rule as a kebab-case item code, for example `required`, `too-long`, `invalid-id`, `unknown-field`. See the validation item codes in the error catalog.","isRequired":true,"uniqueKey":"errors.items.[INDEX].more.validationErrors.items.[INDEX].constraint","typeLabel":"string"},"message":{"type":"object","description":"Explanation per locale.","properties":{"en":{"type":"string","description":"English message.","isRequired":true,"uniqueKey":"errors.items.[INDEX].more.validationErrors.items.[INDEX].message.en","typeLabel":"string"},"de":{"type":"string","description":"German message.","uniqueKey":"errors.items.[INDEX].more.validationErrors.items.[INDEX].message.de","typeLabel":"string"}},"required":["en"],"additionalProperties":false,"isRequired":true,"uniqueKey":"errors.items.[INDEX].more.validationErrors.items.[INDEX].message","typeLabel":"object"},"params":{"type":"object","additionalProperties":true,"description":"Parameters of the constraint, for example `min` and `max` for `invalid-page` or `allowed` for `invalid-sort`.","uniqueKey":"errors.items.[INDEX].more.validationErrors.items.[INDEX].params","typeLabel":"object"},"value":{"description":"The rejected value, when it is safe to return.","uniqueKey":"errors.items.[INDEX].more.validationErrors.items.[INDEX].value","typeLabel":"any"}},"required":["property","constraint","message"],"additionalProperties":true,"uniqueKey":"errors.items.[INDEX].more.validationErrors.items.[INDEX]","typeLabel":"object"},"description":"Invalid properties or parameters.","uniqueKey":"errors.items.[INDEX].more.validationErrors","typeLabel":"object[]"}},"uniqueKey":"errors.items.[INDEX].more","typeLabel":"object"}},"required":["message","statusCode","errorCode"],"additionalProperties":true,"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"description":"The errors; in v1 always exactly one.","isRequired":true,"uniqueKey":"errors","typeLabel":"object[]"}},"required":["errors"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"route-not-found":{"title":"route-not-found","value":{"errors":[{"message":"No operation exists for this path.","statusCode":404,"errorCode":"route-not-found"}]}},"billing-account-not-found":{"title":"billing-account-not-found","value":{"errors":[{"message":"Your partner has no billing account (yet).","statusCode":404,"errorCode":"billing-account-not-found"}]}}},"exampleType":"examples"}},"exampleType":"examples"},"0aa89923-9ceb-4dc1-a2a2-0b992deb1abd":{"description":"Conflict","x-error-codes":["idempotency-key-in-use","billing-account-closed","sepa-not-enabled"],"headers":{"X-Request-Id":{"description":"Request id (yours if you sent a valid `X-Request-Id`, else generated).","schema":{"type":"string"}},"Retry-After":{"description":"Seconds to wait before retrying or polling.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"type":"object","description":"Error body of every 4xx and 5xx response (`Content-Type: application/json`).","properties":{"errors":{"type":"array","minItems":1,"items":{"type":"object","description":"One error. Branch on `errorCode`; ignore members you do not know.","properties":{"message":{"type":"string","description":"Human-readable message. For 5xx errors it is always the generic `Something went wrong on our side`.","isRequired":true,"uniqueKey":"errors.items.[INDEX].message","typeLabel":"string"},"statusCode":{"type":"integer","description":"The HTTP status.","isRequired":true,"uniqueKey":"errors.items.[INDEX].statusCode","typeLabel":"integer"},"errorCode":{"type":"string","description":"Stable kebab-case error code, listed in the error catalog.","isRequired":true,"uniqueKey":"errors.items.[INDEX].errorCode","typeLabel":"string"},"requestId":{"type":"string","description":"5xx only: the request id (also in the `X-Request-Id` header). Quote it when you contact support.","uniqueKey":"errors.items.[INDEX].requestId","typeLabel":"string"},"more":{"type":"object","additionalProperties":true,"description":"Additional details for some codes, for example `validationErrors` (array of `ValidationError`) or `requiredPermissions`. The members per code are listed in the error catalog.","properties":{"validationErrors":{"type":"array","items":{"type":"object","description":"One invalid property or parameter of a `data-failed-validation` error (also used for item failures of batch operations and content checks).","properties":{"property":{"type":"string","description":"Path of the offending property in your request body (`items[2].quantity`), or the name of the query parameter, path parameter or header.","isRequired":true,"uniqueKey":"errors.items.[INDEX].more.validationErrors.items.[INDEX].property","typeLabel":"string"},"constraint":{"type":"string","description":"The violated rule as a kebab-case item code, for example `required`, `too-long`, `invalid-id`, `unknown-field`. See the validation item codes in the error catalog.","isRequired":true,"uniqueKey":"errors.items.[INDEX].more.validationErrors.items.[INDEX].constraint","typeLabel":"string"},"message":{"type":"object","description":"Explanation per locale.","properties":{"en":{"type":"string","description":"English message.","isRequired":true,"uniqueKey":"errors.items.[INDEX].more.validationErrors.items.[INDEX].message.en","typeLabel":"string"},"de":{"type":"string","description":"German message.","uniqueKey":"errors.items.[INDEX].more.validationErrors.items.[INDEX].message.de","typeLabel":"string"}},"required":["en"],"additionalProperties":false,"isRequired":true,"uniqueKey":"errors.items.[INDEX].more.validationErrors.items.[INDEX].message","typeLabel":"object"},"params":{"type":"object","additionalProperties":true,"description":"Parameters of the constraint, for example `min` and `max` for `invalid-page` or `allowed` for `invalid-sort`.","uniqueKey":"errors.items.[INDEX].more.validationErrors.items.[INDEX].params","typeLabel":"object"},"value":{"description":"The rejected value, when it is safe to return.","uniqueKey":"errors.items.[INDEX].more.validationErrors.items.[INDEX].value","typeLabel":"any"}},"required":["property","constraint","message"],"additionalProperties":true,"uniqueKey":"errors.items.[INDEX].more.validationErrors.items.[INDEX]","typeLabel":"object"},"description":"Invalid properties or parameters.","uniqueKey":"errors.items.[INDEX].more.validationErrors","typeLabel":"object[]"}},"uniqueKey":"errors.items.[INDEX].more","typeLabel":"object"}},"required":["message","statusCode","errorCode"],"additionalProperties":true,"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"description":"The errors; in v1 always exactly one.","isRequired":true,"uniqueKey":"errors","typeLabel":"object[]"}},"required":["errors"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"idempotency-key-in-use":{"title":"idempotency-key-in-use","value":{"errors":[{"message":"A request with the same `Idempotency-Key` is still being processed.","statusCode":409,"errorCode":"idempotency-key-in-use"}]}},"billing-account-closed":{"title":"billing-account-closed","value":{"errors":[{"message":"The billing account is closed; it accepts no further changes or payment methods.","statusCode":409,"errorCode":"billing-account-closed"}]}},"sepa-not-enabled":{"title":"sepa-not-enabled","value":{"errors":[{"message":"AllRide collects your invoices by bank transfer, so no SEPA Direct Debit mandate can be set up. AllRide decides the payment method (`preferredPaymentMethodType` of the billing account).","statusCode":409,"errorCode":"sepa-not-enabled"}]}}},"exampleType":"examples"}},"exampleType":"examples"},"154298a6-1169-407f-9678-332dfc7bcbaf":{"description":"Unprocessable Content","x-error-codes":["idempotency-key-reused"],"headers":{"X-Request-Id":{"description":"Request id (yours if you sent a valid `X-Request-Id`, else generated).","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","description":"Error body of every 4xx and 5xx response (`Content-Type: application/json`).","properties":{"errors":{"type":"array","minItems":1,"items":{"type":"object","description":"One error. Branch on `errorCode`; ignore members you do not know.","properties":{"message":{"type":"string","description":"Human-readable message. For 5xx errors it is always the generic `Something went wrong on our side`.","isRequired":true,"uniqueKey":"errors.items.[INDEX].message","typeLabel":"string"},"statusCode":{"type":"integer","description":"The HTTP status.","isRequired":true,"uniqueKey":"errors.items.[INDEX].statusCode","typeLabel":"integer"},"errorCode":{"type":"string","description":"Stable kebab-case error code, listed in the error catalog.","isRequired":true,"uniqueKey":"errors.items.[INDEX].errorCode","typeLabel":"string"},"requestId":{"type":"string","description":"5xx only: the request id (also in the `X-Request-Id` header). Quote it when you contact support.","uniqueKey":"errors.items.[INDEX].requestId","typeLabel":"string"},"more":{"type":"object","additionalProperties":true,"description":"Additional details for some codes, for example `validationErrors` (array of `ValidationError`) or `requiredPermissions`. The members per code are listed in the error catalog.","properties":{"validationErrors":{"type":"array","items":{"type":"object","description":"One invalid property or parameter of a `data-failed-validation` error (also used for item failures of batch operations and content checks).","properties":{"property":{"type":"string","description":"Path of the offending property in your request body (`items[2].quantity`), or the name of the query parameter, path parameter or header.","isRequired":true,"uniqueKey":"errors.items.[INDEX].more.validationErrors.items.[INDEX].property","typeLabel":"string"},"constraint":{"type":"string","description":"The violated rule as a kebab-case item code, for example `required`, `too-long`, `invalid-id`, `unknown-field`. See the validation item codes in the error catalog.","isRequired":true,"uniqueKey":"errors.items.[INDEX].more.validationErrors.items.[INDEX].constraint","typeLabel":"string"},"message":{"type":"object","description":"Explanation per locale.","properties":{"en":{"type":"string","description":"English message.","isRequired":true,"uniqueKey":"errors.items.[INDEX].more.validationErrors.items.[INDEX].message.en","typeLabel":"string"},"de":{"type":"string","description":"German message.","uniqueKey":"errors.items.[INDEX].more.validationErrors.items.[INDEX].message.de","typeLabel":"string"}},"required":["en"],"additionalProperties":false,"isRequired":true,"uniqueKey":"errors.items.[INDEX].more.validationErrors.items.[INDEX].message","typeLabel":"object"},"params":{"type":"object","additionalProperties":true,"description":"Parameters of the constraint, for example `min` and `max` for `invalid-page` or `allowed` for `invalid-sort`.","uniqueKey":"errors.items.[INDEX].more.validationErrors.items.[INDEX].params","typeLabel":"object"},"value":{"description":"The rejected value, when it is safe to return.","uniqueKey":"errors.items.[INDEX].more.validationErrors.items.[INDEX].value","typeLabel":"any"}},"required":["property","constraint","message"],"additionalProperties":true,"uniqueKey":"errors.items.[INDEX].more.validationErrors.items.[INDEX]","typeLabel":"object"},"description":"Invalid properties or parameters.","uniqueKey":"errors.items.[INDEX].more.validationErrors","typeLabel":"object[]"}},"uniqueKey":"errors.items.[INDEX].more","typeLabel":"object"}},"required":["message","statusCode","errorCode"],"additionalProperties":true,"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"description":"The errors; in v1 always exactly one.","isRequired":true,"uniqueKey":"errors","typeLabel":"object[]"}},"required":["errors"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"idempotency-key-reused":{"title":"idempotency-key-reused","value":{"errors":[{"message":"The `Idempotency-Key` was already used for a different request.","statusCode":422,"errorCode":"idempotency-key-reused"}]}}},"exampleType":"examples"}},"exampleType":"examples"},"676e1646-e359-4804-be3b-5746d38fe9a1":{"description":"Unexpected failure; quote the `requestId`.","x-error-codes":["internal-error"],"headers":{"X-Request-Id":{"description":"Request id (yours if you sent a valid `X-Request-Id`, else generated).","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","description":"Error body of every 4xx and 5xx response (`Content-Type: application/json`).","properties":{"errors":{"type":"array","minItems":1,"items":{"type":"object","description":"One error. Branch on `errorCode`; ignore members you do not know.","properties":{"message":{"type":"string","description":"Human-readable message. For 5xx errors it is always the generic `Something went wrong on our side`.","isRequired":true,"uniqueKey":"errors.items.[INDEX].message","typeLabel":"string"},"statusCode":{"type":"integer","description":"The HTTP status.","isRequired":true,"uniqueKey":"errors.items.[INDEX].statusCode","typeLabel":"integer"},"errorCode":{"type":"string","description":"Stable kebab-case error code, listed in the error catalog.","isRequired":true,"uniqueKey":"errors.items.[INDEX].errorCode","typeLabel":"string"},"requestId":{"type":"string","description":"5xx only: the request id (also in the `X-Request-Id` header). Quote it when you contact support.","uniqueKey":"errors.items.[INDEX].requestId","typeLabel":"string"},"more":{"type":"object","additionalProperties":true,"description":"Additional details for some codes, for example `validationErrors` (array of `ValidationError`) or `requiredPermissions`. The members per code are listed in the error catalog.","properties":{"validationErrors":{"type":"array","items":{"type":"object","description":"One invalid property or parameter of a `data-failed-validation` error (also used for item failures of batch operations and content checks).","properties":{"property":{"type":"string","description":"Path of the offending property in your request body (`items[2].quantity`), or the name of the query parameter, path parameter or header.","isRequired":true,"uniqueKey":"errors.items.[INDEX].more.validationErrors.items.[INDEX].property","typeLabel":"string"},"constraint":{"type":"string","description":"The violated rule as a kebab-case item code, for example `required`, `too-long`, `invalid-id`, `unknown-field`. See the validation item codes in the error catalog.","isRequired":true,"uniqueKey":"errors.items.[INDEX].more.validationErrors.items.[INDEX].constraint","typeLabel":"string"},"message":{"type":"object","description":"Explanation per locale.","properties":{"en":{"type":"string","description":"English message.","isRequired":true,"uniqueKey":"errors.items.[INDEX].more.validationErrors.items.[INDEX].message.en","typeLabel":"string"},"de":{"type":"string","description":"German message.","uniqueKey":"errors.items.[INDEX].more.validationErrors.items.[INDEX].message.de","typeLabel":"string"}},"required":["en"],"additionalProperties":false,"isRequired":true,"uniqueKey":"errors.items.[INDEX].more.validationErrors.items.[INDEX].message","typeLabel":"object"},"params":{"type":"object","additionalProperties":true,"description":"Parameters of the constraint, for example `min` and `max` for `invalid-page` or `allowed` for `invalid-sort`.","uniqueKey":"errors.items.[INDEX].more.validationErrors.items.[INDEX].params","typeLabel":"object"},"value":{"description":"The rejected value, when it is safe to return.","uniqueKey":"errors.items.[INDEX].more.validationErrors.items.[INDEX].value","typeLabel":"any"}},"required":["property","constraint","message"],"additionalProperties":true,"uniqueKey":"errors.items.[INDEX].more.validationErrors.items.[INDEX]","typeLabel":"object"},"description":"Invalid properties or parameters.","uniqueKey":"errors.items.[INDEX].more.validationErrors","typeLabel":"object[]"}},"uniqueKey":"errors.items.[INDEX].more","typeLabel":"object"}},"required":["message","statusCode","errorCode"],"additionalProperties":true,"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"description":"The errors; in v1 always exactly one.","isRequired":true,"uniqueKey":"errors","typeLabel":"object[]"}},"required":["errors"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"internal-error":{"title":"internal-error","value":{"errors":[{"message":"Something went wrong on our side","statusCode":500,"errorCode":"internal-error","requestId":"0c9f2ea5-fe09-463c-8f96-b6cae67800ad"}]}}},"exampleType":"examples"}},"exampleType":"examples"},"92ccb344-0679-4166-b4f5-6f1af6ba172d":{"description":"Temporarily unavailable; retry after `Retry-After`.","x-error-codes":["service-unavailable","db-unavailable","query-timeout","psp-unavailable"],"headers":{"X-Request-Id":{"description":"Request id (yours if you sent a valid `X-Request-Id`, else generated).","schema":{"type":"string"}},"Retry-After":{"description":"Seconds to wait before retrying or polling.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"type":"object","description":"Error body of every 4xx and 5xx response (`Content-Type: application/json`).","properties":{"errors":{"type":"array","minItems":1,"items":{"type":"object","description":"One error. Branch on `errorCode`; ignore members you do not know.","properties":{"message":{"type":"string","description":"Human-readable message. For 5xx errors it is always the generic `Something went wrong on our side`.","isRequired":true,"uniqueKey":"errors.items.[INDEX].message","typeLabel":"string"},"statusCode":{"type":"integer","description":"The HTTP status.","isRequired":true,"uniqueKey":"errors.items.[INDEX].statusCode","typeLabel":"integer"},"errorCode":{"type":"string","description":"Stable kebab-case error code, listed in the error catalog.","isRequired":true,"uniqueKey":"errors.items.[INDEX].errorCode","typeLabel":"string"},"requestId":{"type":"string","description":"5xx only: the request id (also in the `X-Request-Id` header). Quote it when you contact support.","uniqueKey":"errors.items.[INDEX].requestId","typeLabel":"string"},"more":{"type":"object","additionalProperties":true,"description":"Additional details for some codes, for example `validationErrors` (array of `ValidationError`) or `requiredPermissions`. The members per code are listed in the error catalog.","properties":{"validationErrors":{"type":"array","items":{"type":"object","description":"One invalid property or parameter of a `data-failed-validation` error (also used for item failures of batch operations and content checks).","properties":{"property":{"type":"string","description":"Path of the offending property in your request body (`items[2].quantity`), or the name of the query parameter, path parameter or header.","isRequired":true,"uniqueKey":"errors.items.[INDEX].more.validationErrors.items.[INDEX].property","typeLabel":"string"},"constraint":{"type":"string","description":"The violated rule as a kebab-case item code, for example `required`, `too-long`, `invalid-id`, `unknown-field`. See the validation item codes in the error catalog.","isRequired":true,"uniqueKey":"errors.items.[INDEX].more.validationErrors.items.[INDEX].constraint","typeLabel":"string"},"message":{"type":"object","description":"Explanation per locale.","properties":{"en":{"type":"string","description":"English message.","isRequired":true,"uniqueKey":"errors.items.[INDEX].more.validationErrors.items.[INDEX].message.en","typeLabel":"string"},"de":{"type":"string","description":"German message.","uniqueKey":"errors.items.[INDEX].more.validationErrors.items.[INDEX].message.de","typeLabel":"string"}},"required":["en"],"additionalProperties":false,"isRequired":true,"uniqueKey":"errors.items.[INDEX].more.validationErrors.items.[INDEX].message","typeLabel":"object"},"params":{"type":"object","additionalProperties":true,"description":"Parameters of the constraint, for example `min` and `max` for `invalid-page` or `allowed` for `invalid-sort`.","uniqueKey":"errors.items.[INDEX].more.validationErrors.items.[INDEX].params","typeLabel":"object"},"value":{"description":"The rejected value, when it is safe to return.","uniqueKey":"errors.items.[INDEX].more.validationErrors.items.[INDEX].value","typeLabel":"any"}},"required":["property","constraint","message"],"additionalProperties":true,"uniqueKey":"errors.items.[INDEX].more.validationErrors.items.[INDEX]","typeLabel":"object"},"description":"Invalid properties or parameters.","uniqueKey":"errors.items.[INDEX].more.validationErrors","typeLabel":"object[]"}},"uniqueKey":"errors.items.[INDEX].more","typeLabel":"object"}},"required":["message","statusCode","errorCode"],"additionalProperties":true,"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"description":"The errors; in v1 always exactly one.","isRequired":true,"uniqueKey":"errors","typeLabel":"object[]"}},"required":["errors"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"service-unavailable":{"title":"service-unavailable","value":{"errors":[{"message":"Something went wrong on our side","statusCode":503,"errorCode":"service-unavailable","requestId":"0c9f2ea5-fe09-463c-8f96-b6cae67800ad"}]}},"db-unavailable":{"title":"db-unavailable","value":{"errors":[{"message":"Something went wrong on our side","statusCode":503,"errorCode":"db-unavailable","requestId":"0c9f2ea5-fe09-463c-8f96-b6cae67800ad"}]}},"query-timeout":{"title":"query-timeout","value":{"errors":[{"message":"Something went wrong on our side","statusCode":503,"errorCode":"query-timeout","requestId":"0c9f2ea5-fe09-463c-8f96-b6cae67800ad"}]}},"psp-unavailable":{"title":"psp-unavailable","value":{"errors":[{"message":"Something went wrong on our side","statusCode":503,"errorCode":"psp-unavailable","requestId":"0c9f2ea5-fe09-463c-8f96-b6cae67800ad"}]}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"e665e8eb-c733-4f11-acb6-1852122ca357":{"apiKey":{"type":"http","scheme":"bearer","bearerFormat":"vk_live_\u003ckeyId>_\u003csecret>","description":"Your API key in `Authorization: Bearer \u003ckey>`. Use `vk_test_…` keys against the sandbox and `vk_live_…` keys against production.","scopes":[],"schemeName":"apiKey"}}},"servers":{"194c8b4a-ee81-4799-8d91-168cc798538c":{"url":"https://api.voucher-staging.allride.io","description":"Sandbox"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","bearerFormat":"vk_live_\u003ckeyId>_\u003csecret>","description":"Your API key in `Authorization: Bearer \u003ckey>`. Use `vk_test_…` keys against the sandbox and `vk_live_…` keys against production.","scopes":[],"schemeName":"apiKey"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Your API key in `Authorization: Bearer \u003ckey>`. Use `vk_test_…` keys against the sandbox and `vk_live_…` keys against production.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"apiKey","name":"Authorization"}],"title":"apiKey"}]},"originalFileLocation":"openapi/consumer.v1.json"},"subdomain":"allride-voucher-consumer","siteName":"AllRide Vouchers — Consumer API","title":"Start a SEPA Direct Debit mandate setup - AllRide Vouchers — Consumer API","navMaps":{"firstHrefInVersion":{"v1":{"href":"/api-reference/consumer-billing-payment-methods-setup-sepa-debit","matchLevel":0}},"firstHrefInLanguage":{}},"lastModified":"2026-11-03T10:55:53.481Z","originalFileLocation":"api-reference/consumer-billing-payment-methods-setup-sepa-debit.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Creates a payment method in setup-pending and a Stripe SetupIntent. No request body. Load Stripe.js with publishableKey, collect the IBAN in Stripe\u0026#x27;s IBAN Element together with the account holder\u0026#x27;s name and email, show the SEPA mandate text naming creditor, and confirm with stripe.confirmSepaDebitSetup(clientSecret, …). The IBAN goes to Stripe only. The method stays setup-pending until Stripe confirms the mandate, then it is active and the default; poll it. You have one SEPA mandate at a time: starting a setup removes any other unfinished setup (its SetupIntent is canceled), and once the new mandate is active it replaces your previous one (removed, deactivatedReasonClass: replaced). Until then the previous mandate keeps collecting; if the new setup fails, it stays. AllRide decides whether you pay by SEPA Direct Debit or by bank transfer: while the billing account\u0026#x27;s preferredPaymentMethodType is bank-transfer this answers 409 sepa-not-enabled. Dashboard only (the consumer dashboard\u0026#x27;s Billing › Payment method page, https://consumer.voucher.allride.io/go/billing-payment-method); needs a recent sign-in. Allowed while your partner is suspended. A replay with the same Idempotency-Key returns clientSecret: null and creates no second SetupIntent. See SEPA Direct Debit mandate. Required permissions: manage-consumer-billing · API keys: not allowed · Recent sign-in: required for dashboard users (15 minutes)\">\u003cmeta data-mint-head name=\"application-name\" content=\"AllRide Vouchers — Consumer API\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/allride-voucher-consumer/PLfxlSfQYmN0h3Xy/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/allride-voucher-consumer/PLfxlSfQYmN0h3Xy/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/allride-voucher-consumer/PLfxlSfQYmN0h3Xy/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/allride-voucher-consumer/PLfxlSfQYmN0h3Xy/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/allride-voucher-consumer/PLfxlSfQYmN0h3Xy/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/allride-voucher-consumer/PLfxlSfQYmN0h3Xy/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/allride-voucher-consumer/PLfxlSfQYmN0h3Xy/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/allride-voucher-consumer/PLfxlSfQYmN0h3Xy/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/allride-voucher-consumer/PLfxlSfQYmN0h3Xy/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Start a SEPA Direct Debit mandate setup - AllRide Vouchers — Consumer API\">\u003cmeta data-mint-head property=\"og:description\" content=\"Creates a payment method in setup-pending and a Stripe SetupIntent. No request body. Load Stripe.js with publishableKey, collect the IBAN in Stripe\u0026#x27;s IBAN Element together with the account holder\u0026#x27;s name and email, show the SEPA mandate text naming creditor, and confirm with stripe.confirmSepaDebitSetup(clientSecret, …). The IBAN goes to Stripe only. The method stays setup-pending until Stripe confirms the mandate, then it is active and the default; poll it. You have one SEPA mandate at a time: starting a setup removes any other unfinished setup (its SetupIntent is canceled), and once the new mandate is active it replaces your previous one (removed, deactivatedReasonClass: replaced). Until then the previous mandate keeps collecting; if the new setup fails, it stays. AllRide decides whether you pay by SEPA Direct Debit or by bank transfer: while the billing account\u0026#x27;s preferredPaymentMethodType is bank-transfer this answers 409 sepa-not-enabled. Dashboard only (the consumer dashboard\u0026#x27;s Billing › Payment method page, https://consumer.voucher.allride.io/go/billing-payment-method); needs a recent sign-in. Allowed while your partner is suspended. A replay with the same Idempotency-Key returns clientSecret: null and creates no second SetupIntent. See SEPA Direct Debit mandate. Required permissions: manage-consumer-billing · API keys: not allowed · Recent sign-in: required for dashboard users (15 minutes)\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"AllRide Vouchers — Consumer API\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://allride-voucher-consumer.mintlify.app/api-reference/consumer-billing-payment-methods-setup-sepa-debit\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://allride-voucher-consumer.mintlify.app/_mintlify/api/og/v2?division=Billing\u0026amp;title=Start+a+SEPA+Direct+Debit+mandate+setup\u0026amp;description=Creates+a+payment+method+in+%60setup-pending%60+and+a+Stripe+SetupIntent.+No+request+body.+Load+Stripe.js+with+%60publishableKey%60%2C+collect+the+IBAN+in+Stripe%27s+IBAN+E\u0026amp;theme=aa1e578c5c25daaa6c2c70a3\u0026amp;signature=123827fe9b90a4347e34706d835d13d423933ac5d7e697180bf87ff1ce2d09b0\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Start a SEPA Direct Debit mandate setup - AllRide Vouchers — Consumer API\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Creates a payment method in setup-pending and a Stripe SetupIntent. No request body. Load Stripe.js with publishableKey, collect the IBAN in Stripe\u0026#x27;s IBAN Element together with the account holder\u0026#x27;s name and email, show the SEPA mandate text naming creditor, and confirm with stripe.confirmSepaDebitSetup(clientSecret, …). The IBAN goes to Stripe only. The method stays setup-pending until Stripe confirms the mandate, then it is active and the default; poll it. You have one SEPA mandate at a time: starting a setup removes any other unfinished setup (its SetupIntent is canceled), and once the new mandate is active it replaces your previous one (removed, deactivatedReasonClass: replaced). Until then the previous mandate keeps collecting; if the new setup fails, it stays. AllRide decides whether you pay by SEPA Direct Debit or by bank transfer: while the billing account\u0026#x27;s preferredPaymentMethodType is bank-transfer this answers 409 sepa-not-enabled. Dashboard only (the consumer dashboard\u0026#x27;s Billing › Payment method page, https://consumer.voucher.allride.io/go/billing-payment-method); needs a recent sign-in. Allowed while your partner is suspended. A replay with the same Idempotency-Key returns clientSecret: null and creates no second SetupIntent. See SEPA Direct Debit mandate. Required permissions: manage-consumer-billing · API keys: not allowed · Recent sign-in: required for dashboard users (15 minutes)\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://allride-voucher-consumer.mintlify.app/_mintlify/api/og/v2?division=Billing\u0026amp;title=Start+a+SEPA+Direct+Debit+mandate+setup\u0026amp;description=Creates+a+payment+method+in+%60setup-pending%60+and+a+Stripe+SetupIntent.+No+request+body.+Load+Stripe.js+with+%60publishableKey%60%2C+collect+the+IBAN+in+Stripe%27s+IBAN+E\u0026amp;theme=aa1e578c5c25daaa6c2c70a3\u0026amp;signature=123827fe9b90a4347e34706d835d13d423933ac5d7e697180bf87ff1ce2d09b0\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/allride-voucher-consumer/PLfxlSfQYmN0h3Xy/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"AllRide Vouchers — Consumer API\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0A0A0A\">\u003clink data-mint-head rel=\"canonical\" href=\"https://allride-voucher-consumer.mintlify.app/api-reference/consumer-billing-payment-methods-setup-sepa-debit\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/consumer-billing-payment-methods-setup-sepa-debit.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://allride-voucher-consumer.mintlify.app/#organization\",\"name\":\"AllRide Vouchers — Consumer API\",\"url\":\"https://allride-voucher-consumer.mintlify.app\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/allride-voucher-consumer/9vqpJaAUcuaHTUy2/logo/light.svg?fit=max\u0026auto=format\u0026n=9vqpJaAUcuaHTUy2\u0026q=85\u0026s=92f0ea94edcefc1febba871b5ead8cdd\"}},{\"@type\":\"WebSite\",\"@id\":\"https://allride-voucher-consumer.mintlify.app#website\",\"name\":\"AllRide Vouchers — Consumer API\",\"url\":\"https://allride-voucher-consumer.mintlify.app\",\"publisher\":{\"@id\":\"https://allride-voucher-consumer.mintlify.app/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://allride-voucher-consumer.mintlify.app/api-reference/consumer-billing-payment-methods-setup-sepa-debit#webpage\",\"url\":\"https://allride-voucher-consumer.mintlify.app/api-reference/consumer-billing-payment-methods-setup-sepa-debit\",\"name\":\"Start a SEPA Direct Debit mandate setup\",\"description\":\"Creates a payment method in setup-pending and a Stripe SetupIntent. No request body. Load Stripe.js with publishableKey, collect the IBAN in Stripe's IBAN Element together with the account holder's name and email, show the SEPA mandate text naming creditor, and confirm with stripe.confirmSepaDebitSetup(clientSecret, …). The IBAN goes to Stripe only. The method stays setup-pending until Stripe confirms the mandate, then it is active and the default; poll it. You have one SEPA mandate at a time: starting a setup removes any other unfinished setup (its SetupIntent is canceled), and once the new mandate is active it replaces your previous one (removed, deactivatedReasonClass: replaced). Until then the previous mandate keeps collecting; if the new setup fails, it stays. AllRide decides whether you pay by SEPA Direct Debit or by bank transfer: while the billing account's preferredPaymentMethodType is bank-transfer this answers 409 sepa-not-enabled. Dashboard only (the consumer dashboard's Billing › Payment method page, https://consumer.voucher.allride.io/go/billing-payment-method); needs a recent sign-in. Allowed while your partner is suspended. A replay with the same Idempotency-Key returns clientSecret: null and creates no second SetupIntent. See SEPA Direct Debit mandate. Required permissions: manage-consumer-billing · API keys: not allowed · Recent sign-in: required for dashboard users (15 minutes)\",\"dateModified\":\"2026-11-03T10:55:53.481Z\",\"isPartOf\":{\"@id\":\"https://allride-voucher-consumer.mintlify.app#website\"},\"breadcrumb\":{\"@id\":\"https://allride-voucher-consumer.mintlify.app/api-reference/consumer-billing-payment-methods-setup-sepa-debit#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://allride-voucher-consumer.mintlify.app/api-reference/consumer-billing-payment-methods-setup-sepa-debit#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Consumer API\",\"item\":\"https://allride-voucher-consumer.mintlify.app/api-reference/consumer-catalog-providers-list\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Billing\",\"item\":\"https://allride-voucher-consumer.mintlify.app/api-reference/consumer-billing-contacts-list\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Start a SEPA Direct Debit mandate setup\",\"item\":\"https://allride-voucher-consumer.mintlify.app/api-reference/consumer-billing-payment-methods-setup-sepa-debit\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://allride-voucher-consumer.mintlify.app/api-reference/consumer-billing-payment-methods-setup-sepa-debit#apireference\",\"headline\":\"Start a SEPA Direct Debit mandate setup\",\"name\":\"Start a SEPA Direct Debit mandate setup\",\"description\":\"Creates a payment method in setup-pending and a Stripe SetupIntent. No request body. Load Stripe.js with publishableKey, collect the IBAN in Stripe's IBAN Element together with the account holder's name and email, show the SEPA mandate text naming creditor, and confirm with stripe.confirmSepaDebitSetup(clientSecret, …). The IBAN goes to Stripe only. The method stays setup-pending until Stripe confirms the mandate, then it is active and the default; poll it. You have one SEPA mandate at a time: starting a setup removes any other unfinished setup (its SetupIntent is canceled), and once the new mandate is active it replaces your previous one (removed, deactivatedReasonClass: replaced). Until then the previous mandate keeps collecting; if the new setup fails, it stays. AllRide decides whether you pay by SEPA Direct Debit or by bank transfer: while the billing account's preferredPaymentMethodType is bank-transfer this answers 409 sepa-not-enabled. Dashboard only (the consumer dashboard's Billing › Payment method page, https://consumer.voucher.allride.io/go/billing-payment-method); needs a recent sign-in. Allowed while your partner is suspended. A replay with the same Idempotency-Key returns clientSecret: null and creates no second SetupIntent. See SEPA Direct Debit mandate. Required permissions: manage-consumer-billing · API keys: not allowed · Recent sign-in: required for dashboard users (15 minutes)\",\"url\":\"https://allride-voucher-consumer.mintlify.app/api-reference/consumer-billing-payment-methods-setup-sepa-debit\",\"mainEntityOfPage\":{\"@id\":\"https://allride-voucher-consumer.mintlify.app/api-reference/consumer-billing-payment-methods-setup-sepa-debit#webpage\"},\"dateModified\":\"2026-11-03T10:55:53.481Z\",\"publisher\":{\"@id\":\"https://allride-voucher-consumer.mintlify.app/#organization\"},\"isPartOf\":{\"@id\":\"https://allride-voucher-consumer.mintlify.app#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"AllRide Vouchers — Consumer API\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"AllRide Vouchers — Consumer API","nav":{"global":null,"versions":[{"version":"v1","default":true,"tabs":[{"tab":"Guides","pages":[{"title":"Guides","href":""}]},{"tab":"API reference","groups":[{"group":"Consumer API","pages":[{"group":"Catalog","pages":[{"title":"List catalog providers","deprecated":null,"version":null,"sidebarTitle":"Consumer catalog providers list","openapi":"/openapi/consumer.v1.json get /consumer/v1/catalog/providers","href":"/api-reference/consumer-catalog-providers-list"},{"title":"List catalog voucher sets","deprecated":null,"version":null,"sidebarTitle":"Consumer catalog voucher sets list","openapi":"/openapi/consumer.v1.json get /consumer/v1/catalog/voucher-sets","href":"/api-reference/consumer-catalog-voucher-sets-list"},{"title":"List categories","deprecated":null,"version":null,"sidebarTitle":"Consumer catalog categories list","openapi":"/openapi/consumer.v1.json get /consumer/v1/catalog/categories","href":"/api-reference/consumer-catalog-categories-list"},{"title":"Get a catalog provider","deprecated":null,"version":null,"sidebarTitle":"Consumer catalog providers get","openapi":"/openapi/consumer.v1.json get /consumer/v1/catalog/providers/{providerId}","href":"/api-reference/consumer-catalog-providers-get"},{"title":"Get a catalog voucher set","deprecated":null,"version":null,"sidebarTitle":"Consumer catalog voucher sets get","openapi":"/openapi/consumer.v1.json get /consumer/v1/catalog/voucher-sets/{voucherSetId}","href":"/api-reference/consumer-catalog-voucher-sets-get"},{"title":"Get a category","deprecated":null,"version":null,"sidebarTitle":"Consumer catalog categories get","openapi":"/openapi/consumer.v1.json get /consumer/v1/catalog/categories/{categoryId}","href":"/api-reference/consumer-catalog-categories-get"}]},{"group":"Catalog settings","pages":[{"title":"Update provider toggle and settings","deprecated":null,"version":null,"sidebarTitle":"Consumer catalog providers update","openapi":"/openapi/consumer.v1.json patch /consumer/v1/catalog/providers/{providerId}","href":"/api-reference/consumer-catalog-providers-update"},{"title":"Update voucher set toggle and settings","deprecated":null,"version":null,"sidebarTitle":"Consumer catalog voucher sets update","openapi":"/openapi/consumer.v1.json patch /consumer/v1/catalog/voucher-sets/{voucherSetId}","href":"/api-reference/consumer-catalog-voucher-sets-update"}]},{"group":"Redemptions","pages":[{"title":"List redemptions","deprecated":null,"version":null,"sidebarTitle":"Consumer redemptions list","openapi":"/openapi/consumer.v1.json get /consumer/v1/redemptions","href":"/api-reference/consumer-redemptions-list"},{"title":"Redeem a voucher","deprecated":null,"version":null,"sidebarTitle":"Consumer redemptions create","openapi":"/openapi/consumer.v1.json post /consumer/v1/redemptions","href":"/api-reference/consumer-redemptions-create"},{"title":"Get a redemption","deprecated":null,"version":null,"sidebarTitle":"Consumer redemptions get","openapi":"/openapi/consumer.v1.json get /consumer/v1/redemptions/{redemptionId}","href":"/api-reference/consumer-redemptions-get"},{"title":"Get a redemption batch","deprecated":null,"version":null,"sidebarTitle":"Consumer redemption batches get","openapi":"/openapi/consumer.v1.json get /consumer/v1/redemption-batches/{redemptionBatchId}","href":"/api-reference/consumer-redemption-batches-get"},{"title":"Void a redemption","deprecated":null,"version":null,"sidebarTitle":"Consumer redemptions void","openapi":"/openapi/consumer.v1.json post /consumer/v1/redemptions/{redemptionId}:void","href":"/api-reference/consumer-redemptions-void"},{"title":"Redeem several vouchers in one request","deprecated":null,"version":null,"sidebarTitle":"Consumer redemptions batch","openapi":"/openapi/consumer.v1.json post /consumer/v1/redemptions:batch","href":"/api-reference/consumer-redemptions-batch"}]},{"group":"Redemption entities","pages":[{"title":"List redemption entities","deprecated":null,"version":null,"sidebarTitle":"Consumer redemption entities list","openapi":"/openapi/consumer.v1.json get /consumer/v1/redemption-entities","href":"/api-reference/consumer-redemption-entities-list"},{"title":"Create a redemption entity","deprecated":null,"version":null,"sidebarTitle":"Consumer redemption entities create","openapi":"/openapi/consumer.v1.json post /consumer/v1/redemption-entities","href":"/api-reference/consumer-redemption-entities-create"},{"title":"Get a redemption entity","deprecated":null,"version":null,"sidebarTitle":"Consumer redemption entities get","openapi":"/openapi/consumer.v1.json get /consumer/v1/redemption-entities/{redemptionEntityId}","href":"/api-reference/consumer-redemption-entities-get"},{"title":"Update a redemption entity","deprecated":null,"version":null,"sidebarTitle":"Consumer redemption entities update","openapi":"/openapi/consumer.v1.json patch /consumer/v1/redemption-entities/{redemptionEntityId}","href":"/api-reference/consumer-redemption-entities-update"},{"title":"Block a redemption entity","deprecated":null,"version":null,"sidebarTitle":"Consumer redemption entities block","openapi":"/openapi/consumer.v1.json post /consumer/v1/redemption-entities/{redemptionEntityId}:block","href":"/api-reference/consumer-redemption-entities-block"},{"title":"Erase a redemption entity (GDPR)","deprecated":null,"version":null,"sidebarTitle":"Consumer redemption entities erase","openapi":"/openapi/consumer.v1.json post /consumer/v1/redemption-entities/{redemptionEntityId}:erase","href":"/api-reference/consumer-redemption-entities-erase"},{"title":"Unblock a redemption entity","deprecated":null,"version":null,"sidebarTitle":"Consumer redemption entities unblock","openapi":"/openapi/consumer.v1.json post /consumer/v1/redemption-entities/{redemptionEntityId}:unblock","href":"/api-reference/consumer-redemption-entities-unblock"}]},{"group":"Redemption links","pages":[{"title":"List redemption links","deprecated":null,"version":null,"sidebarTitle":"Consumer redemption links list","openapi":"/openapi/consumer.v1.json get /consumer/v1/redemption-links","href":"/api-reference/consumer-redemption-links-list"},{"title":"Create a redemption link","deprecated":null,"version":null,"sidebarTitle":"Consumer redemption links create","openapi":"/openapi/consumer.v1.json post /consumer/v1/redemption-links","href":"/api-reference/consumer-redemption-links-create"},{"title":"Get a redemption link","deprecated":null,"version":null,"sidebarTitle":"Consumer redemption links get","openapi":"/openapi/consumer.v1.json get /consumer/v1/redemption-links/{redemptionLinkId}","href":"/api-reference/consumer-redemption-links-get"},{"title":"Preview a link's catalog","deprecated":null,"version":null,"sidebarTitle":"Consumer redemption links catalog","openapi":"/openapi/consumer.v1.json get /consumer/v1/redemption-links/{redemptionLinkId}/catalog","href":"/api-reference/consumer-redemption-links-catalog"},{"title":"Update a redemption link","deprecated":null,"version":null,"sidebarTitle":"Consumer redemption links update","openapi":"/openapi/consumer.v1.json patch /consumer/v1/redemption-links/{redemptionLinkId}","href":"/api-reference/consumer-redemption-links-update"},{"title":"Revoke a redemption link","deprecated":null,"version":null,"sidebarTitle":"Consumer redemption links revoke","openapi":"/openapi/consumer.v1.json post /consumer/v1/redemption-links/{redemptionLinkId}:revoke","href":"/api-reference/consumer-redemption-links-revoke"},{"title":"Create redemption links in bulk","deprecated":null,"version":null,"sidebarTitle":"Consumer redemption links batch","openapi":"/openapi/consumer.v1.json post /consumer/v1/redemption-links:batch","href":"/api-reference/consumer-redemption-links-batch"}]},{"group":"Email (SMTP and templates)","pages":[{"title":"List email templates","deprecated":null,"version":null,"sidebarTitle":"Partner email templates list","openapi":"/openapi/consumer.v1.json get /partner/v1/email-templates","href":"/api-reference/partner-email-templates-list"},{"title":"Create an email template","deprecated":null,"version":null,"sidebarTitle":"Partner email templates create","openapi":"/openapi/consumer.v1.json post /partner/v1/email-templates","href":"/api-reference/partner-email-templates-create"},{"title":"Get email OTP settings","deprecated":null,"version":null,"sidebarTitle":"Consumer email otp settings get","openapi":"/openapi/consumer.v1.json get /consumer/v1/email-otp-settings","href":"/api-reference/consumer-email-otp-settings-get"},{"title":"Get email OTP readiness","deprecated":null,"version":null,"sidebarTitle":"Consumer email otp readiness get","openapi":"/openapi/consumer.v1.json get /consumer/v1/email-otp-settings/readiness","href":"/api-reference/consumer-email-otp-readiness-get"},{"title":"Get the SMTP configuration","deprecated":null,"version":null,"sidebarTitle":"Partner smtp configuration get","openapi":"/openapi/consumer.v1.json get /partner/v1/smtp-configuration","href":"/api-reference/partner-smtp-configuration-get"},{"title":"Get an email template","deprecated":null,"version":null,"sidebarTitle":"Partner email templates get","openapi":"/openapi/consumer.v1.json get /partner/v1/email-templates/{emailTemplateId}","href":"/api-reference/partner-email-templates-get"},{"title":"Render a saved template preview","deprecated":null,"version":null,"sidebarTitle":"Partner email templates preview","openapi":"/openapi/consumer.v1.json get /partner/v1/email-templates/{emailTemplateId}/preview","href":"/api-reference/partner-email-templates-preview"},{"title":"Get a template variable contract","deprecated":null,"version":null,"sidebarTitle":"Partner email template contracts get","openapi":"/openapi/consumer.v1.json get /partner/v1/email-template-contracts/{purpose}","href":"/api-reference/partner-email-template-contracts-get"},{"title":"Update email OTP settings","deprecated":null,"version":null,"sidebarTitle":"Consumer email otp settings update","openapi":"/openapi/consumer.v1.json patch /consumer/v1/email-otp-settings","href":"/api-reference/consumer-email-otp-settings-update"},{"title":"Create or replace the SMTP configuration","deprecated":null,"version":null,"sidebarTitle":"Partner smtp configuration replace","openapi":"/openapi/consumer.v1.json put /partner/v1/smtp-configuration","href":"/api-reference/partner-smtp-configuration-replace"},{"title":"Update a draft email template","deprecated":null,"version":null,"sidebarTitle":"Partner email templates update","openapi":"/openapi/consumer.v1.json patch /partner/v1/email-templates/{emailTemplateId}","href":"/api-reference/partner-email-templates-update"},{"title":"Activate an email template","deprecated":null,"version":null,"sidebarTitle":"Partner email templates activate","openapi":"/openapi/consumer.v1.json post /partner/v1/email-templates/{emailTemplateId}:activate","href":"/api-reference/partner-email-templates-activate"},{"title":"Archive an email template","deprecated":null,"version":null,"sidebarTitle":"Partner email templates archive","openapi":"/openapi/consumer.v1.json post /partner/v1/email-templates/{emailTemplateId}:archive","href":"/api-reference/partner-email-templates-archive"},{"title":"Render an unsaved template preview","deprecated":null,"version":null,"sidebarTitle":"Partner email templates preview draft","openapi":"/openapi/consumer.v1.json post /partner/v1/email-templates:preview","href":"/api-reference/partner-email-templates-preview-draft"},{"title":"Verify SMTP and send a test email","deprecated":null,"version":null,"sidebarTitle":"Partner smtp configuration verify","openapi":"/openapi/consumer.v1.json post /partner/v1/smtp-configuration:verify","href":"/api-reference/partner-smtp-configuration-verify"}]},{"group":"Analytics","pages":[{"title":"Get redemption statistics","deprecated":null,"version":null,"sidebarTitle":"Consumer analytics redemption stats","openapi":"/openapi/consumer.v1.json get /consumer/v1/analytics/redemption-stats","href":"/api-reference/consumer-analytics-redemption-stats"},{"title":"Get entity statistics","deprecated":null,"version":null,"sidebarTitle":"Consumer analytics entity stats","openapi":"/openapi/consumer.v1.json get /consumer/v1/analytics/entity-stats","href":"/api-reference/consumer-analytics-entity-stats"},{"title":"Get redemption link funnel statistics","deprecated":null,"version":null,"sidebarTitle":"Consumer analytics link stats","openapi":"/openapi/consumer.v1.json get /consumer/v1/analytics/link-stats","href":"/api-reference/consumer-analytics-link-stats"},{"title":"Get the analytics overview","deprecated":null,"version":null,"sidebarTitle":"Consumer analytics overview","openapi":"/openapi/consumer.v1.json get /consumer/v1/analytics/overview","href":"/api-reference/consumer-analytics-overview"}]},{"group":"Billing","pages":[{"title":"List billing contacts","deprecated":null,"version":null,"sidebarTitle":"Consumer billing contacts list","openapi":"/openapi/consumer.v1.json get /consumer/v1/billing/contacts","href":"/api-reference/consumer-billing-contacts-list"},{"title":"List payment methods","deprecated":null,"version":null,"sidebarTitle":"Consumer billing payment methods list","openapi":"/openapi/consumer.v1.json get /consumer/v1/billing/payment-methods","href":"/api-reference/consumer-billing-payment-methods-list"},{"title":"List invoices","deprecated":null,"version":null,"sidebarTitle":"Consumer billing invoices list","openapi":"/openapi/consumer.v1.json get /consumer/v1/billing/invoices","href":"/api-reference/consumer-billing-invoices-list"},{"title":"List invoice lines","deprecated":null,"version":null,"sidebarTitle":"Consumer billing invoices lines","openapi":"/openapi/consumer.v1.json get /consumer/v1/billing/invoices/{invoiceId}/lines","href":"/api-reference/consumer-billing-invoices-lines"},{"title":"List payments","deprecated":null,"version":null,"sidebarTitle":"Consumer billing payments list","openapi":"/openapi/consumer.v1.json get /consumer/v1/billing/payments","href":"/api-reference/consumer-billing-payments-list"},{"title":"List usage lines of a month","deprecated":null,"version":null,"sidebarTitle":"Consumer billing usage lines","openapi":"/openapi/consumer.v1.json get /consumer/v1/billing/usage/lines","href":"/api-reference/consumer-billing-usage-lines"},{"title":"Add a billing contact","deprecated":null,"version":null,"sidebarTitle":"Consumer billing contacts create","openapi":"/openapi/consumer.v1.json post /consumer/v1/billing/contacts","href":"/api-reference/consumer-billing-contacts-create"},{"title":"Get the billing account","deprecated":null,"version":null,"sidebarTitle":"Consumer billing account get","openapi":"/openapi/consumer.v1.json get /consumer/v1/billing/account","href":"/api-reference/consumer-billing-account-get"},{"title":"Get a payment method","deprecated":null,"version":null,"sidebarTitle":"Consumer billing payment methods get","openapi":"/openapi/consumer.v1.json get /consumer/v1/billing/payment-methods/{paymentMethodId}","href":"/api-reference/consumer-billing-payment-methods-get"},{"title":"Get an invoice","deprecated":null,"version":null,"sidebarTitle":"Consumer billing invoices get","openapi":"/openapi/consumer.v1.json get /consumer/v1/billing/invoices/{invoiceId}","href":"/api-reference/consumer-billing-invoices-get"},{"title":"Download an invoice document","deprecated":null,"version":null,"sidebarTitle":"Consumer billing invoices document","openapi":"/openapi/consumer.v1.json get /consumer/v1/billing/invoices/{invoiceId}/document","href":"/api-reference/consumer-billing-invoices-document"},{"title":"Get the usage estimate of a month","deprecated":null,"version":null,"sidebarTitle":"Consumer billing usage get","openapi":"/openapi/consumer.v1.json get /consumer/v1/billing/usage","href":"/api-reference/consumer-billing-usage-get"},{"title":"Get the billing balance","deprecated":null,"version":null,"sidebarTitle":"Consumer billing balance get","openapi":"/openapi/consumer.v1.json get /consumer/v1/billing/balance","href":"/api-reference/consumer-billing-balance-get"},{"title":"Update the billing account","deprecated":null,"version":null,"sidebarTitle":"Consumer billing account update","openapi":"/openapi/consumer.v1.json patch /consumer/v1/billing/account","href":"/api-reference/consumer-billing-account-update"},{"title":"Update a billing contact","deprecated":null,"version":null,"sidebarTitle":"Consumer billing contacts update","openapi":"/openapi/consumer.v1.json patch /consumer/v1/billing/contacts/{billingContactId}","href":"/api-reference/consumer-billing-contacts-update"},{"title":"Resend an invoice","deprecated":null,"version":null,"sidebarTitle":"Consumer billing invoices resend","openapi":"/openapi/consumer.v1.json post /consumer/v1/billing/invoices/{invoiceId}:resend","href":"/api-reference/consumer-billing-invoices-resend"},{"title":"Make a payment method the default","deprecated":null,"version":null,"sidebarTitle":"Consumer billing payment methods make default","openapi":"/openapi/consumer.v1.json post /consumer/v1/billing/payment-methods/{paymentMethodId}:make-default","href":"/api-reference/consumer-billing-payment-methods-make-default"},{"title":"Remove a payment method","description":"Removes a SEPA Direct Debit mandate (status `removed`). An `active` or `inactive` mandate is detached at the payment provider, and open invoices without an active mandate are paid by bank transfer. A setup that did not succeed (`setup-pending` or `setup-failed`) is removed and its SetupIntent canceled; your active mandate is not affected. Removing a removed mandate again changes nothing. Needs a recent sign-in; not allowed while your partner is suspended. See [SEPA Direct Debit mandate](/consumer/billing#sepa-direct-debit-mandate).\n\n**Required permissions:** `manage-consumer-billing` · **API keys:** not allowed · **Recent sign-in:** required for dashboard users (15 minutes)","deprecated":null,"version":null,"sidebarTitle":"Consumer billing payment methods remove","openapi":"/openapi/consumer.v1.json post /consumer/v1/billing/payment-methods/{paymentMethodId}:remove","href":"/api-reference/consumer-billing-payment-methods-remove"},{"title":"Start a SEPA Direct Debit mandate setup","deprecated":null,"version":null,"sidebarTitle":"Consumer billing payment methods setup sepa debit","openapi":"/openapi/consumer.v1.json post /consumer/v1/billing/payment-methods:setup-sepa-debit","href":"/api-reference/consumer-billing-payment-methods-setup-sepa-debit"},{"title":"Remove a billing contact","description":"Removes a billing contact. Removing the last `invoices` contact makes the account `incomplete` in the same transaction. Needs a recent sign-in. Allowed while your partner is suspended. See the [billing guide](/consumer/billing).\n\n**Required permissions:** `manage-consumer-billing` · **API keys:** not allowed · **Recent sign-in:** required for dashboard users (15 minutes)","deprecated":null,"version":null,"sidebarTitle":"Consumer billing contacts delete","openapi":"/openapi/consumer.v1.json delete /consumer/v1/billing/contacts/{billingContactId}","href":"/api-reference/consumer-billing-contacts-delete"}]},{"group":"Pricing","pages":[{"title":"List Price Terms of visible voucher sets","deprecated":null,"version":null,"sidebarTitle":"Consumer pricing voucher sets list","openapi":"/openapi/consumer.v1.json get /consumer/v1/pricing/voucher-sets","href":"/api-reference/consumer-pricing-voucher-sets-list"},{"title":"List Price Acceptances","deprecated":null,"version":null,"sidebarTitle":"Consumer pricing acceptances list","openapi":"/openapi/consumer.v1.json get /consumer/v1/pricing/acceptances","href":"/api-reference/consumer-pricing-acceptances-list"},{"title":"Accept Price Terms","deprecated":null,"version":null,"sidebarTitle":"Consumer pricing acceptances create","openapi":"/openapi/consumer.v1.json post /consumer/v1/pricing/acceptances","href":"/api-reference/consumer-pricing-acceptances-create"},{"title":"Get the Price Terms of a voucher set","deprecated":null,"version":null,"sidebarTitle":"Consumer pricing voucher sets get","openapi":"/openapi/consumer.v1.json get /consumer/v1/pricing/voucher-sets/{voucherSetId}","href":"/api-reference/consumer-pricing-voucher-sets-get"},{"title":"Get the pricing summary","deprecated":null,"version":null,"sidebarTitle":"Consumer pricing summary get","openapi":"/openapi/consumer.v1.json get /consumer/v1/pricing/summary","href":"/api-reference/consumer-pricing-summary-get"}]}]},{"group":"Workspace API","pages":[{"group":"Partner","pages":[{"title":"Get your partner","deprecated":null,"version":null,"sidebarTitle":"Partner partner get","openapi":"/openapi/consumer.v1.json get /partner/v1/partner","href":"/api-reference/partner-partner-get"},{"title":"Get the calling principal","deprecated":null,"version":null,"sidebarTitle":"Partner principal get","openapi":"/openapi/consumer.v1.json get /partner/v1/principal","href":"/api-reference/partner-principal-get"},{"title":"Get the API access status","deprecated":null,"version":null,"sidebarTitle":"Partner api access get","openapi":"/openapi/consumer.v1.json get /partner/v1/api-access","href":"/api-reference/partner-api-access-get"},{"title":"Get developer reference information","deprecated":null,"version":null,"sidebarTitle":"Partner developer reference get","openapi":"/openapi/consumer.v1.json get /partner/v1/developer-reference","href":"/api-reference/partner-developer-reference-get"},{"title":"List selectable time zones","deprecated":null,"version":null,"sidebarTitle":"Partner timezones list","openapi":"/openapi/consumer.v1.json get /partner/v1/timezones","href":"/api-reference/partner-timezones-list"},{"title":"Update general information","deprecated":null,"version":null,"sidebarTitle":"Partner partner update","openapi":"/openapi/consumer.v1.json patch /partner/v1/partner","href":"/api-reference/partner-partner-update"},{"title":"Update security settings","deprecated":null,"version":null,"sidebarTitle":"Partner partner update settings","openapi":"/openapi/consumer.v1.json patch /partner/v1/partner/settings","href":"/api-reference/partner-partner-update-settings"},{"title":"Request API access","deprecated":null,"version":null,"sidebarTitle":"Partner api access request","openapi":"/openapi/consumer.v1.json post /partner/v1/api-access:request","href":"/api-reference/partner-api-access-request"}]},{"group":"Members","pages":[{"title":"List members","deprecated":null,"version":null,"sidebarTitle":"Partner members list","openapi":"/openapi/consumer.v1.json get /partner/v1/members","href":"/api-reference/partner-members-list"},{"title":"Invite a member","deprecated":null,"version":null,"sidebarTitle":"Partner members create","openapi":"/openapi/consumer.v1.json post /partner/v1/members","href":"/api-reference/partner-members-create"},{"title":"Get a member","deprecated":null,"version":null,"sidebarTitle":"Partner members get","openapi":"/openapi/consumer.v1.json get /partner/v1/members/{partnerMembershipId}","href":"/api-reference/partner-members-get"},{"title":"Change a member's direct permissions","deprecated":null,"version":null,"sidebarTitle":"Partner members update","openapi":"/openapi/consumer.v1.json patch /partner/v1/members/{partnerMembershipId}","href":"/api-reference/partner-members-update"},{"title":"Remove a member or revoke an invitation","deprecated":null,"version":null,"sidebarTitle":"Partner members remove","openapi":"/openapi/consumer.v1.json post /partner/v1/members/{partnerMembershipId}:remove","href":"/api-reference/partner-members-remove"},{"title":"Resend an invitation","deprecated":null,"version":null,"sidebarTitle":"Partner members resend invitation","openapi":"/openapi/consumer.v1.json post /partner/v1/members/{partnerMembershipId}:resend-invitation","href":"/api-reference/partner-members-resend-invitation"},{"title":"Suspend a member","deprecated":null,"version":null,"sidebarTitle":"Partner members suspend","openapi":"/openapi/consumer.v1.json post /partner/v1/members/{partnerMembershipId}:suspend","href":"/api-reference/partner-members-suspend"},{"title":"Unsuspend a member","deprecated":null,"version":null,"sidebarTitle":"Partner members unsuspend","openapi":"/openapi/consumer.v1.json post /partner/v1/members/{partnerMembershipId}:unsuspend","href":"/api-reference/partner-members-unsuspend"}]},{"group":"Groups","pages":[{"title":"List groups","deprecated":null,"version":null,"sidebarTitle":"Partner groups list","openapi":"/openapi/consumer.v1.json get /partner/v1/groups","href":"/api-reference/partner-groups-list"},{"title":"List the members of a group","deprecated":null,"version":null,"sidebarTitle":"Partner groups members","openapi":"/openapi/consumer.v1.json get /partner/v1/groups/{groupId}/members","href":"/api-reference/partner-groups-members"},{"title":"List permissions","deprecated":null,"version":null,"sidebarTitle":"Partner permissions list","openapi":"/openapi/consumer.v1.json get /partner/v1/permissions","href":"/api-reference/partner-permissions-list"},{"title":"Create a group","deprecated":null,"version":null,"sidebarTitle":"Partner groups create","openapi":"/openapi/consumer.v1.json post /partner/v1/groups","href":"/api-reference/partner-groups-create"},{"title":"Get a group","deprecated":null,"version":null,"sidebarTitle":"Partner groups get","openapi":"/openapi/consumer.v1.json get /partner/v1/groups/{groupId}","href":"/api-reference/partner-groups-get"},{"title":"Update a group","deprecated":null,"version":null,"sidebarTitle":"Partner groups update","openapi":"/openapi/consumer.v1.json patch /partner/v1/groups/{groupId}","href":"/api-reference/partner-groups-update"},{"title":"Delete a group","deprecated":null,"version":null,"sidebarTitle":"Partner groups delete","openapi":"/openapi/consumer.v1.json delete /partner/v1/groups/{groupId}","href":"/api-reference/partner-groups-delete"}]},{"group":"API keys","pages":[{"title":"List API keys","deprecated":null,"version":null,"sidebarTitle":"Partner api keys list","openapi":"/openapi/consumer.v1.json get /partner/v1/api-keys","href":"/api-reference/partner-api-keys-list"},{"title":"Create an API key","deprecated":null,"version":null,"sidebarTitle":"Partner api keys create","openapi":"/openapi/consumer.v1.json post /partner/v1/api-keys","href":"/api-reference/partner-api-keys-create"},{"title":"Get an API key","deprecated":null,"version":null,"sidebarTitle":"Partner api keys get","openapi":"/openapi/consumer.v1.json get /partner/v1/api-keys/{apiKeyId}","href":"/api-reference/partner-api-keys-get"},{"title":"Rename an API key","deprecated":null,"version":null,"sidebarTitle":"Partner api keys update","openapi":"/openapi/consumer.v1.json patch /partner/v1/api-keys/{apiKeyId}","href":"/api-reference/partner-api-keys-update"},{"title":"Revoke an API key","deprecated":null,"version":null,"sidebarTitle":"Partner api keys revoke","openapi":"/openapi/consumer.v1.json post /partner/v1/api-keys/{apiKeyId}:revoke","href":"/api-reference/partner-api-keys-revoke"},{"title":"Roll an API key","deprecated":null,"version":null,"sidebarTitle":"Partner api keys roll","openapi":"/openapi/consumer.v1.json post /partner/v1/api-keys/{apiKeyId}:roll","href":"/api-reference/partner-api-keys-roll"}]},{"group":"Webhook endpoints","pages":[{"title":"List webhook endpoints","deprecated":null,"version":null,"sidebarTitle":"Partner webhook endpoints list","openapi":"/openapi/consumer.v1.json get /partner/v1/webhook-endpoints","href":"/api-reference/partner-webhook-endpoints-list"},{"title":"List webhook event types","deprecated":null,"version":null,"sidebarTitle":"Partner webhook event types list","openapi":"/openapi/consumer.v1.json get /partner/v1/webhook-event-types","href":"/api-reference/partner-webhook-event-types-list"},{"title":"Create a webhook endpoint","deprecated":null,"version":null,"sidebarTitle":"Partner webhook endpoints create","openapi":"/openapi/consumer.v1.json post /partner/v1/webhook-endpoints","href":"/api-reference/partner-webhook-endpoints-create"},{"title":"Get a webhook endpoint","deprecated":null,"version":null,"sidebarTitle":"Partner webhook endpoints get","openapi":"/openapi/consumer.v1.json get /partner/v1/webhook-endpoints/{webhookEndpointId}","href":"/api-reference/partner-webhook-endpoints-get"},{"title":"Update a webhook endpoint","deprecated":null,"version":null,"sidebarTitle":"Partner webhook endpoints update","openapi":"/openapi/consumer.v1.json patch /partner/v1/webhook-endpoints/{webhookEndpointId}","href":"/api-reference/partner-webhook-endpoints-update"},{"title":"Pause a webhook endpoint","deprecated":null,"version":null,"sidebarTitle":"Partner webhook endpoints pause","openapi":"/openapi/consumer.v1.json post /partner/v1/webhook-endpoints/{webhookEndpointId}:pause","href":"/api-reference/partner-webhook-endpoints-pause"},{"title":"Resume a webhook endpoint","deprecated":null,"version":null,"sidebarTitle":"Partner webhook endpoints resume","openapi":"/openapi/consumer.v1.json post /partner/v1/webhook-endpoints/{webhookEndpointId}:resume","href":"/api-reference/partner-webhook-endpoints-resume"},{"title":"Rotate the first signing secret","deprecated":null,"version":null,"sidebarTitle":"Partner webhook endpoints rotate first secret","openapi":"/openapi/consumer.v1.json post /partner/v1/webhook-endpoints/{webhookEndpointId}:rotate-first-secret","href":"/api-reference/partner-webhook-endpoints-rotate-first-secret"},{"title":"Rotate the second signing secret","deprecated":null,"version":null,"sidebarTitle":"Partner webhook endpoints rotate second secret","openapi":"/openapi/consumer.v1.json post /partner/v1/webhook-endpoints/{webhookEndpointId}:rotate-second-secret","href":"/api-reference/partner-webhook-endpoints-rotate-second-secret"},{"title":"Send a test event","deprecated":null,"version":null,"sidebarTitle":"Partner webhook endpoints send test event","openapi":"/openapi/consumer.v1.json post /partner/v1/webhook-endpoints/{webhookEndpointId}:send-test-event","href":"/api-reference/partner-webhook-endpoints-send-test-event"},{"title":"Delete a webhook endpoint","deprecated":null,"version":null,"sidebarTitle":"Partner webhook endpoints delete","openapi":"/openapi/consumer.v1.json delete /partner/v1/webhook-endpoints/{webhookEndpointId}","href":"/api-reference/partner-webhook-endpoints-delete"}]},{"group":"Webhook deliveries","pages":[{"title":"List webhook deliveries","deprecated":null,"version":null,"sidebarTitle":"Partner webhook deliveries list","openapi":"/openapi/consumer.v1.json get /partner/v1/webhook-deliveries","href":"/api-reference/partner-webhook-deliveries-list"},{"title":"Get a webhook delivery","deprecated":null,"version":null,"sidebarTitle":"Partner webhook deliveries get","openapi":"/openapi/consumer.v1.json get /partner/v1/webhook-deliveries/{webhookDeliveryId}","href":"/api-reference/partner-webhook-deliveries-get"},{"title":"Replay a webhook delivery","deprecated":null,"version":null,"sidebarTitle":"Partner webhook deliveries replay","openapi":"/openapi/consumer.v1.json post /partner/v1/webhook-deliveries/{webhookDeliveryId}:replay","href":"/api-reference/partner-webhook-deliveries-replay"},{"title":"Replay failed deliveries of an endpoint","deprecated":null,"version":null,"sidebarTitle":"Partner webhook endpoints replay failed","openapi":"/openapi/consumer.v1.json post /partner/v1/webhook-endpoints/{webhookEndpointId}:replay-failed","href":"/api-reference/partner-webhook-endpoints-replay-failed"}]},{"group":"IP allowlist","pages":[{"title":"List IP allowlist entries","deprecated":null,"version":null,"sidebarTitle":"Partner ip allowlist list","openapi":"/openapi/consumer.v1.json get /partner/v1/ip-allowlist","href":"/api-reference/partner-ip-allowlist-list"},{"title":"Add an IP allowlist entry","deprecated":null,"version":null,"sidebarTitle":"Partner ip allowlist create","openapi":"/openapi/consumer.v1.json post /partner/v1/ip-allowlist","href":"/api-reference/partner-ip-allowlist-create"},{"title":"Relabel an IP allowlist entry","deprecated":null,"version":null,"sidebarTitle":"Partner ip allowlist update","openapi":"/openapi/consumer.v1.json patch /partner/v1/ip-allowlist/{ipAllowlistEntryId}","href":"/api-reference/partner-ip-allowlist-update"},{"title":"Remove an IP allowlist entry","deprecated":null,"version":null,"sidebarTitle":"Partner ip allowlist delete","openapi":"/openapi/consumer.v1.json delete /partner/v1/ip-allowlist/{ipAllowlistEntryId}","href":"/api-reference/partner-ip-allowlist-delete"}]},{"group":"Custom domains","pages":[{"title":"List custom domains","deprecated":null,"version":null,"sidebarTitle":"Partner custom domains list","openapi":"/openapi/consumer.v1.json get /partner/v1/custom-domains","href":"/api-reference/partner-custom-domains-list"},{"title":"Add a custom domain","deprecated":null,"version":null,"sidebarTitle":"Partner custom domains create","openapi":"/openapi/consumer.v1.json post /partner/v1/custom-domains","href":"/api-reference/partner-custom-domains-create"},{"title":"Get a custom domain","deprecated":null,"version":null,"sidebarTitle":"Partner custom domains get","openapi":"/openapi/consumer.v1.json get /partner/v1/custom-domains/{customDomainId}","href":"/api-reference/partner-custom-domains-get"},{"title":"Re-check a custom domain","deprecated":null,"version":null,"sidebarTitle":"Partner custom domains refresh","openapi":"/openapi/consumer.v1.json post /partner/v1/custom-domains/{customDomainId}:refresh","href":"/api-reference/partner-custom-domains-refresh"},{"title":"Delete a custom domain","deprecated":null,"version":null,"sidebarTitle":"Partner custom domains delete","openapi":"/openapi/consumer.v1.json delete /partner/v1/custom-domains/{customDomainId}","href":"/api-reference/partner-custom-domains-delete"}]},{"group":"Workspace branding","pages":[{"title":"List brand assets","deprecated":null,"version":null,"sidebarTitle":"Partner brand assets list","openapi":"/openapi/consumer.v1.json get /partner/v1/brand-assets","href":"/api-reference/partner-brand-assets-list"},{"title":"Create a brand asset","deprecated":null,"version":null,"sidebarTitle":"Partner brand assets create","openapi":"/openapi/consumer.v1.json post /partner/v1/brand-assets","href":"/api-reference/partner-brand-assets-create"},{"title":"Get workspace branding","deprecated":null,"version":null,"sidebarTitle":"Partner workspace branding get","openapi":"/openapi/consumer.v1.json get /partner/v1/branding/workspace","href":"/api-reference/partner-workspace-branding-get"},{"title":"Get a brand asset","deprecated":null,"version":null,"sidebarTitle":"Partner brand assets get","openapi":"/openapi/consumer.v1.json get /partner/v1/brand-assets/{brandAssetId}","href":"/api-reference/partner-brand-assets-get"},{"title":"Replace workspace branding","deprecated":null,"version":null,"sidebarTitle":"Partner workspace branding replace","openapi":"/openapi/consumer.v1.json put /partner/v1/branding/workspace","href":"/api-reference/partner-workspace-branding-replace"},{"title":"Complete a brand asset upload","deprecated":null,"version":null,"sidebarTitle":"Partner brand assets complete","openapi":"/openapi/consumer.v1.json post /partner/v1/brand-assets/{brandAssetId}:complete","href":"/api-reference/partner-brand-assets-complete"},{"title":"Delete a brand asset","deprecated":null,"version":null,"sidebarTitle":"Partner brand assets delete","openapi":"/openapi/consumer.v1.json delete /partner/v1/brand-assets/{brandAssetId}","href":"/api-reference/partner-brand-assets-delete"}]},{"group":"Single sign-on","pages":[{"title":"List SSO connections","deprecated":null,"version":null,"sidebarTitle":"Partner sso connections list","openapi":"/openapi/consumer.v1.json get /partner/v1/sso-connections","href":"/api-reference/partner-sso-connections-list"},{"title":"Create an SSO connection","deprecated":null,"version":null,"sidebarTitle":"Partner sso connections create","openapi":"/openapi/consumer.v1.json post /partner/v1/sso-connections","href":"/api-reference/partner-sso-connections-create"},{"title":"Get an SSO connection","deprecated":null,"version":null,"sidebarTitle":"Partner sso connections get","openapi":"/openapi/consumer.v1.json get /partner/v1/sso-connections/{ssoConnectionId}","href":"/api-reference/partner-sso-connections-get"},{"title":"Update an SSO connection","deprecated":null,"version":null,"sidebarTitle":"Partner sso connections update","openapi":"/openapi/consumer.v1.json patch /partner/v1/sso-connections/{ssoConnectionId}","href":"/api-reference/partner-sso-connections-update"},{"title":"Activate an SSO connection","deprecated":null,"version":null,"sidebarTitle":"Partner sso connections activate","openapi":"/openapi/consumer.v1.json post /partner/v1/sso-connections/{ssoConnectionId}:activate","href":"/api-reference/partner-sso-connections-activate"},{"title":"Deactivate an SSO connection","deprecated":null,"version":null,"sidebarTitle":"Partner sso connections deactivate","openapi":"/openapi/consumer.v1.json post /partner/v1/sso-connections/{ssoConnectionId}:deactivate","href":"/api-reference/partner-sso-connections-deactivate"},{"title":"Verify SSO email domains","deprecated":null,"version":null,"sidebarTitle":"Partner sso connections verify","openapi":"/openapi/consumer.v1.json post /partner/v1/sso-connections/{ssoConnectionId}:verify","href":"/api-reference/partner-sso-connections-verify"}]},{"group":"Audit log","pages":[{"title":"List audit events","deprecated":null,"version":null,"sidebarTitle":"Partner audit events list","openapi":"/openapi/consumer.v1.json get /partner/v1/audit-events","href":"/api-reference/partner-audit-events-list"},{"title":"Get an audit event","deprecated":null,"version":null,"sidebarTitle":"Partner audit events get","openapi":"/openapi/consumer.v1.json get /partner/v1/audit-events/{auditEventId}","href":"/api-reference/partner-audit-events-get"}]}]}]},{"tab":"Webhook events","pages":[{"title":"Webhook events","href":"/webhooks/events/redemption-created"}]}]}]},"basePath":"","title":"Start a SEPA Direct Debit mandate setup - AllRide Vouchers — Consumer API","buildId":"dpl_36EDyZCDfRuoUD9af5CH4M1bqY2h","deploymentId":"dpl_36EDyZCDfRuoUD9af5CH4M1bqY2h","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-DCDCdBVX.js","utils-ME8dDnLe.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-0e84ACsd.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-wgRBj-ia.js","snippetPresets-C11Sgb-o.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-C0lapOpP.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-ZeRQV8fF.js","shallow-BupWh095.js","getApiPlaygroundDisplay-BnYQO2Ss.js","CodeSnippet-RKKOc8c_.js","CodeSnippets-Drf_m8wS.js","Page-Bevw23-4.js","getPastedJson-u6QiPzNZ.js","icon-Bb-CBSxO.js","MethodPill-F7l5AI7V.js","DuplicateIcon-IiAXkdSg.js","createIcon-FliI8EBc.js","DynamicMarkdown-B62XqCSI.js","SectionHeading-Dj31pT03.js","axios-vUo_bRtp.js","Markdown-BOgQCTwD.js","clsx-BIWXJmsZ.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-DKZWslLH.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-UDqbR6xh.js"]}