Skip to content

Set the customer's birthday

POST /customers/{customer_id}/birthday
Scopecustomers:write
Customer session tokenAccepted with the write scope, for the token’s own customer
Rate limit classwrite (limits)
Idempotency keyRequired (idempotency)
MCP toolcharm_set_customer_birthday

As the widget’s birthday form: the birth year is required when the program asks for it, and a birthday can be changed once a year (reason: change_locked). The birthday reward is issued by the birthday rule, not by this call.

NameInTypeDescription
customer_idpathstringShopify customer GID (percent-encoded, e.g. gid%3A%2F%2Fshopify%2FCustomer%2F123) or the numeric customer id.
FieldTypeDescription
monthinteger
dayinteger
yearinteger(optional)
localestring(optional)

Returns BirthdayResult.

FieldTypeDescription
changedboolean
birthdayobject or null(nullable)
{
"changed": true,
"birthday": {
"month": 1,
"day": 1,
"year": 1
}
}
Terminal window
curl -X POST "https://charm.appfleece.app/api/v1/customers/7712345/birthday" \
-H "Authorization: Bearer chrm_live_..." \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"month":1,"day":1}'

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.