mapi_ and are shown only once.
Scopes
Keys can contain more than one scope. Use separate keys per environment or service and grant only the required scopes.
Subscription products
subscription:manage. A product defines its name, description, duration and one or more billing strategies. Each strategy contains an interval and chain/token amounts.
GET /merchant/tenants/{tenantId}/subscriptions/products and GET /merchant/tenants/{tenantId}/subscriptions/products/{productId} with subscription:read to retrieve products. Drafts can be updated or deleted with subscription:manage.
Publishing or stopping a plan is deliberately not available to an API key: the action needs a signature from an authenticated merchant wallet.
Confirmed subscriptions
subscription:read returns records derived from confirmed on-chain events. Each record includes the on-chain subscription ID, payer, selected token, billing amount and interval, authorization end, paid cycles, next collection time, status, and transaction hashes.
Use GET /merchant/tenants/{tenantId}/subscriptions/{subscriptionId} to fetch one record with its cycle history. A subscription is not created directly through this API: SixPay inserts it only after a confirmed SubscriptionCreated event, so the record remains chain-reconcilable.
The product id returned by the product endpoints is the subscriptionProductId used by SDK checkout-session creation and public product loading. Copy it from the subscription plan detail page in Subscriptions > Plans. It is different from the per-customer on-chain subscriptionId returned by confirmed subscription endpoints.
Collections and reporting
All endpoints below requiresubscription:read.
Collection amounts are atomic token-unit strings. Use the returned token decimals and symbol before rendering an amount to a customer.
Confirmation and webhooks
The API reads SixPay’s confirmed event projection. Webhooks are emitted from the same projection after the chain confirmation threshold. For entitlement changes, consume and deduplicatesubscription.payment_succeeded; see Subscription webhook events.