POST /api/public/clients/sign-up
A client account by email and password. The page uses Apple or Google instead; this is the API's way.
Surface: public. Who may call: public. Key: public.client.signUp.
Example request
curl -X POST https://caremcp.com/api/public/clients/sign-up \
-H "Content-Type: application/json" \
-d '{"email":"anna@example.com","password":"a long enough password","birthDate":"1984-03-12","location":{"country":"SE"},"language":"sv","healthConsent":true}'
Example input
{
"email": "anna@example.com",
"password": "a long enough password",
"birthDate": "1984-03-12",
"location": {
"country": "SE"
},
"language": "sv",
"healthConsent": true
}
Input schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"email": {
"type": "string",
"maxLength": 200,
"format": "email",
"pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
},
"password": {
"type": "string",
"minLength": 10,
"maxLength": 200
},
"birthDate": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
"location": {
"type": "object",
"properties": {
"country": {
"type": "string",
"pattern": "^[A-Z]{2}$"
},
"region": {
"type": "string",
"pattern": "^[A-Z0-9]{1,3}$"
}
},
"required": [
"country"
]
},
"language": {
"type": "string",
"pattern": "^[a-z]{2}(-[A-Z]{2})?$"
},
"healthConsent": {
"type": "boolean",
"const": true,
"description": "The client has read the Health data notice at /health-data (version 2026-09-24) and gives explicit consent to a professional reading the health data in their briefs."
}
},
"required": [
"email",
"password",
"birthDate",
"location",
"language",
"healthConsent"
]
}
Output schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"token": {
"type": "string"
},
"kind": {
"type": "string",
"enum": [
"client",
"professional",
"organisation"
]
},
"id": {
"type": "string"
}
},
"required": [
"token",
"kind",
"id"
],
"additionalProperties": false
}