Chargebee
Chargebee API integration with managed OAuth. Manage subscriptions, customers, invoices, and hosted checkout pages. Use this skill when users want to interact with Chargebee billing data. For other th
Chargebee API integration with managed OAuth. Manage subscriptions, customers, invoices, and hosted checkout pages. Use this skill when users want to interact with Chargebee billing data. For other th
Real data. Real impact.
Emerging
Developers
Per week
Open source
Skills give you superpowers. Install in 30 seconds.
Access the Chargebee API with managed OAuth authentication. Manage subscriptions, customers, invoices, and billing workflows.
# List customers python <<'EOF' import urllib.request, os, json req = urllib.request.Request('https://gateway.maton.ai/chargebee/api/v2/customers?limit=10') req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}') print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2)) EOF
https://gateway.maton.ai/chargebee/{native-api-path}
Replace
{native-api-path} with the actual Chargebee API endpoint path. The gateway proxies requests to {subdomain}.chargebee.com (automatically replaced with your connection config) and automatically injects authentication.
All requests require the Maton API key in the Authorization header:
Authorization: Bearer $MATON_API_KEY
Environment Variable: Set your API key as
MATON_API_KEY:
export MATON_API_KEY="YOUR_API_KEY"
Manage your Chargebee connections at
https://ctrl.maton.ai.
python <<'EOF' import urllib.request, os, json req = urllib.request.Request('https://ctrl.maton.ai/connections?app=chargebee&status=ACTIVE') req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}') print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2)) EOF
python <<'EOF' import urllib.request, os, json data = json.dumps({'app': 'chargebee'}).encode() req = urllib.request.Request('https://ctrl.maton.ai/connections', data=data, method='POST') req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}') req.add_header('Content-Type', 'application/json') print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2)) EOF
python <<'EOF' import urllib.request, os, json req = urllib.request.Request('https://ctrl.maton.ai/connections/{connection_id}') req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}') print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2)) EOF
Response:
{ "connection": { "connection_id": "21fd90f9-5935-43cd-b6c8-bde9d915ca80", "status": "ACTIVE", "creation_time": "2025-12-08T07:20:53.488460Z", "last_updated_time": "2026-01-31T20:03:32.593153Z", "url": "https://connect.maton.ai/?session_token=...", "app": "chargebee", "metadata": {} } }
Open the returned
url in a browser to complete OAuth authorization.
python <<'EOF' import urllib.request, os, json req = urllib.request.Request('https://ctrl.maton.ai/connections/{connection_id}', method='DELETE') req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}') print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2)) EOF
If you have multiple Chargebee connections, specify which one to use with the
Maton-Connection header:
python <<'EOF' import urllib.request, os, json req = urllib.request.Request('https://gateway.maton.ai/chargebee/api/v2/customers') req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}') req.add_header('Maton-Connection', '21fd90f9-5935-43cd-b6c8-bde9d915ca80') print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2)) EOF
If omitted, the gateway uses the default (oldest) active connection.
GET /chargebee/api/v2/customers?limit=10
GET /chargebee/api/v2/customers/{customerId}
POST /chargebee/api/v2/customers Content-Type: application/x-www-form-urlencodedfirst_name=John&last_name=Doe&email=john@example.com
POST /chargebee/api/v2/customers/{customerId} Content-Type: application/x-www-form-urlencodedfirst_name=Jane
GET /chargebee/api/v2/subscriptions?limit=10
GET /chargebee/api/v2/subscriptions/{subscriptionId}
POST /chargebee/api/v2/subscriptions Content-Type: application/x-www-form-urlencodedplan_id=basic-plan&customer[email]=john@example.com&customer[first_name]=John
POST /chargebee/api/v2/subscriptions/{subscriptionId}/cancel Content-Type: application/x-www-form-urlencodedend_of_term=true
GET /chargebee/api/v2/item_prices?limit=10
GET /chargebee/api/v2/items?limit=10
GET /chargebee/api/v2/invoices?limit=10
POST /chargebee/api/v2/invoices/{invoiceId}/pdf
POST /chargebee/api/v2/hosted_pages/checkout_new_for_items Content-Type: application/x-www-form-urlencodedsubscription[plan_id]=basic-plan&customer[email]=john@example.com
POST /chargebee/api/v2/portal_sessions Content-Type: application/x-www-form-urlencodedcustomer[id]=cust_123
GET /chargebee/api/v2/subscriptions?status[is]=active GET /chargebee/api/v2/customers?email[is]=john@example.com GET /chargebee/api/v2/invoices?date[after]=1704067200
const response = await fetch( 'https://gateway.maton.ai/chargebee/api/v2/customers?limit=10', { headers: { 'Authorization': `Bearer ${process.env.MATON_API_KEY}` } } );
import os import requestsresponse = requests.get( 'https://gateway.maton.ai/chargebee/api/v2/customers', headers={'Authorization': f'Bearer {os.environ["MATON_API_KEY"]}'}, params={'limit': 10} )
customer[email]next_offset for paginationitem_prices and itemscurl -g when URLs contain brackets (fields[], sort[], records[]) to disable glob parsingjq or other commands, environment variables like $MATON_API_KEY may not expand correctly in some shell environments. You may get "Invalid API key" errors when piping.| Status | Meaning |
|---|---|
| 400 | Missing Chargebee connection |
| 401 | Invalid or missing Maton API key |
| 429 | Rate limited (10 req/sec per account) |
| 4xx/5xx | Passthrough error from Chargebee API |
MATON_API_KEY environment variable is set:echo $MATON_API_KEY
python <<'EOF' import urllib.request, os, json req = urllib.request.Request('https://ctrl.maton.ai/connections') req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}') print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2)) EOF
chargebee. For example:https://gateway.maton.ai/chargebee/api/v2/customershttps://gateway.maton.ai/api/v2/customersNo automatic installation available. Please visit the source repository for installation instructions.
View Installation Instructions1,500+ AI skills, agents & workflows. Install in 30 seconds. Part of the Torly.ai family.
© 2026 Torly.ai. All rights reserved.