Freshchat
Manage messaging conversations, channels, and agents in Freshchat via the Freshchat REST API v2.
Operations
| Operation | Description | Required params |
|---|---|---|
list_conversations |
List conversations in your account (paginated) | — |
get_conversation |
Retrieve a single conversation by ID | conversationId |
get_messages |
List messages in a conversation (paginated) | conversationId |
list_agents |
List all support agents in the account (paginated) | — |
list_channels |
List all messaging channels/topics (paginated) | — |
API Key Setup
- Log in to your Freshchat account.
- Go to Settings → API Tokens.
- Click Generate Token and copy the token.
- Pass it as
apiKeyin Bearer format — the tool handles theAuthorization: Bearer <token>header automatically.
Parameters
| Parameter | Required | Default | Description |
|---|---|---|---|
apiKey |
Yes | — | Freshchat API token from Settings → API Tokens |
accountDomain |
Yes | — | Account subdomain, e.g. mycompany for mycompany.freshchat.com |
operation |
Yes | — | One of the operations listed above |
conversationId |
Conditional | "" |
Freshchat conversation ID; required for get_conversation and get_messages |
page |
No | 1 |
Page number for paginated list operations |
itemsPerPage |
No | 20 |
Items per page (max 50) |
Examples
List conversations (first page):
{
"apiKey": "your-api-token",
"accountDomain": "mycompany",
"operation": "list_conversations",
"page": "1",
"itemsPerPage": "20"
}
Get a specific conversation:
{
"apiKey": "your-api-token",
"accountDomain": "mycompany",
"operation": "get_conversation",
"conversationId": "abc123-conversation-id"
}
Get messages in a conversation:
{
"apiKey": "your-api-token",
"accountDomain": "mycompany",
"operation": "get_messages",
"conversationId": "abc123-conversation-id",
"page": "1",
"itemsPerPage": "50"
}
List all agents:
{
"apiKey": "your-api-token",
"accountDomain": "mycompany",
"operation": "list_agents"
}
List messaging channels/topics:
{
"apiKey": "your-api-token",
"accountDomain": "mycompany",
"operation": "list_channels"
}
Output
| Field | Description |
|---|---|
result |
Raw JSON response body from the Freshchat API |
status |
HTTP status code as a string (e.g. "200") |
Notes
- Base URL:
https://<accountDomain>.freshchat.com/v2 - You can pass either the bare subdomain (
mycompany) or the full domain (mycompany.freshchat.com) asaccountDomain. - Response bodies are capped at 5 MB.
- Freshsales Suite integrated accounts may use a different domain — pass the full custom domain as
accountDomainin that case.