PUT /api/client/me

Birth date, location, language, email, and the health data notice agreed to. The rules read the first three on every order; no order is placed until the notice is agreed.

Surface: client. Who may call: client. Key: client.update.

Example request

curl -X PUT https://caremcp.com/api/client/me \
  -H "Authorization: Bearer <session or access token>" \
  -H "Content-Type: application/json" \
  -d '{"language":"en","healthConsent":true}'

Example input

{
  "language": "en",
  "healthConsent": true
}

Input schema

{
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "type": "object",
 "properties": {
  "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})?$"
  },
  "email": {
   "anyOf": [
    {
     "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,}$"
    },
    {
     "type": "null"
    }
   ]
  },
  "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."
  }
 }
}

Output schema

{
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "type": "object",
 "properties": {
  "id": {
   "type": "string"
  },
  "email": {
   "type": [
    "string",
    "null"
   ]
  },
  "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"
   ],
   "additionalProperties": false
  },
  "language": {
   "type": "string",
   "pattern": "^[a-z]{2}(-[A-Z]{2})?$"
  },
  "currency": {
   "type": "string",
   "enum": [
    "USD",
    "EUR"
   ]
  },
  "healthConsent": {
   "anyOf": [
    {
     "type": "object",
     "properties": {
      "version": {
       "type": "string"
      },
      "at": {
       "type": "string"
      }
     },
     "required": [
      "version",
      "at"
     ],
     "additionalProperties": false
    },
    {
     "type": "null"
    }
   ]
  },
  "organisationId": {
   "type": [
    "string",
    "null"
   ]
  },
  "createdAt": {
   "type": "string"
  }
 },
 "required": [
  "id",
  "email",
  "birthDate",
  "location",
  "language",
  "currency",
  "healthConsent",
  "organisationId",
  "createdAt"
 ],
 "additionalProperties": false
}