openapi: 3.1.0 info: title: Matrix Client-Server Account Profile API version: v3 description: 'REST API used by Matrix clients to communicate with a homeserver. Covers login, account management, sync, room creation and membership, message send and history, profile and presence, device management, end-to-end encryption keys, and the public rooms directory. Newer endpoints sit under /_matrix/client/v3 with selected features under /v1. ' contact: name: Matrix.org Foundation url: https://matrix.org servers: - url: https://{homeserver}/_matrix/client description: Matrix homeserver Client-Server API root variables: homeserver: default: matrix.org security: - BearerAuth: [] tags: - name: Profile paths: /v3/profile/{userId}: get: summary: Retrieve a user profile operationId: getProfile parameters: - $ref: '#/components/parameters/UserId' responses: '200': description: Profile. tags: - Profile /v3/profile/{userId}/{keyName}: put: summary: Set a profile field (display name or avatar URL) operationId: setProfileField parameters: - $ref: '#/components/parameters/UserId' - in: path name: keyName required: true schema: type: string enum: - displayname - avatar_url requestBody: required: true content: application/json: schema: type: object responses: '200': description: Updated. tags: - Profile components: parameters: UserId: in: path name: userId required: true schema: type: string securitySchemes: BearerAuth: type: http scheme: bearer description: 'Matrix access token issued by the homeserver after login, passed as `Authorization: Bearer {access_token}`. Some endpoints (login, register, refresh) do not require authentication. '