# Start the subscription Uses the payment info captured by the payment provider drop-in UI and create a customer with a recurring payment. When the payment provider responds successfully, the logged-in user will be temporarily granted all entitlements in the product's associated bundle. Endpoint: POST /zephr/subscribe Version: 2025-07-30 Security: CookieBlaizeSession, JwtQuery, JwtHeaderXBlaizeJwt, JwtHeaderXZephrJwt, JwtBearer, JwtCookie ## Header parameters: - `cookie` (string) The session cookie. Example: "`blaize_session=...` (string)" ## Request fields (application/json): - `product_id` (string, required) Product ID/slug Example: "premium-access-monthly-recurring" - `plan_id` (string) Plan ID/slug Example: "plan-5" - `discount_code` (string) Discount/promotion code Example: "SAVE10" - `vendor_fields` (object) Parameters specific to the payment provider in-use. Example: {"payment_nonce":"eyJ2ZXmsaW5nQW...(lots more random-looking characters)...dyZWmVubW8iOiJvZmYifQ==","skip_trial_period":true,"start_date":"2021-01-01T00:00:00Z","payment_method":"pm_123456789","vault_payment_method":false} - `vendor_fields.payment_nonce` (string) (Stripe) Payment method nonce from Braintree drop-in UI. Example: "eyJ2ZXmsaW5nQW...(lots more random-looking characters)...dyZWmVubW8iOiJvZmYifQ==" - `vendor_fields.skip_trial_period` (boolean) (Braintree) Whether or not to skip any trial period that may be associated with this subscription. This should be null or not set to use the configured trial period. Example: true - `vendor_fields.start_date` (string) (Braintree) ISO 8601 date format which determines when the subscription will start. When the attribute is passed, the value must be in the future. Otherwise, the subscription is expected to start immediately. Example: "2021-01-01T00:00:00Z" - `vendor_fields.payment_method` (string) (Stripe) Payment method from Stripe Elements UI. Example: "pm_123456789" - `vendor_fields.vault_payment_method` (boolean) (Braintree) If the payment nonce requires vaulting, for example if Google Pay is being used. Defaults to false. ## Response 200 fields (application/json): - `grant_id` (string) New grant of product bundle to user. Example: "33d576c7-d036-40e7-8141-8a91998a5c79" - `client_secret` (string) (Stripe) reference to Stripe payment required to process payment in front end. Example: "src_client_secret_QfsM25CJ2uCMon72MiOmUNTj`" - `payment_intent_id` (string) (Stripe) reference to the payment intent if payment requires confirmation. Example: "pi_1GYZYWLgUJT2XNPAYQMomeqf" ## Response 400 fields ## Response 401 fields ## Response 403 fields