Skip to content
← Documentation

Your first queued publish in under 5 minutes.

This guide walks through access, authentication, account connection, publish requests, webhooks, and dashboard verification for Instagram and Facebook.

01

Request access

Create an Apionics account and request early access. Once approved, your workspace keeps API keys, accounts, approval rules, and audit logs isolated.

Request API access
02

Generate an API key

Open your dashboard and create a key with publish scope. Store it as an environment variable before making API calls.

export APIONICS_API_KEY="apionics_live_..."
03

Connect a social account

Connect Instagram or Facebook from Accounts. Apionics stores account IDs such as acc_123, which you pass into publish requests.

04

Queue your first publish

Send a publish request with an Idempotency-Key so retries do not create duplicate jobs. The API accepts the job immediately and sends final state asynchronously.

curl -X POST https://api.apionics.com/v1/publish \
  -H "Authorization: Bearer $APIONICS_API_KEY" \
  -H "Idempotency-Key: quickstart-001" \
  -H "Content-Type: application/json" \
  -d '{
    "content": "Hello from Apionics",
    "platforms": ["instagram", "facebook"],
    "accounts": ["acc_123"],
    "schedule": "now"
  }'
05

Handle the response

A successful request returns a queued publish job. Store the post ID so your app can reconcile dashboard state, webhook events, and support logs.

{
  "id": "post_789",
  "status": "queued",
  "platforms": ["instagram", "facebook"],
  "tasks": [
    { "account_id": "acc_123", "platform": "instagram", "status": "queued" }
  ]
}
06

Receive completion by webhook

Publishing is asynchronous because each platform validates media, account permissions, and rate limits differently. Use webhooks as the source of truth.

{
  "event": "publish.completed",
  "post_id": "post_789",
  "platform": "instagram",
  "account_id": "acc_123",
  "status": "published"
}
07

Verify in the dashboard

Open Posts, Logs, or Audit Logs in your Apionics dashboard. You should see the job move from queued to published, or a platform-specific failure reason if the platform rejects it.

Open dashboard