> ## Documentation Index > Fetch the complete documentation index at: https://developer.rocket.chat/llms.txt > Use this file to discover all available pages before exploring further. # Set User Status > * You can set the status for yourself or another user. The `AllowUserStatusMessageChange` setting must be enabled in the `Accounts` workspace settings. * To change another user's status, you must have the `edit-other-user-info` permission. * According to your workspace settings (under **Accounts**), you will only be able to set the invisible or `offline` status if the `Allow Invisible status option` setting is enabled. ### Changelog | Version | Description | | ---------------- | ------------| |8.6.0 | Added `expiresAt` request parameter for timed status expiration. | |1.2.0 | Added | ## OpenAPI ````json POST /api/v1/users.setStatus { "openapi": "3.0.0", "info": { "version": "1.0.0", "title": "User Management" }, "servers": [ { "url": "https://apiexplorer.support.rocket.chat" } ], "tags": [ { "name": "LDAP" }, { "name": "Permissions" }, { "name": "Roles" }, { "name": "Users" }, { "name": "SAML" } ], "paths": { "/api/v1/users.setStatus": { "post": { "summary": "Set User Status", "operationId": "post-api-v1-users.setStatus", "responses": { "200": { "$ref": "#/components/responses/trueSuccess" }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "type": "object", "properties": { "success": { "type": "boolean" }, "error": { "type": "string" } } }, "examples": { "Missing status or message parameter": { "value": { "success": "false", "error": "Match error: Failed Match.OneOf, Match.Maybe or Match.Optional validation" } }, "Invalid expiresAt date": { "value": { "success": "false", "error": "expiresAt must be a future date [error-invalid-date]", "errorType": "error-invalid-date" } } } } } }, "401": { "$ref": "#/components/responses/authorizationError" } }, "description": "* You can set the status for yourself or another user. The `AllowUserStatusMessageChange` setting must be enabled in the `Accounts` workspace settings.\n* To change another user's status, you must have the `edit-other-user-info` permission.\n* According to your workspace settings (under **Accounts**), you will only be able to set the invisible or `offline` status if the `Allow Invisible status option` setting is enabled.\n \n ### Changelog\n | Version | Description |\n | ---------------- | ------------|\n |8.6.0 | Added `expiresAt` request parameter for timed status expiration. |\n |1.2.0 | Added |", "parameters": [ { "$ref": "#/components/parameters/UserId" }, { "$ref": "#/components/parameters/Auth-Token" } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string", "description": "The user's status message. At least one of the `message` or `status` parameters is required.", "example": "My status update" }, "status": { "type": "string", "description": "The user's status like `online`, `away`, `busy`, or `offline`. At least one of the `message` or `status` parameters is required.", "example": "online" }, "expiresAt": { "type": "string", "description": "Date as an ISO 8601 string. Sets an expiration time for the status. When this time passes, the presence engine restores the user's previous status. Must be a future date. Omit this parameter to keep the status until it is changed again.", "example": "2026-06-22T18:00:00Z" }, "userId": { "type": "string", "example": "zXuq7SvPKYbzYmfpo", "description": "The user ID for which you want to set the status. You don't need to add this if you are setting the status for yourself. Alternatively, you can use the `username` parameter and enter the username for which you want to set the status." } } }, "examples": { "Example 1": { "value": { "message": "My status update", "status": "online", "expiresAt": "2026-06-22T18:00:00Z", "userId": "zXuq7SvPKYbzYmfpo", "username": "bob" } } } } } }, "tags": [ "Users" ] } } }, "components": { "responses": { "trueSuccess": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "success": { "type": "boolean" } } }, "examples": { "Success": { "value": { "success": "true" } } } } } }, "authorizationError": { "description": "Unauthorized", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string" }, "message": { "type": "string" } } }, "examples": { "Authorization Error": { "value": { "status": "error", "message": "You must be logged in to do this." } } } } } } }, "parameters": { "UserId": { "name": "X-User-Id", "in": "header", "description": "The authenticated user ID.", "required": "true", "schema": { "type": "string" }, "example": "rbAXPnMktTFbNpwtJ" }, "Auth-Token": { "name": "X-Auth-Token", "in": "header", "description": "The authenticated user token.", "required": "true", "schema": { "type": "string" }, "example": "RScctEHSmLGZGywfIhWyRpyofhKOiMoUIpimhvheU3f" } } } } ````