AI GNT API
​boolean · required
​boolean · required​string · required​integer · required​integer · required​integer · required​boolean · required​boolean · required​boolean · required
Properties for PaymentMethodInfo:​string · required​string · required​integer · required​integer · required
​string · required
billing
Lifetime Availability
GET
https://api.gntai.dev
/v1/billing/lifetime-availability
Deliberately no auth dependency -- the public pricing page needs this before anyone has a session, so it can show honest sold-out copy instead of a CTA that would just 409 on click. Same bypassrls cron session as the checkout endpoint's own cap check, same reason (orgs has FORCE ROW LEVEL SECURITY -- see that check's own comment).
Lifetime Availability › Responses
200
Successful Response
sold_outBilling Status
GET
https://api.gntai.dev
/v1/billing/status
Billing Status › Responses
200
Successful Response
entitled​required
​required
plan_tiermonthly_actions_usedmonthly_actions_capactive_seatscancel_at_period_end​required
onboarding_completedtrial_canceledPayment Method
GET
https://api.gntai.dev
/v1/billing/payment-method
Payment Method › Responses
200
Successful Response
anyOf
At least one variant must match. Multiple variants may match simultaneously.
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: brand, last4, exp_month +1 more | |
| type = null |
brandlast4exp_monthexp_yearCancel
POST
https://api.gntai.dev
/v1/billing/cancel
In-app cancel -- the whole point is not sending the customer to Stripe's portal for this. Schedules cancellation at period end (see cancel_subscription's own docstring) and confirms by email right away, synchronously, rather than waiting on the webhook that also syncs this same state for cancellations started elsewhere.
Cancel › Responses
200
Successful Response
cancel_at