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
Webhooks work in both directions. Inbound endpoints: n8n or any other system POSTs to the addresses below 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. Outgoing webhooks: jekcms sends a signed JSON notification to a URL you define whenever a content event happens (below).
/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.
Outgoing Webhooks
Create a webhook-type entry in the admin panel under Settings → API Keys: set your target URL and signing secret, and optionally restrict the entry to specific events. There are five events: post_published, post_updated, post_deleted, comment_created (a new comment: id, post_id, author_name, status) and member_registered (a new member who verified their e-mail: id, name, email). Every delivery is logged on the same screen; a failed delivery can be re-sent with one click.
The Request You Receive
Verifying the signature: compute the HMAC-SHA256 of the raw body with your secret and compare it to the sha256=… value in X-Jek-Signature. Reject requests that don't match.
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 (100 requests per hour per client IP). The response carries no headers, so slow your calls down and retry. |
| 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