Introduction
The KnoxCall REST API gives you full programmatic control over your API gateway configuration. You can manage routes, secrets, clients, environments, webhooks, and API keys — everything available in the dashboard, accessible through a clean, predictable interface. All API endpoints return JSON and follow consistent conventions for authentication, pagination, error handling, and response structure.This API is for managing your KnoxCall configuration. To call the routes you’ve configured, use your route’s unique proxy URL (e.g.,
https://proxy.knoxcall.com/v1/your-route-slug).Base URLs
Production
tk_ or AKE prefixed) for live operations.Sandbox
Authentication
All requests to the KnoxCall API must include an API key. You can pass it in one of two ways:| Method | Header | Example |
|---|---|---|
| Bearer token | Authorization | Authorization: Bearer tk_live_abc123... |
| API key header | x-api-key | x-api-key: tk_live_abc123... |
Response Format
Every response from the KnoxCall API follows a consistent JSON structure.Successful Response (Single Resource)
Successful Response (List)
Error Response
Every response includes a
request_id. Include this ID when contacting support — it allows us to trace the exact request through our systems.Pagination
List endpoints support pagination via query parameters:| Parameter | Default | Max | Description |
|---|---|---|---|
page | 1 | — | Page number to retrieve |
per_page | 20 | 100 | Number of items per page |
sort | created_at | — | Field to sort by |
order | desc | — | Sort order: asc or desc |
meta object contains the total count and page information so you can build pagination controls:
Rate Limiting
API requests are rate-limited per API key. When you exceed the limit, you will receive a429 status code.
Rate limit information is included in the response headers:
| Header | Description |
|---|---|
X-RateLimit-Limit | Maximum requests allowed in the current window |
X-RateLimit-Remaining | Requests remaining in the current window |
Retry-After | Seconds to wait before retrying (only on 429 responses) |
Error Types
All errors return a consistent structure with atype field that you can use for programmatic error handling.
| Error Type | HTTP Status | Description |
|---|---|---|
authentication_required | 401 | No API key was provided in the request |
invalid_api_key | 401 | The API key is invalid, revoked, or expired |
wrong_key_type | 403 | A test key was used against production, or vice versa |
subscription_inactive | 403 | The tenant’s subscription is paused, cancelled, or past due |
rate_limit_exceeded | 429 | Too many requests — back off and retry |
validation_error | 400 | The request body or parameters failed validation |
not_found | 404 | The requested resource does not exist |
conflict | 409 | A resource with the same unique identifier already exists |
in_use | 409 | The resource cannot be deleted because other resources depend on it |
plan_limit | 403 | The tenant has reached a limit imposed by their current plan |
internal_error | 500 | An unexpected server error occurred — contact support |
For
validation_error responses, the message field contains a human-readable description of which field failed validation and why.Quick Examples
List all routes
Create a secret
Delete a client
What’s Next?
Authentication
Learn about API key types, creation, and security best practices.
Routes
Create and manage your API proxy routes.
Secrets
Store and inject sensitive credentials into your routes.
Clients
Control who can access your routes with API clients.