{"openapi":"3.1.0","info":{"title":"Chargebee Events and Usage (BYOK) API","version":"0.1.0","description":"Chargebee Events and Usage (BYOK) lets an AI assistant read your own Chargebee Events and Usage data through the Chargebee Events and Usage API with a key you supply (Chargebee API key (a read-only key is enough)). Read-only: 7 tools (list_events, get_event, list_webhook_endpoints, get_webhook_endpoint, list_usages, list_item_families, get_item_family). The BYOK key travels with each request, is...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-chargebee-events-usage.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-chargebee-events-usage/docs"},"termsOfService":"https://connectorbay.com/byok-chargebee-events-usage/terms"},"servers":[{"url":"https://byok-chargebee-events-usage.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-chargebee-events-usage/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_events":{"post":{"operationId":"list_events","summary":"List Chargebee events (such as subscription_created) newest first with type, source and webhook delivery status. The eve","description":"List Chargebee events (such as subscription_created) newest first with type, source and webhook delivery status. The event content (customer data) is not returned. Timestamps are Unix seconds. Use for \"Which Chargebee events happened in the last day\".","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"},"event_type_is":{"anyOf":[{"maxLength":80,"type":"string"},{"type":"null"}],"default":null,"description":"Only events of this type, for example subscription_created.","title":"Event Type Is"},"source_is":{"anyOf":[{"enum":["admin_console","api","scheduled_job","hosted_page","portal","system","none","js_api","migration","bulk_operation","external_service"],"type":"string"},{"type":"null"}],"default":null,"description":"Only events from this source.","title":"Source Is"},"occurred_after":{"anyOf":[{"maximum":4102444800,"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"Only events after this Unix timestamp (seconds).","title":"Occurred After"},"sort_by_desc":{"anyOf":[{"const":"occurred_at","type":"string"},{"type":"null"}],"default":null,"description":"Newest first by occurred_at.","title":"Sort By Desc"},"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_eventsArguments","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_event":{"post":{"operationId":"get_event","summary":"Get one Chargebee event by id: type, time, source and webhook status. The event content is not returned. Use for \"When d","description":"Get one Chargebee event by id: type, time, source and webhook status. The event content is not returned. Use for \"When did event ev_16BHxRTzsyi4i6HaR happen\".","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"},"event_id":{"description":"Event id.","maxLength":200,"title":"Event Id","type":"string"}},"required":["site","event_id"],"title":"get_eventArguments","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_webhook_endpoints":{"post":{"operationId":"list_webhook_endpoints","summary":"List Chargebee webhook endpoints with name, enabled state, API version and subscribed events. The endpoint URL is not re","description":"List Chargebee webhook endpoints with name, enabled state, API version and subscribed events. The endpoint URL is not returned. Use for \"Which Chargebee webhooks are disabled\".","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_webhook_endpointsArguments","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_webhook_endpoint":{"post":{"operationId":"get_webhook_endpoint","summary":"Get one Chargebee webhook endpoint by id: name, disabled flag, API version and subscribed events. The URL is not returne","description":"Get one Chargebee webhook endpoint by id: name, disabled flag, API version and subscribed events. The URL is not returned. Use for \"Which events does webhook endpoint whv2_1 receive\".","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"},"webhook_endpoint_id":{"description":"Webhook endpoint id.","maxLength":200,"title":"Webhook Endpoint Id","type":"string"}},"required":["site","webhook_endpoint_id"],"title":"get_webhook_endpointArguments","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_usages":{"post":{"operationId":"list_usages","summary":"List recorded usage entries for metered billing, with subscription, item price, quantity, date and source. Timestamps ar","description":"List recorded usage entries for metered billing, with subscription, item price, quantity, date and source. Timestamps are Unix seconds. Use for \"What usage was recorded for subscription sub_1 this month\".","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"},"subscription_id_is":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only usages of this subscription id.","title":"Subscription Id Is"},"item_price_id_is":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only usages of this item price id.","title":"Item Price Id Is"},"invoice_id_is":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only usages billed on this invoice id.","title":"Invoice Id Is"},"usage_date_after":{"anyOf":[{"maximum":4102444800,"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"Only usages after this Unix timestamp (seconds).","title":"Usage Date After"},"sort_by_desc":{"anyOf":[{"enum":["usage_date","updated_at"],"type":"string"},{"type":"null"}],"default":null,"description":"Newest first by this timestamp.","title":"Sort By Desc"},"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_usagesArguments","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_families":{"post":{"operationId":"list_item_families","summary":"List Chargebee item families (groups of plans, add-ons and charges) with name, status and update time. Timestamps are Un","description":"List Chargebee item families (groups of plans, add-ons and charges) with name, status and update time. Timestamps are Unix seconds. Use for \"Which product families do I have 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"},"name_starts_with":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only families 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_item_familiesArguments","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_item_family":{"post":{"operationId":"get_item_family","summary":"Get one Chargebee item family by id: name, description and status. Use for \"What is item family saas\".","description":"Get one Chargebee item family by id: name, description and status. Use for \"What is item family saas\".","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_family_id":{"description":"Item family id.","maxLength":200,"title":"Item Family Id","type":"string"}},"required":["site","item_family_id"],"title":"get_item_familyArguments","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}}}}