Listar Contatos

Listar os contatos de um workspace com uma busca por substring em nome, e-mail e telefone. Observe que esta lista pagina por limit em vez de perPage — uma inconsistência preservada do lançamento original. Toda operação é delimitada pelo workspaceId obrigatório. Uma API key com escopo de workspace que nomeie qualquer outro workspace é recusada com 403 antes de qualquer consulta rodar, então uma API key de workspace só consegue alcançar o próprio workspace.

GET/api/v1/chat/contacts
X-API-Key<token>

Sua API key do Studio, pessoal ou com escopo de workspace. Gere uma em Settings e depois API Keys. As operações que rejeitam API keys de workspace dizem isso na própria descrição.

Em: header

Parâmetros de query

workspaceId*string

Workspace cujos contatos são listados.

Tamanho1 <= length
search?string

Substring correspondida ao mesmo tempo com o nome, o e-mail e o telefone, sem diferenciar maiúsculas de minúsculas.

Tamanho1 <= length <= 200
page?integer

Número da página, começando em 1. O padrão é 1.

Padrão1
Intervalo1 <= value <= 9007199254740991
limit?integer

Itens por página, entre 1 e 100. O padrão é 25.

Padrão25
Intervalo1 <= value <= 100
sortBy?string

Coluna pela qual ordenar. O padrão é createdAt.

Padrão"createdAt"
Valor em"name" | "email" | "lastActivityAt" | "createdAt"
sortOrder?string

Direção da ordenação. O padrão é desc.

Padrão"desc"
Valor em"asc" | "desc"

Corpo da resposta

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://agent-studio.seeyu.ai/api/v1/chat/contacts?workspaceId=string" \  -H "X-API-Key: YOUR_API_KEY"
{
  "contacts": [
    {
      "id": "cnt_01J8F2K3N5P9",
      "name": "Ana Ribeiro",
      "firstName": "Ana",
      "lastName": "Ribeiro",
      "email": "ana@example.com",
      "phone": "+5511987654321",
      "avatarUrl": null,
      "companyName": "Ribeiro Ltda",
      "lastActivityAt": "2026-08-28T14:22:05.000Z",
      "createdAt": "2026-07-24T11:02:19.000Z",
      "conversationCount": 3
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 25,
    "total": 1,
    "totalPages": 1
  }
}
{
  "error": "Invalid input: expected string, received undefined",
  "details": [
    {
      "code": "invalid_type",
      "expected": "string",
      "path": [
        "phone"
      ],
      "message": "Invalid input: expected string, received undefined"
    }
  ]
}
{
  "error": "Unauthorized"
}
{
  "error": "API key is not authorized for this workspace"
}
{
  "error": "Rate limit exceeded",
  "message": "API rate limit exceeded. Please retry after 2026-09-13T12:00:00.000Z",
  "retryAfter": 1789286400000
}
{
  "error": "Internal server error",
  "requestId": "req_01J9Z2K3M4N5P6Q7R8S9T0"
}