Prerequisites
Before you begin, make sure you have:- A G-Tateth account with at least one workspace (tenant)
- Access to Settings → Developer Console (Admin or Owner role required to create API keys)
- A tool to make HTTP requests:
curl, Postman, or any HTTP library in your language of choice - The base URL for your target environment (see Base URLs below)
Base URLs
| Environment | Base URL |
|---|---|
| Production | https://api.g-tateth.com |
| Staging | https://staging-api.g-tateth.com |
| Local dev | http://localhost:3001 |
https://api.g-tateth.com/api/v1/conversations.
Step 1 — Create an API key
- Log in to your G-Tateth account
- Go to Settings → Developer Console
- Click Create API Key
- Choose your environment (
productionorstaging) - Select the permissions your key needs (see Authentication for the full permission list)
- Copy the full key — it is only shown once
sk_live_. Staging keys start with sk_test_.
Note: Test keys are automatically blocked in the production environment.
Step 2 — Verify connectivity
Before making authenticated requests, confirm the API is reachable (no auth required):Step 3 — Make your first authenticated request
Pass your API key in theAuthorization header as a Bearer token:
X-API-Key header:
Pagination
All list endpoints return paginated results. Use thepage and limit query parameters to navigate:
| Parameter | Default | Max | Description |
|---|---|---|---|
page | 1 | — | Page number (1-based) |
limit | varies by endpoint | 100 | Items per page |
| Field | Description |
|---|---|
total | Total number of matching records across all pages |
page | Current page number |
limit | Items returned on this page |
totalPages | Total number of pages (ceil(total / limit)) |
page >= totalPages:
Common request examples
Create a customer
Create a conversation
Register a webhook
Error responses
All errors follow this shape:| Code | HTTP Status | Meaning |
|---|---|---|
AUTH_REQUIRED | 401 | No credentials provided |
API_KEY_INVALID | 401 | Key doesn’t exist or was revoked |
API_KEY_EXPIRED | 401 | Key has passed its expiry date |
PERMISSION_DENIED | 403 | Key lacks the required permission |
PLAN_LIMIT_EXCEEDED | 403 | Monthly API call quota reached |
RESOURCE_NOT_FOUND | 404 | Requested ID doesn’t exist |
VALIDATION_ERROR | 422 | Request body or params failed validation |
RATE_LIMIT_EXCEEDED | 429 | Too many requests — check X-RateLimit-Reset |
Rate limits
Rate limits are enforced per API key. Every response includes these headers:X-RateLimit-Reset is a Unix timestamp. When you receive a 429, wait until that timestamp before retrying.
Default limits by plan:
| Plan | Limit |
|---|---|
| Starter / Standard | 500 req/hour |
| Professional / Premium | 5,000 req/hour |
| Enterprise | 50,000 req/hour |
API reference and Swagger UI
The interactive API explorer (Swagger UI) is available at:Note: Swagger UI requires a valid JWT session (log in to your G-Tateth account in the same browser).The raw OpenAPI 3.0 spec (JSON) — suitable for Postman import, code generators, and contract testing — is at:
docs/openapi.json.
Using the SDKs
Official SDKs handle auth, pagination, and retries for you.JavaScript / TypeScript
Python
Next steps
- Authentication guide — permissions, key rotation, IP whitelisting
- Webhooks guide — subscribe to real-time events
- Rate Limits guide — limits, headers, and backoff strategies
- Error Handling guide — all error codes with fix guidance
- Postman Collection — import and explore the API interactively