{
  "service": "chargebee",
  "displayName": "Chargebee",
  "categories": [
    "Finance"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "CHARGEBEE_API_KEY",
      "description": "Chargebee API key used as the HTTP Basic Auth username with an empty password. Create or view keys in the Chargebee admin console: https://www.chargebee.com/docs/api_keys.html",
      "extraFields": [
        {
          "key": "site",
          "label": "Site",
          "inputType": "text",
          "required": true,
          "secret": false,
          "placeholder": "acme-test",
          "description": "Your Chargebee site name from https://{site}.chargebee.com/api/v2. You can enter either the site name or the full Chargebee site URL."
        }
      ]
    }
  ],
  "homepageUrl": "https://www.chargebee.com",
  "actions": [
    {
      "id": "chargebee.create_customer",
      "service": "chargebee",
      "name": "create_customer",
      "description": "Create a basic Chargebee customer record from JSON-friendly fields.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Customer fields forwarded to Chargebee's create customer endpoint."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "customer": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Chargebee object returned by the API."
          }
        },
        "additionalProperties": false
      }
    },
    {
      "id": "chargebee.get_customer",
      "service": "chargebee",
      "name": "get_customer",
      "description": "Retrieve one Chargebee customer by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "customerId": {
            "type": "string",
            "minLength": 1,
            "description": "A Chargebee resource identifier."
          }
        },
        "additionalProperties": false,
        "required": [
          "customerId"
        ],
        "description": "Customer lookup input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "customer": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Chargebee object returned by the API."
          }
        },
        "additionalProperties": false
      }
    },
    {
      "id": "chargebee.get_invoice",
      "service": "chargebee",
      "name": "get_invoice",
      "description": "Retrieve one Chargebee invoice by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "invoiceId": {
            "type": "string",
            "minLength": 1,
            "description": "A Chargebee resource identifier."
          }
        },
        "additionalProperties": false,
        "required": [
          "invoiceId"
        ],
        "description": "Invoice lookup input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "invoice": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Chargebee object returned by the API."
          }
        },
        "additionalProperties": false
      }
    },
    {
      "id": "chargebee.get_item_price",
      "service": "chargebee",
      "name": "get_item_price",
      "description": "Retrieve one Chargebee item price by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "itemPriceId": {
            "type": "string",
            "minLength": 1,
            "description": "A Chargebee resource identifier."
          }
        },
        "additionalProperties": false,
        "required": [
          "itemPriceId"
        ],
        "description": "Item price lookup input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "itemPrice": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Chargebee object returned by the API."
          }
        },
        "additionalProperties": false
      }
    },
    {
      "id": "chargebee.get_subscription",
      "service": "chargebee",
      "name": "get_subscription",
      "description": "Retrieve one Chargebee subscription by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "subscriptionId": {
            "type": "string",
            "minLength": 1,
            "description": "A Chargebee resource identifier."
          }
        },
        "additionalProperties": false,
        "required": [
          "subscriptionId"
        ],
        "description": "Subscription lookup input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "subscription": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Chargebee object returned by the API."
          }
        },
        "additionalProperties": false
      }
    },
    {
      "id": "chargebee.list_customers",
      "service": "chargebee",
      "name": "list_customers",
      "description": "List Chargebee customers with optional exact-match filters and pagination.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The maximum number of records Chargebee should return."
          },
          "offset": {
            "type": "string",
            "minLength": 1,
            "description": "The next_offset value returned by a previous Chargebee list call."
          },
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "A Chargebee resource identifier."
          },
          "customerId": {
            "type": "string",
            "minLength": 1,
            "description": "A Chargebee resource identifier."
          },
          "subscriptionId": {
            "type": "string",
            "minLength": 1,
            "description": "A Chargebee resource identifier."
          },
          "email": {
            "type": "string",
            "description": "Filter customers whose email exactly matches this value.",
            "format": "email"
          },
          "status": {
            "type": "string",
            "minLength": 1,
            "description": "Filter resources whose status exactly matches this value."
          },
          "itemId": {
            "type": "string",
            "minLength": 1,
            "description": "A Chargebee resource identifier."
          },
          "sortBy": {
            "type": "string",
            "minLength": 1,
            "description": "The Chargebee field to sort by."
          },
          "sortOrder": {
            "type": "string",
            "enum": [
              "asc",
              "desc"
            ],
            "description": "The sort direction."
          }
        },
        "additionalProperties": false,
        "description": "Query parameters for listing Chargebee records."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "customers": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "The raw Chargebee object returned by the API."
            },
            "description": "customers returned by Chargebee."
          },
          "nextOffset": {
            "anyOf": [
              {
                "type": "string",
                "description": "The offset token for the next page when present."
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false
      }
    },
    {
      "id": "chargebee.list_invoices",
      "service": "chargebee",
      "name": "list_invoices",
      "description": "List Chargebee invoices with optional exact-match filters and pagination.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The maximum number of records Chargebee should return."
          },
          "offset": {
            "type": "string",
            "minLength": 1,
            "description": "The next_offset value returned by a previous Chargebee list call."
          },
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "A Chargebee resource identifier."
          },
          "customerId": {
            "type": "string",
            "minLength": 1,
            "description": "A Chargebee resource identifier."
          },
          "subscriptionId": {
            "type": "string",
            "minLength": 1,
            "description": "A Chargebee resource identifier."
          },
          "email": {
            "type": "string",
            "description": "Filter customers whose email exactly matches this value.",
            "format": "email"
          },
          "status": {
            "type": "string",
            "minLength": 1,
            "description": "Filter resources whose status exactly matches this value."
          },
          "itemId": {
            "type": "string",
            "minLength": 1,
            "description": "A Chargebee resource identifier."
          },
          "sortBy": {
            "type": "string",
            "minLength": 1,
            "description": "The Chargebee field to sort by."
          },
          "sortOrder": {
            "type": "string",
            "enum": [
              "asc",
              "desc"
            ],
            "description": "The sort direction."
          }
        },
        "additionalProperties": false,
        "description": "Query parameters for listing Chargebee records."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "invoices": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "The raw Chargebee object returned by the API."
            },
            "description": "invoices returned by Chargebee."
          },
          "nextOffset": {
            "anyOf": [
              {
                "type": "string",
                "description": "The offset token for the next page when present."
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false
      }
    },
    {
      "id": "chargebee.list_item_prices",
      "service": "chargebee",
      "name": "list_item_prices",
      "description": "List Chargebee item prices with optional exact-match filters and pagination.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The maximum number of records Chargebee should return."
          },
          "offset": {
            "type": "string",
            "minLength": 1,
            "description": "The next_offset value returned by a previous Chargebee list call."
          },
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "A Chargebee resource identifier."
          },
          "customerId": {
            "type": "string",
            "minLength": 1,
            "description": "A Chargebee resource identifier."
          },
          "subscriptionId": {
            "type": "string",
            "minLength": 1,
            "description": "A Chargebee resource identifier."
          },
          "email": {
            "type": "string",
            "description": "Filter customers whose email exactly matches this value.",
            "format": "email"
          },
          "status": {
            "type": "string",
            "minLength": 1,
            "description": "Filter resources whose status exactly matches this value."
          },
          "itemId": {
            "type": "string",
            "minLength": 1,
            "description": "A Chargebee resource identifier."
          },
          "sortBy": {
            "type": "string",
            "minLength": 1,
            "description": "The Chargebee field to sort by."
          },
          "sortOrder": {
            "type": "string",
            "enum": [
              "asc",
              "desc"
            ],
            "description": "The sort direction."
          }
        },
        "additionalProperties": false,
        "description": "Query parameters for listing Chargebee records."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "itemPrices": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "The raw Chargebee object returned by the API."
            },
            "description": "itemPrices returned by Chargebee."
          },
          "nextOffset": {
            "anyOf": [
              {
                "type": "string",
                "description": "The offset token for the next page when present."
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false
      }
    },
    {
      "id": "chargebee.list_subscriptions",
      "service": "chargebee",
      "name": "list_subscriptions",
      "description": "List Chargebee subscriptions with optional exact-match filters and pagination.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The maximum number of records Chargebee should return."
          },
          "offset": {
            "type": "string",
            "minLength": 1,
            "description": "The next_offset value returned by a previous Chargebee list call."
          },
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "A Chargebee resource identifier."
          },
          "customerId": {
            "type": "string",
            "minLength": 1,
            "description": "A Chargebee resource identifier."
          },
          "subscriptionId": {
            "type": "string",
            "minLength": 1,
            "description": "A Chargebee resource identifier."
          },
          "email": {
            "type": "string",
            "description": "Filter customers whose email exactly matches this value.",
            "format": "email"
          },
          "status": {
            "type": "string",
            "minLength": 1,
            "description": "Filter resources whose status exactly matches this value."
          },
          "itemId": {
            "type": "string",
            "minLength": 1,
            "description": "A Chargebee resource identifier."
          },
          "sortBy": {
            "type": "string",
            "minLength": 1,
            "description": "The Chargebee field to sort by."
          },
          "sortOrder": {
            "type": "string",
            "enum": [
              "asc",
              "desc"
            ],
            "description": "The sort direction."
          }
        },
        "additionalProperties": false,
        "description": "Query parameters for listing Chargebee records."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "subscriptions": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "The raw Chargebee object returned by the API."
            },
            "description": "subscriptions returned by Chargebee."
          },
          "nextOffset": {
            "anyOf": [
              {
                "type": "string",
                "description": "The offset token for the next page when present."
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false
      }
    }
  ]
}
