API Integration
Technical specifications for API integration.
1. Base URL
Your endpoint URL is shown on the endpoint detail page.
https://api.chikage.io/api/v1/data/{slug}https://api.chikage.io/api/v1/data/{slug}/{record_id}2. Authentication
Include your API key in the header.
| Header | Description | Required |
|---|---|---|
| Authorization | Bearer tm_test_xxx... / Bearer tm_live_xxx... | Yes |
| Content-Type | application/json | Yes |
| X-Webhook-Callback | Webhook URL | No |
| X-Webhook-Auth | Auth value (e.g., Bearer token) | No |
| X-Webhook-Auth-Header | Auth header name | No |
3. Request Format
- Content-Type: application/json only
- Max Size: 100KB per request
- Method: POST / GET / PUT / DELETE
CRUD Endpoints
Each endpoint automatically supports four HTTP methods:
| Method | Path | Description |
|---|---|---|
POST | /api/v1/data/{slug} | Create a new record (async, queued) |
GET | /api/v1/data/{slug}/{record_id} | Retrieve a record by ID |
PUT | /api/v1/data/{slug}/{record_id} | Replace a record by ID (async, queued) |
DELETE | /api/v1/data/{slug}/{record_id} | Delete a record by ID (async, queued) |
GET, PUT, DELETE require a record ID returned from a previous POST response.
POST — Create:
curl -X POST https://api.chikage.io/api/v1/data/{slug} \
-H "Authorization: Bearer tm_test_xxx" \
-H "Content-Type: application/json" \
-d '{
"order_id": "ORD-2024-001",
"amount": 45000,
"items": ["Item A", "Item B"],
"paid": true
}' GET — Read:
curl https://api.chikage.io/api/v1/data/{slug}/rec_abc123 \
-H "Authorization: Bearer tm_test_xxx" PUT — Update:
curl -X PUT https://api.chikage.io/api/v1/data/{slug}/rec_abc123 \
-H "Authorization: Bearer tm_test_xxx" \
-H "Content-Type: application/json" \
-d '{
"order_id": "ORD-2024-001",
"amount": 50000,
"items": ["Item A", "Item B", "Item C"],
"paid": true
}' DELETE — Delete:
curl -X DELETE https://api.chikage.io/api/v1/data/{slug}/rec_abc123 \
-H "Authorization: Bearer tm_test_xxx" 4. Response Format
Success Response (202):
{
"success": true,
"id": "rec_abc123",
"message": "Request queued"
} Error Response Example (400):
{
"success": false,
"error": "Validation failed",
"details": [
{ "field": "order_id", "error": "Required field is missing" }
]
} Error Responses:
| Code | Status | Description |
|---|---|---|
400 | Bad Request | Invalid JSON or missing required fields |
401 | Unauthorized | Missing or invalid API key, or API key deactivated by owner |
403 | Forbidden | Endpoint inactive or expired subscription |
415 | Unsupported Media Type | Content-Type must be application/json |
429 | Too Many Requests | Monthly rate limit exceeded |
5xx | Server Error | Internal server error (500, 502, 503, etc.) |
5. Collaborator Webhook
API collaborators can receive processing results directly.
Retry Policy: Up to 3 retries on failure (60-second intervals)
6. Testing Tools
Test in Sandbox before going live.
- Built-in Test Page: Access via the Test button on the endpoint detail page — no extra tools needed
- cURL: Test from command line
- Postman: Use the API testing tool
7. Production Console
After deploying to Production, the endpoint owner can manage production data directly from the dashboard — without external API tools or code.
How to access
Go to Endpoint Detail → Production tab → click "Open Console" to open in a new tab.
Features
- Full CRUD support (POST / GET / PUT / DELETE) on production data
- Production API key is pre-configured automatically — no manual entry needed
- Requests from the console do not trigger webhooks
Owner only
Only the endpoint owner can access the Production Console. Collaborators cannot use it.