Endpoints
Discover available plans
Use this endpoint to list all subscription plans and learn about pay-as-you-go options before creating a subscription.id from a plan in subscription_plans as the plan_id when creating a subscription. Alternatively, use the pay-as-you-go option by funding your wallet directly.
Create subscription (Headless — Recommended for Agents)
Create a subscription using apayment_method_id obtained from the Stripe API. No browser redirect needed.
First, fetch the publishable key via GET /billing/stripe-config, then create a PaymentMethod via the Stripe API (see Headless Agent Flow for details):
plan_id(required, integer): The plan ID from the/subscriptions/plansendpointpayment_method_id(optional, string): Stripe PM ID from the Stripe API. If omitted, falls back to Stripe Checkout redirect.success_url/cancel_url(optional): Only used whenpayment_method_idis omitted (Checkout redirect flow).
If the card requires 3D Secure, the response returns HTTP 402 with
decline_code details. Cards requiring authentication should be handled via modelslab.com/pricing instead.Confirm subscription checkout (Human-Assisted flow)
After a human completes a subscription payment via a Stripe Checkout URL (created withPOST /billing/payment-link with purpose: "subscribe"), the agent confirms the session to activate the subscription. The human is redirected to ModelsLab’s success page after payment, where the session_id is displayed for them to copy and relay back to the agent.
session_id(required, string): The Stripe Checkout session ID fromPOST /billing/payment-linkresponse or copied by the human from the success page
Check subscription status
status values: active, past_due, canceled, paused, trialing.

