Add or update a child's birthday
POST /customers/{customer_id}/children| Scope | customers:write |
| Customer session token | Accepted with the write scope, for the token’s own customer |
| Rate limit class | write (limits) |
| Idempotency key | Required (idempotency) |
| MCP tool | charm_save_customer_child |
For the child birthday rule. A parent’s consent: true is required once; the program’s limits and the once-a-year change lock apply. Refusals carry details.reason (rule_disabled, consent_required, limit_reached, change_locked, invalid_date, name_required, year_required).
Parameters
Section titled “Parameters”| Name | In | Type | Description |
|---|---|---|---|
customer_id | path | string | Shopify customer GID (percent-encoded, e.g. gid%3A%2F%2Fshopify%2FCustomer%2F123) or the numeric customer id. |
Request body
Section titled “Request body”| Field | Type | Description |
|---|---|---|
id | string | Existing entry to rename or re-date; omit to add one. (optional) |
name | string | (optional) |
birthday | string | YYYY-MM-DD. (optional) |
consent | boolean | The parent or legal guardian confirms. (optional) |
locale | string | (optional) |
Response 200
Section titled “Response 200”Returns ChildrenResult.
| Field | Type | Description |
|---|---|---|
changed | boolean | |
children | array of Subject |
{ "changed": true, "children": [ { "id": "id", "name": "Gold", "birthday": "birthday", "species": "species", "updated_at": "2026-10-01T09:30:00.000Z" } ]}Example
Section titled “Example”curl -X POST "https://charm.appfleece.app/api/v1/customers/7712345/children" \ -H "Authorization: Bearer chrm_live_..." \ -H "Idempotency-Key: $(uuidgen)" \ -H "Content-Type: application/json" \ -d '{}'Errors
Section titled “Errors”unauthorized · invalid_token · token_expired · insufficient_scope · access_required · not_found · validation_error · rate_limited · idempotency_conflict
Every error body carries code, message, request_id and a doc_url pointing at the matching entry in the error catalog.