The API reference moved here from eksis.io/developers.

Changelog

What changed in the eksis REST API and MCP server, newest first.

Changes inside /v1 add to the contract. Anything that would break a working integration waits for /v2, except a fix that stops a request from doing something it was never allowed to do. Those are listed under Tightened.

2026-10-10

Added

  • Platform rules for every channel. Each platform's options in targets[].settings now have a schema, and the platform specifications list post types, media rules, text limits, and options for every network.
  • Friendlier post bodies. Create and update requests take caption, mediaIds, and targets[].channelId. The old names baseCaption, baseMediaIds, and socialAccountId still work. contentType is optional, and each target takes up to 35 media items.
  • Warnings in responses. Creating or updating a post returns data.warnings for things that did not stop the post, such as an unknown settings key.
  • Post workflow. Check a post without saving it, reschedule, approve and reject, retry failed channels, delete posts in bulk, and read the calendar. GET /v1/posts takes q, sort, from, and to.
  • Queue slots. List, add, and remove the weekly times that mode: "queue" fills.
  • Channels. Read one channel with its rules, list Pinterest boards for settings.boardId, read TikTok creator info, and list a channel's live posts.
  • Media. Read one media item while it processes, and delete it.
  • Comments. Read one comment with its thread, hide, unhide, like, mark done, and delete. GET /v1/comments filters by postId.
  • Direct messages on the Starter plan and up: list conversations, read messages, reply, and mark as read.
  • Analytics on the Starter plan and up, and metrics on each target of a published post.
  • Webhooks for published and failed posts, new comments, new messages, and channel problems.
  • x-ratelimit-reset on every authenticated response, and features on GET /v1/me.
  • MCP tools for the same actions, except managing webhooks and deleting posts in bulk. An assistant can list webhooks but not create them.

Tightened

  • A settings value with the wrong type or outside its allowed values is refused with 422 validation.failed, drafts included.
  • firstComment on a platform without first comments is refused with 422 first_comment.unsupported instead of failing silently after publishing.
  • A post that is going out cannot be edited or deleted: 409 post.publishing.
  • A post waiting for approval cannot be published or rescheduled until it is approved: 409 post.pending_approval. Editors can now approve.
  • A contributor's scheduled post waits for approval instead of being refused.
  • Publishing a draft right away runs the same checks as scheduling it, including the monthly scheduled post limit and X credits.
  • Retrying works only on channels that failed: 409 post.target_not_retryable.
  • mode: "schedule" without scheduledAt answers post.schedule_required instead of post.schedule_in_past.

2026-10-10: documentation moves

The reference moved from eksis.io/developers to this site. The old address redirects here.

2026-09-23

  • POST /v1/media/imports brings in media from a public URL.
  • /v1 accepts the key in X-API-Key as well as Authorization.
  • Every operation has an operationId.
  • Pagination cursors are the id of the last row. Timestamp cursors already handed out keep working.
  • GET /v1/media lists only finished uploads, and a post that names an unknown or unfinished media id is refused with 422 media.not_found.
  • MCP initialize and tools/list no longer count against the daily quota.

2026-09-15

  • The Free plan gets one API key. It works with the MCP server only, and /v1 answers it with 402 api.not_on_plan.

2026-09-05

  • The MCP server opened, with API key and OAuth sign-in.
  • GET /v1/capabilities describes what each platform can do through eksis.

2026-08-30

  • The REST API opened under /v1, with workspace API keys and a daily quota per workspace.

On this page