KB API Reference
Overview
The KB API provides programmatic access to our platform's core features. All requests must be made over HTTPS and authenticated using an API key.
Authentication
Include your API key in the Authorization header:
Authorization: Bearer YOUR_API_KEY
Error Handling
All error responses follow this JSON structure:
{
"error": {
"code": "INVALID_REQUEST",
"message": "Detailed error description."
}
}
| Status Code | Code | Description |
|---|---|---|
| 400 | INVALID_REQUEST | Malformed request syntax. |
| 401 | UNAUTHORIZED | Missing or invalid authentication. |
| 404 | NOT_FOUND | Resource not found. |
| 429 | RATE_LIMIT_EXCEEDED | Too many requests. |
| 500 | SERVER_ERROR | Internal server error. |
Rate Limiting
Limits are applied per API key:
- Standard: 60 requests per minute
- Premium: 600 requests per minute
Rate limit headers:
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 58
X-RateLimit-Reset: 1633024800
Endpoints
Base URL: https://api.kb.com/v1
GET /users
Retrieve a list of users.
GET /v1/users HTTP/1.1
Host: api.kb.com
Authorization: Bearer YOUR_API_KEY
Response:
{
"data": [
{"id":"u_1","name":"Alice","email":"alice@example.com"},
{"id":"u_2","name":"Bob","email":"bob@example.com"}
],
"pagination": {"total":2,"limit":10,"offset":0}
}
POST /users
Create a new user.
POST /v1/users HTTP/1.1
Host: api.kb.com
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
{
"name":"Charlie",
"email":"charlie@example.com",
"password":"securePassword123"
}
Response (201 Created):
{
"data": {"id":"u_3","name":"Charlie","email":"charlie@example.com"}
}
GET /orders
List orders with optional filters.
GET /v1/orders?status=completed&limit=20 HTTP/1.1
Host: api.kb.com
Authorization: Bearer YOUR_API_KEY
Response:
{
"data": [
{"id":"o_101","user_id":"u_1","total":120.50,"status":"completed"},
{"id":"o_102","user_id":"u_2","total":75.00,"status":"completed"}
],
"pagination":{"total":2,"limit":20,"offset":0}
}
GET /products
Retrieve product catalog.
GET /v1/products HTTP/1.1
Host: api.kb.com
Authorization: Bearer YOUR_API_KEY
Response:
{
"data": [
{"id":"p_10","name":"Widget","price":9.99},
{"id":"p_11","name":"Gadget","price":19.99}
]
}