Start Checkout for additional user licenses

posthttps://api.expiryedge.com/v1/additionalLicensesCheckout
admin60/minAny method
Request
curl -X POST 'https://api.expiryedge.com/v1/additionalLicensesCheckout' \
  -H "Authorization: Bearer $EXPIRYEDGE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "quantity": 3,
  "period": "month",
  "return_url": "/dashboard/manage-subscription"
}'
Response
{
  "url": "https://checkout.stripe.com/c/pay/cs_live_n3P4q5R6",
  "sessionId": "cs_live_n3P4q5R6"
}

1-100 seats. Trial organizations get 402; yearly base plans can only buy yearly seats. Use additionalLicensesUpdateQuantity when a subscription already exists (409).

Body parameters

application/json
  • quantityintegerrequired
    min: 1 · max: 100
  • periodstring
    AllowedmonthyearDefault month
  • return_urlstring
    App-relative path (must start with /). Default /dashboard/manage-subscription.

Returns

201
Checkout session created; redirect to url.
  • urlstringrequired
    format: uri
  • sessionIdstringrequired

Errors

400
The request is missing required fields or contains invalid values.
401
Missing, expired or invalid bearer token.
402
The organization is on Trial (code: TRIAL_UPGRADE_REQUIRED).
403
Authenticated, but your role or organization does not allow this action.
409
An additional-licenses subscription is already active (code: ALREADY_HAS_LICENSES).
429
Too many requests for this endpoint from your IP. Wait Retry-After seconds.
500
Unexpected server error. Retry later; quote requestId to support.