---
title: "Create one isolated child tenant"
method: POST
path: "/v2/accounts/children"
tags: ["accounts-v2"]
---

# Create one isolated child tenant

`POST /v2/accounts/children`

## Request

- Base URL: `https://api.tracklysms.com/api`
- URL: `https://api.tracklysms.com/api/v2/accounts/children`
- Auth: API key in header `X-Api-Key`

paidIntent + billedByParent births the child plan='paid'
(requires a parent payment method) so it pools with the parent; else the child is born free.
Idempotency-Key replays return the original child for 24h; a reused key with a different payload
409s. The locationId 409 guard still dedupes concurrent creates without a key.

## Request body

- ChildAccountCreate
  - `billedByParent` boolean: Bill the child's usage to the parent (requires a parent payment method; child is born plan='paid'). Ignored unless paidIntent is true.
  - `externalIds` ExternalIds
    - `businessId` string: Partner-side business id (immutable once set)
    - `locationId` string: Partner-side location id (immutable once set, unique per parent — enforced by a check-then-write read plus a partial unique DB index as the concurrency backstop)
    - `partnerId` string: Partner-side tenant id (max 128 printable ASCII, immutable once set)
  - `name` string, required: Child account name
  - `paidIntent` boolean: Whether a paid plan/add-on was selected for this child. billedByParent is honored only when true; when false the child is born free and self-pays.

## Response `200`

Success

---

[API](https://skmtc.dev/tracklysms/apis/trackly-sms-api.md) · [All operations](https://skmtc.dev/tracklysms/apis/trackly-sms-api/llms.txt) · [OpenAPI document](https://skmtc.dev/tracklysms/apis/trackly-sms-api/revisions/ac1ad22cb2a9?raw)
