Integrations and auto-posting
The Developers section in the app is your entry point for integrations. Here you create API keys to work with the public REST API v1, set up webhooks to receive post events on your own server, and connect RSS auto-posting — when new articles from your feed automatically turn into posts.
API keys
You need an API key for any requests to the public API. To create a key:
- Open the Developers section and click “Create key”.
- Choose the permissions (scopes) — exactly what the key will be allowed to do.
- Copy the key right after creating it.
Permissions (scopes)
| Scope | What it allows |
|---|---|
posts:read | Read posts |
posts:write | Create and publish posts |
accounts:read | View the list of connected social networks |
media:read | Read media files |
media:write | Upload media files |
Grant a key only the permissions your integration actually needs — it’s safer that way.
Authorization and rate limit
The key is passed in the Authorization: Bearer sk_... header or x-api-key: sk_....
The public API limit is 60 requests per minute per key. If you exceed it, requests start getting rejected — wait a minute and continue.
Revoking a key
If a key is compromised or no longer needed, delete it in the key list. It stops working immediately, and requests using it will be rejected.
Example — create a post via curl
curl -X POST https://api.repost21.com/v1/posts \ -H "Authorization: Bearer sk_your_key" \ -H "Content-Type: application/json" \ -d '{ "text": "Hello from API 👋", "platforms": ["TELEGRAM"], "scheduledAt": "2026-07-01T09:00:00Z" }'Without scheduledAt a draft is created; with a future date the post goes into the “Content plan” and is published on schedule. The full list of endpoints is in the REST API v1 reference.
Webhooks
Webhooks send an HTTP request to your server whenever an event happens in Repost21. To set one up:
- In the Developers section, add a webhook — specify your endpoint URL.
- Choose the events you want to subscribe to.
- Save the secret — like the API key, it’s shown only once.
Events
| Event | When it’s sent |
|---|---|
post.created | A post is created |
post.published | A post is published successfully |
post.failed | Publishing ended with an error |
Signature and verification
Every delivery arrives as a POST request with these headers:
| Header | What it contains |
|---|---|
x-repost21-event | The event name |
x-repost21-signature | A signature like sha256=<hex> |
x-repost21-delivery | The delivery ID |
The signature is an HMAC-SHA256 of the request body, computed with your secret. Always verify it on your side: compute the HMAC-SHA256 of the received body with the secret and compare it to the header. This confirms the request really came from Repost21. A ready-made verification example in Node.js is in the “Quick start” block of the Developers section.
Any webhook can be temporarily turned off with a toggle without deleting it — handy while debugging.
RSS auto-posting
Auto-posting turns new articles from an RSS feed into ready-made posts — with no effort from you. It’s great for a blog, a news site, or any source with RSS.
- In the Developers section, find the “RSS auto-posting” block and add a feed — specify its URL. RSS 2.0 and Atom formats are supported.
- Choose which social networks to publish to, along with the tone and language of the posts.
- Set how often the feed is checked — by default it’s checked every 6 hours.
When new articles appear in the feed, the AI reads them and prepares posts tailored to the chosen social networks. By default, posts are created as drafts — you review them in the “Content plan” and publish them yourself. If you enable auto-publishing, posts will go straight to the social networks without review.
What’s next
- The full endpoint reference — REST API v1
- Working with posts and scheduling in the interface — Posts and content plan
- CRM integrations (AmoCRM, Bitrix24, RetailCRM, Zapier, Make, Slack) — in development; in the Developers section they’re marked “Coming soon”