Commet
  • Pricing
Log InTry out
Request portal access POST
System status
DocumentationKnowledge BaseBuild with AIAPI ReferenceWebhooks

Request portal access

Generate a customer portal URL. Exactly one identifier (email or customerId) is required.

POST
/portal/request-access

Generate a customer portal URL. Exactly one identifier (email or customerId) is required.

Authorization

ApiKeyAuth
x-api-key<token>

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

email?string
Match^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$
Formatemail
customerId?string
Length1 <= length <= 200
returnUrl?string

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/portal/request-access" \  -H "Content-Type: application/json" \  -d '{}'
{  "success": true,  "data": {    "portalUrl": "string",    "object": "portal_session",    "livemode": true  }}
{  "success": false,  "error": {    "type": "string",    "code": "string",    "message": "string",    "param": "string",    "details": null,    "doc_url": "string"  }}
{  "success": false,  "error": {    "type": "string",    "code": "string",    "message": "string",    "param": "string",    "details": null,    "doc_url": "string"  }}
{  "success": false,  "error": {    "type": "string",    "code": "string",    "message": "string",    "param": "string",    "details": null,    "doc_url": "string"  }}
{  "success": false,  "error": {    "type": "string",    "code": "string",    "message": "string",    "param": "string",    "details": null,    "doc_url": "string"  }}
{  "success": false,  "error": {    "type": "string",    "code": "string",    "message": "string",    "param": "string",    "details": null,    "doc_url": "string"  }}

Upsert regional prices PUT

Create or update regional currency price overrides for a plan price.

Create promo code POST

Create a new promo code. Optionally restrict to specific plans. **100% discounts are not supported.** Percentage codes must be strictly less than 100% (`discountValue` < 10000 basis points). For full waivers, use an introductory offer on the plan instead. At checkout, any code — percentage or fixed amount — that would reduce the total below the currency's minimum charge ($0.50 USD equivalent) is silently dropped.