API overview
On this page
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
- In the dashboard, open Team (under Account in the sidebar) and click Manage API Keys.
- Click New API Key, give it a Name (for example "My CRM"), click Create API Key, then Copy Key.
- Check the key:
curl https://public-api.robopost.app/v1/auth \
-H "Authorization: Bearer $ROBOPOST_API_KEY"{"message": "Welcome team Acme Social", "team_name": "Acme Social"}- List your channels. You'll need their IDs to post:
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.
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 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
msgand a stablecode. See Errors. - Paging: lists return
next_cursorandhas_more; passcursorto 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.