GudDesk
Docs
API Overview

API Overview

Authenticate and interact with the GudDesk REST API.

The GudDesk REST API lets you programmatically manage conversations, customers, articles, and agents. Use it to build integrations, automate workflows, or sync data with your other tools.

Base URL

https://your-guddesk-domain.com/api/v1

For the hosted cloud:

https://api.guddesk.com/v1

Authentication

All API requests require an API key. Generate one in Dashboard > Settings > API Keys.

Include the key in the Authorization header:

curl https://api.guddesk.com/v1/conversations \
  -H "Authorization: Bearer gd_live_abc123..."

API Key Types

TypePrefixPermissionsVisibility
Publicgd_pub_Widget only — start conversations, send messagesSafe to expose in client-side code
Livegd_live_Full access to production dataServer-side only — never expose
Testgd_test_Sandboxed access for developmentServer-side only — never expose

Never use gd_live_ or gd_test_ keys in client-side code, browser scripts, or your chat widget. Use gd_pub_ keys for the widget — they only allow visitors to start conversations, which is the same thing they can already do by visiting your site.

Rate Limits

PlanRate Limit
Free60 requests/minute
Pro600 requests/minute

Rate limit headers are included in every response:

X-RateLimit-Limit: 600
X-RateLimit-Remaining: 594
X-RateLimit-Reset: 1686825600

Response Format

All responses return JSON:

{
  "data": { ... },
  "meta": {
    "page": 1,
    "perPage": 25,
    "total": 142
  }
}

Error Responses

{
  "error": {
    "code": "not_found",
    "message": "Conversation not found",
    "status": 404
  }
}

Core Endpoints

Conversations

MethodPathDescription
GET/conversationsList conversations
GET/conversations/:idGet a conversation
POST/conversationsCreate a conversation
POST/conversations/:id/messagesSend a message
PATCH/conversations/:idUpdate status, assignee, tags

Customers

MethodPathDescription
GET/customersList customers
GET/customers/:idGet a customer
POST/customersCreate or update a customer

Knowledge Base

MethodPathDescription
GET/articlesList articles
GET/articles/:idGet an article
POST/articlesCreate an article
PATCH/articles/:idUpdate an article
DELETE/articles/:idDelete an article

Agents

MethodPathDescription
GET/agentsList agents
POST/agentsDeploy a custom agent
PATCH/agents/:idUpdate agent configuration
DELETE/agents/:idRemove an agent

Pagination

List endpoints support cursor-based pagination:

GET /api/v1/conversations?limit=25&cursor=conv_abc123
ParameterDescription
limitItems per page (default: 25, max: 100)
cursorCursor from previous response's meta.nextCursor

Next Steps