---
title: "List sub-accounts"
method: GET
path: "/v1/sub-accounts"
tags: ["Sub-Accounts"]
---

# List sub-accounts

`GET /v1/sub-accounts`

## Request

- Base URL: `https://api.zavu.dev`
- URL: `https://api.zavu.dev/v1/sub-accounts`
- Auth: HTTP bearer

List sub-accounts for this team. Requires a parent project API key; sub-account API keys receive HTTP 403.

## Query parameters

- `limit` integer
- `cursor` string

## Response `200`

List of sub-accounts.

- object
  - `items` SubAccount[], required
    - `id` string, required
    - `name` string, required
    - `externalId` string, nullable: External reference ID set by the parent account.
    - `status` 'active' | 'inactive' | 'pending_deletion', required: `active` and `inactive` are set with PATCH. `pending_deletion` is read-only: the sub-account was deactivated with DELETE, its API keys are revoked, and it is removed after 14 days.
    - `totalSpent` integer, required: Total amount spent by this sub-account in cents.
    - `creditLimit` integer, nullable: Spending cap in cents. When reached, messages from this sub-account will be blocked.
    - `metadata` object, nullable
    - `apiKey` string: API key for the sub-account. Only returned on creation.
    - `createdAt` string, date-time, required
  - `nextCursor` string, nullable

## Other responses

- `401`: Unauthorized.
- `403`: Forbidden. Sub-account API keys cannot manage sub-accounts.

## Changes

> 80 revisions in range; 1 not diffed.

- **2026-05-15** `3e45958691da`: 1 info
  - added the non-success response with the status `403`
- **2026-03-17** `dca8af164271`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/zavudev/apis/zavu-unified-messaging-layer-api/changes/v1/sub-accounts/get.md)

---

[API](https://skmtc.dev/zavudev/apis/zavu-unified-messaging-layer-api.md) - [All operations](https://skmtc.dev/zavudev/apis/zavu-unified-messaging-layer-api/llms.txt) - [OpenAPI document](https://skmtc.dev/zavudev/apis/zavu-unified-messaging-layer-api/revisions/75bc777b0ffb?raw)
