Fulify API: push changes to your stores on demand with sync jobs
Until now, a change written through the API waited in Fulify until someone pressed Sync. Sync jobs let your integration send it to your stores itself, straight after a write or on its own schedule.
Push by SKU, or everything pending
POST /v1/sync-jobs takes either a list of up to 1,000 SKUs or {"all": true} for every pending product. Products are pushed to every BigCommerce and Shopify store they're on, exactly as pressing Sync on a product's channel tab does.
Products that can't be pushed come back straight away with a reason, such as sync_off or not_pending. The rest are pushed in the background, and GET /v1/sync-jobs/{id} shows the result for every product and every store.
Built for scheduled integrations
- Dry runs:
?dryRun=trueshows what would be pushed without pushing it. - Idempotency-Key: send the same key again within 24 hours and you get the original job back, so a retried nightly run doesn't push twice.
- Webhook: subscribe an endpoint to the new
sync_job.completedevent instead of polling. It's sent only to endpoints that tick it.
Sync jobs need the sync:write scope, included in the Full integration key preset. See Sync jobs for the full reference.
Rate-limit responses now include Retry-After
A 429 response now carries a standard Retry-After header as well as retryAfter in the body, so HTTP clients that back off automatically handle it without extra code.