GoliathDevelopersGet an API key
Guides / Bulk Tasks API

Bulk Tasks API

Poll the status of long-running bulk jobs through the Goliath developer API

About

Some operations don’t finish inline — they kick off async work and return a bulkTaskId before the change is applied (for example, addPropertiesToList or removePropertiesFromList on the Properties API, or enrollInWorkflow on the Workflows API). Poll that bulkTaskId here to watch the job move from queued to done.

getBulkTask returns the task status, progress, and a best-effort ETA — it’s built for polling on a short interval. All operations go through the developer API gateway — one endpoint, called by operationId. If you haven’t set up a key yet, start with the Developer API Overview.

Operations

Reading bulk-task status (READ scope)

operationId Scope What it does
getBulkTask READ Fetch the current status of an async bulk task by id (the bulkTaskId returned by async ops such as addPropertiesToList). Returns the status (CREATED = queued, PROCESSING = being applied, COMPLETED, FAILED), progress (processedItemCount of estimatedItemCount), and a best-effort ETA (secondsRemaining; null means no estimate, not an error — status is authoritative). A FAILED task can still have applied part of the change: work commits in batches, so processedItemCount says how far it got. Reconcile what was applied before you retry. Returns null for ids that don’t exist in your workspace. Poll on a 3-5 second interval.

Example

Poll a bulk task returned by an async operation:

curl -X POST https://server.goliathdata.com/api/v1/call \
  -H "Authorization: Bearer gsk_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "operationId": "getBulkTask", "variables": { "bulkTaskId": "YOUR_BULK_TASK_ID" } }'

Full variable schemas, response shapes, and worked examples for every operation are available from the discovery endpoint.