Get started with the Wahlu API
Make an API key, then create drafts, check them and manage schedules over REST.
Updated
The Wahlu REST API lets your code read your brand and manage posts. Every plan includes it.
It posts to Instagram, Facebook Pages, TikTok, YouTube, LinkedIn personal profiles, X, Bluesky, Telegram, Discord and Tumblr. You connect the accounts in the Wahlu app first.
What you can do
Read drafts, History with post links, your Link in bio page and stats, your Autopilot week plan and alerts.
With the right key permissions, you can also:
- Change the name or caption of an unused draft, or delete it.
- Approve a held schedule, move it to drafts or delete it.
- Approve an Autopilot idea or ask for a new topic. Both need a paid plan.
Start with reads. Each new write needs the exact item ID and an idempotency key. Use the same key if you retry the same change. Approving a schedule needs the Publishing permission, since the post can then go out. Deleting a schedule does not remove a post from a social account.
Approving an idea here keeps any post made from it held for final review, even with auto-approval on.
Approve the post in Wahlu, or use the API or agent with both schedule:write and publish:execute.
Link in bio is read-only here. Insights, comment-to-DM and Studio generation are not in the API.
Make an API key
Only the workspace owner can do this.
- Click your workspace name, then Workspace settings.
- Open API keys.
- Click Create key and give it a name.
- Choose Read only, Full access or Custom. Give it only the permissions it needs.
- Under Brand access, pick All brands, including new ones or Only selected brands. If you pick selected brands, tick each brand the key can use. Add an expiry date if needed.
- If you choose Full access with Publishing, confirm it can post to your social accounts.
- Click Create key. Copy the key and keep it somewhere safe. You only see it once.
The list shows a masked key. Its copy button copies only the key prefix, which helps you tell keys apart. Click the permissions line to see what a key can use and which brands it covers. Open the key's menu to rename it, rotate it or revoke it. Rotating gives the key a new secret with the same access. Older and expired keys stay in the list so you can revoke them.
Change a key's access
You can't change a key's permissions or brands after you make it. This keeps a key from quietly gaining access.
- Click the key's permissions line.
- Click Create a key with different access. The new key starts with the old key's settings.
- Change what you need, then click Create key.
- Put the new key in your tool. Once it works, revoke the old key.
Hosted MCP connections live in Connected agents, separate from API keys.
Your first request
Keys start with wahlu_live_. Send yours in the Authorization header:
curl https://api.wahlu.com/v1/context \
-H "Authorization: Bearer $WAHLU_API_KEY"
Read the full docs
- API documentation: the base URL, keys and a first workflow.
- Authentication: key formats and permissions.
- API reference: every endpoint.
- Drafts, History and planning: the new reads and guarded actions.
- Errors and rate limits.
- Hold a schedule for approval: a full example.
Read prices and limits
- Read plain-text pricing, or call
GET https://api.wahlu.com/v1/plans. - With local MCP, call
get_plans. The hosted connector excludes this catalogue. It needs no extra key permissions. - If a limit blocks a request, show the person the usage and the
upgrade_urlfrom the error.
The plans endpoint is public and read-only. Prices and limits come from the same catalogue as the app.
Limit errors name the limit, used, max and an HTTPS link to compare plans.
A higher plan may not raise every limit. Check the catalogue before suggesting an upgrade.