Public API
Create a kbs_ API key, call the Klickbee Social REST API to list your accounts, create, schedule and publish posts, and handle errors.
The REST API lets you create and schedule posts from your scripts, Zapier, Make, n8n or any other tool. AI assistants can also use the MCP server.
Create an API key
Keys are managed in Réglages › API & MCP (Settings › API & MCP), in the Développeurs (Developers) section, reserved for Super admins.
Click Créer une clé (Create a key) and give it a Nom (Name), for example "Zapier" or "internal script".
Copy the key shown. It starts with kbs_ and will never be shown
again: only a fingerprint is stored. Keep it secret, like a
password.
A key gives access to all brands in the workspace: reading, creating, scheduling and publishing posts. You can have up to 20 active keys. The list shows each key's creation date and last-used date.
Révoquer (Revoke) immediately and permanently cuts off access for the scripts and assistants that use the key. If you lose a key, revoke it and create another one.
Authenticate
GET https://social.klickbee.com/api/v1/brands
Authorization: Bearer kbs_your_keyThe full documentation in OpenAPI 3.1 format is public:
https://social.klickbee.com/api/v1/openapi.json.
Import it into Postman, Insomnia or your client generator.
Endpoints
| Method | Path | Purpose |
|---|---|---|
GET | /api/v1/brands | List brands. |
GET | /api/v1/accounts?brandId= | List a brand's connected accounts (network, name, status, slots…). |
GET | /api/v1/accounts/{id}/next-slot | Next free slot in an account's queue (null if the next 60 days are full). |
GET | /api/v1/posts | List posts (filters brandId, status, from, to, pagination limit / offset). |
POST | /api/v1/posts | Create posts: draft, scheduled, queued or published right away. |
GET | /api/v1/posts/{id} | Read a post (status, link, error…). |
DELETE | /api/v1/posts/{id} | Delete an unpublished post. |
POST | /api/v1/posts/{id}/schedule | Schedule or move a post. |
POST | /api/v1/posts/{id}/retry | Retry a failed post. |
DELETE | /api/v1/posts/{id}/publication | Remove a published post from its network (same networks as in the app). |
POST | /api/v1/media | Import media from a URL into the media library. |
Create a post
curl -X POST https://social.klickbee.com/api/v1/posts \
-H "Authorization: Bearer kbs_your_key" \
-H "Content-Type: application/json" \
-d '{
"brandId": "…",
"posts": [
{ "platform": "LINKEDIN", "body": "Our new guide is live." },
{ "platform": "THREADS", "body": "New guide live 👇" }
],
"schedule": { "queue": true },
"idempotencyKey": "guide-2026-10"
}'posts: 1 to 20 posts, one per account. Networks:LINKEDIN,THREADS,INSTAGRAM,FACEBOOK,TIKTOK,YOUTUBE. SpecifysocialAccountIdif the brand has several accounts on a network.schedule: omitted = draft;{ "at": "2026-11-02T09:00:00+01:00" }= specific date;{ "queue": true }= next free slot;{ "now": true }= publish immediately.media: up to 10 media items per post, each with a publicurland itsmime(PNG, JPEG, WebP, GIF, PDF, MP4, MOV). Media are downloaded and added to the media library (images and PDFs up to 15 MB, videos up to 100 MB).firstComment: the first comment.- TikTok requires
settings.privacyLevelto schedule or publish. idempotencyKey: sending the same request again with the same key doesn't create a duplicate.
Limits and errors
The API accepts 120 requests per minute per key. Beyond that, it responds 429
with a Retry-After header.
Errors have the shape { "error": { "code": "…", "message": "…" } }:
| Code | HTTP | Cause |
|---|---|---|
unauthorized | 401 | Key missing, unknown or revoked. |
forbidden | 403 / 402 | Action not allowed, or workspace in read-only mode (402). |
not_found | 404 | Brand, account or post not found. |
validation_error | 400 | Invalid request (the message names the field). |
conflict | 409 | For example, deleting a post that's published or being published. |
media_error | 422 | Media can't be downloaded or format rejected. |
rate_limited | 429 | Too many requests. |