Skip to main content
Some operations can’t finish inside one request because they wait on something slower: a seller that reviews a media buy by hand, or an audience upload that has to be processed. For those, Semicola gives you a task id and you poll the task until it reaches a final state. A task has:
  • a taskId;
  • a taskType: audience_sync or media_buy_create;
  • a status that follows AdCP task states: submitted, working, then a final state;
  • a resourceType and resourceId naming the record the task works on;
  • an error message when it fails;
  • a response with the result once it completes;
  • a retryAfterSeconds hint for how long to wait before polling again.
Task polling is the only way to follow these operations today. Webhook notifications for tasks aren’t available yet: the buyer webhook subscriptions only carry the discovery.revision event.
All endpoints below are under https://api.semicola.com/api/v2/buyer/.

Where task ids come from

Most reads and ordinary writes are synchronous and never return a task id.

Poll the task

An id that isn’t a task of your account returns 404 NOT_FOUND.

Status values

Keep polling only while the status is submitted or working. retryAfterSeconds is 5 for an audience sync in progress, 30 for a buy under review, and null once the task is final.

Outcomes by task type

audience_sync. resourceType is advertiser and resourceId is the advertiser id. On completed, response holds the sync result; read the audiences themselves with GET /advertisers/{id}/audiences (or list_audiences over MCP). media_buy_create. resourceType is media_buy and resourceId is the Semicola media buy id (mb_…). The task mirrors the buy’s status: PENDING_APPROVAL reads as submitted, INPUT_REQUIRED as input-required, REJECTED as rejected, FAILED as failed, and any other status as completed. On completed, response is { "media_buy_id": "…" }, the seller’s own id for the buy. error carries the seller’s message when there is one. Semicola follows seller tasks for you: it polls the seller and updates the media buy when the seller decides, so reading the buy (or its campaign’s media buy status) tells you the same thing.

Media buy lifecycle

Every status a buy moves through.

Diagnosing stuck media buys

What to check when a buy doesn’t move.