{"openapi":"3.1.0","info":{"title":"iQonya public catalogue API","version":"1.0.0","description":"Read published product information from the same catalogue snapshot as the iQonya website. Confirm prices, stock, custom dimensions and delivery with the workshop before ordering. No ordering, messaging or booking operations are available. Website country restrictions apply."},"servers":[{"url":"https://www.iqonya.nl"}],"externalDocs":{"description":"iQonya catalogue API documentation","url":"https://www.iqonya.nl/developers"},"paths":{"/api/catalogue":{"get":{"operationId":"getPublishedCatalogue","summary":"Read listed products or look up one product","description":"Returns public product facts and canonical links. Omit slug for the full catalogue. No authentication is required; geographic restrictions still apply. Descriptions without a published translation are empty. A null price requires a quote.","security":[],"parameters":[{"name":"locale","in":"query","required":false,"description":"Language of product names, descriptions and links.","schema":{"type":"string","enum":["nl","en","de","fr"],"default":"nl"}},{"name":"slug","in":"query","required":false,"description":"Exact product slug from the catalogue; restricts the response to one product.","schema":{"type":"string","maxLength":200,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"}}],"responses":{"200":{"description":"Published catalogue snapshot.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Catalogue"}}}},"400":{"description":"Unsupported language or invalid product slug.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Access is unavailable in the visitor’s country.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"The requested product is not in the published catalogue.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"405":{"description":"Only read requests are supported.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}}},"components":{"schemas":{"Catalogue":{"type":"object","additionalProperties":false,"required":["source","language","notice","count","products"],"properties":{"source":{"type":"string","format":"uri"},"language":{"type":"string","enum":["nl","en","de","fr"]},"notice":{"type":"string","description":"Ordering and availability limitations."},"count":{"type":"integer","minimum":0},"products":{"type":"array","items":{"$ref":"#/components/schemas/Product"}}}},"Product":{"type":"object","additionalProperties":false,"required":["id","slug","name","url","language","description","categories","images","price","currency","availability"],"properties":{"id":{"type":"string","description":"Stable published catalogue identifier."},"slug":{"type":"string"},"name":{"type":"string"},"url":{"type":"string","format":"uri","description":"Canonical localized product page."},"language":{"type":"string","enum":["nl","en","de","fr"]},"description":{"type":"string","description":"Published short description, empty if none is translated."},"categories":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["slug","name"],"properties":{"slug":{"type":"string"},"name":{"type":"string"}}}},"images":{"type":"array","items":{"type":"string","format":"uri"}},"price":{"type":["number","null"],"exclusiveMinimum":0,"description":"Listed price in EUR, or null when a quote is required."},"currency":{"type":"string","const":"EUR"},"availability":{"type":"string","enum":["in_stock","out_of_stock","on_backorder","confirm_with_workshop"],"description":"Published stock label, subject to confirmation with iQonya."}}},"Problem":{"type":"object","required":["status","code","detail","resolution"],"properties":{"type":{"type":"string","format":"uri-reference"},"title":{"type":"string"},"status":{"type":"integer"},"code":{"type":"string"},"detail":{"type":"string"},"resolution":{"type":"string"}}}}}}