{"openapi":"3.1.0","info":{"title":"Gelato Product Catalog and Prices (your key) API","version":"0.1.0","description":"Gelato Product Catalog and Prices (your key) lets an AI assistant read your own Gelato Catalog data through the Gelato Catalog API with a key you supply (Gelato API key). Read-only: 7 tools (list_catalogs, get_catalog, search_products, get_product, get_product_prices, get_cover_dimensions, get_stock_availability). The BYOK key travels with each request, is used for that one call only and is never...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-gelato-catalog.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-gelato-catalog/docs"},"termsOfService":"https://connectorbay.com/byok-gelato-catalog/terms"},"servers":[{"url":"https://byok-gelato-catalog.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-gelato-catalog/docs"},"security":[{"upstreamKey":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."},"upstreamKey":{"type":"apiKey","in":"header","name":"X-Upstream-Key","description":"Your own key for the service this connector wraps (bring your own key). Used for that one call only; never stored, logged or cached."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/list_catalogs":{"post":{"operationId":"list_catalogs","summary":"List the Gelato product catalogs (cards, posters, brochures and so on) with their uid and title. Use for \"Which product ","description":"List the Gelato product catalogs (cards, posters, brochures and so on) with their uid and title. Use for \"Which product catalogs does Gelato offer\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_catalogsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_catalog":{"post":{"operationId":"get_catalog","summary":"Get one catalog with the attributes that define its products (such as orientation or paper format) and each attribute's ","description":"Get one catalog with the attributes that define its products (such as orientation or paper format) and each attribute's possible values. Use for \"Which paper formats and orientations exist in the Gelato posters catalog\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"catalog_uid":{"description":"Catalog uid from list_catalogs, for example 'posters' or 'cards'.","maxLength":100,"title":"Catalog Uid","type":"string"}},"required":["catalog_uid"],"title":"get_catalogArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/search_products":{"post":{"operationId":"search_products","summary":"List the products of a catalog with uid, attributes, weight, dimensions and supported countries, plus attribute hit coun","description":"List the products of a catalog with uid, attributes, weight, dimensions and supported countries, plus attribute hit counts. Pages with limit (max 100) and offset; attribute filters are not exposed. Use for \"Which products are in the Gelato posters catalog\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"catalog_uid":{"description":"Catalog uid from list_catalogs, for example 'posters' or 'cards'.","maxLength":100,"title":"Catalog Uid","type":"string"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"How many products to return (1 to 100).","title":"Limit"},"offset":{"anyOf":[{"maximum":1000000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many products to skip, for paging.","title":"Offset"}},"required":["catalog_uid"],"title":"search_productsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_product":{"post":{"operationId":"get_product","summary":"Get one product by uid: attributes, weight, supported and unsupported countries, stockable and printable flags and valid","description":"Get one product by uid: attributes, weight, supported and unsupported countries, stockable and printable flags and valid page counts. Use for \"What are the specs of Gelato product cards_pf_bb_pt_110-lb-cover-uncoated_cl_4-0_hor\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"product_uid":{"description":"Gelato product uid (long identifier from search_products), for example 'cards_pf_bb_pt_110-lb-cover-uncoated_cl_4-0_hor'.","maxLength":300,"title":"Product Uid","type":"string"}},"required":["product_uid"],"title":"get_productArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_product_prices":{"post":{"operationId":"get_product_prices","summary":"List the price tiers of a product (price per quantity) for a country and currency; page count is required for multi-page","description":"List the price tiers of a product (price per quantity) for a country and currency; page count is required for multi-page products. Use for \"What does Gelato charge for 20 of product cards_pf_bb_pt_110-lb-cover-uncoated_cl_4-0_hor in the US\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"product_uid":{"description":"Gelato product uid (long identifier from search_products), for example 'cards_pf_bb_pt_110-lb-cover-uncoated_cl_4-0_hor'.","maxLength":300,"title":"Product Uid","type":"string"},"country":{"anyOf":[{"maxLength":2,"type":"string"},{"type":"null"}],"default":null,"description":"Two-letter destination country code, for example US.","title":"Country"},"currency":{"anyOf":[{"maxLength":3,"type":"string"},{"type":"null"}],"default":null,"description":"Three-letter currency code, for example USD.","title":"Currency"},"page_count":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Page count (required for multi-page products).","title":"Page Count"}},"required":["product_uid"],"title":"get_product_pricesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_cover_dimensions":{"post":{"operationId":"get_cover_dimensions","summary":"Get the cover layout dimensions (spine, joints, content and bleed areas in mm) of a photo book or multi-page product for","description":"Get the cover layout dimensions (spine, joints, content and bleed areas in mm) of a photo book or multi-page product for a page count. Use for \"What are the cover dimensions of a 34-page Gelato hardcover photo book\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"product_uid":{"description":"Gelato product uid (long identifier from search_products), for example 'cards_pf_bb_pt_110-lb-cover-uncoated_cl_4-0_hor'.","maxLength":300,"title":"Product Uid","type":"string"},"page_count":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Total page count including covers (required for multi-page products).","title":"Page Count"}},"required":["product_uid"],"title":"get_cover_dimensionsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_stock_availability":{"post":{"operationId":"get_stock_availability","summary":"Check stock status of one product in each Gelato stock region (US-CA, SA, OC, AS, UK, EU, ROW): in stock, out of stock, ","description":"Check stock status of one product in each Gelato stock region (US-CA, SA, OC, AS, UK, EU, ROW): in stock, out of stock, replenishable with a date, or non-stockable. Use for \"Is Gelato product flat_a4_pf_a4_pt_170-gsm-coated-silk_cl_4-0_hor in stock in Europe\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"product_uid":{"description":"Gelato product uid to check (from search_products).","maxLength":300,"title":"Product Uid","type":"string"}},"required":["product_uid"],"title":"get_stock_availabilityArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}