> ## Documentation index
> Fetch the complete documentation index at: https://dash.robopost.app/llms.txt
> Use this file to discover all available pages before exploring further.

# API overview

The Robopost API lets your own software do what your team does in the dashboard: schedule posts, check
what happened to them, change or delete them, answer comments and read analytics. Everything your
integration does can be checked afterwards through the API itself, so it never has to rely on someone
looking at the dashboard.

**You need:** a Robopost team and an API key. **Next you will:** make your first call.

## Make your first call

1. In the dashboard, open **Team** (under **Account** in the sidebar) and click **Manage API Keys**.
2. Click **New API Key**, give it a **Name** (for example "My CRM"), click **Create API Key**, then **Copy Key**.
3. Check the key:

```bash
curl https://public-api.robopost.app/v1/auth \
  -H "Authorization: Bearer $ROBOPOST_API_KEY"
```

```json
{"message": "Welcome team Acme Social", "team_name": "Acme Social"}
```

4. List your channels. You'll need their IDs to post:

```bash
curl https://public-api.robopost.app/v1/channels \
  -H "Authorization: Bearer $ROBOPOST_API_KEY"
```

That's it: every other call works the same way. Continue with [Create posts](https://dash.robopost.app/docs/api/create-posts.md).

## What you can do

| Area | What the API covers |
| --- | --- |
| Posts | Create, list, read, edit, reschedule, unschedule, retry and delete posts; delete them on the network too |
| Changes | A change feed and signed webhooks for every change, wherever it was made |
| Media | Upload images and videos, or pass public URLs |
| Channels and collections | List the team's channels and collections |
| Social inbox | Read comments and reviews, comment, reply, delete comments, mark as read |
| Analytics | Post metrics, totals per channel, trends by day, week or month |
| AI video | Create and run faceless video series |

Each area has its own page in this section. [Dashboard vs API](https://dash.robopost.app/docs/api/capabilities.md) lists every
dashboard feature and whether the API offers it.

## Conventions

- **Base URL:** `https://public-api.robopost.app/v1`. Paths work with or without a trailing slash.
- **Format:** JSON in and out (`Content-Type: application/json`), except media upload, which is a file upload.
- **Times:** ISO 8601. Times Robopost returns are UTC and end in `Z`. Times you send without an offset are read as UTC.
- **IDs:** strings (UUIDs). A post's ID never changes.
- **Scope:** a key acts on exactly one team. Another team's post, channel or media answers `404`.
- **Errors:** a status code and a body with a readable `msg` and a stable `code`. See [Errors](https://dash.robopost.app/docs/api/errors.md).
- **Paging:** lists return `next_cursor` and `has_more`; pass `cursor` to get the next page.

## Machine-readable description

The API describes itself in OpenAPI 3: `https://public-api.robopost.app/openapi.json`. Import it into
Postman, Insomnia or a client generator, or browse it at `https://public-api.robopost.app/docs`.

## Next

[Authentication](https://dash.robopost.app/docs/api/authentication.md)
