Skip to content

Social media management API

Your content system. Wahlu’s publishing workflow.

Bring social content into your own application. Use one documented API for brands, connected accounts, media, drafts and schedules.

Instagram · Facebook · TikTok · YouTube · LinkedIn personal profiles · Threads · X · Bluesky · Telegram · Discord · Tumblr · Pinterest

Start with an authorised context read
curl https://api.wahlu.com/v1/context \
  -H "Authorization: Bearer $WAHLU_API_KEY"

Create a key in Settings → API Keys. The response tells your application which brands it can access.

Four resources. A traceable workflow.

Carry each returned ID into the next request. Your application keeps the business logic; Wahlu keeps the content and publishing state.

01 · Brand and targets

Which accounts can this workflow use?

Start with the authorised context. Discover real connected targets and supported formats for the brand your key can access.

GET /v1/contextRead the brand and targets reference

02 · Media

Is the image or video ready?

Import a public URL or use the documented upload flow. Read the returned media item and its readiness before attaching it to content.

POST /v1/brands/:brand_id/media/importsRead the media reference

03 · Content

What will the post say and show?

Create a draft with canonical copy, media references and platform settings. Keep returned IDs with the source item in your system.

POST /v1/brands/:brand_id/content-itemsRead the content reference

04 · Schedule

Where and when should it go?

Check readiness, select the intended accounts and create a schedule with an explicit approval state. Read its status to confirm the result.

POST /v1/brands/:brand_id/schedulesRead the schedule reference

Designed for workflows you can inspect.

Access scoped to the work

Give each integration its own API key. Select permissions and restrict brand access so one client’s workflow does not need access to another.

Retries with stable identity

Use a caller-owned Idempotency-Key for documented mutations. Reuse it with the same request when a response is interrupted.

Readiness before publishing

Preflight reports content, media, timing and account blockers without creating a schedule. Your application can show the guidance to the person reviewing the post.

Approval as an explicit choice

Start with pending_review. An approved schedule also needs the Publishing permission (publish:execute) and posts to your connected social media accounts.

Build from a real draft.

Connect your social accounts in Wahlu, choose one brand and follow the documented recipe.