{"openapi":"3.1.0","info":{"title":"Cloudbeds Property Setup (BYOK) API","version":"0.1.0","description":"Cloudbeds Property Setup (BYOK) lets an AI assistant read your own Cloudbeds Property Setup data through the Cloudbeds Property Setup API with a key you supply (Cloudbeds API key). Read-only: 8 tools (get_taxes_and_fees, list_items, list_item_categories, get_payment_methods, get_currency_settings, list_custom_fields, list_package_names, list_allotment_blocks). The BYOK key travels with each...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-cloudbeds-property-config.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-cloudbeds-property-config/docs"},"termsOfService":"https://connectorbay.com/byok-cloudbeds-property-config/terms"},"servers":[{"url":"https://byok-cloudbeds-property-config.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-cloudbeds-property-config/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/get_taxes_and_fees":{"post":{"operationId":"get_taxes_and_fees","summary":"List the taxes and fees set for the property with name, kind, amount type (percentage or fixed), inclusive or exclusive,","description":"List the taxes and fees set for the property with name, kind, amount type (percentage or fixed), inclusive or exclusive, room types and validity dates. Use for \"What taxes and fees does my Cloudbeds property charge\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"property_id":{"anyOf":[{"maxLength":20,"type":"string"},{"type":"null"}],"default":null,"description":"Cloudbeds property ID. Leave empty to use the property the key belongs to.","title":"Property Id"},"include_deleted":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"True to include deleted taxes and fees.","title":"Include Deleted"},"include_expired":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"True to include expired taxes and fees.","title":"Include Expired"},"available_for":{"anyOf":[{"enum":["product","rate","fee","tax","custom_item","payment"],"type":"string"},{"type":"null"}],"default":null,"description":"Only entries that apply to: product, rate, fee, tax, custom_item or payment.","title":"Available For"}},"title":"get_taxes_and_feesArguments","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/list_items":{"post":{"operationId":"list_items","summary":"List front-desk items and services with SKU, category, price, taxes, fees, stock tracking and reorder status. Use for \"W","description":"List front-desk items and services with SKU, category, price, taxes, fees, stock tracking and reorder status. Use for \"What items can be sold at the Cloudbeds front desk\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"property_id":{"anyOf":[{"maxLength":20,"type":"string"},{"type":"null"}],"default":null,"description":"Cloudbeds property ID. Leave empty to use the property the key belongs to.","title":"Property Id"},"item_category_id":{"anyOf":[{"maxLength":20,"type":"string"},{"type":"null"}],"default":null,"description":"Only items of this category ID (from list_item_categories).","title":"Item Category Id"}},"title":"list_itemsArguments","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/list_item_categories":{"post":{"operationId":"list_item_categories","summary":"List the categories used to group front-desk items, with code and colour. Use for \"What item categories does my Cloudbed","description":"List the categories used to group front-desk items, with code and colour. Use for \"What item categories does my Cloudbeds property use\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"property_id":{"anyOf":[{"maxLength":20,"type":"string"},{"type":"null"}],"default":null,"description":"Cloudbeds property ID. Leave empty to use the property the key belongs to.","title":"Property Id"}},"title":"list_item_categoriesArguments","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_payment_methods":{"post":{"operationId":"get_payment_methods","summary":"List the active payment methods of the property (cash, card types and so on) and the payment gateway name and currency. ","description":"List the active payment methods of the property (cash, card types and so on) and the payment gateway name and currency. Use for \"Which payment methods does my Cloudbeds property accept\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"property_id":{"anyOf":[{"maxLength":20,"type":"string"},{"type":"null"}],"default":null,"description":"Cloudbeds property ID. Leave empty to use the property the key belongs to.","title":"Property Id"},"lang":{"anyOf":[{"enum":["en","pt-br","es"],"type":"string"},{"type":"null"}],"default":"en","description":"Language of method names: en, pt-br or es.","title":"Lang"}},"title":"get_payment_methodsArguments","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_currency_settings":{"post":{"operationId":"get_currency_settings","summary":"Get the property's default currency, accepted currencies, number format and fixed exchange rates. Use for \"Which currenc","description":"Get the property's default currency, accepted currencies, number format and fixed exchange rates. Use for \"Which currencies does my Cloudbeds property accept\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"property_id":{"anyOf":[{"maxLength":20,"type":"string"},{"type":"null"}],"default":null,"description":"Cloudbeds property ID. Leave empty to use the property the key belongs to.","title":"Property Id"}},"title":"get_currency_settingsArguments","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/list_custom_fields":{"post":{"operationId":"list_custom_fields","summary":"List custom fields defined on reservations or guests with name, shortcode, type, whether required and where they are sho","description":"List custom fields defined on reservations or guests with name, shortcode, type, whether required and where they are shown. Use for \"What custom booking fields does my Cloudbeds property have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"property_id":{"anyOf":[{"maxLength":20,"type":"string"},{"type":"null"}],"default":null,"description":"Cloudbeds property ID. Leave empty to use the property the key belongs to.","title":"Property Id"},"shortcode":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"Only the custom field with this shortcode.","title":"Shortcode"}},"title":"list_custom_fieldsArguments","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/list_package_names":{"post":{"operationId":"list_package_names","summary":"List the billing package names configured for the property. Use for \"What billing packages does my Cloudbeds property of","description":"List the billing package names configured for the property. Use for \"What billing packages does my Cloudbeds property offer\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"property_id":{"anyOf":[{"maxLength":20,"type":"string"},{"type":"null"}],"default":null,"description":"Cloudbeds property ID. Leave empty to use the property the key belongs to.","title":"Property Id"}},"title":"list_package_namesArguments","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/list_allotment_blocks":{"post":{"operationId":"list_allotment_blocks","summary":"List group allotment blocks with code, name, status, rooms held, picked up and remaining, and release settings. Use for ","description":"List group allotment blocks with code, name, status, rooms held, picked up and remaining, and release settings. Use for \"What group room blocks are open in my Cloudbeds property\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"property_id":{"anyOf":[{"maxLength":20,"type":"string"},{"type":"null"}],"default":null,"description":"Cloudbeds property ID; empty means all authorized properties.","title":"Property Id"},"status":{"anyOf":[{"enum":["definite","tentative","lead","cancelled"],"type":"string"},{"type":"null"}],"default":null,"description":"Block status: definite, tentative, lead or cancelled.","title":"Status"},"start_date":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Lower limit of the block date range, YYYY-MM-DD.","title":"Start Date"},"end_date":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Upper limit of the block date range, YYYY-MM-DD.","title":"End Date"},"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"Blocks per page (1 to 100).","title":"Page Size"},"page_number":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page Number"}},"title":"list_allotment_blocksArguments","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}}}}