> **Shapeless documentation index**
> Fetch https://shapelessai.com/llms.txt to discover every page before exploring further.
> Every page also answers Markdown: append `.md` to its path, or send `Accept: text/markdown`.

# Shapeless for agents

An API key, an MCP URL and a CLI. The three moves that get a post out of an agent and onto a real account.

*Verified 2026-09-14. Source: https://shapelessai.com/docs*

Shapeless is a social media team you drive from code. It holds the connected accounts, the
Brand Memory, the media pipeline and the publishing rail; your agent sends it a post, or a goal,
and gets back a real URL on a real platform.

There are three ways in, and they are the same account underneath:

| Surface | What it is | Best for |
| --- | --- | --- |
| **API** | HTTPS + an API key | scripts, cron, your own backend |
| **CLI** | `npx shapelessai` | a terminal, a CI job |
| **MCP** | `https://shapelessai.com/mcp` | Claude, ChatGPT, Cursor, Codex, VS Code, Gemini CLI |

## The three moves

**1. Connect a social account.** Once, in a browser, through the network's own sign-in:
[shapelessai.com/studio/accounts](https://shapelessai.com/studio/accounts). Platform OAuth is a
browser redirect carrying a platform grant, so it is the one step an agent cannot do for you.

**2. Get a credential.**

- For the API and the CLI: mint an API key under
  [Settings, API keys](https://shapelessai.com/studio/api-keys). The plaintext is shown once. Give
  it only the scopes the caller needs - see [Authentication](/docs/auth).
- For MCP: no key. Add `https://shapelessai.com/mcp` to your host and sign in when the Shapeless
  tab opens.

**3. Post.**

```bash
curl -s https://shapelessai.com/api/posts \
  -H "Authorization: Bearer $SHAPELESS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"connectionId":"<id>","postText":"Shipped the thing.","queue":true}'
```

```bash
shapeless posts create --to <connectionId> --text "Shipped the thing." --queue
```

```jsonc
// MCP
{ "tool": "posts_create", "arguments": { "connectionId": "<id>", "text": "Shipped the thing.", "queue": true } }
```

`connectionId` comes from `GET /api/connections` (`shapeless connections`, `connections_list`).

## What it costs

**Free** is an account with no paid plan, and it is not a countdown:

- Manual, Queue, Calendar, per-platform previews, every connected platform, the API, the MCP
  server, the CLI and the Claude and ChatGPT connectors.
- **10 posts a day** through the rail, counted on the UTC day each post goes out on - so a week
  planned ahead is ten a day, not ten in total. Creating one and approving one both count.
- **$5 of credits a month** for the agent team, refilled monthly - enough to have it research,
  write and render for you.

Paid plans (Spark $35, Growth $100, Studio $200) lift the daily cap and raise the credit
allowance. See [Pricing](https://shapelessai.com/pricing).

The cap answers `402` with `{"code": "free_daily_cap", "limit": 5, "day": "2026-09-22", "resetsAt":
"<ISO>"}` - move the post to a day with room rather than retrying into it. Full refusal table on
[Posts](/docs/posts#errors).

## Where to go next

- [Posts](/docs/posts) - create, schedule, queue, media, first comment, refusals.
- [Platforms](/docs/platforms) - the limits we enforce before a post goes out.
- [Authentication](/docs/auth) - scopes, OAuth, rate limits.
- [API reference](/docs/api) - every route a key opens.
- [Jobs](/docs/jobs) - hand over a goal instead of a post.
- [Brand Memory](/docs/brand-memory) - fix the source, not the symptom.

## Reading these docs as an agent

Every page here answers Markdown as well as HTML:

- Append `.md` to any path: `https://shapelessai.com/docs/posts.md`.
- Or send `Accept: text/markdown` to the normal URL.
- [`/llms.txt`](https://shapelessai.com/llms.txt) is the index of the whole site.
- [`/llms-full.txt`](https://shapelessai.com/llms-full.txt) is every page in these docs
  concatenated, in nav order, in one fetch.
