> ## 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.
# Spotlight
> Searches for users or rooms that are visible to the user. It will only return rooms that user didn't join yet.
If the `Allow Anonymous Read` setting is enabled, anonymous callers can use this endpoint to resolve public channels through the navbar search.
### Changelog
| Version | Description |
| ---------------- | ------------|
|8.9.0 | Changed the rate limit to 100 requests every 100 seconds per client IP address. |
|8.6.0 | Added `usernames`, `type`, and `rid` query parameters, and allowed anonymous read when `Allow Anonymous Read` is enabled. |
|0.64.0 | Added support to '#' and '@' searches, for channels and users respectively. |
|0.61.0 | Added |
## OpenAPI
````json GET /api/v1/spotlight
{
"openapi": "3.0.0",
"info": {
"version": "1.0.0",
"title": "Miscellaneous"
},
"servers": [
{
"url": "https://apiexplorer.support.rocket.chat"
}
],
"tags": [
{
"name": "Commands"
},
{
"name": "Email Inbox"
},
{
"name": "Licenses"
},
{
"name": "Mailer"
},
{
"name": "Calendar Events"
},
{
"name": "WhatsApp"
},
{
"name": "Rasa App"
},
{
"name": "Jitsi App"
}
],
"paths": {
"/api/v1/spotlight": {
"get": {
"summary": "Spotlight",
"description": "Searches for users or rooms that are visible to the user. It will only return rooms that user didn't join yet.\n\nIf the `Allow Anonymous Read` setting is enabled, anonymous callers can use this endpoint to resolve public channels through the navbar search.\n\n### Changelog\n| Version | Description |\n| ---------------- | ------------|\n|8.9.0 | Changed the rate limit to 100 requests every 100 seconds per client IP address. |\n|8.6.0 | Added `usernames`, `type`, and `rid` query parameters, and allowed anonymous read when `Allow Anonymous Read` is enabled. |\n|0.64.0 | Added support to '#' and '@' searches, for channels and users respectively. |\n|0.61.0 | Added |",
"operationId": "get-api-v1-spotlight",
"parameters": [
{
"$ref": "#/components/parameters/Auth-Token"
},
{
"$ref": "#/components/parameters/UserId"
},
{
"name": "query",
"in": "query",
"description": "The term to be searched. Supports '#' for channels and '@' for users",
"required": true,
"schema": {
"type": "string"
},
"example": "john"
},
{
"name": "usernames",
"in": "query",
"description": "Comma-separated list of usernames to exclude from the user results.",
"required": false,
"schema": {
"type": "string"
},
"example": "rocket.cat,john.doe"
},
{
"name": "type",
"in": "query",
"description": "Restricts the search to a single result type. Accepts `users` or `rooms`.",
"required": false,
"schema": {
"type": "string"
},
"example": "users"
},
{
"name": "rid",
"in": "query",
"description": "The room ID to scope the user search to a specific room.",
"required": false,
"schema": {
"type": "string"
},
"example": "GENERAL"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"users": {
"type": "array",
"items": {
"type": "object",
"properties": {
"_id": {
"type": "string"
},
"name": {
"type": "string"
},
"username": {
"type": "string"
},
"status": {
"type": "string"
},
"avatarETag": {
"type": "string"
}
}
}
},
"rooms": {
"type": "array",
"items": {
"type": "object"
}
},
"success": {
"type": "boolean"
}
}
},
"examples": {
"Success": {
"value": {
"users": [
{
"_id": "rocket.cat",
"name": "Rocket.Cat",
"username": "rocket.cat",
"status": "online",
"avatarETag": "5BB9B5ny5DkKdrwkq"
}
],
"rooms": [],
"success": true
}
}
}
}
}
},
"401": {
"$ref": "#/components/responses/authorizationError"
}
}
}
}
},
"components": {
"parameters": {
"Auth-Token": {
"name": "X-Auth-Token",
"in": "header",
"description": "The `authToken` of the authenticated user.",
"required": true,
"schema": {
"type": "string"
},
"example": "RScctEHSmLGZGywfIhWyRpyofhKOiMoUIpimhvheU3f"
},
"UserId": {
"name": "X-User-Id",
"in": "header",
"description": "The `userId` of the authenticated user.",
"required": true,
"schema": {
"type": "string"
},
"example": "rbAXPnMktTFbNpwtJ"
}
},
"responses": {
"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."
}
}
}
}
}
}
}
}
}
````