KeyEnvKeyEnv
API Reference

Billing

Billing and usage information

Billing

Billing and usage information

Get team usage

GET /api/v1/teams/{teamId}/usage

Returns current usage statistics for a team

Operation ID: getTeamUsage · Authentication: Authorization: Bearer <token>

Path parameters

NameTypeRequiredDescription
teamIdstring (uuid)yesTeam UUID

Responses

StatusDescriptionBody
200Usage statisticsUsageStats
401Authentication requiredError
403Insufficient permissionsError

Response body (200)

FieldTypeDescription
projectsinteger
environmentsinteger
secretsinteger
membersinteger

Example

curl -X GET "https://api.keyenv.dev/api/v1/teams/{teamId}/usage" \
  -H "Authorization: Bearer $KEYENV_TOKEN"

Get team limits

GET /api/v1/teams/{teamId}/limits

Returns plan limits for a team

Operation ID: getTeamLimits · Authentication: Authorization: Bearer <token>

Path parameters

NameTypeRequiredDescription
teamIdstring (uuid)yesTeam UUID

Responses

StatusDescriptionBody
200Plan limitsPlanLimits
401Authentication requiredError
403Insufficient permissionsError

Response body (200)

FieldTypeDescription
planenum (free, team, enterprise)
projectsintegerMaximum number of projects (-1 for unlimited)
environments_per_projectinteger
secrets_per_environmentinteger
membersinteger

Example

curl -X GET "https://api.keyenv.dev/api/v1/teams/{teamId}/limits" \
  -H "Authorization: Bearer $KEYENV_TOKEN"

Get billing info

GET /api/v1/teams/{teamId}/billing

Returns billing information including current plan and subscription status

Operation ID: getTeamBilling · Authentication: Authorization: Bearer <token>

Path parameters

NameTypeRequiredDescription
teamIdstring (uuid)yesTeam UUID

Responses

StatusDescriptionBody
200Billing informationBillingInfo
401Authentication requiredError
403Insufficient permissionsError

Response body (200)

FieldTypeDescription
planenum (free, team, enterprise)
statusenum (active, canceled, past_due, trialing)
current_period_endstring (date-time)
cancel_at_period_endboolean

Example

curl -X GET "https://api.keyenv.dev/api/v1/teams/{teamId}/billing" \
  -H "Authorization: Bearer $KEYENV_TOKEN"

Create checkout session

POST /api/v1/teams/{teamId}/checkout

Creates a Stripe checkout session for upgrading the team's plan

Operation ID: createCheckoutSession · Authentication: Authorization: Bearer <token>

Path parameters

NameTypeRequiredDescription
teamIdstring (uuid)yesTeam UUID

Request body

application/json (required)

FieldTypeRequiredDescription
planenum (team, enterprise)yes
success_urlstring (uri)no
cancel_urlstring (uri)no

Responses

StatusDescriptionBody
200Checkout session createdobject
400Invalid requestError
401Authentication requiredError
403Insufficient permissionsError

Response body (200)

FieldTypeDescription
urlstring (uri)URL to redirect the user to for checkout

Example

curl -X POST "https://api.keyenv.dev/api/v1/teams/{teamId}/checkout" \
  -H "Authorization: Bearer $KEYENV_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"plan":"team","success_url":"string","cancel_url":"string"}'

Create billing portal session

POST /api/v1/teams/{teamId}/portal

Creates a Stripe billing portal session for managing subscription

Operation ID: createPortalSession · Authentication: Authorization: Bearer <token>

Path parameters

NameTypeRequiredDescription
teamIdstring (uuid)yesTeam UUID

Responses

StatusDescriptionBody
200Portal session createdobject
401Authentication requiredError
403Insufficient permissionsError

Response body (200)

FieldTypeDescription
urlstring (uri)URL to redirect the user to for the billing portal

Example

curl -X POST "https://api.keyenv.dev/api/v1/teams/{teamId}/portal" \
  -H "Authorization: Bearer $KEYENV_TOKEN"

On this page