---
title: "Plan, trial, limits, usage and subscription of a workspace"
method: GET
path: "/api/v1/workspaces/{workspaceId}/billing"
tags: ["Billing"]
---

# Plan, trial, limits, usage and subscription of a workspace

`GET /api/v1/workspaces/{workspaceId}/billing`

## Request

- Base URL: `https://otprun.com`
- URL: `https://otprun.com/api/v1/workspaces/{workspaceId}/billing`
- Auth: HTTP bearer

## Path parameters

- `workspaceId` integer, required

## Response `200`

OK

- BillingBody
  - `checkout` CheckoutConfigBody, required
    - `client_token` string, required
    - `enabled` boolean, required
    - `environment` string, required
  - `effective_plan` 'free' | 'starter' | 'growth' | 'scale', required: The plan whose limits apply now, growth during the trial
  - `limits` LimitsBody, required
    - `members` integer, required
    - `projects` integer, required
    - `slots` integer, required: -1 means unlimited
    - `verifications_month` integer, required
  - `methods` MethodBody[], nullable, required: Payment methods that are available now, in the order to show them
    - `currency` 'USD' | 'KZT', required
    - `method` 'paddle' | 'crypto' | 'kaspi', required
    - `prices` PlanPriceBody[], nullable, required
      - `amount` integer, required: Price in minor units of the currency
      - `interval` 'month' | 'year', required
      - `plan` 'starter' | 'growth' | 'scale', required
  - `plan` 'free' | 'starter' | 'growth' | 'scale', required
  - `subscription` SubscriptionBody, required
    - `cancel_at` string, date-time, nullable, required
    - `current_period_end` string, date-time, nullable, required
    - `interval` 'month' | 'year', required
    - `plan` 'free' | 'starter' | 'growth' | 'scale', required
    - `provider` 'paddle' | 'prepaid', required: paddle renews by itself, prepaid ends at current_period_end unless paid again
    - `status` string, required
  - `trial_ends_at` string, date-time, nullable, required
  - `unlimited` boolean, required: The platform lifted every limit of this workspace, no trial and no payment involved
  - `usage` UsageBody, required
    - `members` integer, required
    - `projects` integer, required
    - `slots` integer, required
    - `verifications_month` integer, required

## Other responses

- `404`: Not Found
- `422`: Unprocessable Entity
- `500`: Internal Server Error

---

[API](https://skmtc.dev/otprun/apis/otp-run-api.md) · [All operations](https://skmtc.dev/otprun/apis/otp-run-api/llms.txt) · [OpenAPI document](https://skmtc.dev/otprun/apis/otp-run-api/revisions/43d40d5f4050?raw)
