# Read the workspace's billing

The Billing pane's whole subject in one read: the plan tier and its status, seats paid against seats in use, the current period, the next renewal and its amount, the card on file, and the AI credit balance. Reach for this to answer what a workspace is paying for; `GET /v1/workspace/plan` is the narrower read when only the entitlement matters. Carries no Stripe identifiers.

Access class: `workspace`.

## Endpoint

`GET /v1/billing`

## Parameters

| Name | In | Type | Required |
| --- | --- | --- | --- |
| body | query | null | No |
| params | query | object | No |
| query | query | object | No |

## Responses

### 200

the action's answer

Content type: `application/json`.

```json
{
  "data": {
    "businessType": "string",
    "credits": {
      "balance": 1.5
    },
    "customer": {
      "hasStripe": true
    },
    "period": {},
    "plan": "string",
    "renewal": {
      "cancelAtPeriodEnd": true,
      "currency": "string"
    },
    "seats": {
      "paid": 1.5,
      "used": 1.5
    },
    "status": "string"
  }
}
```

### default

a refusal: `{"error": "<what a person needs to read>"}`. 401 no credential, 402 the plan does not include this, 403 the seat does not, 404 the thing does not exist or is not yours to see.

Content type: `application/json`.

```json
{
  "error": "string"
}
```
