Sign inGet Started

List workspace quotas

GET
/v1/workspace/quotas
const { data } = await bird.workspace.quotas.list();
for (const quota of data) {
  console.log(quota.key, quota.limit, quota.organization_limit);
}
Response200
{
  "data": [
    {
      "key": "email_mailboxes_max",
      "unit": "mailboxes",
      "kind": "counted",
      "enforcement": "create",
      "organization_source": "default",
      "workspace_limit": {
        "status": "active"
      },
      "usage": {
        "status": "available"
      }
    }
  ],
  "configuration": "available"
}

Returns each resource and value quota as it applies to the current workspace: the organization limit shared by all workspaces, the workspace's own limit when one is set, and this workspace's current usage. Organization usage and shared remaining capacity are withheld: organization_used, organization_remaining and remaining are always null on this endpoint.

A workspace limit is a ceiling, not reserved capacity. Each quota's enforcement says how both limits apply: create refuses a creation that would pass either one, outbound_send refuses outbound sends once the bytes already held reach either one, and value bounds a setting when it is chosen. usage is null for a value quota. When usage cannot be read, usage.status is unavailable and the counts are null.

Response Payload

data
array of object
required
Show child attributes
data.key
string
required

Stable key of the quota.

data.name
string
required
data.description
string
required
data.unit
string
required

What the limit counts, such as mailboxes, bytes or days.

data.kind
string
required

What the quota limits.

  • counted: an amount the workspace accumulates, such as mailboxes or stored bytes. Usage is reported.
  • value: the largest setting a resource may be given, such as a retention period. No usage is counted.

Possible values: counted, value

data.enforcement
string
required

When the limits are applied.

  • create: a request that would add more than the limits allow is refused, and nothing is created.
  • outbound_send: sending is refused once the bytes already stored reach a limit. The size of the message being sent is not counted in advance, and incoming mail is still accepted.
  • value: a setting above the limit is refused when it is chosen. Existing resources keep their settings.

Possible values: create, outbound_send, value

data.maximum_value
integer
required

The largest workspace limit this quota accepts, in its unit.

data.organization_limit
integer
required

The organization's limit, shared by all its workspaces.

data.organization_source
string
required

Where the organization limit comes from.

  • default: Bird's standard limit.
  • plan: the organization's plan.
  • override: a limit Bird set for the organization.

Possible values (may grow over time): default, plan, override

data.workspace_limit
nullable object
required

The workspace's own limit. null when the workspace has none and uses only the shared organization limit.

Show child attributes
data.limit
integer
required

The lower of the organization limit currently applied to requests and any active workspace limit. The applied organization limit can briefly differ from the configured organization_limit after a change. A request can still be refused below this value when other workspaces use the shared organization limit.

data.usage
nullable object
required

Current usage. null for a value quota, which counts nothing.

Show child attributes
data.usage.status
string
required

Whether current usage could be read.

  • available: the counts reflect usage at observed_at.
  • unavailable: usage could not be read. The counts are unknown, not zero.

Possible values: available, unavailable

data.usage.observed_at
string
required

When usage was read.

data.usage.organization_limit
integer
required

The organization limit requests were checked against when usage was read.

data.usage.organization_used
nullable integer
required

The organization's total usage across all its workspaces. null on the current-workspace endpoint or when usage is unavailable.

data.usage.workspace_used
nullable integer
required

This workspace's usage. null when usage is unavailable.

data.usage.organization_remaining
nullable integer
required

How much more the whole organization can add, shared by all its workspaces. null on the current-workspace endpoint or when usage is unavailable.

data.usage.workspace_remaining
nullable integer
required

How much more this workspace can add under its own limit. null when no workspace limit applies or usage is unavailable.

data.usage.remaining
nullable integer
required

How much more this workspace can add now, the lower of organization_remaining and any workspace_remaining. null on the current-workspace endpoint or when usage is unavailable.

configuration
string
required

Whether workspace limits can be set.

  • available: workspace limits can be set and changed.
  • unavailable: new workspace limits cannot be set in this region yet. Existing workspace limits still apply and can be removed.

Possible values: available, unavailable

Continue with the documentation, guides and examples for this topic.