> ## Documentation Index
> Fetch the complete documentation index at: https://docs.emailx.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Workspaces and channels

> Keep every record attached to the right customer and channel.

A workspace is the customer account that owns contacts, campaigns and saved activity. Its API `workspace_id` is an Emailx account ID, not the agency's workspace-link ID.

## Customer and agency access

A customer key can access its explicitly granted workspaces. An agency key also needs `agency:read`, the relevant resource scope and a current client assignment. Call `GET /workspaces` before selecting a client. Never guess neighboring IDs.

## Store the complete identity

```json theme={null}
{"workspace_id": 123, "channel": "linkedin", "campaign_id": 456}
```

Campaign and conversation IDs can overlap between email and LinkedIn. Store `(workspace_id, channel, id)` in CRM mappings. Contacts belong to a workspace and are looked up by exact email; a LinkedIn provider ID is a different identity.

## Read live access

`GET /me` describes the credential's configured ceiling. `GET /workspaces` returns the currently accessible subset. A removed assignment, disabled member or unavailable workspace can make a previously valid ID inaccessible. A private `404` intentionally does not reveal whether another customer's record exists.

## Understand saved data

Inbox endpoints include saved campaign-linked conversations with replies and `history_complete=false`. Sender status is stored metadata, not a live health check. Analytics are all-time recorded totals, not a daily series. [Workflow recipes](https://docs.emailx.ai/en/overview/workflows.md) explain how to preserve these meanings.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.