{"openapi":"3.1.0","info":{"title":"Chargebee Entitlements (BYOK) API","version":"0.1.0","description":"Chargebee Entitlements (BYOK) lets an AI assistant read your own Chargebee Entitlements data through the Chargebee Entitlements API with a key you supply (Chargebee API key (a read-only key is enough)). Read-only: 6 tools (list_features, get_feature, list_entitlements, list_item_entitlements, list_feature_item_entitlements, list_meters). The BYOK key travels with each request, is used for that...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-chargebee-entitlements.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-chargebee-entitlements/docs"},"termsOfService":"https://connectorbay.com/byok-chargebee-entitlements/terms"},"servers":[{"url":"https://byok-chargebee-entitlements.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-chargebee-entitlements/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_features":{"post":{"operationId":"list_features","summary":"List Chargebee features (capabilities attached to plans) with type, unit, whether metered, and status. Timestamps are Un","description":"List Chargebee features (capabilities attached to plans) with type, unit, whether metered, and status. Timestamps are Unix seconds. Use for \"Which features have I defined in Chargebee\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"site":{"description":"Your Chargebee site name, the first part of your site address: 'acme' for acme.chargebee.com (use 'acme-test' for a test site). Letters, digits and hyphens only.","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Site","type":"string"},"status_is":{"anyOf":[{"enum":["draft","active","archived"],"type":"string"},{"type":"null"}],"default":null,"description":"Only features in this status.","title":"Status Is"},"type_is":{"anyOf":[{"enum":["switch","custom","quantity","range"],"type":"string"},{"type":"null"}],"default":null,"description":"Only features of this type.","title":"Type Is"},"name_starts_with":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only features whose name starts with this text.","title":"Name Starts With"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"Results per page (1 to 100).","title":"Limit"},"offset":{"anyOf":[{"maxLength":1000,"type":"string"},{"type":"null"}],"default":null,"description":"Pagination token: the 'next_offset' value of the previous answer; leave empty for the first page.","title":"Offset"}},"required":["site"],"title":"list_featuresArguments","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_feature":{"post":{"operationId":"get_feature","summary":"Get one Chargebee feature by id: name, type, unit, metered flag and status. Use for \"What kind of feature is Chargebee f","description":"Get one Chargebee feature by id: name, type, unit, metered flag and status. Use for \"What kind of feature is Chargebee feature seats\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"site":{"description":"Your Chargebee site name, the first part of your site address: 'acme' for acme.chargebee.com (use 'acme-test' for a test site). Letters, digits and hyphens only.","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Site","type":"string"},"feature_id":{"description":"Feature id.","maxLength":200,"title":"Feature Id","type":"string"}},"required":["site","feature_id"],"title":"get_featureArguments","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_entitlements":{"post":{"operationId":"list_entitlements","summary":"List the entitlements of plans or add-ons (what feature value each grants), filtered by feature or entity. Use for \"Whic","description":"List the entitlements of plans or add-ons (what feature value each grants), filtered by feature or entity. Use for \"Which plans include the seats feature\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"site":{"description":"Your Chargebee site name, the first part of your site address: 'acme' for acme.chargebee.com (use 'acme-test' for a test site). Letters, digits and hyphens only.","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Site","type":"string"},"feature_id_is":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only entitlements of this feature id.","title":"Feature Id Is"},"entity_type_is":{"anyOf":[{"enum":["plan","addon","charge","plan_price","addon_price"],"type":"string"},{"type":"null"}],"default":null,"description":"Only entitlements of this entity type.","title":"Entity Type Is"},"entity_id_is":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only entitlements of this entity id.","title":"Entity Id Is"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"Results per page (1 to 100).","title":"Limit"},"offset":{"anyOf":[{"maxLength":1000,"type":"string"},{"type":"null"}],"default":null,"description":"Pagination token: the 'next_offset' value of the previous answer; leave empty for the first page.","title":"Offset"}},"required":["site"],"title":"list_entitlementsArguments","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_entitlements":{"post":{"operationId":"list_item_entitlements","summary":"List the feature values granted by one Chargebee item (plan, addon or charge). Use for \"Which features does the item pro","description":"List the feature values granted by one Chargebee item (plan, addon or charge). Use for \"Which features does the item pro-plan include\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"site":{"description":"Your Chargebee site name, the first part of your site address: 'acme' for acme.chargebee.com (use 'acme-test' for a test site). Letters, digits and hyphens only.","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Site","type":"string"},"item_id":{"description":"Item id, for example pro-plan.","maxLength":200,"title":"Item Id","type":"string"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"Results per page (1 to 100).","title":"Limit"},"offset":{"anyOf":[{"maxLength":1000,"type":"string"},{"type":"null"}],"default":null,"description":"Pagination token: the 'next_offset' value of the previous answer; leave empty for the first page.","title":"Offset"}},"required":["site","item_id"],"title":"list_item_entitlementsArguments","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_feature_item_entitlements":{"post":{"operationId":"list_feature_item_entitlements","summary":"List the items (plans, add-ons, charges) that grant one Chargebee feature, with the value each grants. Use for \"Which it","description":"List the items (plans, add-ons, charges) that grant one Chargebee feature, with the value each grants. Use for \"Which items grant the seats feature\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"site":{"description":"Your Chargebee site name, the first part of your site address: 'acme' for acme.chargebee.com (use 'acme-test' for a test site). Letters, digits and hyphens only.","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Site","type":"string"},"feature_id":{"description":"Feature id.","maxLength":200,"title":"Feature Id","type":"string"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"Results per page (1 to 100).","title":"Limit"},"offset":{"anyOf":[{"maxLength":1000,"type":"string"},{"type":"null"}],"default":null,"description":"Pagination token: the 'next_offset' value of the previous answer; leave empty for the first page.","title":"Offset"}},"required":["site","feature_id"],"title":"list_feature_item_entitlementsArguments","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_meters":{"post":{"operationId":"list_meters","summary":"List Chargebee meters used for usage-based billing, with type, status and description. Timestamps are Unix seconds. Use ","description":"List Chargebee meters used for usage-based billing, with type, status and description. Timestamps are Unix seconds. Use for \"Which usage meters are set up in Chargebee\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"site":{"description":"Your Chargebee site name, the first part of your site address: 'acme' for acme.chargebee.com (use 'acme-test' for a test site). Letters, digits and hyphens only.","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Site","type":"string"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"Results per page (1 to 100).","title":"Limit"},"offset":{"anyOf":[{"maxLength":1000,"type":"string"},{"type":"null"}],"default":null,"description":"Pagination token: the 'next_offset' value of the previous answer; leave empty for the first page.","title":"Offset"}},"required":["site"],"title":"list_metersArguments","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}}}}