Hide products from the network, or list them again
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.
- Scopes
publishing:write - Rate classwrite
- Idempotency-Key required
/v1/catalogue/visibilityStarts 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.
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.
Products to hide from the network, or to list again
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
curl -X POST "https://example.com/v1/catalogue/visibility" \ -H "Idempotency-Key: string" \ -H "Content-Type: application/json" \ -d '{ "products": [ "string" ], "visibility": "listed" }'{ "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"}Publish the catalogue to the network POST
Starts a run that makes every product of the vendor's catalogue that is not hidden visible to the network of paying retailers, each announced as `product.published`. Needs the data agreement (409 `agreement_required`) and a verified vendor profile (409 `brand_unverified`). A catalogue already published, a run under way, or a test-mode sandbox answers 409; a retailer's catalogue answers 403.
Withdraw the catalogue from the network POST
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.