---
title: "Create sub-account"
method: POST
path: "/v1/sub-accounts"
tags: ["Sub-Accounts"]
---

# Create sub-account

`POST /v1/sub-accounts`

## Request

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

Create a new sub-account (project) with its own API key. All charges are billed to the parent team's balance. Use creditLimit to set a spending cap. The sub-account's API key is returned only in the creation response. Requires a parent project API key; sub-account API keys receive HTTP 403.

## Request body

- SubAccountCreateRequest
  - `name` string, required: Name of the sub-account.
  - `externalId` string: External reference ID for your own tracking.
  - `creditLimit` integer: Spending cap in cents. When reached, messages from this sub-account will be blocked. Omit or set to 0 for no limit.
  - `metadata` object

## Response `201`

Sub-account created.

- SubAccountResponse
  - `subAccount` 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

## Other responses

- `400`: Invalid request.
- `401`: Unauthorized.
- `403`: Forbidden. Sub-account API keys cannot manage sub-accounts.
- `409`: A sub-account with this `externalId` already exists in the team.

## 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/post.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)
