klickbeesocialHelp

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_key

The 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

MethodPathPurpose
GET/api/v1/brandsList brands.
GET/api/v1/accounts?brandId=List a brand's connected accounts (network, name, status, slots…).
GET/api/v1/accounts/{id}/next-slotNext free slot in an account's queue (null if the next 60 days are full).
GET/api/v1/postsList posts (filters brandId, status, from, to, pagination limit / offset).
POST/api/v1/postsCreate 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}/scheduleSchedule or move a post.
POST/api/v1/posts/{id}/retryRetry a failed post.
DELETE/api/v1/posts/{id}/publicationRemove a published post from its network (same networks as in the app).
POST/api/v1/mediaImport 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. Specify socialAccountId if 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 public url and its mime (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.privacyLevel to 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": "…" } }:

CodeHTTPCause
unauthorized401Key missing, unknown or revoked.
forbidden403 / 402Action not allowed, or workspace in read-only mode (402).
not_found404Brand, account or post not found.
validation_error400Invalid request (the message names the field).
conflict409For example, deleting a post that's published or being published.
media_error422Media can't be downloaded or format rejected.
rate_limited429Too many requests.

On this page