curl -X PATCH https://api.tracklysms.com/api/v2/accounts/children/1042 \
-H "X-Api-Key: trk_your_parent_key" \
-H "Content-Type: application/json" \
-d '{ "name": "Acme West (Downtown)", "externalIds": { "businessId": "b_9" } }'
{
"child": {
"accountId": 1042,
"name": "Acme West (Downtown)",
"status": "active",
"plan": "paid",
"externalIds": { "partnerId": "p_1", "businessId": "b_9", "locationId": "loc_west" },
"billedByParent": true,
"createdAt": "2026-07-26T14:03:11.123456"
}
}
{ "error": "externalIds.partnerId is immutable once set", "code": "external_id_immutable" }
Partner Accounts (v2)
Update Child Account
Rename a child or backfill external IDs that were never set.
PATCH
/
v2
/
accounts
/
children
/
{child_id}
curl -X PATCH https://api.tracklysms.com/api/v2/accounts/children/1042 \
-H "X-Api-Key: trk_your_parent_key" \
-H "Content-Type: application/json" \
-d '{ "name": "Acme West (Downtown)", "externalIds": { "businessId": "b_9" } }'
{
"child": {
"accountId": 1042,
"name": "Acme West (Downtown)",
"status": "active",
"plan": "paid",
"externalIds": { "partnerId": "p_1", "businessId": "b_9", "locationId": "loc_west" },
"billedByParent": true,
"createdAt": "2026-07-26T14:03:11.123456"
}
}
{ "error": "externalIds.partnerId is immutable once set", "code": "external_id_immutable" }
Updates a child’s
name and/or backfills externalIds. Requires a parent key with accounts.write.
External IDs are immutable once set. You can fill in a field that was never set, and re-sending the value it already has is an idempotent no-op. Only a differing value, or
null to clear it, returns 409 external_id_immutable.Path Parameters
integer
required
The child account’s
accountId.Body Parameters
Supply at least one of:string
New display name. Max 255 characters.
object
External IDs to backfill — a key that is currently unset can be filled in, and a key may be re-sent with the value it already holds (accepted as a no-op). Keys:
partnerId, businessId, locationId (see Create Child).Examples
curl -X PATCH https://api.tracklysms.com/api/v2/accounts/children/1042 \
-H "X-Api-Key: trk_your_parent_key" \
-H "Content-Type: application/json" \
-d '{ "name": "Acme West (Downtown)", "externalIds": { "businessId": "b_9" } }'
{
"child": {
"accountId": 1042,
"name": "Acme West (Downtown)",
"status": "active",
"plan": "paid",
"externalIds": { "partnerId": "p_1", "businessId": "b_9", "locationId": "loc_west" },
"billedByParent": true,
"createdAt": "2026-07-26T14:03:11.123456"
}
}
{ "error": "externalIds.partnerId is immutable once set", "code": "external_id_immutable" }
error message text is field-specific and may vary — only code is the stable contract.
Error Codes
| HTTP Status | Error Code | Description |
|---|---|---|
| 400 | invalid_name | name is malformed or too long. |
| 400 | invalid_external_ids | An external ID is malformed or an unknown key was supplied. |
| 400 | empty_update | No updatable field was provided. |
| 404 | child_not_found | No child with that ID under this parent. |
| 409 | child_deleted | The child has been deleted. |
| 409 | external_id_immutable | Attempted to change/clear an already-set external ID. |
| 409 | duplicate_location | The backfilled locationId is already in use. |
| 409 | account_creation_incomplete | The child is still mid-creation and cannot be modified. |
| 409 | child_update_conflict | The child changed concurrently; retry the request. |
| 403 | not_a_parent_account / insufficient_scope / sandbox_read_only | See Accounts & Hierarchy. |