Developer Documentation
jekcms API Reference
Integrate jekcms into your applications. Comprehensive REST API for content management, media uploads, webhook triggers, and statistics.
https://yourdomain.com/api/v1
Authentication
All API requests require an API key that must be sent with every request. Generate your key from the jekcms admin panel under Settings → API.
Header Authentication (Recommended)
cURL Example
Security note: Never embed your API key in client-side code (JavaScript, HTML). Use it only in server-side integrations or automation tools like n8n.
Posts
/api/v1/posts
List all posts
/api/v1/posts/{id}
Get single post
/api/v1/posts
Create new post
/api/v1/posts/{id}
Update post
/api/v1/posts/{id}
Delete post
Parameters — GET /posts
Create Post — POST /posts
n8n integration: Use HTTP Request node in n8n to post to jekcms. Method: POST, URL: /api/v1/posts, Headers: X-API-Key. Prepare JSON body with Set node.
Media
/api/v1/media
Upload image
/api/v1/media
Media library
/api/v1/media/{id}
Delete media
jekcms automatically converts uploaded images to AVIF and WebP formats. The original file is also retained. The response includes all three URLs.
Upload Image — POST /media
Response Example
Categories
/api/v1/categories
List all categories
/api/v1/categories/{slug}
Category detail
Category List Response
Webhooks
jekcms webhook endpoints are inbound: n8n or any other system POSTs to these addresses to publish a post, leave a draft, upload media or work the content queue. Authentication uses your API key; calls without one are verified against an X-Webhook-Signature HMAC.
/api/v1/webhook/publish
Publish a post
/api/v1/webhook/draft
Create as draft (recommended)
/api/v1/webhook/schedule
Schedule for later
/api/v1/webhook/media
Upload an image from a URL
/api/v1/webhook/bulk-publish
Bulk submission
/api/v1/webhook/queue-pending
Pending content queue
/api/v1/webhook/test
Connection test
The Request You Send
The Response You Get
Using with n8n: Add an HTTP Request node at the end of your flow, point it at /api/v1/webhook/draft and send your API key in the X-API-Key header. Generated content lands in your panel as a draft — the decision to publish stays yours.
Statistics
/api/v1/stats
Site metrics
GET /stats Response
Error Codes
All error responses use the same structure: {"status":"error","code":401,"message":"..."}. The table below lists possible error codes and recommended solutions.
| Code | Meaning | Resolution |
|---|---|---|
| 400 | Bad Request | Check JSON format and required fields. |
| 401 | Unauthorized | Send your API key in the X-API-Key header. |
| 403 | Forbidden | Your API key does not have permission to access this resource. |
| 404 | Not Found | Check the ID or slug. |
| 422 | Validation Error | Check the errors array in the response for field-level details. |
| 429 | Too Many Requests | Rate limit exceeded. Check the Retry-After header and wait accordingly. |
| 500 | Internal Server Error | An unexpected server-side error occurred. If the problem persists, contact support. |
Retry on 429: Use exponential backoff — wait 1s, then 2s, then 4s between retries. In n8n, use the Wait node for this.
Start Using the API
Purchase jekcms, generate your API key, and start building integrations within minutes.
View Pricing- Full REST API access
- n8n integration (drafts → editorial approval)
- AVIF/WebP auto-conversion
- Webhook support
- API key management