Billing API
Manage plans, subscriptions, and checkout. Session authentication is required for billing endpoints.
Base URL: https://app.kamustatus.com/api
List Plans
Returns all available plans. This endpoint is public.
curl https://app.kamustatus.com/api/billing/plans
Response:
[
{
"id": "plan_free",
"name": "Free",
"monitors": 50,
"checkInterval": 60,
"customDomain": true,
"price": 0
},
{
"id": "plan_pro",
"name": "Pro",
"monitors": 100,
"checkInterval": 30,
"price": 9.90,
"currency": "EUR"
},
{
"id": "plan_team",
"name": "Team",
"monitors": 500,
"checkInterval": 30,
"unlimitedTeamMembers": true,
"price": 39,
"currency": "EUR"
},
{
"id": "plan_enterprise",
"name": "Enterprise",
"monitors": -1,
"checkInterval": 10,
"sso": true,
"price": 99,
"currency": "EUR"
}
]
Plan Summary
| Plan | Monitors | Min Interval | Price | Highlights |
|---|---|---|---|---|
| Free | 50 | 1 min | Free | Custom domain included |
| Pro | 100 | 30s | 9.90 EUR/mo | -- |
| Team | 500 | 30s | 39 EUR/mo flat | Unlimited team members |
| Enterprise | Unlimited | 10s | 99 EUR/mo | SSO |
Get Current Subscription
curl https://app.kamustatus.com/api/billing/subscription \
-b cookies.txt
Response:
{
"planId": "plan_pro",
"status": "active",
"currentPeriodStart": "2025-05-01T00:00:00Z",
"currentPeriodEnd": "2025-06-01T00:00:00Z"
}
Create Checkout Session
Initiates a checkout flow for upgrading or subscribing to a plan.
curl -X POST https://app.kamustatus.com/api/billing/checkout \
-b cookies.txt \
-H "Content-Type: application/json" \
-d '{
"planId": "plan_pro"
}'
Response:
{
"checkoutUrl": "https://checkout.stripe.com/pay/cs_..."
}
Redirect the user to the checkoutUrl to complete payment.
Webhook
Kamustatus receives payment events via a webhook endpoint. This is used internally to process subscription changes and is not intended for external use.
POST https://app.kamustatus.com/api/billing/webhook
Admin Plan Management
Admin users can manage plans via the API. Requires admin session authentication.
Create Plan
curl -X POST https://app.kamustatus.com/api/billing/plans \
-b cookies.txt \
-H "Content-Type: application/json" \
-d '{
"name": "Enterprise",
"monitors": 1000,
"checkInterval": 10,
"regions": 20,
"price": 199
}'
Update Plan
curl -X PATCH https://app.kamustatus.com/api/billing/plans/:planId \
-b cookies.txt \
-H "Content-Type: application/json" \
-d '{
"price": 249
}'
Delete Plan
curl -X DELETE https://app.kamustatus.com/api/billing/plans/:planId \
-b cookies.txt