API · Advertising
Advertising is currently in limited beta and is not available to every account. When access has been enabled for an account, a read token can inspect its Meta connection and campaign state; campaign mutations require a Read + Write token and the same owner-confirmation rules as the dashboard. Requests from accounts without access return 403 Forbidden with an errors.base message.
GET /admin/advertising
Returns the account’s Meta connection summary and a cursor-paginated list of campaigns, newest first.
curl -H "Authorization: Bearer your-token-here" \
-H "Accept: application/json" \
"https://app.usetix.io/admin/advertising?limit=50"
Query parameters:
| Parameter | Description |
|---|---|
limit |
Campaigns per page, from 1 to 100. Defaults to 50. |
page |
Opaque cursor from the previous response’s pagination.next_page value or Link header. |
Response:
{
"connection": {
"provider": "meta",
"status": "ready",
"configured": true,
"ad_account_name": "Usetix Ads",
"page_name": "Usetix Club",
"instagram_username": "usetixclub",
"conversion_tracking_enabled": true,
"organic_publishing_enabled": true
},
"advertising_campaigns": [
{
"id": "V3x7Kp9Q",
"event_slug": "summer-showcase",
"event_title": "Summer Showcase",
"name": "Summer Showcase · Local fans",
"status": "active",
"objective": "sales",
"autonomy_mode": "manual",
"budget": { "amount": "75.00", "currency": "EUR" },
"spent": { "amount": "18.42", "currency": "EUR" },
"starts_at": "2026-08-20T10:00:00Z",
"ends_at": "2026-09-01T18:00:00Z",
"desired_active": true,
"last_error_code": null,
"last_error_message": null,
"creatives": [],
"created_at": "2026-08-19T09:00:00Z",
"updated_at": "2026-08-29T12:00:00Z"
}
],
"pagination": {
"total_count": 12,
"limit": 50,
"next_page": null
}
}
connection is null until Meta has been connected. Connection status is one of pending, ready, degraded, expired, or revoked.
Campaign status is one of draft, approved, publishing, in_review, scheduled, active, paused, completed, rejected, or failed. Each campaign also includes its audience, placements, beneficiary and payer, spend-preview ID, and creative copy.
The response sends X-Total-Count with the total campaign count. When another page exists, the Link header contains the full next URL with rel="next"; clients should follow that URL without parsing or modifying the cursor.
Invalid cursors and limits return 400 Bad Request with an error string.