API Overview
An overview of the Check REST API endpoints and conventions.
API Overview
The Check API is a RESTful API that allows you to programmatically verify content, retrieve verification results, manage batch jobs, and integrate LLM verification into your applications.
Base URL
All API requests should be made to:
https://api.check.ai/v1
Authentication
All requests require an API key passed in the Authorization header:
Authorization: Bearer vfy_your_api_key
See Authentication for details on obtaining and managing API keys.
Request Format
- Use
Content-Type: application/jsonfor all POST/PUT/PATCH requests - Request bodies should be valid JSON
- All timestamps use ISO 8601 format (e.g.,
2024-01-15T10:30:00Z) - Character encoding: UTF-8
Response Format
All responses return JSON with a consistent structure:
Success Response
{
"id": "ver_abc123",
"status": "completed",
"verdict": "true",
"confidence": 0.95,
"decision": "accept",
"reasoning": "The claim is factually accurate.",
"paradigmResults": [...],
"processingTimeMs": 1850,
"createdAt": "2024-01-15T10:30:00Z"
}Error Response
{
"error": {
"code": "validation_error",
"message": "Content is required",
"details": [
{
"field": "content",
"message": "Required field is missing"
}
],
"requestId": "req_abc123"
}
}Available Endpoints
Verification
| Method | Endpoint | Description |
|---|---|---|
POST | /v1/verify | Submit content for verification |
GET | /v1/verify/:id | Get verification result by ID |
Batch Processing
| Method | Endpoint | Description |
|---|---|---|
POST | /v1/batch | Create a batch job |
GET | /v1/batch | List batch jobs |
GET | /v1/batch/:id | Get batch status |
GET | /v1/batch/:id/results | Get batch results |
POST | /v1/batch/:id/cancel | Cancel a batch |
POST | /v1/batch/upload | Upload batch file |
Status
| Method | Endpoint | Description |
|---|---|---|
GET | /v1/status | API health check |
HTTP Status Codes
| Code | Meaning |
|---|---|
200 | Success - Request completed |
201 | Created - Resource created |
202 | Accepted - Request accepted for async processing |
400 | Bad Request - Invalid parameters |
401 | Unauthorized - Invalid or missing API key |
403 | Forbidden - Insufficient permissions or quota exceeded |
404 | Not Found - Resource doesn't exist |
422 | Unprocessable Entity - Validation failed |
429 | Too Many Requests - Rate limited |
500 | Internal Server Error |
502 | Bad Gateway - Upstream provider error |
503 | Service Unavailable - Maintenance |
504 | Gateway Timeout - Provider timeout |
Rate Limiting
Rate limits vary by plan:
| Plan | Requests/Minute |
|---|---|
| Free | 20 |
| Pro | 200 |
| Enterprise | 1,000 |
Every response includes rate limit headers:
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 45
X-RateLimit-Reset: 1705317060
See Rate Limiting for handling strategies.
Pagination
List endpoints support pagination with these query parameters:
| Parameter | Type | Default | Description |
|---|---|---|---|
limit | integer | 20 | Number of items to return (max: 100) |
offset | integer | 0 | Number of items to skip |
Example
GET /v1/batch?limit=10&offset=20Paginated Response
{
"data": [...],
"pagination": {
"total": 156,
"limit": 10,
"offset": 20,
"hasMore": true
}
}Idempotency
For POST requests that create resources, you can include an Idempotency-Key header:
Idempotency-Key: unique-request-id-12345
- Requests with the same idempotency key within 24 hours return the same response
- Keys are scoped to your organization
- Use UUIDs or unique identifiers from your system
Example
curl -X POST https://api.check.ai/v1/verify \
-H "Authorization: Bearer vfy_..." \
-H "Idempotency-Key: order-12345-verification" \
-H "Content-Type: application/json" \
-d '{"content": "...", "methods": {"reasoning": 1.0}}'Versioning
The API version is included in the URL path (/v1). We maintain backwards compatibility within major versions:
- v1 - Current stable version
- Breaking changes will be released under new version numbers
- Deprecation notices will be communicated at least 6 months in advance
SDKs
We recommend using our official SDKs for the best developer experience:
Request IDs
Every response includes an X-Request-Id header with a unique identifier:
X-Request-Id: req_abc123def456
Include this ID when contacting support for faster issue resolution.
Next Steps
- Verify Content - Submit your first verification
- Batch Processing - Process multiple items
- Webhooks - Set up real-time notifications
- Error Handling - Handle errors gracefully