API ReferenceapiidentityPATCH /v1/users/me/profile

PATCH /v1/users/me/profile

Service: identity · operationId: (none)

Update display_name, bio, avatar_url (auto-save, partial updates accepted)

Required scopes

(no scope declared — review service config)

Request body

{
  "type": "object",
  "properties": {
    "display_name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "bio": {
      "type": "string",
      "maxLength": 500
    },
    "avatar_url": {
      "type": "string",
      "format": "uri"
    },
    "display_full_name": {
      "type": "boolean"
    },
    "specialties": {
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 64
      },
      "maxItems": 20
    },
    "handle": {
      "type": "string",
      "minLength": 3,
      "maxLength": 20,
      "pattern": "^[a-z0-9_]+$"
    },
    "pronouns": {
      "type": [
        "string",
        "null"
      ],
      "maxLength": 50
    }
  }
}

Responses

200 Profile updated

{
  "type": "object",
  "properties": {
    "updated": {
      "type": "boolean"
    }
  },
  "required": [
    "updated"
  ]
}

401 Not authenticated

{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    },
    "message": {
      "type": "string"
    }
  },
  "required": [
    "error",
    "message"
  ]
}

500 Internal server error

{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    },
    "message": {
      "type": "string"
    }
  },
  "required": [
    "error",
    "message"
  ]
}

Example

curl -X PATCH https://identity.platform.loop.health/v1/users/me/profile \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ ... }'