API reference

Base URL https://hawcast.ialae.com/v1. New to connecting an account? Start with the Meta setup guide.

Authentication

Every request needs your project API key, as a bearer token or X-API-KEY header. Find it in the dashboard under API keys.

curl https://hawcast.ialae.com/v1/usage \
  -H "Authorization: Bearer hc_live_your_key"

Rate limits & quota

Publish a post

POST /v1/posts — publish immediately. kind is image, carousel, or reel. media_urls must be durable, publicly fetchable URLs.

# curl
curl -X POST https://hawcast.ialae.com/v1/posts \
  -H "Authorization: Bearer hc_live_your_key" \
  -H "Content-Type: application/json" \
  -d '{
    "account_id": 42,
    "kind": "carousel",
    "media_urls": ["https://cdn.you.com/1.jpg", "https://cdn.you.com/2.jpg"],
    "caption": "Launch day"
  }'
# python
import requests
requests.post("https://hawcast.ialae.com/v1/posts",
  headers={"Authorization": "Bearer hc_live_your_key"},
  json={"account_id": 42, "kind": "image",
        "media_urls": ["https://cdn.you.com/a.jpg"], "caption": "Hello"})
// javascript
await fetch("https://hawcast.ialae.com/v1/posts", {
  method: "POST",
  headers: { Authorization: "Bearer hc_live_your_key", "Content-Type": "application/json" },
  body: JSON.stringify({ account_id: 42, kind: "image",
    media_urls: ["https://cdn.you.com/a.jpg"], caption: "Hello" })
});

Returns 201 with {id, status, external_id} on success, 502 if the platform rejected it, 402 if over quota.

Schedule a post

POST /v1/schedule — publish later. publish_at is ISO 8601 (include an offset). kind is image or carousel.

curl -X POST https://hawcast.ialae.com/v1/schedule \
  -H "Authorization: Bearer hc_live_your_key" -H "Content-Type: application/json" \
  -d '{"account_id":42,"kind":"carousel","image_urls":["https://cdn.you.com/1.jpg","https://cdn.you.com/2.jpg"],"caption":"Tuesday","publish_at":"2026-11-01T09:00:00+01:00"}'

Manage scheduled posts:

Read endpoints

Webhooks

Add a webhook URL in the dashboard to receive post.published and post.failed events. Each delivery is signed with your webhook secret using HMAC-SHA256 in the X-HawCast-Signature header; verify it before trusting the payload.

Errors

CodeMeaning
400Invalid request (bad kind, media count, or timestamp)
401Missing or invalid API key
402Monthly quota reached
404Account or resource not found in this project
429Rate limit exceeded
502The platform rejected the post