Reten Docs

List Operators

Get a paginated list of operators with filters.

GET /api/operators

Returns a paginated list of operators with optional filters.

Auth: Required — operator:manage permission

Query Parameters

ParameterTypeDefaultDescription
pagenumber1Page number
per_pagenumber25Items per page (max 100)
searchstring-Search by name, email, or external ID (case-insensitive substring match)
typesOperatorTypeEnum (CSV)-Filter by operator type(s). Comma-separated list of OperatorTypeEnum values (e.g. SALESMAN,ACTIVATOR).
is_activeboolean-Filter by active status

Example

curl "https://api.reten.ai/api/operators?types=SALESMAN&page=1&limit=10" \
  -H "Authorization: Bearer <token>" \
  -H "x-tenant-id: <tenant-id>"
const params = new URLSearchParams({ types: "SALESMAN", page: "1", limit: "10" });
const response = await fetch(`https://api.reten.ai/api/operators?${params}`, {
  headers: {
    "Authorization": "Bearer <token>",
    "x-tenant-id": "<tenant-id>",
  },
});
const data = await response.json();
import requests

response = requests.get(
    "https://api.reten.ai/api/operators",
    headers={
        "Authorization": "Bearer <token>",
        "x-tenant-id": "<tenant-id>",
    },
    params={"types": "SALESMAN", "page": 1, "limit": 10},
)
data = response.json()

Response 200 OK

{
  "data": [
    {
      "id": "cc0e8400-e29b-41d4-a716-446655440000",
      "name": "John Doe",
      "externalId": "EXT-12345",
      "email": "john.doe@example.com",
      "type": "SALESMAN",
      "isActive": true
    }
  ],
  "meta": {
    "page": 1,
    "limit": 10,
    "total": 1,
    "totalPages": 1
  }
}