Owner-only upgrade click: mints a fresh hosted Vortex checkout URL bound to this org. Checkout tokens are single-use and hash-pinned — never cache the URL; mint one per click. The vault's cap-banner Subscribe action. Not MCP.
POST
/v1/billing/checkoutAuthorization
AuthorizationBearer token (JWT) · headerrequiredHydra JWT. Identity is the bound agent or a Keto member human. The host is not identity.
Responses
200Checkout session
checkout_urlstringrequiredFresh hosted Vortex checkout URL for this org — navigate immediately, single-use
401missing or invalid Bearer
403not owner
404billing not configured
502checkout failed
Request
curl -X POST "https://veil.nyc/v1/billing/checkout" \
-H "Authorization: Bearer YOUR_TOKEN"const response = await fetch("https://veil.nyc/v1/billing/checkout", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_TOKEN"
}
});import requests
response = requests.post(
"https://veil.nyc/v1/billing/checkout",
headers={
"Authorization": "Bearer YOUR_TOKEN"
},
)Response
{
"checkout_url": "string"
}missing or invalid Bearer
not owner
billing not configured
checkout failed