Bulk Operation (Synchronous)
POST/api/faire/instances/:integrationInstance/products/bulk
Run a bulk action on Faire product options synchronously and return the result inline. Best for Selected Only requests where the count is small and the operation completes in well under HTTP timeout. For All Filtered requests that may exceed timeout, use the tracked variant instead.
Path Parameters:
integrationInstance(required) - The ID of the Faire integration instance.
Body:
action(required) - One ofarchive,unarchive,delete,map,unmap,create,remap. Currently onlyarchive,unarchive, anddeleteare wired up; mapping actions surface asskipped.selection(required) - object describing which records to act on:selection.type(required) - One ofselected(use the explicitidslist),visible(use the current page's filters),filtered(use the active filter set across all matching records).selection.ids(required whentype=selected) - Array offaire_product_options.idvalues.selection.filters(optional) - Spatie QueryBuilder filter map. The same filter shape accepted byGET /api/faire/instances/:integrationInstance/products. Resolved viaBulkFilterResolver.
options(optional) - object reserved for action-specific options (currently unused on Faire — placeholder for future mapping options).
Response (200):
data.processed- Count of records the action successfully ran against.data.failed- Count of records that errored during the action.data.skipped- Count of records that were skipped (e.g., already in the target state, or unsupportedaction).message- Human-readable status string.
Errors:
422when no records resolve from the selection (emptyidsfortype=selected, or filters returning zero rows).422when validation fails on the body shape.
Request
Responses
- 200
Successful response