---
title: "Mint an API key on the child"
method: POST
path: "/v2/accounts/children/{child_id}/api-keys"
tags: ["accounts-v2"]
---

# Mint an API key on the child

`POST /v2/accounts/children/{child_id}/api-keys`

## Request

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

The plaintext secret is returned ONCE.

## Request body

- CreateChildApiKey
  - `dailySendCap` integer, nullable: Maximum live sends per UTC day. Omit or set null for no per-key cap.
  - `name` string, required: Key name, 1–255 characters after trimming whitespace.
  - `permissions` string[]: Resource.action permissions within the parent key grant; reserved resources are rejected.
  - `requireSendConfirmation` boolean: Require human approval before sends.
  - `resourceConstraints` object, nullable
    - `list_numbers` string[], nullable: Allowed sending-list numbers, normalized to E.164; empty or null means unrestricted.

## Other responses

- `409`: Delegation changed or key creation outcome is uncertain
- `502`: Could not create key
- `503`: API key lineage is unavailable

---

[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)
