Getting Started

This guide walks you through generating an API key, making your first API call, understanding authentication, rate limits, and error handling.

Prerequisites

  • A Conferbot account on the Starter plan or above. API access is not available on the Free plan. View plans
  • At least one chatbot created in your workspace.

Step 1: Generate an API Key

  1. Log in to your Conferbot dashboard.
  2. Navigate to Workspace → API Keys tab.
  3. Click "Generate API Key".
  4. Copy the generated key immediately — it will be partially masked after creation.
⚠️

Keep your API key secret

API keys have full access to your workspace data. Never expose them in client-side code, public repositories, or browser network requests.

Step 2: Authentication

All API requests must include your API key in the x-api-key header:

Authentication header
curl -X GET "https://api-v2.conferbot.com/api/v1/external/v1/chatbots" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json"

If the key is missing or invalid, the API returns 401 Unauthorized:

{
  "error": "Invalid or missing API key"
}

Step 3: Make Your First Request

Let's verify your setup by listing all chatbots in your workspace:

List chatbots
curl -X GET "https://api-v2.conferbot.com/api/v1/external/v1/chatbots" \
  -H "x-api-key: YOUR_API_KEY"

A successful response looks like:

Response (200 OK)
{
  "data": [
    {
      "id": "64f8a2b3c1d4e5f6a7b8c9d0",
      "name": "Customer Support Bot",
      "disabled": false,
      "responseCount": 12847,
      "createdAt": "2024-09-01T10:30:00.000Z",
      "updatedAt": "2024-12-15T14:22:00.000Z"
    }
  ]
}

Base URL

All API endpoints use the following base URL:

https://api-v2.conferbot.com/api/v1

External API endpoints are prefixed with /external/v1/. For example, the full URL for listing chatbots is:

https://api-v2.conferbot.com/api/v1/external/v1/chatbots

Rate Limits

The API enforces two types of rate limiting:

Per-minute burst

60 requests per minute per API key, shared across our cluster. Exceeding this returns 429 Too Many Requests with a Retry-After header. Burst 429s do NOT consume your monthly quota — only successful (2xx) and server-error (5xx) calls are billed.

Monthly quota + plan caps

PlanMonthly API CallsChatbotsWebhooks
FreeNo API access
Starter10,00055
Pro50,0001515
Business200,0002550
EnterpriseCustomCustomCustom

Response headers

Every response carries both sets so you can throttle accordingly:

Rate-limit headers
# Per-minute burst (IETF draft headers)
RateLimit-Policy:     60;w=60
RateLimit-Limit:      60
RateLimit-Remaining:  47
RateLimit-Reset:      32          # seconds until window resets

# Monthly quota
X-Quota-Limit:        200000
X-Quota-Remaining:    198650
X-Quota-Reset:        1782864000  # Unix epoch of next month start
X-Quota-Period:       month

Check your current usage anytime via the Usage endpoint.

Check usage
curl -X GET "https://api-v2.conferbot.com/api/v1/external/v1/usage" \
  -H "x-api-key: YOUR_API_KEY"
Response
{
  "data": {
    "month": "2025-01",
    "plan": "Starter",
    "used": 1423,
    "limit": 10000,
    "remaining": 8577
  }
}

Error Handling

The API uses standard HTTP status codes. Error responses include a descriptive error field:

Status CodeMeaningCommon Cause
200OKRequest succeeded
201CreatedResource created (e.g., webhook)
400Bad RequestMissing required fields
401UnauthorizedInvalid or missing API key
403ForbiddenPlan limit reached or feature not available
404Not FoundResource doesn't exist or doesn't belong to your workspace
409ConflictDuplicate resource (e.g. webhook with same chatbot + URL)
413Payload Too LargeRequest body exceeded 15 MB
429Too Many RequestsBurst or monthly quota exceeded
500Server ErrorUnexpected error — please contact support

Error response format

Every error response uses the same envelope: a string error message. Specific error classes (e.g. rate limit) also set a machine-readable code.

{
  "error": "Chatbot not found"
}

{
  "error": "External API rate limit exceeded. Max 60 requests per minute.",
  "code": "RATE_LIMIT_ERROR"
}
💡

Pagination

List endpoints support pagination via page and limit query parameters. The response includes total, page, and totalPages fields. Default limit is 20, maximum is 100.

Next Steps