Skip to content
Esc
navigateopen⌘Jpreview
Dashboard

Update user metadata

Updates the metadata object stored about the user by doing a shallow merge of the stored and the update JSONs and removing properties set to null on the root level of the update object. The merged object is then reserialized and stored.

e.g.:

  • stored: { "preferences": { "theme":"dark" }, "notifications": { "email": true }, "todos": ["example"] }

  • update: { "notifications": { "sms": true }, "todos": null }

  • result: { "preferences": { "theme":"dark" }, "notifications": { "sms": true } }

PUT/appid-{appId}/recipe/user/metadata
Authorization
api-keyAPI key · headerrequired
The core service API token. If you are using a self-hosted core service and you have not generated a token, you can omit the header.
Header parameters
ridstring
cdi-versionstring
X.Y of the X.Y.Z CDI version.
Request body
application/json
userIduserId
metadataUpdateuserMetadataUpdate
should be a JSON object (not a JSON literal nor an array)
Responses
200The operation was successful
statusstatusOK
Allowed:OK
metadatauserMetadata
should be a JSON object (not a JSON literal nor an array)
400error code 400
string
401error code 401
string
404error code 404
string
500error code 500
string
Try it
Server
Authorization
Parameters
Bodyapplication/json
Request
curl -X PUT "/appid-{appId}/recipe/user/metadata" \
  -H "api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "userId": "fa7a0841-b533-4478-95533-0fde890c3483",
  "metadataUpdate": {
    "notifications": {
      "sms": true
    },
    "todos": null
  }
}'
Response
{
  "status": "OK",
  "metadata": {
    "preferences": {
      "theme": "dark"
    },
    "notifications": {
      "email": true
    },
    "todos": [
      "example"
    ]
  }
}

API reference

API schema and response details