FurniOpsDocs
API referenceCatalogue

Read the organisation's own catalogue

The catalogue the organisation owns in the request's mode, with its product counts. A vendor's catalogue also says where its publication stands and, in blocked_by, why publishing would be refused now.

  • Scopesproducts:read
  • Rate classread
GET/v1/catalogue

The catalogue the organisation owns in the request's mode, with its product counts. A vendor's catalogue also says where its publication stands and, in blocked_by, why publishing would be refused now.

Authorization

apiKey
AuthorizationBearer <token>

An API key (fo_live_… / fo_test_…) as a bearer token

In: header

Header Parameters

FurniOps-Version?string

Dated API version; pinned per organisation on first use and overridable per request

Value in

  • "2026-10-01"
  • "2026-10-04"
FurniOps-Mode?string

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"
If-None-Match?string

ETag of a cached representation; a match returns 304

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

curl -X GET "https://example.com/v1/catalogue"
{  "object": "catalogue",  "id": "string",  "name": "string",  "kind": "tenant",  "livemode": true,  "publication": {    "state": "draft",    "published_at": "2019-08-24T14:15:22Z",    "withdrawn_at": "2019-08-24T14:15:22Z",    "active_run": "string",    "blocked_by": "not_vendor"  },  "products": {    "total": 0,    "hidden": 0,    "visible": 0  },  "counted_at": "2019-08-24T14:15:22Z"}