API getting started
Authenticate and start making API calls to Grivo.
Last updated: April 2026
Authentication
All API requests require an API key. Get yours from Settings → API Keys in the Grivo dashboard.
Include the API key in the Authorization header:
Authorization: Bearer YOUR_API_KEY⚠️ Security: Never expose your API key in client-side code. Only use it in server-to-server requests.
Base URL
https://api.grivo.io/v1All endpoints are relative to this base URL.
Quick example
List all your chatbots:
curl -X GET https://api.grivo.io/v1/chatbots \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json"Response:
{
"data": [
{
"id": "bot_abc123",
"name": "My Support Bot",
"status": "active",
"pages_trained": 47,
"created_at": "2026-03-15T10:30:00Z"
}
],
"total": 1,
"page": 1
}Endpoints overview
Chatbot endpoints
| Method | Endpoint | Description |
|---|---|---|
GET | /chatbots | List all chatbots |
POST | /chatbots | Create a new chatbot |
GET | /chatbots/:id | Get chatbot details |
PATCH | /chatbots/:id | Update chatbot settings |
DELETE | /chatbots/:id | Delete a chatbot |
Contact endpoints
| Method | Endpoint | Description |
|---|---|---|
GET | /contacts | List all contacts |
POST | /contacts | Add a new contact |
POST | /contacts/import | Bulk import via CSV |
DELETE | /contacts/:id | Delete a contact |
Campaign endpoints
| Method | Endpoint | Description |
|---|---|---|
GET | /campaigns | List all campaigns |
POST | /campaigns | Create a campaign |
POST | /campaigns/:id/send | Send a campaign |
GET | /campaigns/:id/stats | Get campaign analytics |
Rate limits
| Plan | Rate limit |
|---|---|
| Free | 60 requests/minute |
| Pro | 300 requests/minute |
When rate limited, the API returns a 429 Too Many Requests status with a Retry-After header.
Error handling
All errors return a consistent JSON format:
{
"error": {
"code": "invalid_api_key",
"message": "The API key provided is invalid.",
"status": 401
}
}Common error codes:
400- Bad request (invalid parameters)401- Unauthorized (missing or invalid API key)403- Forbidden (plan limit or permission issue)404- Resource not found429- Rate limit exceeded500- Internal server error
SDKs & libraries
Official SDKs are in development. In the meantime, use any HTTP library in your preferred language:
- JavaScript/Node.js -
fetchoraxios - Python -
requestsorhttpx - PHP -
Guzzle - Ruby -
httparty
Need help? Reach out at support@grivo.io or join our community.