---
seo:
  description: >-
    BrainyShorts is a free social publishing control plane. Agents upload
    finished media and create, schedule, or publish posts to connected TikTok,
    Instagram,…
sidebar:
  label: Overview
title: BrainyShorts API
---
BrainyShorts is a free social publishing control plane. Agents upload finished media and create, schedule, or publish posts to connected TikTok, Instagram, YouTube, LinkedIn, and X accounts, plus long-form articles to DEV.to, Hashnode, Reddit, LinkedIn, and X. BrainyShorts does not generate media.

**Host:** `https://www.brainyshorts.com`. Do not use `api.brainyshorts.com`; it is only a fallback alias for these REST paths.

**Auth:** send `Authorization: Bearer ba_sk_...`. Create keys at https://www.brainyshorts.com/dashboard/api-keys. The `x-api-key` header is not accepted.

**MCP:** the same capabilities are available as a hosted MCP server at `https://www.brainyshorts.com/api/mcp` (streamable HTTP, OAuth).

Version 1.0.0

Base URL: `https://www.brainyshorts.com`

## Accounts

Connected social accounts

- [`GET /api/cli/accounts`](/reference/accounts/list-accounts) — List connected accounts

## Posts

Create, schedule, update, and delete social posts

- [`GET /api/cli/posts`](/reference/posts/list-posts) — List posts
- [`POST /api/cli/posts`](/reference/posts/create-post) — Create a post
- [`DELETE /api/cli/posts`](/reference/posts/delete-post) — Delete a post delivery
- [`PATCH /api/cli/posts`](/reference/posts/update-post) — Update or unschedule a post

## Bulk

Idempotent batches of up to 100 drafts or schedules

- [`GET /api/cli/posts/bulk`](/reference/bulk/get-post-batch) — Inspect a batch
- [`POST /api/cli/posts/bulk`](/reference/bulk/create-posts-bulk) — Create up to 100 drafts or schedules
- [`PATCH /api/cli/posts/bulk`](/reference/bulk/update-posts-bulk) — Update up to 100 scheduled posts

## Media

Upload finished media to managed storage

- [`POST /api/cli/media/uploads`](/reference/media/reserve-media-upload) — Reserve a managed media upload
- [`PATCH /api/cli/media/uploads`](/reference/media/complete-media-upload) — Mark an upload complete

## Articles

Long-form articles for DEV.to, Hashnode, Reddit, LinkedIn, and X

- [`GET /api/cli/articles`](/reference/articles/list-articles) — List articles
- [`POST /api/cli/articles`](/reference/articles/create-article) — Create, schedule, or publish an article
- [`DELETE /api/cli/articles`](/reference/articles/delete-article) — Delete an article

## Analytics

Owner-scoped performance metrics

- [`GET /api/cli/analytics`](/reference/analytics/get-analytics) — Get analytics

## Skills

Public, versioned instruction skills. No auth.

- [`GET /api/skills`](/reference/skills/list-skills) — List skills
- [`GET /api/skills/{id}`](/reference/skills/get-skill) — Get a skill

## Automations

Scheduled agent runs and the runner protocol

- [`GET /api/automations`](/reference/automations/list-automations) — List automations
- [`POST /api/agent/executors`](/reference/automations/register-executor) — Register or update an executor
- [`GET /api/agent/automations/sync`](/reference/automations/sync-automations) — Sync automations for an executor
- [`POST /api/agent/automations/{id}/ack`](/reference/automations/ack-automation) — Acknowledge an applied revision
- [`POST /api/agent/automations/{id}/start`](/reference/automations/start-run) — Start a run
- [`GET /api/agent/runs/{id}`](/reference/automations/get-run) — Get run status
- [`POST /api/agent/runs/{id}/events`](/reference/automations/log-run-event) — Record a run step
- [`POST /api/agent/runs/{id}/media/uploads`](/reference/automations/reserve-run-media-upload) — Reserve a media upload for a run
- [`PATCH /api/agent/runs/{id}/media/uploads`](/reference/automations/complete-run-media-upload) — Complete a run media upload
- [`POST /api/agent/runs/{id}/direct-upload`](/reference/automations/create-direct-upload) — Open a TikTok or YouTube direct upload
- [`POST /api/agent/runs/{id}/direct-upload/status`](/reference/automations/get-direct-upload-status) — Check a direct upload
- [`POST /api/agent/runs/{id}/complete-local`](/reference/automations/complete-local-run) — Complete a local run
- [`POST /api/agent/runs/{id}/fail`](/reference/automations/fail-run) — Fail a run
- [`POST /api/agent/runs/claim`](/reference/automations/claim-run) — Claim a queued run (legacy queue)
- [`POST /api/agent/runs/{id}/renew`](/reference/automations/renew-run) — Renew a claim (legacy queue)
- [`POST /api/agent/runs/{id}/complete`](/reference/automations/complete-run) — Complete a claimed run (legacy queue)
- [`POST /api/agent/runs/{id}/skip`](/reference/automations/skip-run) — Skip a claimed run (legacy queue)
