Get Contact

Fetch one contact with its linked company and both attribute bags. The list endpoint's conversationCount is not repeated here — it is a list aggregate and would cost a correlated count on a single-row read. Every operation is scoped by the required workspaceId. A workspace-scoped API key that names any other workspace is refused with 403 before any query runs, so a workspace key can only ever reach its own workspace. A contact in another workspace is reported as 404, never as denied.

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

Your Studio API key, personal or workspace-scoped. Generate one under Settings, then API Keys. Operations that reject workspace keys say so in their own description.

In: header

Path Parameters

contactId*string

Contact to fetch.

Length1 <= length

Query Parameters

workspaceId*string

Workspace the contact belongs to.

Length1 <= length

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://agent-studio.seeyu.ai/api/v1/chat/contacts/string?workspaceId=string" \  -H "X-API-Key: YOUR_API_KEY"
{
  "contact": {
    "id": "cnt_01J8F2K3N5P9",
    "name": "Ana Ribeiro",
    "firstName": "Ana",
    "lastName": "Ribeiro",
    "email": "ana@example.com",
    "phone": "+5511987654321",
    "avatarUrl": null,
    "gender": null,
    "description": null,
    "identifier": "crm-4821",
    "blocked": false,
    "contactType": 2,
    "company": {
      "id": "cmp_01J8F2K3N5PB",
      "name": "Ribeiro Ltda",
      "domain": "ribeiro.example"
    },
    "customAttributes": {
      "plan": "pro"
    },
    "additionalAttributes": {
      "source": "whatsapp"
    },
    "lastActivityAt": "2026-08-28T14:22:05.000Z",
    "createdAt": "2026-07-24T11:02:19.000Z"
  }
}
{
  "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": "Conversation not found"
}
{
  "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"
}