API Reference
Complete reference documentation for the Kakiyo API
Overview
The Kakiyo API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs.
Base URL
All API requests should be made to:
Authentication
The Kakiyo API uses API keys to authenticate requests. You can view and manage your API keys in the Kakiyo dashboard.
Authentication is performed via the Authorization
header with a Bearer token:
All API requests must be made over HTTPS. Calls made over plain HTTP will fail. API requests without authentication will also fail.
Request Format
For POST
and PUT
requests, the request body should be JSON, with the Content-Type
header set to application/json
.
Response Format
All responses are returned in JSON format. Successful responses include a 200 OK
status code and the appropriate response data.
Example successful response:
Error Handling
Kakiyo uses conventional HTTP response codes to indicate the success or failure of an API request. In general:
2xx
range indicates success4xx
range indicates an error occurred based on the information provided (e.g., missing required parameters, invalid API key)5xx
range indicates an error with Kakiyo’s servers
All error responses include a JSON object with the following structure:
Common Error Codes
Status Code | Error Code | Description |
---|---|---|
400 | validation_error | The request parameters failed validation |
401 | missing_api_key | No API key was provided |
401 | invalid_api_key_format | The API key format is invalid |
401 | invalid_api_key | The API key is not recognized |
403 | forbidden | The API key doesn’t have permissions to perform the request |
403 | subscription_inactive | Your subscription is inactive |
404 | not_found | The requested resource doesn’t exist |
429 | rate_limit_exceeded | Too many requests hit the API too quickly |
500 | internal_error | Something went wrong on Kakiyo’s end |
Rate Limiting
The API is rate limited to prevent abuse. Rate limits vary based on your subscription plan. If you exceed the rate limit, you’ll receive a 429 Too Many Requests
response.
The response headers will include:
X-RateLimit-Limit
: The maximum number of requests allowed in a time windowX-RateLimit-Remaining
: The number of requests remaining in the current time windowX-RateLimit-Reset
: The time at which the current rate limit window resets (UTC epoch seconds)
When you exceed the rate limit, the response will include a Retry-After
header indicating how many seconds to wait before retrying.
Pagination
For endpoints that return lists of items, Kakiyo uses cursor-based pagination. These endpoints accept the following parameters:
limit
: The number of items to return (default: 20, maximum: 100)after
: The cursor to use as the starting point for the next set of results
The response will include:
data
: The list of itemshas_more
: A boolean indicating if there are more items availablenext_cursor
: A cursor to use for the next page of results (only included ifhas_more
is true)
Example:
To fetch the next page, include the next_cursor
value in the after
parameter:
Versioning
The Kakiyo API is versioned. The current version is v1
. We recommend specifying a version in the URL to ensure API stability for your application.
When we make backwards-incompatible changes to the API, we’ll release a new version. We’ll provide ample notice before deprecating any API versions.
Resources
The Kakiyo API provides access to the following resources:
- Campaigns - Create and manage outreach campaigns
- Prospects - Add and manage prospects
- Products - Manage your product information
- Prompts - Create and manage message templates
- Agents - Manage AI agents that handle conversations
SDKs and Libraries
We provide official client libraries for several popular languages to make integrating with Kakiyo easier:
Support
If you have any questions or need help with the API, please contact our support team at support@kakiyo.com or visit our help center.