Withdraw the catalogue from the network
Starts a run that takes every product of the vendor's catalogue back from the network, each announced as product.withdrawn so retailers drop it. Its data is kept and it can be published again. A catalogue that is not published, or a run under way, answers 409.
- Scopes
publishing:write - Rate classexpensive
- Idempotency-Key required
/v1/catalogue/withdrawStarts a run that takes every product of the vendor's catalogue back from the network, each announced as product.withdrawn so retailers drop it. Its data is kept and it can be published again. A catalogue that is not published, or a run under way, answers 409.
Authorization
apiKey An API key (fo_live_… / fo_test_…) as a bearer token
In: header
Header Parameters
Dated API version; pinned per organisation on first use and overridable per request
Value in
- "2026-10-01"
- "2026-10-04"
The data the request acts on: test is the organisation's sandbox. An OAuth token picks it (live by default); an API key's mode is fixed, and naming the other one is refused
Value in
- "live"
- "test"
Unique key for this operation, reused on retries (24 h)
1 <= length <= 257Preview the write and change nothing: true answers the would-be response, explain a Preview (application/vnd.furniops.preview+json)
Value in
- "true"
- "explain"
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Withdrawing the catalogue from the network
Response Body
application/json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
curl -X POST "https://example.com/v1/catalogue/withdraw" \ -H "Idempotency-Key: string" \ -H "Content-Type: application/json" \ -d '{ "reason": "string" }'{ "object": "publication_run", "id": "string", "action": "publish", "status": "queued", "products": { "total": 0, "done": 0 }, "reason": "string", "error": "string", "created_at": "2019-08-24T14:15:22Z", "finished_at": "2019-08-24T14:15:22Z"}Hide products from the network, or list them again POST
Starts a run that hides the products named (each announced as `product.withdrawn` while the catalogue is published) or lists them again (`product.published`). A plan without `product_visibility` answers 403 `feature_unavailable`; a product not in the catalogue answers 422; a run under way answers 409.
Write products to a push source POST
Sends up to 1000 products (at most 5 MB) to a `push` source of the organisation's own catalogue and queues the run that reads them, like a file. `upsert` replaces each product's record whole; `merge` changes only the fields given, keeping the rest. A push never discontinues products it does not name. Another kind of source answers 422; a source with an active run, or a paused or disabled one, answers 409; a vendor without the current data agreement answers 409 `agreement_required` once its catalogue is published.