Billing & quotas
Plan, consumption, availability and plan changes.
Fetches require billing.view; changes require billing.manage. All operations use full_access.
/v1/billing/plan200 OKFetches the current plan and its consumption.
curl "$BASE_URL/billing/plan" -H "X-API-Key: $CORVO_API_KEY"Response — 200 OK
{
"data": {
"plan": {
"slug": "developer",
"name": "Developer",
"monthly_allowance": 250,
"daily_limit": null,
"max_active_companies": 999999,
"monthly_price_cents": 2990
},
"usage": {
"overage_units": 0,
"overage_amount_cents": 0,
"hard_limit": null,
"credits_used": 10,
"credits_reserved": 2,
"credits_remaining": 238,
"monthly_allowance": 250,
"daily_usage": 3,
"daily_limit": null,
"active_companies": 1,
"max_active_companies": 999999,
"period_start": "2026-10-01T00:00:00.000Z",
"period_end": "2026-10-31T23:59:59.000Z"
},
"subscription": {
"status": "active",
"paid_until": "2026-10-31T23:59:59.000Z",
"cancel_at_period_end": false,
"scheduled_plan": null,
"blocked": false
}
}
}/v1/billing/usage200 OKFetches quota availability for issuance.
curl "$BASE_URL/billing/usage" -H "X-API-Key: $CORVO_API_KEY"Response — 200 OK
{
"data": {
"canEmit": true,
"creditsRemaining": 188,
"creditsUsed": 10,
"creditsReserved": 2,
"monthlyAllowance": 200,
"dailyUsage": 3,
"dailyLimit": null,
"activeCompanies": 1,
"maxActiveCompanies": 10,
"periodStart": "2026-10-01T00:00:00.000Z",
"periodEnd": "2026-10-31T23:59:59.000Z"
}
}/v1/billing/upgrade200 OKSchedules the switch to the target plan on the subscription.
| Field | Type | Required | Description |
|---|---|---|---|
| plan_slug | string | ✓ | Slug of the target plan, e.g. "growth". |
curl -X POST "$BASE_URL/billing/upgrade" \
-H "X-API-Key: $CORVO_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "plan_slug": "growth" }'Response — 200 OK
{
"data": {
"scheduled_plan": "growth",
"effective_at": "2026-11-01T00:00:00.000Z"
}
}/v1/billing/downgrade200 OKSchedules a plan change for the end of the period.
| Field | Type | Required | Description |
|---|---|---|---|
| plan_slug | string | ✓ | Slug of the target plan, e.g. "developer". |
curl -X POST "$BASE_URL/billing/downgrade" \
-H "X-API-Key: $CORVO_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "plan_slug": "developer" }'Response — 200 OK
{
"data": {
"scheduled_plan": "developer",
"effective_at": "2026-11-01T00:00:00.000Z"
}
}Public plan catalog
These three routes need no API key or session: use them to show prices on your own site or to size a plan. Amounts are in cents (...Cents) and the only cycle is monthly; any other cycle returns 400.
/v1/plans200 OKLists the plans with their monthly price and allowance.
| Field | Type | Required | Description |
|---|---|---|---|
| cycle | string | Only monthly is accepted (default). | |
| limit | integer | Defaults to 50; integer from 1 to 1000. | |
| cursor | string | nextCursor from the previous page. |
curl "$BASE_URL/plans"Response — 200 OK
{
"data": [
{
"slug": "developer",
"name": "Developer",
"monthlyAllowance": 250,
"basePriceCents": 2990,
"perCreditOverageCents": 12,
"monthlyTotalCents": 2990,
"currency": "BRL"
}
],
"pagination": {
"limit": 50,
"hasMore": false,
"nextCursor": null
}
}/v1/plans/:slug200 OKFetches the price of one plan.
| Field | Type | Required | Description |
|---|---|---|---|
| cycle | string | Only monthly is accepted (default). |
curl "$BASE_URL/plans/growth"Response — 200 OK
{
"data": {
"slug": "growth",
"name": "Growth",
"monthlyAllowance": 750,
"basePriceCents": 8990,
"perCreditOverageCents": 12,
"monthlyTotalCents": 8990,
"currency": "BRL"
}
}/v1/plans/quote200 OKRecommends the plan for a monthly volume of invoices and estimates the total cost.
| Field | Type | Required | Description |
|---|---|---|---|
| volume | integer | Invoices per month. Required for a quote. | |
| cycle | string | Only monthly is accepted (default). |
curl "$BASE_URL/plans/quote?volume=20000"Response — 200 OK
{
"data": {
"volume": 20000,
"recommended_plan": "volume",
"plan_name": "Volume",
"monthly_allowance": 10000,
"overage_credits": 10000,
"overage_cost_cents": 90000,
"base_price_cents": 89990,
"total_estimated_cents": 179990,
"currency": "BRL",
"billing_cycle": "monthly"
}
}