Scope3 Storefront Billing API
Payout bank details and billing configuration for storefronts
Payout bank details and billing configuration for storefronts
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/scope3-storefront-billing-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.2.0
info:
title: Scope3 Storefront Storefront Billing API
version: 2.0.0
description: 'REST API for partners to manage storefronts, inventory sources, and billing.
## Authentication
All endpoints require a Bearer token in the Authorization header:
```
Authorization: Bearer your-api-key
```
## Base URL
`https://api.interchange.io/api/v2/storefront`
## For AI Agents
AI agents can use the MCP endpoint at `/mcp/v2/storefront` with three tools:
- `initialize`: Start an MCP session
- `api_call`: Make REST API calls
- `ask_about_capability`: Learn about API features'
servers:
- url: https://api.interchange.io/api/v2/storefront
description: Production server
tags:
- name: Storefront Billing
description: Payout bank details and billing configuration for storefronts
paths:
/billing/storefront-rate-card:
servers:
- url: https://api.interchange.io/api/v2
description: Production server
get:
operationId: getStorefrontRateCardOffer
summary: Get the storefront Rate Card offer and acceptance state
description: Returns exact effective public storefront plans for an enrolled billing organization, applicable corporate discount and list/net prices, deterministic Free/Paid state, current acceptance record, and immutable history at the organization billing boundary. A pre-ToS direct org admin may read an available offer so pricing can be reviewed alongside the governing agreement; acceptance history remains readable outside the pilot.
tags:
- Storefront Billing
security:
- bearerAuth: []
responses:
'200':
description: Get the storefront Rate Card offer and acceptance state
content:
application/json:
schema:
$ref: '#/components/schemas/GetStorefrontRateCardOfferResponse'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'403':
description: ACCESS_DENIED (caller is not a direct organization admin).
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'409':
description: CONFLICT (commercial configuration is ambiguous).
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/billing/storefront-rate-card/accept:
servers:
- url: https://api.interchange.io/api/v2
description: Production server
post:
operationId: acceptStorefrontRateCardOffer
summary: Accept an exact storefront Rate Card offer
description: Creates the initial immutable paid-plan acceptance record for a direct human organization admin. The server re-resolves the Rate Card, public plan, governing agreement, and discount; a changed displayed offer returns conflict and must be reviewed again. Prices are never accepted from the client.
tags:
- Storefront Billing
security:
- bearerAuth: []
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
offerVersion:
type: string
pattern: ^v1:[0-9a-f]{64}$
planId:
type: string
pattern: ^\d+$
paymentOptionKey:
type: string
minLength: 1
maxLength: 120
pattern: ^[a-z0-9][a-z0-9._-]*$
idempotencyKey:
type: string
minLength: 8
maxLength: 128
pattern: ^[A-Za-z0-9._:-]+$
required:
- offerVersion
- planId
- idempotencyKey
additionalProperties: false
responses:
'200':
description: Accept an exact storefront Rate Card offer
content:
application/json:
schema:
$ref: '#/components/schemas/AcceptStorefrontRateCardOfferResponse'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'403':
description: ACCESS_DENIED (a direct human organization admin is required).
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'409':
description: CONFLICT (the offer changed, the key was reused, or an accepted plan already exists).
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/billing/payout-activity:
servers:
- url: https://api.interchange.io/api/v2
description: Production server
get:
operationId: getPayoutActivity
summary: Get payout activity
description: 'Payout activity for the caller''s org (status, period, legal entity, currency, amount, expected/paid date). Currently always `{ rows: [] }` — no payout run has produced an artifact yet.'
tags:
- Storefront Billing
security:
- bearerAuth: []
parameters:
- in: query
name: targetCustomerId
schema:
description: Direct child customer to read or update from an authorized parent billing organization
type: string
pattern: ^[1-9][0-9]*$
description: Direct child customer to read or update from an authorized parent billing organization
responses:
'200':
description: Get payout activity
content:
application/json:
schema:
$ref: '#/components/schemas/PayoutActivityResponse'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/billing:
get:
operationId: getStorefrontBilling
summary: Get billing config
description: 'Get the billing configuration for the storefront: payout setup status, masked payout bank details, platform fee, additional fees, payout currency, and payment terms.'
tags:
- Storefront Billing
security:
- bearerAuth: []
parameters:
- in: query
name: targetCustomerId
schema:
description: Direct child customer to read or update from an authorized parent billing organization
type: string
pattern: ^[1-9][0-9]*$
description: Direct child customer to read or update from an authorized parent billing organization
responses:
'200':
description: Get billing config
content:
application/json:
schema:
$ref: '#/components/schemas/GetBillingResponse'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
put:
operationId: updateStorefrontBilling
summary: Update billing configuration (admin)
description: Update the storefront billing configuration (platform fee percent, additional fees, currency, default net days). Admin-only.
tags:
- Storefront Billing
security:
- bearerAuth: []
parameters:
- in: query
name: targetCustomerId
schema:
description: Direct child customer to read or update from an authorized parent billing organization
type: string
pattern: ^[1-9][0-9]*$
description: Direct child customer to read or update from an authorized parent billing organization
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
platformFeePercent:
description: Platform fee percentage (0–100)
type: number
minimum: 0
maximum: 100
fees:
description: Additional partner fees
type: array
items:
$ref: '#/components/schemas/BillingFee'
currency:
description: ISO 4217 currency code
example: USD
type: string
minLength: 3
maxLength: 3
pattern: ^[A-Z]{3}$
defaultNetDays:
description: Payment terms in days
type: integer
minimum: 0
maximum: 9007199254740991
responses:
'200':
description: Update billing configuration (admin)
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateStorefrontBillingResponse'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/billing/payout-details:
put:
operationId: setPayoutDetails
summary: Set payout details (admin)
description: 'Add or replace the payout bank details Scope3 uses to pay the storefront out by bank transfer: beneficiary name and address, account number or IBAN (write-only — reads return the last 4 characters), one bank identifier (Fedwire/ABA routing number, CHIPS ABA, SWIFT-BIC, or local bank code), and the payout currency. Admin-only.'
tags:
- Storefront Billing
security:
- bearerAuth: []
parameters:
- in: query
name: targetCustomerId
schema:
description: Direct child customer to read or update from an authorized parent billing organization
type: string
pattern: ^[1-9][0-9]*$
description: Direct child customer to read or update from an authorized parent billing organization
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
beneficiaryName:
description: Legal name of the payout beneficiary — the account holder the bank pays, exactly as it appears on the bank account.
type: string
minLength: 1
maxLength: 255
addressLine1:
description: Beneficiary street address, line 1.
type: string
minLength: 1
maxLength: 255
addressLine2:
description: Beneficiary street address, line 2 (optional).
type: string
maxLength: 255
city:
description: Beneficiary city.
type: string
minLength: 1
maxLength: 128
region:
description: Beneficiary state/province/region (optional).
type: string
maxLength: 128
postalCode:
description: Beneficiary postal/ZIP code.
type: string
minLength: 1
maxLength: 32
countryCode:
description: Beneficiary country as an ISO 3166-1 alpha-2 code (e.g. "US", "GB").
example: US
type: string
pattern: ^[A-Z]{2}$
accountNumber:
description: Bank account number OR IBAN (6–34 alphanumeric characters; spaces are stripped). Never returned in full by the API — reads expose only the last 4 characters. Required the first time payout details are set; may be omitted on later updates to keep the stored account number unchanged.
type: string
bankIdentifierType:
description: 'Which bank identifier system `bankIdentifierValue` uses: FEDWIRE_ABA (US Fedwire/ABA routing number, 9 digits), CHIPS_ABA (CHIPS ABA number, 9 digits), SWIFT_BIC (SWIFT/BIC code, 8 or 11 characters), or BANK_CODE (a local/domestic bank code for banks without a SWIFT-BIC).'
type: string
enum:
- FEDWIRE_ABA
- CHIPS_ABA
- SWIFT_BIC
- BANK_CODE
bankIdentifierValue:
description: 'The bank identifier itself, matching `bankIdentifierType`: a 9-digit Fedwire/ABA routing number, a 9-digit CHIPS ABA number, an 8/11-character SWIFT-BIC, or a local bank code (1–34 letters/digits/dashes).'
type: string
minLength: 1
maxLength: 34
currency:
description: Payout currency as a 3-letter uppercase ISO 4217 code — the currency Scope3 pays this account out in.
example: USD
type: string
pattern: ^[A-Z]{3}$
required:
- beneficiaryName
- addressLine1
- city
- postalCode
- countryCode
- bankIdentifierType
- bankIdentifierValue
- currency
responses:
'200':
description: Set payout details (admin)
content:
application/json:
schema:
$ref: '#/components/schemas/SetPayoutDetailsResponse'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/billing/payees:
get:
operationId: listPayoutPayees
summary: List payout payees
description: 'List the multi-entity payout payees on file (masked: account numbers reduced to their last 4 characters). Each payee is the bank account for one legal payout entity in one payout currency. The default payout details on the billing config are separate — see Get billing config.'
tags:
- Storefront Billing
security:
- bearerAuth: []
parameters:
- in: query
name: targetCustomerId
schema:
description: Direct child customer to read or update from an authorized parent billing organization
type: string
pattern: ^[1-9][0-9]*$
description: Direct child customer to read or update from an authorized parent billing organization
responses:
'200':
description: List payout payees
content:
application/json:
schema:
$ref: '#/components/schemas/ListPayoutPayeesResponse'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
put:
operationId: setPayoutPayee
summary: Set payout payee (admin)
description: 'Add or update the payout bank details for one legal payout entity in one payout currency. Upserts by (entityName, currency): one bank account per entity per currency, and the beneficiary name must match the account holder — the legal entity itself. accountNumber is write-only and required the first time the payee is set; omit it on later updates to keep the stored value. Admin-only.'
tags:
- Storefront Billing
security:
- bearerAuth: []
parameters:
- in: query
name: targetCustomerId
schema:
description: Direct child customer to read or update from an authorized parent billing organization
type: string
pattern: ^[1-9][0-9]*$
description: Direct child customer to read or update from an authorized parent billing organization
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
entityName:
description: 'Label for the legal payout entity this bank account belongs to (e.g. "Acme Media India Pvt Ltd"). Together with the payout currency it identifies the payee: one bank account per entity per currency.'
type: string
minLength: 1
maxLength: 255
beneficiaryName:
description: Legal name of the payout beneficiary — the account holder the bank pays, exactly as it appears on the bank account.
type: string
minLength: 1
maxLength: 255
addressLine1:
description: Beneficiary street address, line 1.
type: string
minLength: 1
maxLength: 255
addressLine2:
description: Beneficiary street address, line 2 (optional).
type: string
maxLength: 255
city:
description: Beneficiary city.
type: string
minLength: 1
maxLength: 128
region:
description: Beneficiary state/province/region (optional).
type: string
maxLength: 128
postalCode:
description: Beneficiary postal/ZIP code.
type: string
minLength: 1
maxLength: 32
countryCode:
description: Beneficiary country as an ISO 3166-1 alpha-2 code (e.g. "US", "GB").
example: US
type: string
pattern: ^[A-Z]{2}$
accountNumber:
description: Bank account number OR IBAN (6–34 alphanumeric characters; spaces are stripped). Never returned in full by the API — reads expose only the last 4 characters. Required the first time payout details are set; may be omitted on later updates to keep the stored account number unchanged.
type: string
bankIdentifierType:
description: 'Which bank identifier system `bankIdentifierValue` uses: FEDWIRE_ABA (US Fedwire/ABA routing number, 9 digits), CHIPS_ABA (CHIPS ABA number, 9 digits), SWIFT_BIC (SWIFT/BIC code, 8 or 11 characters), or BANK_CODE (a local/domestic bank code for banks without a SWIFT-BIC).'
type: string
enum:
- FEDWIRE_ABA
- CHIPS_ABA
- SWIFT_BIC
- BANK_CODE
bankIdentifierValue:
description: 'The bank identifier itself, matching `bankIdentifierType`: a 9-digit Fedwire/ABA routing number, a 9-digit CHIPS ABA number, an 8/11-character SWIFT-BIC, or a local bank code (1–34 letters/digits/dashes).'
type: string
minLength: 1
maxLength: 34
currency:
description: Payout currency as a 3-letter uppercase ISO 4217 code — the currency Scope3 pays this account out in.
example: USD
type: string
pattern: ^[A-Z]{3}$
isPrimary:
description: 'Set true to make this the customer''s PRIMARY payout entity (the one returned as `payoutDetails` on GET /billing), demoting any other primary payee. Omit to leave the current primary/non-primary status unchanged. Exactly one payee per customer is primary: a customer''s FIRST payee always becomes the primary regardless of this field.'
type: boolean
required:
- entityName
- beneficiaryName
- addressLine1
- city
- postalCode
- countryCode
- bankIdentifierType
- bankIdentifierValue
- currency
responses:
'200':
description: Set payout payee (admin)
content:
application/json:
schema:
$ref: '#/components/schemas/SetPayoutPayeeResponse'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/billing/accounts:
get:
operationId: listBillingAccounts
summary: List billing accounts
description: Get billing status for managed accounts of a parent customer.
tags:
- Storefront Billing
security:
- bearerAuth: []
responses:
'200':
description: List billing accounts
content:
application/json:
schema:
$ref: '#/components/schemas/BillingAccountsResponse'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
components:
schemas:
UpdateStorefrontBillingResponse:
type: object
properties:
billing:
$ref: '#/components/schemas/StorefrontBillingResponse'
required:
- billing
additionalProperties: false
StorefrontBillingResponse:
description: Storefront billing configuration. Storefront billing setup is optional only for official Scope3 sales-adapter storefronts on existing downstream platform settlement agreements. Third-party sales agents and finished-product/pass-through sources are normal Interchange-cleared storefront sources and still require payout bank details. Seller-cleared settlement is not yet configurable for normal storefronts.
type: object
properties:
onboardingStatus:
description: Payout setup status. 'complete' once payout bank details are on file.
type: string
enum:
- pending
- complete
- restricted
platformFeePercent:
description: Platform fee percentage
type:
- number
- 'null'
fees:
description: Additional fees
type:
- array
- 'null'
items:
$ref: '#/components/schemas/BillingFeeOutput'
currency:
description: Payout currency (ISO 4217 code)
type:
- string
- 'null'
country:
description: ISO 3166-1 alpha-2 country used for billing
type:
- string
- 'null'
defaultNetDays:
description: Payment terms in days
type:
- number
- 'null'
payoutDetails:
description: Masked payout bank details on file, or null when none have been added yet
allOf:
- $ref: '#/components/schemas/PayoutDetails'
inherited:
description: Whether this billing config is inherited from a parent customer
type: boolean
createdAt:
description: Creation timestamp (ISO 8601)
type: string
format: date-time
pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
updatedAt:
description: Last update timestamp (ISO 8601)
type: string
format: date-time
pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
required:
- onboardingStatus
- platformFeePercent
- fees
- currency
- country
- defaultNetDays
- payoutDetails
- inherited
- createdAt
- updatedAt
additionalProperties: false
GetStorefrontRateCardOfferResponse:
type: object
properties:
data:
type: object
properties:
billingCustomerId:
type: integer
maximum: 9007199254740991
minimum: 1
eligible:
type: boolean
commercialStatus:
type: string
enum:
- FREE
- PAID
renewal:
type:
- object
- 'null'
properties:
version:
type: string
pattern: ^v1:[0-9a-f]{64}$
status:
type: string
enum:
- RENEWS
- NON_RENEWAL_SCHEDULED
- RENEWAL_BLOCKED
- ENDED
- PINNED
targetBindingId:
type: string
pattern: ^\d+$
effectiveFreeAt:
type: string
format: date-time
pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
changeAllowedUntil:
type: string
format: date-time
pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
allowedActions:
type: array
items:
type: string
enum:
- CANCEL_AT_TERM
- REINSTATE_AUTO_RENEWAL
latestInstruction:
type:
- object
- 'null'
properties:
id:
type: string
pattern: ^\d+$
bindingId:
type: string
pattern: ^\d+$
instructionType:
type: string
enum:
- CANCEL_AT_TERM
- REINSTATE_AUTO_RENEWAL
supersedesInstructionId:
type:
- string
- 'null'
pattern: ^\d+$
effectiveAt:
type: string
format: date-time
pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
changeCutoffAt:
type: string
format: date-time
pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
actorUserId:
type: string
pattern: ^\d+$
source:
type: string
enum:
- PLAN_BILLING
- MCP_APP
- ADMIN
reason:
type: string
minLength: 3
maxLength: 500
recordedAt:
type: string
format: date-time
pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
required:
- id
- bindingId
- instructionType
- supersedesInstructionId
- effectiveAt
- changeCutoffAt
- actorUserId
- source
- reason
- recordedAt
additionalProperties: false
history:
type: array
items:
type: object
properties:
id:
type: string
pattern: ^\d+$
bindingId:
type: string
# --- truncated at 32 KB (198 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/scope3/refs/heads/main/openapi/scope3-storefront-billing-api-openapi.yml