Tenant-scoped capability descriptor
Returns the capability descriptor for the integration identified by the x-api-key. An integrating client (POS adapter, SDK, automation) MUST read this before assuming any enum, currency set, or feature flag: it is the authoritative source of truth for what the integration can transact in. Fields exposed: api_version, integration_id, provider, supported_currencies (the active wallet program assignments), supported_identify_credential_types (credential types accepted to resolve WHO a customer is), supported_payment_credential_types (credential types accepted to authorize a wallet debit), features (named flags keyed by operation), and rate_limits. Empty collections indicate the feature is not yet provisioned for this integration, not that it is unsupported globally. The descriptor is additive: it never over-claims. A client that caches this response should honor the Cache-Control header and re-fetch when it receives a CREDENTIAL_TYPE_UNSUPPORTED or CURRENCY_NOT_SUPPORTED typed error.
Authorizations
Partner API key (platform- or merchant-scoped). Contract key-enforces context.merchant_id.
Response
Capability descriptor for the authenticated integration.
The standard response envelope that every enveloped endpoint serializes through. ok is a boolean discriminator: when ok is true, the typed result is carried in data; when ok is false, a typed error object is returned instead. The meta object is uniform across the entire API surface.
The uniform response metadata block returned on every response. data_completeness_score is computed per call and reports the completeness of the returned data. decision_trace_id is present on responses that carry decision or insight output and can be used to correlate the response with its reasoning. capabilities is an additive, response-level array of hints advertising features the caller may use, and may be extended over time without notice.
Tenant-scoped capability descriptor. An integrating agent MUST read this before assuming any enum or feature flag. Fields grow additively, never renamed or removed in v1.
The typed error object returned with every non-2xx response. code is a string enum (for example WALLET_PROGRAM_AMBIGUOUS, CREDENTIAL_TYPE_UNSUPPORTED, INSUFFICIENT_FUNDS, IDEMPOTENCY_KEY_REUSED, CURRENCY_NOT_SUPPORTED), never a bare HTTP status number. Inspect code for programmatic branching, not the HTTP status. Some codes echo the valid set in details so clients can present or reconcile the accepted values: for example CREDENTIAL_TYPE_UNSUPPORTED lists the supported credential types, CURRENCY_NOT_SUPPORTED lists the supported ISO-4217 currencies, and WALLET_PROGRAM_AMBIGUOUS lists the candidate wallet_program_id values that matched the request.