# Maxio

Subscription billing and revenue management platform (formerly Chargify)

- **Category:** commerce
- **Auth:** API_KEY
- **Composio Managed App Available?** N/A
- **Tools:** 177
- **Triggers:** 0
- **Slug:** `MAXIO`
- **Version:** 00000000_00

## Tools

### Allocate Component

**Slug:** `MAXIO_ALLOCATE_COMPONENT`

Creates an allocation for a component on a subscription. Use when you need to allocate quantities of a metered, quantity-based, or on/off component to a subscription. This action is commonly used to: - Add a new component to a subscription (initial allocation) - Upgrade or downgrade the quantity of an existing component - Reactivate a previously cancelled component - Record usage for metered components Note: For metered components, allocating a quantity records usage. For on/off components, use quantity=1 to turn it on or quantity=0 to turn it off.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `memo` | string | No | An optional memo or note describing the allocation |
| `quantity` | integer | Yes | The quantity of the component to allocate. Must be a non-negative integer. For on/off components, use quantity=1 to turn it on or quantity=0 to turn it off. |
| `accrual_date` | string | No | The date on which to begin charging for the allocation. Only applicable for components with 'immediate' billing timing. Format: YYYY-MM-DD. |
| `component_id` | integer | Yes | The component ID to allocate. This is the numeric ID of the component. |
| `proration_date` | string | No | The date on which to calculate prorated component costs. If not provided, defaults to the current date/time. Format: YYYY-MM-DD or ISO 8601 datetime. |
| `allocation_type` | string ("initial" | "upgrade" | "downgrade" | "cancellation" | "reactivation") | No | The type of allocation action. Use 'initial' for new allocations, 'upgrade' or 'downgrade' for quantity changes, 'cancellation' when ending the component, or 'reactivation' when resuming. |
| `subscription_id` | integer | Yes | The subscription ID to allocate the component on. This is the numeric ID of the subscription. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Apply Coupons to Subscription

**Slug:** `MAXIO_APPLY_COUPONS_TO_SUBSCRIPTION`

Applies one or more coupons to a subscription. Use when you need to apply promotional discounts or coupon codes to an existing subscription. The coupon must be valid and not expired for the operation to succeed.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `code` | string | Yes | The coupon code to apply to the subscription |
| `subscription_id` | integer | Yes | The ID of the subscription to apply the coupon to |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Archive Component

**Slug:** `MAXIO_ARCHIVE_COMPONENT`

Archives a component to prevent new allocations. Use this action when you need to stop allowing new component allocations while keeping existing allocations active. This action is irreversible — once archived, the component cannot be used for new subscriptions, but existing subscriptions with the component will continue to work.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `component_id` | string | Yes | Either the Chargify id of the component or the handle for the component prefixed with `handle:` |
| `product_family_id` | integer | Yes | The Chargify id of the product family to which the component belongs |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Archive Component Price Point

**Slug:** `MAXIO_ARCHIVE_COMPONENT_PRICE_POINT`

Archives a component price point, making it inactive. Use when you need to deactivate a price point that is no longer needed but should not be permanently deleted. Archived price points are no longer available for new subscriptions but remain accessible for historical reference. This action is irreversible — once archived, a price point cannot be directly unarchived to its original state (use the unarchive action instead).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `component_id` | integer | Yes | The Chargify id of the component to which the price point belongs |
| `price_point_id` | integer | Yes | The Chargify id of the price point to archive |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Archive Coupon

**Slug:** `MAXIO_ARCHIVE_COUPON`

Archives a coupon to prevent new uses. Use this action when you need to deactivate a coupon while preserving its redemption history. This action is irreversible — once archived, the coupon cannot be used for new subscriptions, but existing redemptions remain valid.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `coupon_id` | integer | Yes | The Chargify id of the coupon to archive |
| `product_family_id` | integer | Yes | The Chargify id of the product family to which the coupon belongs |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Archive Offer

**Slug:** `MAXIO_ARCHIVE_OFFER`

Archives an offer to prevent new subscriptions from using it. Use this action when you need to deactivate an offer while preserving existing subscriptions. This action is irreversible — once archived, the offer cannot be used for new subscriptions, but existing subscriptions using this offer will continue to function normally.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `offer_id` | integer | Yes | The Chargify id of the offer to archive |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Archive Product

**Slug:** `MAXIO_ARCHIVE_PRODUCT`

Archives a product to prevent new subscriptions from being created. Use this action when you need to stop accepting new subscriptions for a product while keeping existing subscriptions active. This action is irreversible - once archived, the product cannot be unarchived.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `product_id` | integer | Yes | The Chargify id of the product to archive |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Archive product price point

**Slug:** `MAXIO_ARCHIVE_PRODUCT_PRICE_POINT`

Archives a product price point by its ID. Use when you need to deactivate and archive a price point that is no longer needed. Archived price points cannot be used for new subscriptions but existing subscriptions will continue to use them. This action is irreversible once completed.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `product_id` | string | Yes | The id or handle of the product. When using the handle, it must be prefixed with `handle:` |
| `price_point_id` | string | Yes | The id or handle of the price point. When using the handle, it must be prefixed with `handle:` |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Cancel Delayed Cancellation

**Slug:** `MAXIO_CANCEL_DELAYED_CANCELLATION`

Cancels a scheduled cancellation on a subscription. Use when a user wants to undo a previously scheduled cancellation before it takes effect. This action is reversible only before the scheduled cancellation time passes.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `subscription_id` | integer | Yes | The ID of the subscription for which to cancel the delayed cancellation |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Clone Component Price Point

**Slug:** `MAXIO_CLONE_COMPONENT_PRICE_POINT`

Clones an existing component price point to create a new one. Use this action when you need to duplicate a price point with all its pricing configuration, optionally providing a new name for the cloned version. The cloned price point will inherit all pricing settings from the source price point including the pricing scheme, prices, and currency configuration.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | Name for the cloned price point. If not provided, the API will generate a default name. |
| `component_id` | integer | Yes | The ID of the component that owns the price point to clone. |
| `price_point_id` | integer | Yes | The ID of the price point to clone. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Bulk Create Product Price Points

**Slug:** `MAXIO_CREATE_BULK_PRODUCT_PRICE_POINTS`

Creates multiple product price points in a single API call. Use when you need to set up several pricing options for a product at once, such as creating tiered pricing plans (e.g., Basic, Standard, Premium) with different prices, intervals, and trial periods. This is more efficient than creating price points individually. The price_points array accepts price point objects with fields like name, price_in_cents, interval_unit, interval_length, trial configuration, and initial fees.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `product_id` | string | Yes | The ID or handle of the product to create price points for. When using handle, prefix with 'handle:'. |
| `price_points` | array | Yes | Array of price point objects to create. Each price point must have a unique name within the product. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Component

**Slug:** `MAXIO_CREATE_COMPONENT`

Creates a new component within a product family in Chargify. Use when you need to add billing components like metered usage, quantity-based pricing, on/off toggles, prepaid usage, or event-based components to a product family. Supports five component types: metered_components (usage-based with unit pricing), quantity_based_components (per-unit pricing), on_off_components (binary add-ons), prepaid_usage_components (credit-based), and event_based_components (event-triggered billing).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `component_kind` | string ("metered_components" | "quantity_based_components" | "on_off_components" | "prepaid_usage_components" | "event_based_components") | Yes | The component kind. Use the plural form: metered_components, quantity_based_components, on_off_components, prepaid_usage_components, or event_based_components. |
| `on_off_component` | object | No | On/off component configuration. |
| `metered_component` | object | No | Metered component configuration. |
| `product_family_id` | integer | Yes | The Chargify id of the product family to which the component belongs. |
| `event_based_component` | object | No | Event-based component configuration. |
| `prepaid_usage_component` | object | No | Prepaid usage component configuration. |
| `quantity_based_component` | object | No | Quantity-based component configuration. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Component Price Point

**Slug:** `MAXIO_CREATE_COMPONENT_PRICE_POINT`

Creates a price point for a component in Maxio Advanced Billing. Use this action when you need to define a new pricing configuration (such as per-unit, tiered, volume, or stair-step pricing) for a component. This action is irreversible — once created, a price point cannot be deleted via API; it can only be archived.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `price_point` | object | Yes | The price point object containing the pricing configuration. Must include name and pricing_scheme at minimum. The prices array is required for all pricing schemes. |
| `component_id` | integer | Yes | The ID of the component for which to create the price point. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Coupon Subcodes

**Slug:** `MAXIO_CREATE_COUPON_SUBCODES`

Creates multiple subcodes for an existing coupon in Maxio Advanced Billing. Use when you need to add additional coupon codes for tracking, segmentation, or allowing multiple uses of a coupon. Subcodes are tied to the parent coupon and inherit the coupon's discount rules. Note: Subcodes must be unique across the entire site - they cannot duplicate codes used by other coupons.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `codes` | array | Yes | Array of subcode strings to create for the coupon. Each code must be unique and not already exist on the coupon. Maximum of 1000 codes per request. |
| `coupon_id` | integer | Yes | The Chargify ID of the coupon to add subcodes to |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Customer

**Slug:** `MAXIO_CREATE_CUSTOMER`

Creates a new customer in Maxio/Chargify with the required fields: first_name, last_name, and email. Use this action when you need to add a new customer to your billing system. Optional fields like organization, reference, phone, and address can be included to provide additional customer information.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | Yes | Customer's email address |
| `phone` | string | No | Customer's phone number |
| `locale` | string | No | Customer's preferred locale (e.g., en-US, fr-FR) |
| `address` | object | No | Address information for the customer. |
| `cc_emails` | string | No | Comma-separated list of additional email addresses to CC on billing notifications |
| `last_name` | string | Yes | Customer's last name |
| `reference` | string | No | Unique external identifier for the customer (e.g., from your internal system) |
| `first_name` | string | Yes | Customer's first name |
| `organization` | string | No | Organization or company name |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Webhook Endpoint

**Slug:** `MAXIO_CREATE_ENDPOINT`

Creates a new webhook endpoint in Maxio Advanced Billing. Use when you need to register a new webhook endpoint to receive event notifications.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `url` | string | Yes | The URL that will receive webhook event notifications. Must be a valid HTTPS URL accessible from the internet. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Invoice

**Slug:** `MAXIO_CREATE_INVOICE`

Creates a one-time invoice for a subscription with custom line items. Use when you need to bill a customer for a one-time charge or custom amount that is not part of their regular subscription. The invoice can include multiple line items with titles, descriptions, quantities, and prices.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `line_items` | array | Yes | List of line items to include on the invoice. |
| `subscription_id` | string | Yes | The ID of the subscription to create the invoice for. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Metadata

**Slug:** `MAXIO_CREATE_METADATA`

Creates metadata values for a resource in Maxio/Chargify Advanced Billing. Use this action when you need to attach custom key-value metadata to customers, subscriptions, or sites to store additional information. Note: If metadata with the same name already exists for the resource, this action will update the existing value.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `metadata` | array | Yes | List of metadata key-value pairs to create. Each item requires a 'name' field and an optional 'value' field. To remove a metadata field, set the value to null. |
| `resource_id` | integer | Yes | The unique identifier of the resource to attach metadata to |
| `resource_type` | string ("customers" | "subscriptions" | "sites") | Yes | The type of resource to attach metadata to. Common types include: customers, subscriptions, sites. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Metafields

**Slug:** `MAXIO_CREATE_METAFIELDS`

Creates metafield definitions for a resource type. Use this action when you need to define custom fields that can be attached to resources like customers, subscriptions, or products. After creating a metafield definition, you can set values for that field on individual resources. The resource_type determines which entity type the metafield applies to. Valid values are: customers, subscriptions, products, or product_families. Use this action when setting up custom data structures for your billing data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `metafields` | array | Yes | Array of metafield definitions to create. Each defines a custom field with its name, data type, and options. |
| `resource_type` | string | Yes | The type of resource to create metafields for. Valid values: customers, subscriptions, products, or product_families. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create or Update Coupon Currency Prices

**Slug:** `MAXIO_CREATE_OR_UPDATE_COUPON_CURRENCY_PRICES`

Tool to create or update currency prices for a coupon in Maxio. Use when you need to set or modify the pricing of a coupon across different currencies. This action is idempotent - calling it will replace all existing currency prices for the coupon with the new values provided.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `coupon_id` | integer | Yes | The Advanced Billing id of the coupon |
| `currency_prices` | array | Yes | Array of currency price objects to set for the coupon |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Payment Profile

**Slug:** `MAXIO_CREATE_PAYMENT_PROFILE`

Creates a new payment profile for a customer in Maxio (Chargify). Use when you need to add a new credit card or payment method to a customer's account. The payment profile stores card details securely and returns a vault token for future use.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cvv` | string | No | Card Verification Value (CVV/CVC) - the 3 or 4 digit security code on the back of the card. |
| `company` | string | No | Company name associated with the payment profile. |
| `last_name` | string | Yes | Last name of the cardholder as it appears on the credit card. |
| `first_name` | string | Yes | First name of the cardholder as it appears on the credit card. |
| `billing_zip` | string | No | ZIP or postal code for the billing address. |
| `card_number` | string | Yes | Credit card number (full 16-digit card number). The card number will be tokenized by the payment gateway. |
| `customer_id` | integer | Yes | The unique identifier of the customer to associate with this payment profile. Must be a valid customer ID. |
| `vault_token` | string | No | Token representing a payment method already stored in the payment vault (e.g., from a previous transaction). If provided, other card details may not be needed. |
| `billing_city` | string | No | City for the billing address. |
| `billing_state` | string | No | State or province for the billing address. |
| `current_vault` | string | No | The vault where the card data is already stored. Examples: 'stripe', 'braintree', 'authorizenet'. |
| `payment_token` | string | No | A tokenized payment method token from a payment gateway. |
| `charge_account` | boolean | No | Whether to run a $0 authorization to validate the card. Defaults to true if not specified. |
| `billing_address` | string | No | Street address for the billing address. |
| `billing_country` | string | No | Country code (2-letter ISO code) for the billing address. |
| `expiration_year` | integer | Yes | Expiration year of the credit card (4-digit year). |
| `expiration_month` | integer | Yes | Expiration month of the credit card (1-12). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Prepaid Usage Component

**Slug:** `MAXIO_CREATE_PREPAID_USAGE_COMPONENT`

Creates a prepaid usage component for pre-purchased units. Use when you need to create a component that allows customers to prepay for usage-based charges such as SMS credits, API calls, or storage units. The component supports various pricing schemes (per_unit, volume, tiered, stairstep) and optional overage pricing for charges when usage exceeds prepaid amounts. Note: This action creates the component within a product family. Ensure the product_family_id is valid and corresponds to an existing product family in your Chargify/Maxio account.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | The name of the prepaid usage component |
| `handle` | string | No | A unique identifier for the component within the product family (used for API references). If not provided, will be auto-generated from the name. |
| `prices` | array | Yes | Array of price tiers. For 'per_unit', include one entry with starting_quantity=1. For 'volume' or 'tiered', include multiple tiers with different starting quantities. |
| `tax_code` | string | No | The tax code for the component (used for tax calculations) |
| `unit_name` | string | Yes | The name of the unit for this component (e.g., 'credits', 'calls', 'GB') |
| `description` | string | No | A description of what this prepaid usage component represents |
| `pricing_scheme` | string ("per_unit" | "volume" | "tiered" | "stairstep") | Yes | The pricing scheme for the component. Must be 'per_unit', 'volume', 'tiered', or 'stairstep'. |
| `upgrade_charge` | string | No | Upgrade charge option when upgrading mid-period: 'prorated' (default), 'full', or 'immediate' |
| `accounting_code` | string | No | An accounting code for the component (used for invoicing and reporting) |
| `overage_pricing` | object | No | Pricing configuration for usage that exceeds prepaid amounts. |
| `downgrade_credit` | string | No | Credit option when downgrading mid-period: 'prorated' (default), 'full', or 'none' |
| `revenue_schedule` | string | No | Revenue recognition schedule for the component |
| `product_family_id` | integer | Yes | The ID of the product family to create the component under |
| `use_site_exchange_rate` | boolean | No | Whether to use the site's exchange rate for multi-currency pricing. Defaults to true. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Prepayment

**Slug:** `MAXIO_CREATE_PREPAYMENT`

Creates a prepayment for a subscription. Prepayments allow customers to add funds to their account in advance, which are then applied to future invoices. Use this action when a customer wants to prepay for services, make an advance payment, or add funds to their account balance.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `memo` | string | Yes | A description or note for the prepayment that will appear on the invoice |
| `amount` | string | Yes | The amount of the prepayment as a decimal string (e.g., '10.00'). This represents the total amount to be charged. |
| `method` | string ("credit_card" | "ach" | "paypal" | "wire_transfer" | "check") | Yes | The payment method to use for the prepayment. Must be one of: credit_card, ach, paypal, wire_transfer, or check. |
| `details` | string | No | Additional details or notes about the prepayment. These details will be recorded but not shown on the invoice. |
| `subscription_id` | integer | Yes | The Chargify subscription ID for which to create the prepayment |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Product

**Slug:** `MAXIO_CREATE_PRODUCT`

Tool to create a new product within a product family in Maxio. Use when you need to add a new subscription product to an existing product family for billing purposes. This action is useful for setting up subscription billing products with various pricing configurations including trial periods, initial charges, and billing intervals.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | The product name. This is required and must be unique within the product family. |
| `active` | boolean | No | Whether the product is active and available for subscription. Inactive products cannot be subscribed to. |
| `handle` | string | No | A unique identifier for the product. If not provided, a handle will be auto-generated from the name. Must be unique across the site. |
| `interval` | integer | Yes | The number of interval units between each billing date. For example, interval=1 with interval_unit='month' means monthly billing. |
| `tax_code` | string | No | A tax code for the product to be used in tax calculations. Used by Avalara and other tax integrations. |
| `description` | string | No | A detailed description of the product. This value is used for SEO and display purposes. |
| `interval_unit` | string ("day" | "month" | "year" | "week") | Yes | The unit of time for the billing interval. Valid values: 'day', 'month', 'year', 'week'. |
| `price_in_cents` | integer | Yes | The price in cents. Must be a positive integer representing the amount to charge per billing interval. |
| `trial_interval` | integer | No | The number of trial intervals before regular billing begins. Should be used with trial_interval_unit. |
| `accounting_code` | string | No | An accounting code for the product to be used in financial reporting and integrations. |
| `product_family_id` | integer | Yes | The unique identifier of the product family to which the product will belong. |
| `expiration_interval` | integer | No | The number of intervals after which the subscription expires. If not provided, the subscription continues indefinitely. |
| `request_credit_card` | boolean | No | Whether to request credit card information at checkout. Useful for forcing card collection even when the product has no upfront cost. |
| `require_credit_card` | boolean | No | Whether a credit card is required to start the subscription. Defaults to false if not specified. |
| `trial_interval_unit` | string ("day" | "month" | "year" | "week") | No | Unit of time for the billing interval. |
| `trial_price_in_cents` | integer | No | The trial price in cents. If provided, the customer will be charged this amount during the trial period instead of the regular price. |
| `initial_charge_in_cents` | integer | No | A one-time upfront charge in cents that occurs at subscription creation. Useful for activation fees. |
| `expiration_interval_unit` | string ("day" | "month" | "year" | "week") | No | Unit of time for the billing interval. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Product Family

**Slug:** `MAXIO_CREATE_PRODUCT_FAMILY`

Creates a new product family in Maxio/Chargify. Product families are top-level containers used to organize products and related components. Use this action when you need to create a new product category or family grouping to organize your subscription products.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | The name of the product family. This field is required. |
| `handle` | string | No | A unique identifier used to reference the product family in the API. Must be unique across all product families in the site. If not provided, will be auto-generated from the name. |
| `description` | string | No | A text description of the product family |
| `accounting_code` | string | No | A code used with your accounting system to track revenue |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Product Price Point

**Slug:** `MAXIO_CREATE_PRODUCT_PRICE_POINT`

Creates a price point for a product in Maxio Advanced Billing. Use this action when you need to define a new pricing configuration (such as monthly, annual, or trial pricing) for a product. Price points determine the billing amount, interval, and optional trial periods for subscriptions. The price point must include a name and can optionally include pricing scheme, interval settings, trial configuration, and initial fees.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `product_id` | string | Yes | The ID or handle of the product to create a price point for. When using handle, prefix with 'handle:'. |
| `price_point` | object | Yes | The price point object containing the pricing configuration. Must include name at minimum. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Proforma Invoice

**Slug:** `MAXIO_CREATE_PROFORMA_INVOICE`

Creates a proforma invoice for a subscription. A proforma invoice is a preliminary invoice that shows the expected charges before a final invoice is generated. Use when you need to preview or share expected billing amounts with a customer before finalizing the invoice. Note: This action creates a proforma invoice with an empty body. The response contains the complete proforma invoice details including line items, amounts, and due dates.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `subscription_id` | integer | Yes | The ID of the subscription for which to create a proforma invoice |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Quantity Based Component

**Slug:** `MAXIO_CREATE_QUANTITY_BASED_COMPONENT`

Creates a quantity-based component for recurring units within a product family. Use when you need to add billing components that charge per unit based on quantity, such as user licenses, team seats, or device slots. Quantity-based components allow customers to purchase a variable number of units (e.g., 5 user licenses) with per-unit pricing that can be tiered.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `product_family_id` | integer | Yes | The Chargify id of the product family to which the component belongs. |
| `quantity_based_component` | object | Yes | Configuration for the quantity-based component. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Reason Code

**Slug:** `MAXIO_CREATE_REASON_CODE`

Creates a new churn reason code in Maxio/Chargify Advanced Billing. Use this action when you need to define a new reason code to categorize why customers cancel or churn from your subscription service. Reason codes are used for reporting and analytics on churn, allowing you to track and understand why customers are leaving.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `code` | string | Yes | A unique identifier code for the reason code. This is the value that will be used when reporting churn reasons. |
| `position` | integer | No | The order position of the reason code in lists. Must be a positive integer. |
| `description` | string | No | A human-readable description explaining the reason code |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Signup Proforma Invoice

**Slug:** `MAXIO_CREATE_SIGNUP_PROFORMA_INVOICE`

Creates a proforma invoice for signup preview. A proforma invoice shows the expected charges for a new subscription before it is actually created. Use this action when you need to preview billing amounts for a potential new customer or to share expected costs before finalizing a subscription signup. This action requires a product_id and customer_attributes (first_name, last_name, and email are required). The response contains the complete proforma invoice details including line items, amounts, and due dates.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `product_id` | integer | Yes | The ID of the product/pricing plan to subscribe to |
| `customer_attributes` | object | Yes | Customer information for the signup preview |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Subscription

**Slug:** `MAXIO_CREATE_SUBSCRIPTION`

Creates a new subscription in Maxio (Chargify) with specified product, customer, and payment details. Use this action when you need to create a new subscription for an existing or new customer. At minimum, either product_handle or product_id is required. Either customer_id or customer attributes (first_name, last_name, email) are required. Payment can be provided via payment_profile_id or direct card entry (card_number, expiration_month, expiration_year).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cvv` | string | No | Card Verification Value (CVV/CVC) |
| `group_by` | string | No | Comma-separated list of fields to group the subscription with others |
| `last_name` | string | No | Last name on the credit card |
| `net_terms` | integer | No | Number of days until the subscription invoice is due (0 = immediate) |
| `po_number` | string | No | Purchase order number for the subscription |
| `trial_end` | string | No | Date/time to end the trial period (ISO 8601 format, e.g., '2024-12-01T00:00:00Z') |
| `components` | array | No | Component allocation settings as list of component configurations |
| `first_name` | string | No | First name on the credit card |
| `product_id` | integer | No | The ID of the product (required if product_handle not provided) |
| `billing_zip` | string | No | Billing ZIP or postal code |
| `card_number` | string | No | Full credit card number (will be tokenized) |
| `customer_id` | integer | No | The ID of an existing customer to associate with this subscription (required if not providing customer attributes) |
| `vault_token` | string | No | Token from a payment vault for an already stored payment method |
| `billing_city` | string | No | Billing city |
| `coupon_codes` | array | No | List of coupon codes to apply to the subscription |
| `billing_state` | string | No | Billing state or province |
| `current_vault` | string | No | The vault where the card is stored (e.g., 'stripe', 'braintree', 'authorizenet') |
| `custom_fields` | array | No | Custom field values as list of name/value objects |
| `payment_token` | string | No | A tokenized payment method from a payment gateway (e.g., 'tok_visa') |
| `referral_code` | string | No | Referral code to apply to the subscription |
| `customer_email` | string | No | Customer's email address (use when creating customer inline) |
| `customer_phone` | string | No | Customer's phone number |
| `product_handle` | string | No | The handle of the product (required if product_id not provided) |
| `billing_address` | string | No | Billing street address |
| `billing_country` | string | No | Billing country code (2-letter ISO code) |
| `expiration_year` | integer | No | Expiration year of the credit card (4-digit year) |
| `expiration_month` | integer | No | Expiration month of the credit card (1-12) |
| `customer_last_name` | string | No | Customer's last name (use when creating customer inline) |
| `customer_reference` | string | No | External reference for customer |
| `payment_profile_id` | integer | No | The ID of an existing payment profile to use for billing |
| `customer_first_name` | string | No | Customer's first name (use when creating customer inline) |
| `customer_organization` | string | No | Customer's organization (use when creating customer inline) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Subscription Group With Signup

**Slug:** `MAXIO_CREATE_SUBSCRIPTION_GROUP_WITH_SIGNUP`

Creates a subscription group with subscriptions and a shared payer in a single operation. Use this action when you need to create a subscription group that includes multiple subscriptions and a single payer who is responsible for all payments. This is ideal for family plans, corporate accounts, or bundled product offerings where billing should be consolidated under one customer. The action requires a payer (customer who pays) and at least one subscription. Each subscription can have its own product and customer information, but payment is handled by the shared payer.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `payer_id` | integer | No | ID of an existing customer to use as the payer. If provided, payer_attributes can be omitted or will be ignored. |
| `subscriptions` | array | Yes | List of subscriptions to create in the group. At least one subscription is required. |
| `payer_attributes` | object | No | Customer attributes for subscription creation. |
| `payment_profile_id` | integer | No | ID of an existing payment profile belonging to the payer. Required for subscription group signup. |
| `payment_collection_charge` | string | No | When to charge the payment method for the group. One of: 'at_signup', 'at_review', 'immediately', 'end_of_period'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Subscription Note

**Slug:** `MAXIO_CREATE_SUBSCRIPTION_NOTE`

Creates a note on a subscription in Maxio/Chargify Advanced Billing. Use this action when you need to add a note or comment to a subscription, such as tracking customer communication, recording support interactions, or documenting billing-related information.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | string | Yes | The content/body of the note to be created |
| `created_at` | string | No | Timestamp for when the note was created (UTC, format: YYYY-MM-DDTHH:MM:SSZ). If not provided, current time will be used. |
| `subscription_id` | integer | Yes | The Chargify subscription ID to attach the note to |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Usage

**Slug:** `MAXIO_CREATE_USAGE`

Records usage for a metered component on a subscription. Use this action when you need to track and bill for usage-based consumption such as API calls, storage GB, emails sent, or any other metered usage. This action creates a usage record that will appear on the customer's invoice. The quantity can be a decimal value for proration purposes. Usage records are useful for: - Tracking overage charges beyond included quantities - Recording metered usage in real-time - Billing for consumption-based services

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `memo` | string | No | A memo describing the usage. This will appear on the invoice line item. |
| `quantity` | number | Yes | The quantity of usage to record. Can be a decimal value for proration. |
| `recorded_at` | string | No | The time the usage was recorded, in ISO 8601 format (e.g., '2024-01-15T10:30:00Z'). Defaults to the current time if not specified. |
| `component_id` | integer | Yes | The numeric ID of the metered component to record usage against. |
| `subscription_id` | integer | Yes | The numeric ID of the subscription to record usage for. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Deactivate Event Based Component

**Slug:** `MAXIO_DEACTIVATE_EVENT_BASED_COMPONENT`

Deactivates an event-based component on a subscription. Use when you need to disable event-based billing on a subscription, such as pausing usage tracking or stopping billing for a specific component. This action is commonly used to: - Pause event-based billing temporarily - Stop collecting events for a specific component - Deactivate a component before removing it from a subscription The endpoint requires both the subscription ID and component ID as path parameters. This action is reversible — the component can be reactivated using the corresponding activate action.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `component_id` | integer | Yes | The Chargify id of the component |
| `subscription_id` | integer | Yes | The Chargify id of the subscription |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Deduct Service Credit

**Slug:** `MAXIO_DEDUCT_SERVICE_CREDIT`

Deducts from a subscription's service credit balance. Use this action when you need to reduce or correct a customer's service credit balance, such as for refunds, billing corrections, or adjusting for erroneous credits. Note: The amount will be deducted from the subscription's available service credit balance. Ensure the subscription has sufficient credit before deducting.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `memo` | string | No | An optional description or note for the service credit deduction. This will appear in the transaction history. |
| `amount` | string | Yes | The amount to deduct from the subscription's service credit balance as a decimal string (e.g., '10.00'). Must be a positive value. |
| `subscription_id` | integer | Yes | The Chargify subscription ID from which to deduct the service credit |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Coupon Subcode

**Slug:** `MAXIO_DELETE_COUPON_SUBCODE`

Deletes a specific subcode from an existing coupon in Maxio Advanced Billing. Use this action when you need to remove a single subcode from a coupon. This action is irreversible — the subcode will be permanently deleted and cannot be recovered once removed.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `subcode` | string | Yes | The subcode string to delete from the coupon |
| `coupon_id` | integer | Yes | The Chargify id of the coupon to which the subcode belongs |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Customer

**Slug:** `MAXIO_DELETE_CUSTOMER`

Deletes a customer from Maxio/Chargify. Use this action when you need to permanently remove a customer record. This action is irreversible — once deleted, the customer cannot be recovered. Note: A customer can only be deleted if they have no associated subscriptions. Attempting to delete a customer with active subscriptions will result in an error.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `customer_id` | integer | Yes | The Chargify id of the customer to delete |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Prepaid Usage Allocation

**Slug:** `MAXIO_DELETE_PREPAID_USAGE_ALLOCATION`

Deletes a prepaid usage allocation from a subscription component. Use this action when you need to remove a specific prepaid allocation that was previously created. This action is irreversible — once deleted, the allocation cannot be recovered. This action is commonly used to: - Remove incorrect or duplicate allocations - Clean up allocations that are no longer needed - Adjust prepaid usage when customers request refunds Note: Deleting an allocation will not automatically adjust billing. You may need to issue a credit or adjust subsequent invoices separately.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `component_id` | integer | Yes | The Chargify id of the component. This is the numeric ID of the component. |
| `allocation_id` | integer | Yes | The Chargify id of the allocation. This is the numeric ID of the allocation to delete. |
| `subscription_id` | integer | Yes | The Chargify id of the subscription. This is the numeric ID of the subscription. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Reason Code

**Slug:** `MAXIO_DELETE_REASON_CODE`

Deletes a churn reason code from Maxio/Chargify Advanced Billing. Use this action when you need to permanently remove a reason code from your account. This action is irreversible — once deleted, the reason code cannot be recovered, and any associated reporting data will be affected. Note: This endpoint returns a 404 error if the reason code does not exist.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `reason_code_id` | integer | Yes | The Chargify id of the reason code to delete |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Subscription Group

**Slug:** `MAXIO_DELETE_SUBSCRIPTION_GROUP`

Deletes a subscription group and all its associated data. Use this action when you need to permanently remove a subscription group from the system. This action is irreversible — once deleted, the subscription group and all its subscriptions cannot be recovered.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `uid` | string | Yes | The unique identifier (uid) of the subscription group to delete. This is the uid from the subscription group object, not the numeric id. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Subscription Note

**Slug:** `MAXIO_DELETE_SUBSCRIPTION_NOTE`

Deletes a specific note from a subscription in Maxio Advanced Billing. Use this action when you need to remove a single note from a subscription. This action is irreversible — the note will be permanently deleted and cannot be recovered once removed.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `note_id` | integer | Yes | The Chargify id of the note to delete |
| `subscription_id` | integer | Yes | The Chargify id of the subscription |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Subscription Payment Profile

**Slug:** `MAXIO_DELETE_SUBSCRIPTION_PAYMENT_PROFILE`

Removes a payment profile from a subscription in Maxio Advanced Billing. Use when you need to unlink a credit card or payment method from a subscription, for example, when cleaning up obsolete payment profiles or replacing them with new ones. This action is irreversible — once the payment profile is removed from the subscription, it cannot be recovered through this endpoint.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `subscription_id` | integer | Yes | The Chargify id of the subscription to which the payment profile belongs |
| `payment_profile_id` | integer | Yes | The Chargify id of the payment profile to remove from the subscription |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Unused Payment Profile

**Slug:** `MAXIO_DELETE_UNUSED_PAYMENT_PROFILE`

Permanently deletes an unused payment profile from Maxio/Chargify. Use when you need to remove a payment profile that is no longer associated with any active subscriptions or payment references. This action is irreversible — once deleted, the payment profile cannot be recovered. Note: Only unused payment profiles can be deleted. Attempting to delete a profile that is currently in use (e.g., associated with an active subscription) will result in an error (422 Unprocessable Entity).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `payment_profile_id` | integer | Yes | The Chargify id of the payment profile to delete. Only unused payment profiles can be deleted. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Deliver Proforma Invoice

**Slug:** `MAXIO_DELIVER_PROFORMA_INVOICE`

Delivers a proforma invoice to the customer via email. Use when you need to email a proforma invoice to the customer. By default, the invoice will be sent to the customer on the subscription. Optionally, you can specify custom recipient email addresses to override the defaults. This action sends the proforma invoice immediately and does not wait for payment or create any billing records.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `recipient_emails` | array | No | Optional list of email addresses to send the proforma invoice to. If not provided, the default recipient(s) from the invoice will be used. |
| `cc_recipient_emails` | array | No | Optional list of email addresses to CC on the proforma invoice delivery |
| `bcc_recipient_emails` | array | No | Optional list of email addresses to BCC on the proforma invoice delivery |
| `proforma_invoice_uid` | string | Yes | The unique identifier of the proforma invoice to deliver |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Enable Webhooks

**Slug:** `MAXIO_ENABLE_WEBHOOKS`

Enables or disables webhooks for the Maxio/Chargify site. Use this action when you need to turn webhook notifications on or off. This can be useful during maintenance windows, troubleshooting, or when temporarily pausing webhook deliveries. Note: This action is idempotent — calling it with the same enabled value will not produce any side effects beyond the initial state change.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `enabled` | boolean | Yes | When set to true, webhooks will be enabled and events will be sent to registered endpoints. When set to false, webhooks will be disabled. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Export Invoices

**Slug:** `MAXIO_EXPORT_INVOICES`

Initiates an invoices export job. Use when you need to start an asynchronous export of invoice data from Maxio/Chargify. The export runs as a background job and returns a batch job object that can be used to track the export status and retrieve the exported data. The export job creates a batch that can be queried using the returned batch ID. Check the batch job status by polling until 'completed' is 'true'.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Export Proforma Invoices

**Slug:** `MAXIO_EXPORT_PROFORMA_INVOICES`

Initiates an asynchronous export of proforma invoices data. Use when you need to export a large set of proforma invoices for analysis, reporting, or backup purposes. The export job runs in the background and returns immediately with a batch job ID. Note: This is a batch export endpoint that creates an async job. The response indicates the job was created (status 201) but does not contain the actual exported data. Poll the batch job status or use a separate download endpoint to retrieve the exported data once the job completes.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Export Subscriptions

**Slug:** `MAXIO_EXPORT_SUBSCRIPTIONS`

Initiates an asynchronous export of subscription data from Maxio/Chargify. Use this action when you need to export bulk subscription data for analysis, backup, or integration with external systems. The export runs asynchronously and returns a download URL when complete. Note: Export processing may take several minutes for large datasets.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for pagination when export is paginated |
| `status` | string | No | Filter by subscription status. One of: active, canceled, trial, paused, expired, pending |
| `end_date` | string | No | Filter subscriptions modified on or before this date (YYYY-MM-DD format) |
| `per_page` | integer | No | Number of records per page (1-200, default 25) |
| `date_field` | string | No | The subscription date field to filter by. One of: created_at, updated_at, activated_at, canceled_at |
| `start_date` | string | No | Filter subscriptions modified on or after this date (YYYY-MM-DD format) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get MRR

**Slug:** `MAXIO_GET_MRR`

Returns monthly recurring revenue data for the site. Use this action when you need to retrieve the current MRR (Monthly Recurring Revenue) for your Chargify site, including plan and usage breakouts. This is useful for financial reporting, revenue tracking, and understanding overall subscription revenue metrics. Supports retrieving historical MRR data using the at_time parameter. Note: This is a read-only operation that does not modify any data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `at_time` | string | No | Submit a timestamp in ISO8601 format to request MRR for a historic time. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Initiate Delayed Cancellation

**Slug:** `MAXIO_INITIATE_DELAYED_CANCELLATION`

Schedules a subscription for cancellation at the end of its current billing period. Use when a customer requests to cancel their subscription but you want to allow them to continue using the service until the end of the current billing period. This action is reversible — the scheduled cancellation can be cancelled before it takes effect using the Cancel Delayed Cancellation action. Once the scheduled cancellation time passes, the subscription will be cancelled and cannot be automatically reactivated.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `subscription_id` | integer | Yes | The numeric ID of the subscription to schedule for cancellation at end of period |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Issue Advance Invoice

**Slug:** `MAXIO_ISSUE_ADVANCE_INVOICE`

Issues an advance invoice for a subscription. An advance invoice allows billing for upcoming charges in advance of the normal billing cycle. Use this action when you need to immediately bill a customer for expected charges before the regular billing date arrives. Note: This action requires a valid subscription_id. The response contains the complete advance invoice details including line items, amounts, and due dates.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `subscription_id` | integer | Yes | The ID of the subscription for which to issue an advance invoice |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Issue Invoice

**Slug:** `MAXIO_ISSUE_INVOICE`

Issues a draft invoice for payment collection. Once issued, the invoice transitions from 'draft' to 'open' state and is ready to collect payment. Use when you need to finalize a draft invoice and initiate the payment process. After issuing, the customer can pay the invoice using the payment URL provided in the response. This action is irreversible - once issued, the invoice cannot be returned to draft state. Note: You can optionally capture prepayments automatically or force issue despite validation warnings.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `force` | boolean | No | When set to true, the invoice will be issued even if there are validation warnings. Use with caution. Defaults to false. |
| `invoice_uid` | string | Yes | The unique identifier of the invoice to issue |
| `capture_prepayments` | boolean | No | When set to true, any available prepayments on the subscription will be automatically applied to the invoice at issue time. Defaults to false. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Issue Service Credit

**Slug:** `MAXIO_ISSUE_SERVICE_CREDIT`

Issues a service credit to a subscription. Service credits are amounts that are added to a subscription's service credit balance and can be applied toward future invoices. Use this action when you need to compensate a customer, apply promotional credits, or add funds to a subscription's service credit balance. The credit will increase the subscription's available service credit balance.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `memo` | string | No | An optional description or note for the service credit. This will appear in the transaction history. |
| `amount` | string | Yes | The amount to credit to the subscription's service credit balance as a decimal string (e.g., '10.00'). Must be a positive value. |
| `subscription_id` | integer | Yes | The Chargify subscription ID to which to issue the service credit |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List All Component Price Points

**Slug:** `MAXIO_LIST_ALL_COMPONENT_PRICE_POINTS`

Lists all component price points across the site. Use this action when you need to retrieve all price points for billing components, with optional filtering by type, date range, or archived status. Supports pagination via the page and per_page parameters, with a default page size of 25 and maximum of 200. Price points can be filtered by type (catalog, custom, default), date created/updated, specific IDs, or archived status.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | The page number of results to fetch. By default, the first page of results is displayed. Use this parameter to navigate through pages of results. |
| `include` | string | No | Include additional data in the response. For example, 'currency_prices' to include currency-specific pricing. |
| `per_page` | integer | No | The number of records to fetch per request. Default is 20, maximum is 200. Values over 200 will be changed to 200. |
| `direction` | string ("asc" | "desc") | No | Direction for sorting results. |
| `filter_ids` | string | No | Filter price points by specific IDs. Provide as comma-separated values (e.g., '1,2,3'). |
| `filter_type` | string ("catalog" | "custom" | "default") | No | Type of component price point. |
| `filter_end_date` | string | No | Filter price points with timestamp up to and including this date. Format: YYYY-MM-DD. Uses site's time zone. |
| `filter_date_field` | string ("created_at" | "updated_at") | No | Date field to filter on. |
| `filter_start_date` | string | No | Filter price points with timestamp on or after this date. Format: YYYY-MM-DD. Uses site's time zone. |
| `filter_archived_at` | string ("null" | "not_null") | No | Filter for archived price points. |
| `filter_end_datetime` | string | No | Filter price points with timestamp up to and including this datetime. Format: YYYY-MM-DD HH:MM:SS. Can include timezone. |
| `filter_start_datetime` | string | No | Filter price points with timestamp on or after this datetime. Format: YYYY-MM-DD HH:MM:SS. Can include timezone. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Allocations

**Slug:** `MAXIO_LIST_ALLOCATIONS`

Lists all allocations for a component on a subscription. Use this action when you need to retrieve the allocation history for a specific component attached to a subscription. This is useful for auditing usage, tracking upgrades/downgrades, or understanding the current state of a component. The response includes details such as quantity allocated, allocation type, timestamps, and remaining unit balance for each allocation record.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for pagination (default 1). |
| `per_page` | integer | No | Number of allocations to return per page (1-200, default 25). |
| `component_id` | integer | Yes | The numeric ID of the component to list allocations for. |
| `subscription_id` | integer | Yes | The numeric ID of the subscription to list allocations for. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List All Product Price Points

**Slug:** `MAXIO_LIST_ALL_PRODUCT_PRICE_POINTS`

Lists all product price points across the site in Maxio Advanced Billing. Use when you need to retrieve all pricing configurations for products, including their billing intervals, trial periods, and initial fees. Supports pagination, sorting, date filtering, and filtering by archived status or product. This action is read-only and returns a paginated list of price points that can be filtered by date ranges, archived status, or specific product.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | The page number to retrieve. Defaults to 1. |
| `sort` | string | No | The field to sort results by. Valid values include 'created_at', 'updated_at', 'name', or 'id'. |
| `end_date` | string | No | Filter records to include only those with a date (specified by date_field) on or before this date. Format: YYYY-MM-DD or ISO 8601. |
| `per_page` | integer | No | The number of records to return per page. Defaults to 25. Maximum is 200. |
| `direction` | string | No | The sort direction for results. Valid values are 'asc' for ascending or 'desc' for descending. |
| `date_field` | string | No | The date field to use for filtering when start_date or end_date is provided. Valid values are 'created_at' or 'updated_at'. |
| `start_date` | string | No | Filter records to include only those with a date (specified by date_field) on or after this date. Format: YYYY-MM-DD or ISO 8601. |
| `filter_archived` | boolean | No | Filter results to include only archived (true), non-archived (false), or all (null) price points. |
| `filter_product_id` | string | No | Filter results to only include price points belonging to a specific product. Accepts product ID or handle prefixed with 'handle:'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Chargify.js Public Keys

**Slug:** `MAXIO_LIST_CHARGIFY_JS_PUBLIC_KEYS`

Lists all public keys for Chargify.js integration in Maxio Advanced Billing. Use when you need to retrieve available public keys for Chargify.js to securely tokenize payment information on the client side. This is a read-only operation that does not modify any data.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Component Price Points

**Slug:** `MAXIO_LIST_COMPONENT_PRICE_POINTS`

Lists all price points for a component in Maxio Advanced Billing. Use this action when you need to retrieve all available pricing configurations (such as per-unit, tiered, volume, or stair-step pricing) defined for a component. This is helpful for exploring available price points before creating subscriptions, or for auditing pricing configurations across components.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for pagination. Defaults to 1 if not specified. |
| `per_page` | integer | No | Number of price points to return per page (1-200). Defaults to 25. |
| `component_id` | integer | Yes | The ID of the component for which to list price points. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Components

**Slug:** `MAXIO_LIST_COMPONENTS`

Returns a list of all components across product families in Chargify. Use this action when you need to retrieve all billing components (metered, quantity-based, on/off, prepaid usage, or event-based) from your Chargify site. Supports pagination and filtering by date, IDs, handles, and archival state. This is a read-only operation that does not modify any data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | The page number to retrieve for pagination. |
| `per_page` | integer | No | The number of records to return per page (1-200, default 25). |
| `direction` | string ("asc" | "desc") | No | Sort direction for listing results. |
| `filter_ids` | array | No | Filter by component IDs. |
| `filter_handle` | string | No | Filter by component handle (exact match). |
| `filter_handles` | array | No | Filter by multiple component handles. |
| `filter_end_date` | string | No | Filter components created/updated on or before this date (YYYY-MM-DD format). |
| `filter_date_field` | string | No | The date field to filter by. One of: created_at, updated_at. |
| `filter_start_date` | string | No | Filter components created/updated on or after this date (YYYY-MM-DD format). |
| `filter_archival_state` | string | No | Filter by archival state. One of: not_archived, archived, both. |
| `filter_product_family_id` | integer | No | Filter by product family ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Components for Product Family

**Slug:** `MAXIO_LIST_COMPONENTS_FOR_PRODUCT_FAMILY`

Lists all components within a product family in Maxio/Chargify. Use when you need to retrieve all billing components (metered, quantity-based, on/off, prepaid usage, or event-based) associated with a specific product family. Supports pagination with optional page and per_page parameters to handle large numbers of components efficiently.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | The page number for pagination (1-indexed). |
| `per_page` | integer | No | Number of records to return per page (1-200, default 25). |
| `product_family_id` | integer | Yes | The Chargify id of the product family whose components to list. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Consolidated Invoice Segments

**Slug:** `MAXIO_LIST_CONSOLIDATED_INVOICE_SEGMENTS`

Lists segments of a consolidated invoice. A consolidated invoice combines charges from multiple subscriptions or components into a single invoice. Use when you need to retrieve the individual segments that make up a consolidated invoice, such as to see the breakdown of charges by subscription, component, or product. This is useful for analyzing billing details when customers have multiple subscriptions or services consolidated into one invoice. Note: Not all invoices are consolidated. Only invoices that combine charges from multiple sources will have segments. A regular invoice may have an empty or single-element segments array.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `invoice_uid` | string | Yes | The unique identifier of the consolidated invoice |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Coupons for Product Family

**Slug:** `MAXIO_LIST_COUPONS_FOR_PRODUCT_FAMILY`

Lists all coupons within a product family. Use when you need to retrieve all available coupons for a specific product family, such as for displaying coupon options to customers or auditing coupon usage within a product family.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `product_family_id` | integer | Yes | The Chargify id of the product family whose coupons to list |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Coupon Subcodes

**Slug:** `MAXIO_LIST_COUPON_SUBCODES`

Lists all subcodes for an existing coupon in Maxio Advanced Billing. Use when you need to retrieve the subcodes associated with a coupon for verification, reporting, or administrative purposes. This is a read-only operation that does not modify any data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `coupon_id` | integer | Yes | The Chargify ID of the coupon whose subcodes should be listed |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Credit Notes

**Slug:** `MAXIO_LIST_CREDIT_NOTES`

Returns a list of credit notes from Maxio/Chargify. Use this action when you need to retrieve credit notes for a subscription or across your entire site. Credit notes represent credits issued to customers that can be applied to future invoices or refunded. This action supports filtering by subscription, date range, status, and credit note number. Results are paginated using page and per_page parameters. By default, 25 records are returned per page. Note: Credit notes can be in 'open' (available to apply), 'closed' (fully applied), or 'voided' status.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | The page number to retrieve. Pages start at 1. Use together with per_page for pagination. |
| `status` | string ("open" | "closed" | "voided") | No | Filter credit notes by their status. 'open' returns credit notes available for application, 'closed' returns applied credit notes, 'voided' returns voided credit notes. |
| `end_date` | string | No | Filter credit notes created on or before this date. Format: YYYY-MM-DD |
| `per_page` | integer | No | The number of records per page. Defaults to 25 if not specified. Maximum value is 200. |
| `date_field` | string ("created_at" | "credit_note_date") | No | The field to use for date filtering. Use 'created_at' to filter by when the credit note was created, or 'credit_note_date' to filter by the credit note date. |
| `start_date` | string | No | Filter credit notes created on or after this date. Format: YYYY-MM-DD |
| `end_datetime` | string | No | Filter credit notes created at or before this datetime. Format: ISO 8601 datetime (e.g., '2024-12-31T23:59:59Z') |
| `start_datetime` | string | No | Filter credit notes created at or after this datetime. Format: ISO 8601 datetime (e.g., '2024-01-01T00:00:00Z') |
| `subscription_id` | integer | No | Filter credit notes to a specific subscription ID. The subscription must belong to the authenticated site. |
| `credit_note_number` | string | No | Search for a specific credit note by its credit note number. Exact match or partial match depending on API behavior. |
| `include_credit_note_components` | boolean | No | Include credit note components in the response. When true, returns line item details for each credit note. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Customers

**Slug:** `MAXIO_LIST_CUSTOMERS`

Returns a list of customers with optional filtering and pagination. Use this action when you need to retrieve customers from your Chargify/Maxio billing system. Supports pagination and filtering by date range, IDs, state, organization, reference, and zip code. This is a read-only operation that does not modify any data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | The page number to retrieve for pagination. |
| `per_page` | integer | No | The number of records to return per page (1-200, default 25). |
| `direction` | string ("asc" | "desc") | No | Sort direction for listing results. |
| `filter_ids` | array | No | Filter by customer IDs. |
| `filter_zip` | string | No | Filter by postal/zip code. |
| `filter_state` | string | No | Filter by customer state. One of: active, canceled. |
| `filter_end_date` | string | No | Filter customers created/updated on or before this date (YYYY-MM-DD format). |
| `filter_reference` | string | No | Filter by customer reference (exact match). |
| `filter_date_field` | string | No | The date field to filter by. One of: created_at, updated_at. |
| `filter_start_date` | string | No | Filter customers created/updated on or after this date (YYYY-MM-DD format). |
| `filter_organization` | string | No | Filter by organization name (exact match or partial match depending on API behavior). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Customer Subscriptions

**Slug:** `MAXIO_LIST_CUSTOMER_SUBSCRIPTIONS`

Lists all subscriptions for a specific customer in Maxio Advanced Billing. Use this action when you need to retrieve all subscriptions associated with a customer, such as for displaying subscription history, auditing purposes, or administrative management. This is a read-only operation that does not modify any data. Results can be filtered by subscription state and paginated using the page and per_page parameters.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | The page number to retrieve (default: 1) |
| `state` | string ("active" | "canceled" | "trialing" | "paused" | "past_due" | "trial_ended" | "completed" | "suspended" | "expired" | "failed" | "pending" | "any") | No | Filter by subscription state |
| `include` | string | No | Comma-separated list of related resources to include (e.g., 'customer,product') |
| `per_page` | integer | No | The number of results per page (default: 25, max: 200) |
| `customer_id` | integer | Yes | The Chargify customer ID whose subscriptions to list |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Webhook Endpoints

**Slug:** `MAXIO_LIST_ENDPOINTS`

Returns a list of webhook endpoints configured in Maxio Advanced Billing. Use when you need to retrieve all registered webhook endpoints to check their current configuration, monitor which endpoints are active, or verify endpoint IDs. Supports pagination with optional page and per_page parameters to handle large numbers of endpoints efficiently.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | The page number for pagination (1-indexed). |
| `per_page` | integer | No | Number of records to return per page (1-200, default 25). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Events

**Slug:** `MAXIO_LIST_EVENTS`

Returns a list of events for the site in Maxio Advanced Billing. Use this action when you need to retrieve events for audit purposes, monitoring activity, tracking subscription changes, or analyzing payment events. Supports filtering by date range (since/until), event type, and custom filters. Results are paginated using page and per_page parameters for efficient data retrieval.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | The page number for pagination (1-indexed). |
| `since` | string | No | Filter events created on or after this datetime (ISO 8601 format, e.g., '2024-01-01T00:00:00Z'). |
| `until` | string | No | Filter events created on or before this datetime (ISO 8601 format, e.g., '2024-12-31T23:59:59Z'). |
| `filter` | string | No | A filter key to narrow down results. Format depends on the filter type (e.g., 'subscription_id=12345'). |
| `per_page` | integer | No | Number of records to return per page (1-200, default 25). |
| `event_type` | string | No | Filter by event type. Common event types include: subscription_created, subscription_updated, subscription_canceled, subscription_activated, subscription_paused, payment_success, payment_failed, invoice_created, invoice_paid, etc. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Exported Invoices

**Slug:** `MAXIO_LIST_EXPORTED_INVOICES`

Retrieves a list of exported invoices for a specific invoice export batch. Use this action when you need to fetch the rows (invoice data) from a previously initiated invoice export. The batch_id should be obtained from the export initiation response or from the list of invoice exports. This action supports pagination through the page and per_page parameters. Note: The response is a list of invoice objects containing all invoice details including line items, payments, credits, taxes, and custom fields.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for pagination. Use this to navigate through pages of results. If there are no results, an empty result set will be returned. |
| `batch_id` | string | Yes | The unique identifier of the invoice export batch. This is the ID returned when initiating an invoice export. |
| `per_page` | integer | No | Number of records to fetch per page. Default is 100. Maximum allowed value is 10000; any value over 10000 will be changed to 10000. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Exported Proforma Invoices

**Slug:** `MAXIO_LIST_EXPORTED_PROFORMA_INVOICES`

Lists exported proforma invoice rows from a previously initiated export batch. Use when you need to retrieve the actual data from a proforma invoices export, such as for analysis, reporting, or importing into another system. Note: The batch_id parameter should be the ID returned when the export was initiated using the Export Proforma Invoices action.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number of results to fetch. Use for pagination when results span multiple pages. |
| `batch_id` | string | Yes | The unique identifier of the export batch job (returned when initiating the export) |
| `per_page` | integer | No | Number of records to fetch per page. Default is 100. Maximum allowed value is 10000. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Exported Subscriptions

**Slug:** `MAXIO_LIST_EXPORTED_SUBSCRIPTIONS`

Lists exported subscriptions from a subscription export batch in Maxio/Chargify. Use this action when you need to retrieve the results of a previously initiated subscription export. The batch_id should be obtained from the export job response. Supports pagination via the page and per_page parameters. Note: This action requires a completed export batch. The batch must have been created using the Export Subscriptions action first.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for pagination. If there are no results, an empty result set will be returned. |
| `batch_id` | string | Yes | The batch ID from the export job. This is the subscription_id returned when creating an export. |
| `per_page` | integer | No | Number of records to fetch per page. Default is 100. Maximum is 10000. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Invoice Events

**Slug:** `MAXIO_LIST_INVOICE_EVENTS`

Lists all invoice events from Maxio/Chargify with optional filtering. Use this action when you need to retrieve invoice event history, such as tracking invoice status changes (created, paid, voided), monitoring payment activity, or auditing billing events for a specific time period. This action supports date range filtering via start_date and end_date parameters. Results are paginated with a default of 25 events per page.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for pagination. Use this to navigate through pages of results. |
| `end_date` | string | No | Filter events occurring on or before this date. Format: YYYY-MM-DD |
| `per_page` | integer | No | Number of records to fetch per page. Default is 25. Maximum allowed value is 200. |
| `start_date` | string | No | Filter events occurring on or after this date. Format: YYYY-MM-DD |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Invoices

**Slug:** `MAXIO_LIST_INVOICES`

Returns a list of invoices with optional filtering and pagination. Use this action when you need to retrieve invoices from Maxio/Chargify, such as for displaying invoice history, generating reports, or processing refunds. Supports filtering by status, date range, customer, subscription, and product. This is a read-only operation that does not modify any data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | The page number to retrieve for pagination (1-indexed). |
| `per_page` | integer | No | The number of records to return per page (1-200, default 25). |
| `direction` | string ("asc" | "desc") | No | Sort direction for listing results. |
| `filter_id` | integer | No | Filter by invoice ID (exact match). |
| `filter_status` | string ("draft" | "pending" | "open" | "paid" | "voided" | "canceled" | "all") | No | Filter by invoice status. Use 'all' to include all statuses. |
| `filter_end_date` | string | No | Filter by end date (YYYY-MM-DD format, inclusive). |
| `filter_date_field` | string | No | The date field to filter by. One of: issue_date, due_date, created_at, updated_at. |
| `filter_product_id` | integer | No | Filter by product ID. |
| `filter_start_date` | string | No | Filter by start date (YYYY-MM-DD format, inclusive). |
| `filter_customer_id` | integer | No | Filter by customer ID. |
| `filter_subscription_id` | integer | No | Filter by subscription ID. |
| `filter_product_family_id` | integer | No | Filter by product family ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Metadata for Resource Type

**Slug:** `MAXIO_LIST_METADATA_FOR_RESOURCE_TYPE`

Lists all metadata definitions for a resource type in Maxio/Chargify Advanced Billing. Use this action when you need to retrieve all custom metadata field definitions available for a specific resource type (customers, subscriptions, or sites). This is useful for discovering what metadata fields exist before reading or updating their values on specific resources. Note: This endpoint lists the metadata field definitions, not the actual values stored on individual resources. To get values for a specific resource, use the Read Metadata action with the resource_id.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for pagination (default 1). |
| `per_page` | integer | No | Number of metadata items to return per page (1-200, default 25). |
| `resource_type` | string ("customers" | "subscriptions" | "sites") | Yes | The type of resource to list metadata for. Valid values: customers, subscriptions, sites. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Metafields

**Slug:** `MAXIO_LIST_METAFIELDS`

Lists all metafield definitions for a resource type in Maxio/Chargify Advanced Billing. Use this action when you need to retrieve all custom field (metafield) definitions configured for a specific resource type such as customers, subscriptions, products, or product families. This helps you understand what custom data fields are available for data entry or reporting purposes. This is a read-only operation that does not modify any data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | The page number to retrieve for pagination. |
| `per_page` | integer | No | The number of records to return per page (1-200, default 25). |
| `resource_type` | string ("customers" | "subscriptions" | "products" | "product_families") | Yes | The type of resource to list metafields for. Valid values: customers, subscriptions, products, product_families. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List MRR Movements

**Slug:** `MAXIO_LIST_MRR_MOVEMENTS`

Returns MRR movement history showing changes in Monthly Recurring Revenue. Use this action when you need to retrieve the history of MRR changes for your Chargify site, such as for financial reporting, churn analysis, revenue tracking, or understanding subscription lifecycle metrics. This action supports date range filtering, pagination, sorting, and filtering by subscription, customer, or movement type.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | The page number to retrieve for pagination. |
| `end_date` | string | No | Filter movements occurring on or before this date (YYYY-MM-DD format). |
| `per_page` | integer | No | The number of records to return per page (1-200, default 25). |
| `direction` | string ("asc" | "desc") | No | Sort direction for listing results. |
| `start_date` | string | No | Filter movements occurring on or after this date (YYYY-MM-DD format). |
| `filter_date_field` | string | No | The date field to filter by. One of: created_at, effective_date. |
| `filter_customer_id` | integer | No | Filter by customer ID. |
| `filter_movement_type` | string ("new" | "activation" | "reactivation" | "expansion" | "contraction" | "cancellation" | "churn" | "downgrade" | "upgrade" | "refund" | "adjustment") | No | Types of MRR movements. |
| `filter_subscription_id` | integer | No | Filter by subscription ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List MRR Per Subscription

**Slug:** `MAXIO_LIST_MRR_PER_SUBSCRIPTION`

Returns MRR broken down by subscription. Use this action when you need to retrieve MRR (Monthly Recurring Revenue) data for your Chargify site, including plan and usage breakouts split per subscription. This is useful for revenue analysis, reporting, and understanding subscription-level revenue metrics. Supports filtering by subscription IDs, retrieving historical MRR data using the at_time parameter, pagination, and sorting direction. Note: This is a read-only operation that does not modify any data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Result records are organized in pages. By default, the first page of results is displayed. |
| `at_time` | string | No | Submit a timestamp in ISO8601 format to request MRR for a historic time. |
| `per_page` | integer | No | This parameter indicates how many records to fetch in each request (1-200, default 25). |
| `direction` | string ("asc" | "desc") | No | Sort direction for listing results. |
| `filter_subscription_ids` | array | No | Submit subscription IDs in order to limit results. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Offers

**Slug:** `MAXIO_LIST_OFFERS`

Returns a list of all offers in Chargify. Use this action when you need to retrieve all offers from your Chargify site for reporting, analysis, or administrative purposes. Supports pagination and filtering by date, IDs, handles, product ID, subscription ID, offer type, and archival state. This is a read-only operation that does not modify any data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | The page number to retrieve for pagination. |
| `per_page` | integer | No | The number of records to return per page (1-200, default 25). |
| `direction` | string ("asc" | "desc") | No | Sort direction for listing results. |
| `filter_ids` | array | No | Filter by offer IDs. |
| `filter_handle` | string | No | Filter by offer handle (exact match). |
| `filter_end_date` | string | No | Filter offers created/updated on or before this date (YYYY-MM-DD format). |
| `filter_date_field` | string | No | The date field to filter by. One of: created_at, updated_at. |
| `filter_offer_type` | string | No | Filter by offer type. |
| `filter_product_id` | integer | No | Filter by product ID. |
| `filter_start_date` | string | No | Filter offers created/updated on or after this date (YYYY-MM-DD format). |
| `filter_archival_state` | string ("not_archived" | "archived" | "both") | No | Filter for archival state of offers. |
| `filter_subscription_id` | integer | No | Filter by subscription ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Payment Profiles

**Slug:** `MAXIO_LIST_PAYMENT_PROFILES`

Returns a list of payment profiles in Maxio Advanced Billing. Use this action when you need to retrieve all payment profiles (credit cards, bank accounts, or other payment methods) for verification, reporting, or administrative purposes. Results can be filtered by customer ID, vault type, and can be paginated for large result sets. This is a read-only operation that does not modify any data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | The page number to retrieve for pagination (default: 1). |
| `include` | string | No | Comma-separated list of related resources to include (e.g., 'customer'). |
| `per_page` | integer | No | The number of records to return per page (1-200, default 25). |
| `direction` | string ("asc" | "desc") | No | Sort direction for listing results. |
| `customer_id` | integer | No | Filter payment profiles by customer ID. When provided, only profiles for this customer are returned. |
| `filter_vault_token` | string | No | Filter by vault token to find profiles stored in an external vault. |
| `filter_current_vault` | string | No | Filter by the current vault where card data is stored. Examples: 'stripe', 'braintree', 'authorizenet'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Prepayments

**Slug:** `MAXIO_LIST_PREPAYMENTS`

Lists all prepayments for a subscription in Maxio Advanced Billing. Use this action when you need to retrieve all prepayments associated with a subscription, including their amounts, payment methods, remaining balances, and application status. This is useful for auditing prepayment history, tracking advance payments, or checking available prepayment balances. This is a read-only operation that does not modify any data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for pagination (default 1). |
| `per_page` | integer | No | Number of prepayments to return per page (1-200, default 25). |
| `subscription_id` | integer | Yes | The Chargify subscription ID for which to list prepayments. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Product Families

**Slug:** `MAXIO_LIST_PRODUCT_FAMILIES`

Returns a list of all product families in Maxio/Chargify. Use this action when you need to retrieve product families from your Chargify/Maxio billing system. Product families are top-level containers used to organize products and related components. Supports pagination and filtering by date range, IDs, and handles. This is a read-only operation that does not modify any data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | The page number to retrieve for pagination. |
| `per_page` | integer | No | The number of records to return per page (1-200, default 25). |
| `direction` | string ("asc" | "desc") | No | Sort direction for listing results. |
| `filter_ids` | array | No | Filter by product family IDs. |
| `filter_handle` | string | No | Filter by product family handle (exact match). |
| `filter_handles` | array | No | Filter by multiple product family handles. |
| `filter_end_date` | string | No | Filter product families created/updated on or before this date (YYYY-MM-DD format). |
| `filter_date_field` | string | No | The date field to filter by. One of: created_at, updated_at. |
| `filter_start_date` | string | No | Filter product families created/updated on or after this date (YYYY-MM-DD format). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Product Price Points

**Slug:** `MAXIO_LIST_PRODUCT_PRICE_POINTS`

Lists all price points for a product in Maxio Advanced Billing. Use this action when you need to retrieve all available pricing configurations (such as monthly, annual, or trial pricing) defined for a product. This is helpful for exploring available price points before creating subscriptions, or for auditing pricing configurations across products. Supports pagination and optional filtering by price point status.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for pagination. Defaults to 1 if not specified. |
| `per_page` | integer | No | Number of price points to return per page (1-200). Defaults to 25. |
| `product_id` | string | Yes | The ID or handle of the product to list price points for. When using handle, prefix with 'handle:'. |
| `filter_status` | string | No | Filter by price point status. One of: active, archived, both. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Products

**Slug:** `MAXIO_LIST_PRODUCTS`

Returns a list of all products from Maxio (Chargify). Use this action when you need to retrieve all subscription products from your Chargify site. Supports pagination and filtering by date, IDs, handles, state, and product family. This is a read-only operation that does not modify any data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | The page number to retrieve for pagination. |
| `per_page` | integer | No | The number of records to return per page (1-200, default 25). |
| `direction` | string ("asc" | "desc") | No | Sort direction for listing results. |
| `filter_ids` | array | No | Filter by product IDs. |
| `filter_state` | string ("active" | "archived" | "both") | No | State filter for products. |
| `filter_handle` | string | No | Filter by product handle (exact match). |
| `filter_handles` | array | No | Filter by multiple product handles. |
| `filter_end_date` | string | No | Filter products created/updated on or before this date (YYYY-MM-DD format). |
| `filter_date_field` | string | No | The date field to filter by. One of: created_at, updated_at. |
| `filter_start_date` | string | No | Filter products created/updated on or after this date (YYYY-MM-DD format). |
| `filter_product_family_id` | integer | No | Filter by product family ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Products for Product Family

**Slug:** `MAXIO_LIST_PRODUCTS_FOR_PRODUCT_FAMILY`

Lists all products within a product family in Maxio/Chargify. Use when you need to retrieve all subscription products associated with a specific product family, such as for displaying available plans to customers or auditing product offerings. Supports pagination with optional page and per_page parameters to handle large numbers of products efficiently.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | The page number for pagination (1-indexed). |
| `per_page` | integer | No | Number of records to return per page (1-200, default 25). |
| `product_family_id` | integer | Yes | The Chargify id of the product family whose products to list. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Proforma Invoices

**Slug:** `MAXIO_LIST_PROFORMA_INVOICES`

Lists all proforma invoices for a specific subscription in Maxio Advanced Billing. Use this action when you need to retrieve the proforma invoice history for a subscription, such as for reviewing billing previews, auditing purposes, or administrative management. This is a read-only operation that does not modify any data. Results can be paginated using the page and per_page parameters.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for pagination (default 1) |
| `per_page` | integer | No | Number of proforma invoices to return per page (1-200, default 25) |
| `subscription_id` | integer | Yes | The numeric ID of the subscription to list proforma invoices for |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Reason Codes

**Slug:** `MAXIO_LIST_REASON_CODES`

Returns a list of all churn reason codes in Maxio/Chargify Advanced Billing. Use this action when you need to retrieve all reason codes for churn reporting and analytics, such as auditing existing codes, displaying available reasons for cancellation surveys, or managing your churn categorization scheme. Supports pagination to handle accounts with many reason codes. This is a read-only operation that does not modify any data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | The page number to retrieve for pagination. |
| `per_page` | integer | No | The number of records to return per page (1-200, default 25). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Service Credits

**Slug:** `MAXIO_LIST_SERVICE_CREDITS`

Lists all service credits for a subscription in Maxio Advanced Billing. Use this action when you need to retrieve all service credits associated with a subscription, including their amounts, memos, and creation timestamps. This is useful for auditing service credit history, tracking promotional credits, or checking the available service credit balance. This is a read-only operation that does not modify any data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for pagination (default 1). |
| `per_page` | integer | No | Number of service credits to return per page (1-200, default 25). |
| `subscription_id` | integer | Yes | The Chargify subscription ID for which to list service credits. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Subscription Components

**Slug:** `MAXIO_LIST_SUBSCRIPTION_COMPONENTS`

Lists all components attached to a subscription in Maxio (Chargify). Use this action when you need to retrieve all billing components (metered, quantity-based, on/off, prepaid usage, or event-based) associated with a specific subscription. This is useful for auditing subscription components, checking quantities allocated, or understanding the component configuration of a subscription. This is a read-only operation that does not modify any data. Results can be paginated using the page and per_page parameters, and filtered by component ID or price point ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for pagination (default 1). |
| `per_page` | integer | No | Number of records to return per page (1-200, default 25). |
| `subscription_id` | integer | Yes | The numeric ID of the subscription whose components to list. |
| `filter_component_id` | integer | No | Filter by a specific component ID. |
| `filter_price_point_id` | integer | No | Filter by a specific price point ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Subscription Components For Site

**Slug:** `MAXIO_LIST_SUBSCRIPTION_COMPONENTS_FOR_SITE`

Lists all subscription components for a site. Use this action when you need to retrieve all subscription components across all subscriptions in your Chargify/Maxio site. Supports pagination, sorting, and filtering by date range, subscription IDs, price point IDs, product family IDs, and subscription states. This is a read-only operation that does not modify any data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for pagination (default 1). |
| `sort` | string | No | The attribute by which to sort results. |
| `include` | string | No | Include additional data in the response. Use 'subscription' to include subscription details. |
| `end_date` | string | No | Filter components by date on or before this date (YYYY-MM-DD format). |
| `per_page` | integer | No | Number of records to return per page (1-200, default 25). |
| `direction` | string ("asc" | "desc") | No | Sort direction for listing results. |
| `date_field` | string | No | The type of filter to apply to the search. One of: created_at, updated_at. |
| `start_date` | string | No | Filter components by date on or after this date (YYYY-MM-DD format). |
| `end_datetime` | string | No | Filter components by datetime on or before this time (YYYY-MM-DD HH:MM:SS format). If provided, this takes precedence over end_date. |
| `start_datetime` | string | No | Filter components by datetime on or after this time (YYYY-MM-DD HH:MM:SS format). If provided, this takes precedence over start_date. |
| `price_point_ids` | array | No | Filter components by price point IDs. |
| `subscription_ids` | array | No | Filter components by subscription IDs. |
| `filter_currencies` | string | No | Filter components by currency codes (comma-separated). |
| `product_family_ids` | array | No | Filter components by product family IDs. |
| `filter_subscription_states` | string | No | Filter components by subscription states. To use this filter, include 'subscription' in the 'include' parameter. |
| `filter_subscription_end_date` | string | No | Filter components belonging to subscriptions created/updated on or before this date (YYYY-MM-DD). To use this filter, include 'subscription' in the 'include' parameter. |
| `filter_use_site_exchange_rate` | boolean | No | Filter components by whether they use the site's exchange rate. |
| `filter_subscription_date_field` | string | No | The date field type to filter subscriptions by. To use this filter, include 'subscription' in the 'include' parameter. |
| `filter_subscription_start_date` | string | No | Filter components belonging to subscriptions created/updated on or after this date (YYYY-MM-DD). To use this filter, include 'subscription' in the 'include' parameter. |
| `filter_subscription_end_datetime` | string | No | Filter components belonging to subscriptions created/updated on or before this datetime (YYYY-MM-DD HH:MM:SS). To use this filter, include 'subscription' in the 'include' parameter. |
| `filter_subscription_start_datetime` | string | No | Filter components belonging to subscriptions created/updated on or after this datetime (YYYY-MM-DD HH:MM:SS). To use this filter, include 'subscription' in the 'include' parameter. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Subscription Events

**Slug:** `MAXIO_LIST_SUBSCRIPTION_EVENTS`

Returns a list of events for a specific subscription in Maxio Advanced Billing. Use this action when you need to retrieve all events related to a subscription, such as for audit purposes, tracking subscription changes over time, monitoring payment events, or investigating subscription issues. Supports filtering by event ID range (since_id/until_id) and sorting direction. Results are paginated using page and per_page parameters for efficient data retrieval.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | The page number for pagination (1-indexed). |
| `per_page` | integer | No | Number of records to return per page (1-200, default 25). |
| `since_id` | integer | No | Return only events with ID greater than or equal to the specified ID. Use for pagination to avoid duplicates when scrolling through many results. |
| `until_id` | integer | No | Return only events with ID less than or equal to the specified ID. Use for pagination to limit results to a specific range. |
| `direction` | string ("asc" | "desc") | No | The direction to sort events: 'asc' for ascending (oldest first) or 'desc' for descending (newest first). |
| `subscription_id` | integer | Yes | The numeric ID of the subscription to list events for. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Subscription Groups

**Slug:** `MAXIO_LIST_SUBSCRIPTION_GROUPS`

Returns a list of subscription groups with optional filtering and pagination. Use this action when you need to retrieve subscription groups from your Chargify/Maxio billing system. Supports pagination and filtering by date range, IDs, state, customer ID, and subscription ID. This is a read-only operation that does not modify any data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | The page number to retrieve for pagination. |
| `per_page` | integer | No | The number of records to return per page (1-200, default 25). |
| `direction` | string ("asc" | "desc") | No | Sort direction for listing results. |
| `filter_ids` | array | No | Filter by subscription group IDs. |
| `filter_state` | string ("active" | "past_due" | "canceled" | "subscriber_initiated" | "administrator_initiated") | No | State filter for subscription groups. |
| `filter_end_date` | string | No | Filter subscription groups created/updated on or before this date (YYYY-MM-DD format). |
| `filter_date_field` | string | No | The date field to filter by. One of: created_at, updated_at. |
| `filter_start_date` | string | No | Filter subscription groups created/updated on or after this date (YYYY-MM-DD format). |
| `filter_customer_id` | integer | No | Filter by customer ID. |
| `filter_subscription_id` | integer | No | Filter by subscription ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Subscription Notes

**Slug:** `MAXIO_LIST_SUBSCRIPTION_NOTES`

Lists all notes attached to a subscription in Maxio/Chargify Advanced Billing. Use this action when you need to retrieve all notes for a specific subscription, such as viewing customer communication history, auditing support interactions, or retrieving billing-related information stored on a subscription. This is a read-only operation that does not modify any data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | The page number to retrieve for pagination. |
| `per_page` | integer | No | The number of records to return per page (1-200, default 25). |
| `subscription_id` | integer | Yes | The Chargify id of the subscription |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Subscriptions

**Slug:** `MAXIO_LIST_SUBSCRIPTIONS`

Returns a list of subscriptions with optional filtering and pagination. Use this action when you need to retrieve all subscriptions from your Chargify/Maxio billing system. Supports pagination and filtering by date range, subscription state, customer IDs, product IDs, coupon codes, offer ID, trial status, billing interval, and subscription group. This is a read-only operation that does not modify any data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | The page number to retrieve for pagination. |
| `sort` | string | No | Field to sort by (e.g., 'created_at', 'updated_at', 'state'). |
| `per_page` | integer | No | The number of records to return per page (1-200, default 25). |
| `direction` | string ("asc" | "desc") | No | Sort direction for listing results. |
| `filter_ids` | array | No | Filter by subscription IDs. |
| `filter_state` | string ("active" | "canceled" | "trialing" | "paused" | "past_due" | "trial_ended" | "completed" | "suspended" | "expired" | "failed" | "pending" | "any") | No | Subscription state filter values. |
| `filter_end_date` | string | No | Filter subscriptions created/updated on or before this date (YYYY-MM-DD format). |
| `filter_offer_id` | integer | No | Filter by offer ID. |
| `filter_on_trial` | boolean | No | Filter to include only subscriptions that are currently on trial. |
| `filter_date_field` | string | No | The date field to filter by. One of: created_at, updated_at, activated_at, canceled_at. |
| `filter_start_date` | string | No | Filter subscriptions created/updated on or after this date (YYYY-MM-DD format). |
| `filter_product_ids` | array | No | Filter by product IDs. |
| `filter_coupon_codes` | array | No | Filter by coupon codes. |
| `filter_customer_ids` | array | No | Filter by customer IDs. |
| `filter_plan_interval` | string | No | Filter by billing interval. One of: day, week, month, year. |
| `filter_subscription_group_id` | integer | No | Filter by subscription group ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Usages

**Slug:** `MAXIO_LIST_USAGES`

Lists all usage records for a component on a subscription. Use this action when you need to retrieve the usage history for a metered or prepaid component attached to a subscription. This is useful for auditing usage, reviewing overage charges, or understanding consumption patterns. The response includes details such as quantity recorded, memo, timestamps, and remaining unit balance for each usage record.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for pagination (default 1). |
| `per_page` | integer | No | Number of usages to return per page (1-200, default 25). |
| `component_id` | integer | Yes | The numeric ID of the component to list usages for. |
| `subscription_id` | integer | Yes | The numeric ID of the subscription to list usages for. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Webhooks

**Slug:** `MAXIO_LIST_WEBHOOKS`

Returns a list of webhooks configured in Maxio Advanced Billing. Use this action when you need to retrieve all webhooks to check their current configuration, monitor which webhooks are active, or verify webhook IDs. Supports pagination and optional filtering by active status. This is a read-only operation that does not modify any data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | The page number for pagination (1-indexed). |
| `per_page` | integer | No | Number of records to return per page (1-200, default 25). |
| `filter_active` | boolean | No | Filter webhooks by active status. When true, returns only active webhooks. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Migrate Subscription Product

**Slug:** `MAXIO_MIGRATE_SUBSCRIPTION_PRODUCT`

Migrates a subscription to a different product in Maxio/Chargify Advanced Billing. Use when you need to change a subscription's product (e.g., upgrade, downgrade, or change the subscription plan). This action will update the subscription to point to the new product and adjust billing accordingly based on the product configuration. Note: The migration takes effect immediately and may result in prorated charges or credits depending on the price difference between the products and the current billing cycle.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `product_id` | integer | Yes | The numeric ID of the product to migrate the subscription to |
| `subscription_id` | integer | Yes | The numeric ID of the subscription to migrate to a different product |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Override Subscription

**Slug:** `MAXIO_OVERRIDE_SUBSCRIPTION`

Overrides cancellation settings of a subscription. Use when you need to update cancellation-related attributes on an existing subscription, such as adding a cancellation message to explain why the subscription was overridden. This action sends an override request to update the subscription's cancellation settings. The API returns HTTP 204 No Content on success.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `subscription_id` | integer | Yes | The numeric ID of the subscription to override |
| `cancellation_message` | string | No | A message explaining the cancellation override |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Promote Product Price Point to Default

**Slug:** `MAXIO_PATCH_PRODUCT_PRICE_POINT_TO_DEFAULT`

Promotes a product price point to be the default price point for a product. Use when you need to change which price point is automatically selected for new subscriptions to a product. This action sets the specified price point as the default, meaning it will be automatically selected when creating new subscriptions unless another price point is explicitly specified. This is an idempotent operation - calling it multiple times with the same price point will always result in the same state. Note: Only one price point per product can be the default at a time. Promoting a new price point will automatically demote any existing default price point for that product.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `product_id` | string | Yes | The ID or handle of the product. When using the handle, it must be prefixed with `handle:` |
| `price_point_id` | string | Yes | The ID or handle of the price point to promote to default. When using the handle, it must be prefixed with `handle:` |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Pause Subscription

**Slug:** `MAXIO_PAUSE_SUBSCRIPTION`

Pauses an active subscription in Maxio (Chargify) Advanced Billing. Use when you need to temporarily suspend a subscription without canceling it, such as when a customer requests a pause in service or when there are payment issues that need to be resolved before billing can continue. When paused, the subscription will not be billed and the customer will not have access to the service. The subscription can be resumed using the Resume Subscription action. This action is reversible — resuming the subscription will restore the subscription to its previous state (typically 'active').

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `subscription_id` | integer | Yes | The numeric ID of the subscription to pause |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Preview Allocations

**Slug:** `MAXIO_PREVIEW_ALLOCATIONS`

Previews allocation charges before creating them for subscription components. Use this action when you need to calculate the cost impact of adding, upgrading, downgrading, or removing components from a subscription without actually creating the allocations. This is useful for: - Showing customers a price estimate before confirming changes - Verifying proration calculations - Testing allocation scenarios without affecting actual billing The preview returns estimated charges, including any applicable prorations and taxes. Note: This is a read-only operation that does not create actual allocations.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `allocations` | array | Yes | Array of allocation preview items. Each item specifies the component and quantity to preview. |
| `subscription_id` | integer | Yes | The numeric ID of the subscription to preview allocations for. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Preview Customer Information Changes

**Slug:** `MAXIO_PREVIEW_CUSTOMER_INFORMATION_CHANGES`

Previews customer information changes for an invoice. This endpoint shows what the invoice would look like with updated customer information before the changes are actually applied. Use when you need to preview how changes to customer details (such as billing address, shipping address, or organization name) would appear on an invoice. This allows you to verify the changes before committing them. Note: This action does not modify any data. It only returns a preview of what the customer information would look like if updated.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `invoice_uid` | string | Yes | The unique identifier of the invoice |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Preview Proforma Invoice

**Slug:** `MAXIO_PREVIEW_PROFORMA_INVOICE`

Previews a proforma invoice for a subscription without actually creating it. Use when you need to preview the expected charges and invoice details before committing to create the actual proforma invoice. This is useful for showing customers what they will be charged before finalizing billing. This action does not modify any data - it only generates a preview of what the proforma invoice would look like based on the current subscription state.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `subscription_id` | integer | Yes | The numeric ID of the subscription to preview a proforma invoice for |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Preview Renewal

**Slug:** `MAXIO_PREVIEW_RENEWAL`

Previews the next renewal charges for a subscription in Maxio (Chargify). Use this action when you need to show customers what their next billing amount will be at renewal, including any component charges, discounts, and taxes. This is useful for: - Displaying upcoming charges to customers before they occur - Verifying renewal calculations - Showing breakdown of renewal costs - Testing pricing scenarios without affecting actual billing This is a read-only operation that does not modify any data or create charges. The preview is calculated based on the current subscription state and applied coupons.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `include_trial` | boolean | No | Whether to include trial amounts in the renewal preview. Defaults to false. |
| `subscription_id` | integer | Yes | The numeric ID of the subscription to preview renewal charges for |
| `include_setup_fees` | boolean | No | Whether to include setup fees in the renewal preview. Defaults to false. |
| `include_next_charge` | boolean | No | Whether to include the next charge amount in the preview. Defaults to true. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Preview Signup Proforma Invoice

**Slug:** `MAXIO_PREVIEW_SIGNUP_PROFORMA_INVOICE`

Previews a proforma invoice for signup. A proforma invoice shows the expected charges for a new subscription before it is actually created. Use this action when you need to preview billing amounts for a potential new customer or to share expected costs before finalizing a subscription signup. This action requires a product_handle and customer_attributes (first_name, last_name, and email are required). The response contains the complete proforma invoice details including line items, amounts, and due dates.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `product_handle` | string | Yes | The handle of the product/pricing plan to preview |
| `customer_attributes` | object | Yes | Customer information for the signup preview |
| `payment_collection_method` | string | No | Payment collection method (e.g., 'automatic', 'reminder') |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Preview Subscription

**Slug:** `MAXIO_PREVIEW_SUBSCRIPTION`

Previews a subscription in Maxio (Chargify) before actual creation to see pricing and details. Use this action when you want to validate subscription parameters, preview costs, or show users what a subscription will look like before confirming the creation. At minimum, either product_handle or product_id is required. Either customer_id or customer_attributes (first_name, last_name, email) are required. Payment can be provided via payment_profile_id, payment_token, or credit_card_attributes. This is a preview-only operation that does not create an actual subscription.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `net_terms` | integer | No | Number of days until the subscription invoice is due (0 = immediate) |
| `po_number` | string | No | Purchase order number for the subscription |
| `trial_end` | string | No | Date/time to end the trial period (ISO 8601 format, e.g., '2024-12-01T00:00:00Z') |
| `components` | array | No | Component allocation settings as list of component configurations |
| `product_id` | integer | No | The ID of the product (required if product_handle not provided) |
| `customer_id` | integer | No | The ID of an existing customer to associate with this subscription (required if not providing customer attributes) |
| `vault_token` | string | No | Token from a payment vault for an already stored payment method |
| `coupon_codes` | array | No | List of coupon codes to apply to the subscription |
| `current_vault` | string | No | The vault where the card is stored (e.g., 'stripe', 'braintree', 'authorizenet') |
| `custom_fields` | array | No | Custom field values as list of name/value objects |
| `payment_token` | string | No | A tokenized payment method from a payment gateway (e.g., 'tok_visa') |
| `referral_code` | string | No | Referral code to apply to the subscription |
| `product_handle` | string | No | The handle of the product (required if product_id not provided) |
| `payment_profile_id` | integer | No | The ID of an existing payment profile to use for billing |
| `customer_attributes` | object | No | Customer attributes for inline customer creation in the preview. |
| `credit_card_attributes` | object | No | Credit card attributes for direct card entry. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Preview Subscription Product Migration

**Slug:** `MAXIO_PREVIEW_SUBSCRIPTION_PRODUCT_MIGRATION`

Previews a product migration before executing it. Use this action when you need to see what will happen when migrating a subscription to a different product without actually making the change. This allows you to review the price differences, credits, charges, and other migration details before committing to the migration. This is a read-only preview action that does not modify the subscription.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `product_id` | integer | No | The current product ID of the subscription (optional, will be looked up if not provided) |
| `include_child` | boolean | No | Whether to include migrated child subscriptions in the preview |
| `new_product_id` | integer | Yes | The numeric ID of the product to migrate the subscription to |
| `subscription_id` | integer | Yes | The numeric ID of the subscription to preview migration for |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Promote Component Price Point to Default

**Slug:** `MAXIO_PROMOTE_COMPONENT_PRICE_POINT_TO_DEFAULT`

Promotes a component price point to be the default price point for its component. Use this action when you need to change which price point is used as the default for new subscriptions. This endpoint switches the default price point for the component. The previously default price point will no longer be the default, but it remains available for existing subscriptions and can be promoted back to default if needed.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `component_id` | integer | Yes | The ID of the component that owns the price point to promote. |
| `price_point_id` | integer | Yes | The ID of the price point to promote to default. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Reactivate Subscription

**Slug:** `MAXIO_REACTIVATE_SUBSCRIPTION`

Reactivates a canceled subscription in Maxio (Chargify) Advanced Billing. Use when you need to restore a previously canceled subscription and resume billing for the customer. This action is reversible — you can cancel the subscription again if needed. The subscription will transition from 'canceled' state back to 'active' state and billing will resume according to the subscription's billing cycle.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `subscription_id` | integer | Yes | The numeric ID of the subscription to reactivate |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Reactivate Subscription Group

**Slug:** `MAXIO_REACTIVATE_SUBSCRIPTION_GROUP`

Reactivates a canceled subscription group in Maxio/Chargify. Use this action when you need to restore a previously canceled subscription group and resume billing for all its associated subscriptions. This action is reversible — you can cancel the group again if needed.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `uid` | string | Yes | The unique identifier of the subscription group to reactivate. This is the uid from the subscription group object, not the numeric id. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Read Account Balances

**Slug:** `MAXIO_READ_ACCOUNT_BALANCES`

Retrieves the account balances for a subscription in Maxio Advanced Billing. Use this action when you need to check the current financial status of a subscription, including any outstanding invoice amounts, service credit balances, and prepayment balances. This is useful for determining if a subscription has sufficient credit for transactions, checking payment status, or auditing account balances. This is a read-only operation that does not modify any data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `subscription_id` | integer | Yes | The Chargify subscription ID for which to retrieve account balances. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Read Advance Invoice

**Slug:** `MAXIO_READ_ADVANCE_INVOICE`

Retrieves an advance invoice for a subscription. An advance invoice shows the charges that will be billed in advance of the normal billing cycle. Use this action when you need to preview or retrieve the advance billing details for a subscription. This is a read-only operation that does not modify any data. Use the IssueAdvanceInvoice action if you need to issue/generate the advance invoice. Note: This action requires a valid subscription_id. The response contains the complete advance invoice details including line items, amounts, and due dates.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `subscription_id` | integer | Yes | The ID of the subscription for which to retrieve the advance invoice |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Read Component

**Slug:** `MAXIO_READ_COMPONENT`

Retrieves details of a specific component within a product family in Maxio/Chargify. Use this action when you need to fetch detailed information about a single billing component (metered, quantity-based, on/off, prepaid usage, or event-based) including its pricing, configuration, and metadata. This is a read-only operation that does not modify any data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `component_id` | string | Yes | Either the Chargify id of the component or the handle for the component prefixed with `handle:`. |
| `product_family_id` | integer | Yes | The Chargify id of the product family to which the component belongs. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Read Component by Handle

**Slug:** `MAXIO_READ_COMPONENT_BY_HANDLE`

Finds a component by its unique handle in Maxio/Chargify. Use this action when you need to retrieve a specific billing component using its handle identifier. The handle is a unique string that identifies the component across your Chargify site. Returns the component details including pricing, type, and configuration. This is a read-only operation that does not modify any data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `handle` | string | Yes | The unique handle used to identify the component. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Read Component Price Point

**Slug:** `MAXIO_READ_COMPONENT_PRICE_POINT`

Retrieves a specific component price point in Maxio Advanced Billing. Use this action when you need to fetch the details of a single price point, including its pricing scheme, price tiers, and configuration settings. This is helpful when you need to inspect a specific price point's configuration, verify pricing details before creating subscriptions, or retrieve metadata about a price point.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `component_id` | integer | Yes | The ID of the component that owns the price point. |
| `price_point_id` | integer | Yes | The ID of the price point to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Read Coupon

**Slug:** `MAXIO_READ_COUPON`

Retrieves details of a specific coupon within a product family. Use this action when you need to fetch the full details of a coupon, such as its discount configuration, redemption status, or to verify coupon properties before applying it to a subscription.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `coupon_id` | integer | Yes | The Chargify id of the coupon |
| `product_family_id` | integer | Yes | The Chargify id of the product family to which the coupon belongs |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Find Coupon by Code

**Slug:** `MAXIO_READ_COUPON_BY_CODE`

Finds and retrieves a coupon by its unique code in Maxio Advanced Billing. Use when you need to look up coupon details using the coupon code, such as validating a coupon before applying it, displaying coupon information to customers, or checking coupon status for administrative purposes. This is a read-only operation that does not modify any data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `code` | string | Yes | The unique coupon code to search for |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Read Coupon Usage

**Slug:** `MAXIO_READ_COUPON_USAGE`

Retrieves usage statistics for a coupon. Use when you need to view how many times a coupon has been redeemed, the total discount given, and other usage metrics for a specific coupon within a product family. This is a read-only action that retrieves current statistics from the API.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `coupon_id` | integer | Yes | The Chargify id of the coupon to retrieve usage for |
| `product_family_id` | integer | Yes | The Chargify id of the product family that owns the coupon |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Read Credit Note

**Slug:** `MAXIO_READ_CREDIT_NOTE`

Retrieves details of a specific credit note from Maxio/Chargify. Use this action when you need to retrieve detailed information about a specific credit note by its unique identifier (UID). This is a read-only operation that returns the credit note's line items, taxes, discounts, applications, and refund information. This action is useful for: - Checking the status and remaining balance of a credit note - Viewing line item details of a credit note - Finding which invoices a credit note has been applied to - Examining taxes and discounts on a credit note

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `uid` | string | Yes | The unique identifier of the credit note (e.g., 'cn_c4rkvt4hqd8d2') |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Read Customer

**Slug:** `MAXIO_READ_CUSTOMER`

Retrieves details of a specific customer by their Chargify ID. Use this action when you need to fetch the full details of a customer, such as their contact information, address, tax status, or billing portal status. This is a read-only operation that does not modify any data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `customer_id` | integer | Yes | The Chargify id of the customer |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Read Customer By Reference

**Slug:** `MAXIO_READ_CUSTOMER_BY_REFERENCE`

Looks up a customer by their external reference value. Use this action when you have an external reference identifier for a customer and need to retrieve the full customer details from Maxio/Chargify. Returns the customer object if found, or an error if no customer matches the reference. This is a read-only operation that does not modify any data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `reference` | string | Yes | The customer's reference value (external identifier) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Read Events Count

**Slug:** `MAXIO_READ_EVENTS_COUNT`

Returns a count of events for the site in Maxio Advanced Billing. Use this action when you need to quickly determine the number of events matching specific criteria without retrieving full event details. This is useful for checking event volume, validating data existence, or preparing for paginated queries. Supports filtering by date range (since/until), event type, and custom filters.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `since` | string | No | Filter events created on or after this datetime (ISO 8601 format, e.g., '2024-01-01T00:00:00Z'). |
| `until` | string | No | Filter events created on or before this datetime (ISO 8601 format, e.g., '2024-12-31T23:59:59Z'). |
| `filter` | string | No | A filter key to narrow down results. Format depends on the filter type (e.g., 'subscription_id=12345'). |
| `event_type` | string | No | Filter by event type. Common event types include: subscription_created, subscription_updated, subscription_canceled, subscription_activated, subscription_paused, payment_success, payment_failed, invoice_created, invoice_paid, etc. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Read Invoice

**Slug:** `MAXIO_READ_INVOICE`

Retrieves details of a specific invoice by its unique identifier (UID). Use this action when you need to fetch complete information about a single invoice, such as for displaying invoice details, processing refunds, or verifying payment status. The response includes all line items, taxes, discounts, payments, credits, and customer/seller information associated with the invoice. This is a read-only operation that does not modify any data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `uid` | string | Yes | The unique identifier of the invoice to retrieve |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Read Invoices Export Status

**Slug:** `MAXIO_READ_INVOICES_EXPORT`

Retrieves the status and details of an invoices export batch job. Use when you need to check whether a previously initiated invoice export has completed and how many rows were exported. This endpoint returns the batch job object including its completion status, creation time, finish time, and the total number of exported invoice rows. The batch_id should be obtained from the response when initiating an invoice export using the Export Invoices action. Note: Once the export is complete (completed='true'), you can retrieve the exported invoice data using the List Exported Invoices action with the same batch_id.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `batch_id` | string | Yes | The unique identifier of the invoice export batch job. This is the ID returned when initiating an invoice export. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Read Offer

**Slug:** `MAXIO_READ_OFFER`

Retrieves details of a specific offer by its ID from Maxio (Chargify). Use this action when you need to fetch full details of a single offer, including product information, discounts, items, and signup pages. This is a read-only operation that does not modify any data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `offer_id` | integer | Yes | The Chargify id of the offer to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Read Payment Profile

**Slug:** `MAXIO_READ_PAYMENT_PROFILE`

Retrieves details of a specific payment profile in Maxio Advanced Billing. Use this action when you need to fetch details of a payment profile by its ID, such as verifying card information, retrieving vault tokens for payment gateway integrations, or checking the status of a stored payment method. This is a read-only operation that does not modify any data. This is a read-only operation that does not modify any data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `payment_profile_id` | integer | Yes | The Chargify id of the payment profile to retrieve |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Read Product

**Slug:** `MAXIO_READ_PRODUCT`

Retrieves details of a specific product by its ID from Maxio (Chargify). Use this action when you need to fetch full details of a single product, including pricing, billing intervals, trial settings, and product family information. This is a read-only operation that does not modify any data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `product_id` | integer | Yes | The Chargify id of the product to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Read Product By Handle

**Slug:** `MAXIO_READ_PRODUCT_BY_HANDLE`

Retrieves a single product from Maxio (Chargify) by its unique handle. Use this action when you need to fetch a specific product's details using its handle identifier rather than its numeric ID. This is useful for looking up products when the handle is more readily available or for verifying product details before operations. This is a read-only operation that does not modify any data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `api_handle` | string | Yes | The unique handle identifier for the product. This is a URL-friendly string that identifies the product. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Read Product Family

**Slug:** `MAXIO_READ_PRODUCT_FAMILY`

Retrieves details of a specific product family in Maxio/Chargify. Use this action when you need to fetch the full details of a product family, such as its name, description, handle, accounting code, or associated signup pages. This is a read-only operation that does not modify any data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `product_family_id` | integer | Yes | The Chargify id of the product family |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Read Product Price Point

**Slug:** `MAXIO_READ_PRODUCT_PRICE_POINT`

Retrieves a specific product price point in Maxio Advanced Billing. Use this action when you need to fetch the details of a single price point, including its pricing configuration, interval settings, and trial options. This is helpful when you need to inspect a specific price point's configuration, verify pricing details before creating subscriptions, or retrieve detailed metadata about a price point. Optionally include multi-currency pricing by passing the currency_prices parameter.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `product_id` | string | Yes | The ID or handle of the product. When using the handle, prefix with 'handle:'. |
| `price_point_id` | string | Yes | The ID or handle of the price point to retrieve. When using the handle, prefix with 'handle:'. |
| `currency_prices` | boolean | No | When fetching a product's price points, if you have defined multiple currencies at the site level, you can optionally pass the ?currency_prices=true query param to include an array of currency price data in the response. If the product price point is set to use_site_exchange_rate: true, it will return pricing based on the current exchange rate. If the flag is set to false, it will return all of the defined prices for each currency. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Read Proforma Invoice

**Slug:** `MAXIO_READ_PROFORMA_INVOICE`

Retrieves a specific proforma invoice by its unique identifier. Use this action when you need to fetch detailed information about a single proforma invoice, including line items, amounts, taxes, discounts, customer and seller details, and payment information. This is a read-only operation that does not modify any data. Provide the proforma_invoice_uid to identify the specific invoice to retrieve.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `proforma_invoice_uid` | string | Yes | The unique identifier of the proforma invoice to retrieve |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Read Proforma Invoices Export

**Slug:** `MAXIO_READ_PROFORMA_INVOICES_EXPORT`

Retrieves the status and details of a proforma invoices export batch job. Use when you need to check the status of a previously initiated proforma invoices export, such as to verify completion before fetching the exported rows. Note: This endpoint returns the batch job metadata (status, row count, etc.) but not the actual exported data. Use the List Exported Proforma Invoices action to retrieve the actual rows once the export completes.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `batch_id` | string | Yes | The unique identifier of the export batch job (returned when initiating the export) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Read Reason Code

**Slug:** `MAXIO_READ_REASON_CODE`

Retrieves a specific churn reason code by its ID from Maxio/Chargify Advanced Billing. Use this action when you need to fetch details of a single reason code, such as when viewing specific churn categorization information, auditing individual reason codes, or retrieving metadata for a known reason code ID. This is a read-only operation that does not modify any data. Note: Returns a 404 error if the reason code does not exist.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `reason_code_id` | integer | Yes | The Chargify id of the reason code |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Read Site

**Slug:** `MAXIO_READ_SITE`

Retrieves details about the current Chargify/Maxio site. Use this action when you need to retrieve information about your Chargify site, including site configuration, address, tax settings, and gateway information. This is a read-only operation that does not modify any data. Note: This endpoint returns the site details for the authenticated site based on the credentials provided in the auth configuration.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Read Site Stats

**Slug:** `MAXIO_READ_SITE_STATS`

Returns site-wide statistics for the Chargify site. Use this action when you need to retrieve aggregate statistics about your Chargify site, including subscription counts by status, Monthly Recurring Revenue (MRR) metrics, and customer statistics. This is useful for dashboard displays, executive reporting, and understanding overall business health at a glance. Note: This is a read-only operation that does not modify any data.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Read Subscription

**Slug:** `MAXIO_READ_SUBSCRIPTION`

Retrieves details of a specific subscription by its unique identifier (ID). Use this action when you need to fetch complete information about a single subscription, such as for displaying subscription details, checking status, verifying billing information, or managing subscription-related operations. This is a read-only operation that does not modify any data. You can optionally include additional related data like customer, product, or payment_profile using the include parameter.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `include` | string | No | Allows including additional data in the response (e.g., 'customer,product,payment_profile') |
| `subscription_id` | integer | Yes | The Chargify id of the subscription to retrieve |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Read Subscription By Reference

**Slug:** `MAXIO_READ_SUBSCRIPTION_BY_REFERENCE`

Finds a subscription by its external reference identifier in Maxio Advanced Billing. Use this action when you need to retrieve a specific subscription using its reference field rather than the internal Chargify subscription ID. This is a read-only operation that does not modify any data. Returns a single subscription object if found, or raises an error if no subscription matches the provided reference.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `reference` | string | Yes | The external reference identifier to look up the subscription |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Read Subscription Component

**Slug:** `MAXIO_READ_SUBSCRIPTION_COMPONENT`

Retrieves details of a component attached to a subscription in Maxio (Chargify). Use this action when you need to fetch detailed information about a specific billing component (metered, quantity-based, on/off, prepaid usage, or event-based) that is associated with a particular subscription. This is useful for checking the current state of a component, including quantity allocated, unit balance, pricing, and configuration details. This is a read-only operation that does not modify any data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `component_id` | integer | Yes | The Chargify id of the component. Alternatively, the component's handle prefixed by `handle:`. |
| `subscription_id` | integer | Yes | The Chargify id of the subscription. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Read Subscription Note

**Slug:** `MAXIO_READ_SUBSCRIPTION_NOTE`

Retrieves a specific note attached to a subscription in Maxio/Chargify Advanced Billing. Use this action when you need to fetch a single note from a subscription, such as retrieving details about a specific customer interaction, viewing a particular support note, or accessing billing-related annotations. This is a read-only operation that does not modify any data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `note_id` | integer | Yes | The Chargify id of the note to retrieve |
| `subscription_id` | integer | Yes | The Chargify id of the subscription associated with the note |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Read Subscriptions Export Status

**Slug:** `MAXIO_READ_SUBSCRIPTIONS_EXPORT`

Retrieves the status and details of a subscriptions export batch job. Use this action when you need to check whether a previously initiated subscription export has completed and how many rows were exported. This is useful for monitoring the progress of bulk subscription data exports. This endpoint returns the batch job object including its completion status, creation time, finish time, and the total number of exported subscription rows. The batch_id should be obtained from the response when initiating a subscription export using the Export Subscriptions action. Note: Once the export is complete (completed='true'), you can retrieve the exported subscription data using the List Exported Subscriptions action with the same batch_id.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `batch_id` | string | Yes | The unique identifier of the subscription export batch job. This is the ID returned when initiating a subscription export. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Bulk Record Events

**Slug:** `MAXIO_RECORD_BULK_EVENTS`

Tool to record multiple billable events in bulk for a subscription component. Use when you need to log several usage events at once, such as batch processing usage data or recording multiple overage events. Each event can specify its own quantity and memo. Maximum 1000 events per request.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `events` | array | Yes | Array of events to record. Each event specifies quantity, memo, and optional recorded_at timestamp. |
| `component_id` | integer | Yes | The numeric ID of the metered component to record events against. |
| `subscription_id` | integer | Yes | The numeric ID of the subscription to record events for. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Record Payment for Invoice

**Slug:** `MAXIO_RECORD_PAYMENT_FOR_INVOICE`

Records a payment for an invoice. This action can be used to record both full and partial payments against an invoice. Use this action when you need to record a customer payment for an existing invoice. The payment will be applied to the invoice, updating its paid_amount and potentially changing its status to 'paid' if the full amount is received. Note: You can specify a payment method explicitly or let the system use the subscription's default payment profile.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `memo` | string | No | An optional description or note for the payment that will appear on the invoice |
| `amount` | string | Yes | The payment amount as a decimal string (e.g., '10.00'). This represents the amount being paid for the invoice. |
| `invoice_uid` | string | Yes | The unique identifier of the invoice to record a payment for |
| `receiptAmount` | string | No | The receipt amount for the payment. If not specified, it defaults to the payment amount. Useful for scenarios where the payment amount differs from the receipt amount. |
| `externalCardId` | string | No | The external card ID for the payment. If not specified, the default payment profile for the subscription will be used. Format depends on your gateway. |
| `payment_method` | string | No | The payment method used for the payment. Defaults to the subscription's default payment method if not specified. Common values include: 'credit_card', 'ach', 'paypal', 'bank_transfer'. |
| `paymentProfileId` | integer | No | The internal ID of the payment profile to use for the payment. If not specified, the default payment profile for the subscription will be used. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Refund Invoice

**Slug:** `MAXIO_REFUND_INVOICE`

Creates a refund for a paid invoice. Use this action when you need to process a refund for a customer whose invoice has already been paid. The refund will be recorded against the invoice and a credit note may be generated depending on your settings. This action is irreversible — once a refund is processed, it cannot be automatically reversed. Ensure you have verified the refund amount and reason before executing. Note: The invoice must be in a 'paid' state to process a refund.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `uid` | string | Yes | The unique identifier of the invoice to refund |
| `memo` | string | No | An optional memo or note to attach to the refund transaction. |
| `amount` | string | Yes | The refund amount as a decimal string (e.g., '5.00'). Must be less than or equal to the invoice's paid amount. |
| `reason` | string | Yes | The reason for the refund. This will be recorded in the transaction history. |
| `payment_id` | integer | No | The specific payment ID to refund. If not specified, the most recent payment will be refunded. Use this when you need to refund a specific payment on an invoice with multiple payments. |
| `external_payment` | boolean | No | Set to true if the refund was made outside of the normal payment gateway. Defaults to false. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Refund Prepayment

**Slug:** `MAXIO_REFUND_PREPAYMENT`

Refunds a prepayment made on a subscription. This action is irreversible — once a prepayment is refunded, the refund cannot be undone. Use this action when a customer requests a refund for a prepayment, or when you need to reverse an incorrectly applied prepayment. The refund amount will be returned to the customer according to your refund policy. Note: You must provide either `amount` (decimal string) or `amount_in_cents` (integer), but not both. If the prepayment was made through a payment profile (non-external), the `external` flag should be set appropriately.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `memo` | string | Yes | A description or note for the refund. This will appear in the transaction history. |
| `amount` | string | No | The amount to refund as a decimal string (e.g., '10.00'). Either `amount` or `amount_in_cents` must be provided, but not both. |
| `external` | boolean | No | Whether the refund is external. When the prepayment is external, this flag is optional. But if the prepayment was made through a payment profile, this flag is required. |
| `prepayment_id` | integer | Yes | The ID of the prepayment to refund |
| `amount_in_cents` | integer | No | The amount to refund in cents (e.g., 1000 for $10.00). Either `amount` or `amount_in_cents` must be provided, but not both. |
| `subscription_id` | integer | Yes | The Chargify subscription ID that owns the prepayment to refund |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Remove Coupon from Subscription

**Slug:** `MAXIO_REMOVE_COUPON_FROM_SUBSCRIPTION`

Removes an applied coupon from a subscription in Maxio (Chargify) Advanced Billing. Use when you need to remove a promotional discount from an existing subscription and restore regular pricing. This action is irreversible — the coupon will be permanently removed from the subscription and cannot be recovered without reapplying it. Note: If multiple coupons are applied to the subscription, all coupons will be removed. The subscription will then be billed at its regular product price.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `subscription_id` | integer | Yes | The numeric ID of the subscription from which to remove the coupon |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Remove Subscription from Group

**Slug:** `MAXIO_REMOVE_SUBSCRIPTION_FROM_GROUP`

Removes a subscription from its subscription group in Maxio Advanced Billing. Use this action when you need to unlink a subscription from its group, such as when migrating a subscription to operate independently or reorganizing group membership. This action is irreversible — once the subscription is removed from the group, it cannot be recovered through this endpoint.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `subscription_id` | integer | Yes | The Chargify id of the subscription to remove from its group |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Reopen Invoice

**Slug:** `MAXIO_REOPEN_INVOICE`

Reopens a voided or canceled invoice, changing its status back to open. Use when you need to reinstate an invoice that was previously voided or canceled. This action allows the invoice to be paid or modified again. Only invoices with 'voided' or 'canceled' status can be reopened. Note: If the invoice had payments applied before being voided/canceled, those payments may need to be reallocated. This action is reversible by voiding or canceling the invoice again.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `uid` | string | Yes | The unique identifier of the invoice to reopen |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Replay Webhooks

**Slug:** `MAXIO_REPLAY_WEBHOOKS`

Replays specified webhook deliveries in Maxio Advanced Billing. Use this action when you need to resend webhooks that may have failed, were not delivered, or need to be resent for any reason. Provide a list of webhook IDs to replay their corresponding events. This action is idempotent — calling it with the same webhook IDs will resend the same webhooks again.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `webhook_ids` | array | Yes | An array of webhook IDs to replay. These are the unique identifiers of the webhooks you want to resend. You can get webhook IDs from the webhook history or delivery logs. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Bulk Reset Subscription Components Price Points

**Slug:** `MAXIO_RESET_SUBSCRIPTION_COMPONENTS_PRICE_POINTS`

Resets subscription component price points to their default values. Use when you need to reset custom or overridden price points for subscription components back to their original default configuration. This action can reset all component price points at once, or selectively reset specific components by providing a list of component IDs. If no component IDs are provided, all components will be reset. Note: This action modifies the subscription's pricing configuration. Once reset, any custom price overrides will be lost.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `component_ids` | array | No | Optional list of component IDs to selectively reset. If not provided or empty, all component price points will be reset to their default values. If provided, only the specified components will be reset. |
| `subscription_id` | integer | Yes | The unique identifier of the subscription whose component price points should be reset. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Resume Subscription

**Slug:** `MAXIO_RESUME_SUBSCRIPTION`

Resumes a paused subscription in Maxio (Chargify) Advanced Billing. Use when you need to restore a previously paused subscription and resume billing and service delivery. This action is reversible — you can pause the subscription again if needed. The subscription will transition from 'paused' state back to 'active' state and billing will resume according to the subscription's billing cycle.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `subscription_id` | integer | Yes | The numeric ID of the subscription to resume |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retry Subscription

**Slug:** `MAXIO_RETRY_SUBSCRIPTION`

Retries payment for a past due subscription in Maxio (Chargify) Advanced Billing. Use when a subscription has failed payments and you need to manually trigger a retry of the billing attempt. This is useful when the automatic retry attempts have been exhausted or when you want to manually retry outside the standard retry schedule. The subscription should be in a 'past_due' state for this action to succeed. If payment succeeds, the subscription will return to an 'active' state. If payment fails again, the subscription will remain in 'past_due' state.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `subscription_id` | integer | Yes | The numeric ID of the subscription to retry payment for |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Revoke Billing Portal Access

**Slug:** `MAXIO_REVOKE_BILLING_PORTAL_ACCESS`

Revokes billing portal access for a customer. This action invalidates the customer's current billing portal invitation, preventing them from accessing the self-service portal to view invoices, update payment methods, or manage their subscription. Use this action when a customer requests to have their billing portal access removed, or when access needs to be terminated for security or billing reasons. This action is irreversible — once revoked, the customer will need to be re-invited to regain portal access. Note: The customer must already have portal access enabled. If the customer does not have an active portal invitation, the API may return an appropriate error.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `customer_id` | integer | Yes | The Chargify id of the customer for whom to revoke portal access |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Send Invoice

**Slug:** `MAXIO_SEND_INVOICE`

Sends an invoice to the customer via email. Use when you need to email an invoice to the customer. By default, the invoice will be sent to the customer on the subscription. Optionally, you can specify custom recipient email addresses to override the defaults. This action sends the invoice immediately and triggers the delivery process to all specified recipients.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `uid` | string | Yes | The unique identifier of the invoice to send |
| `recipient_emails` | array | No | Optional list of email addresses to send the invoice to. If not provided, the default recipient(s) from the invoice will be used. |
| `cc_recipient_emails` | array | No | Optional list of email addresses to CC on the invoice delivery |
| `bcc_recipient_emails` | array | No | Optional list of email addresses to BCC on the invoice delivery |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Send Request Update Payment Email

**Slug:** `MAXIO_SEND_REQUEST_UPDATE_PAYMENT_EMAIL`

Sends an email to the customer requesting they update their payment method. Use when you need to prompt a customer to update their credit card or payment method on file. This is typically used when their current payment method is expiring, has been declined, or needs to be refreshed for any reason. The email will be sent to the billing email address associated with the subscription's customer account. The customer will receive a link to securely update their payment information through the billing portal. This action does not modify any subscription or payment data directly — it only triggers an email notification to the customer.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `subscription_id` | integer | Yes | The Chargify id of the subscription for which to request a payment profile update |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Unarchive Component Price Point

**Slug:** `MAXIO_UNARCHIVE_COMPONENT_PRICE_POINT`

Unarchives a component price point, restoring it to active status. Use this action when you need to reactivate an archived price point that was previously deactivated. Once unarchived, the price point becomes available for new subscriptions again. This action is idempotent — unarchiving an already active price point has no effect.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `component_id` | integer | Yes | The Chargify id of the component to which the price point belongs |
| `price_point_id` | integer | Yes | The Chargify id of the price point to unarchive |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Unarchive Offer

**Slug:** `MAXIO_UNARCHIVE_OFFER`

Unarchives a previously archived offer, making it available for new subscriptions again. Use this action when you need to restore an archived offer that was previously deactivated. This action is idempotent — unarchiving an already active offer has no effect.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `offer_id` | integer | Yes | The Chargify id of the offer to unarchive |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Unarchive product price point

**Slug:** `MAXIO_UNARCHIVE_PRODUCT_PRICE_POINT`

Unarchives a product price point by its ID. Use when you need to restore an archived price point that was previously deactivated. Once unarchived, the price point becomes available for new subscriptions again. This action is idempotent — unarchiving an already active price point has no effect.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `product_id` | string | Yes | The id or handle of the product. When using the handle, it must be prefixed with `handle:` |
| `price_point_id` | string | Yes | The id or handle of the price point. When using the handle, it must be prefixed with `handle:` |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Automatic Subscription Resumption

**Slug:** `MAXIO_UPDATE_AUTOMATIC_SUBSCRIPTION_RESUMPTION`

Updates automatic resumption settings for a paused subscription in Maxio (Chargify) Advanced Billing. Use when you need to enable or disable automatic resumption for a subscription that is in a paused (hold) state. This controls whether the subscription will automatically resume billing at the end of the paused period, or remain paused until manually resumed. Note: The subscription must already be in a paused/hold state for this action to take effect.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `subscription_id` | integer | Yes | The numeric ID of the subscription for which to update automatic resumption |
| `automatic_resumption` | boolean | Yes | When set to true, the subscription will automatically resume at the end of the paused period. When false, the subscription will remain paused until manually resumed |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Component

**Slug:** `MAXIO_UPDATE_COMPONENT`

Updates a component's details in Chargify. Use when you need to modify the name, description, pricing scheme, or other attributes of an existing billing component. Only the fields you provide in the request will be updated — fields not included retain their current values. The component_id is required to identify which component to update. This action is idempotent — calling it with the same parameters will produce the same result without side effects.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | The new name of the component |
| `handle` | string | No | A unique identifier (handle) for the component |
| `prices` | array | No | Array of price tiers to set for the component |
| `archived` | boolean | No | Whether the component is archived |
| `tax_code` | string | No | A tax code identifying what tax rules apply to this component |
| `unit_name` | string | No | The name of the unit (e.g., 'requests', 'GB', 'users') |
| `description` | string | No | The new description of the component |
| `component_id` | integer | Yes | The Chargify id of the component to update |
| `pricing_scheme` | string ("per_unit" | "tiered" | "volume" | "stair_step") | No | Pricing scheme for the component. |
| `upgrade_charge` | string | No | The type of charge to apply when upgrading mid-period: 'prorated' or 'immediate' |
| `downgrade_credit` | string | No | The type of credit to apply when downgrading mid-period: 'prorated' or 'none' |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Component Price Point

**Slug:** `MAXIO_UPDATE_COMPONENT_PRICE_POINT`

Updates a price point for a component in Maxio Advanced Billing. Use this action when you need to modify the pricing configuration (name, handle, exchange rate settings, or other attributes) of an existing component price point. Only the fields provided in the price_point object will be updated. Fields not included in the request will retain their current values.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `price_point` | object | No | Nested price_point object sent in the update request body. |
| `component_id` | integer | Yes | The Chargify id of the component to which the price point belongs. |
| `price_point_id` | integer | Yes | The Chargify id of the price point to update. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Coupon

**Slug:** `MAXIO_UPDATE_COUPON`

Updates an existing coupon within a product family in Maxio. Use when you need to modify coupon details such as name, description, code, discount settings, expiration date, or redemption limits. This action supports updating any writable coupon field. All fields are optional; only provided fields will be updated on the existing coupon.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `code` | string | No | The coupon code. Must be unique within the product family. |
| `name` | string | No | The name of the coupon |
| `duration` | string ("forever" | "single_use" | "repeating") | No | Duration of the coupon validity. |
| `coupon_id` | integer | Yes | The Chargify id of the coupon to update |
| `stackable` | boolean | No | Whether the coupon can be stacked with other coupons |
| `code_length` | integer | No | Length of the auto-generated coupon code (if code is not provided) |
| `description` | string | No | Description of the coupon |
| `discount_type` | string ("percentage" | "fixed" | "apply_on_each_renewal") | No | Type of discount for the coupon. |
| `discount_amount` | string | No | Fixed discount amount (when discount_type is 'fixed') |
| `expiration_date` | string | No | Expiration date of the coupon in YYYY-MM-DD format |
| `max_redemptions` | integer | No | Maximum number of redemptions allowed |
| `duration_interval` | integer | No | Number of billing intervals for repeating coupons (1-12) |
| `product_family_id` | integer | Yes | The Chargify id of the product family to which the coupon belongs |
| `discount_percentage` | string | No | Percentage discount (when discount_type is 'percentage') |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Coupon Subcodes

**Slug:** `MAXIO_UPDATE_COUPON_SUBCODES`

Updates all subcodes for an existing coupon in Maxio Advanced Billing. Use when you need to replace the entire set of subcodes for a coupon with a new set of codes for tracking, segmentation, or managing coupon usage. This operation overwrites all existing subcodes with the new codes provided. Note: Subcodes must be unique across the entire site - they cannot duplicate codes used by other coupons.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `codes` | array | Yes | Array of subcode strings to set for the coupon. This will replace all existing subcodes. Each code must be unique and not already exist on the coupon. Maximum of 1000 codes per request. |
| `coupon_id` | integer | Yes | The Chargify ID of the coupon to update subcodes for |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Customer

**Slug:** `MAXIO_UPDATE_CUSTOMER`

Updates an existing customer in Maxio/Chargify. Use this action when you need to modify customer information such as name, email, address, or other attributes. Only the fields provided in the customer object will be updated. Fields not included in the request will retain their current values.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `customer` | object | No | Nested customer object sent in the update request body. All fields are optional. |
| `customer_id` | integer | Yes | The Chargify id of the customer to update |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Invoice Customer Information

**Slug:** `MAXIO_UPDATE_CUSTOMER_INFORMATION`

Updates customer information on an invoice in Maxio/Chargify. Use this action when you need to modify customer details (such as name, email, organization) associated with a specific invoice. Only the fields provided in the customer object will be updated. Note: This action modifies the customer information displayed on the invoice. It does not update the master customer record. For updating the master customer record, use the UpdateCustomer action instead.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `customer` | object | Yes | The customer object containing the fields to update. At least one field must be provided. |
| `invoice_uid` | string | Yes | The unique identifier of the invoice (e.g., inv_c4rkt53zt457x) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Webhook Endpoint

**Slug:** `MAXIO_UPDATE_ENDPOINT`

Updates an existing webhook endpoint in Maxio Advanced Billing. Use when you need to modify an endpoint's URL or description. This action is idempotent - updating an endpoint with the same values will not change the endpoint. Only the fields provided in the endpoint object will be updated. Fields not included in the request will retain their current values.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `endpoint` | object | No | Nested endpoint object sent in the update request body. |
| `endpoint_id` | integer | Yes | The Chargify id of the endpoint that should be updated |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Payment Profile

**Slug:** `MAXIO_UPDATE_PAYMENT_PROFILE`

Updates an existing payment profile in Maxio (Chargify). Use when you need to modify an existing payment profile's details such as card information, billing address, or contact details. At least one field must be provided to update. Note: This action uses PUT which replaces the entire payment profile with the provided data. Only the fields you include in the request will be updated.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cvv` | string | No | Card Verification Value (CVV/CVC) - the 3 or 4 digit security code on the back of the card. |
| `company` | string | No | Company name associated with the payment profile. |
| `last_name` | string | No | Last name of the cardholder as it appears on the credit card. |
| `first_name` | string | No | First name of the cardholder as it appears on the credit card. |
| `billing_zip` | string | No | ZIP or postal code for the billing address. |
| `card_number` | string | No | Credit card number (full 16-digit card number). The card number will be tokenized by the payment gateway. |
| `vault_token` | string | No | Token representing a payment method already stored in the payment vault (e.g., from a previous transaction). If provided, other card details may not be needed. |
| `billing_city` | string | No | City for the billing address. |
| `billing_state` | string | No | State or province for the billing address. |
| `current_vault` | string | No | The vault where the card data is already stored. Examples: 'stripe', 'braintree', 'authorizenet'. |
| `payment_token` | string | No | A tokenized payment method token from a payment gateway. |
| `billing_address` | string | No | Street address for the billing address. |
| `billing_country` | string | No | Country code (2-letter ISO code) for the billing address. |
| `expiration_year` | integer | No | Expiration year of the credit card (4-digit year). |
| `expiration_month` | integer | No | Expiration month of the credit card (1-12). |
| `payment_profile_id` | integer | Yes | The Chargify id of the payment profile to update |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Prepaid Expiration

**Slug:** `MAXIO_UPDATE_PREPAID_EXPIRATION`

Updates the expiration date of a prepaid usage allocation. Use this action when you need to extend or change the expiration date of a prepaid allocation on a subscription component. This action is commonly used to: - Extend the validity period of a prepaid allocation - Correct an incorrect expiration date - Adjust expiration dates for promotional or trial periods Note: This action only modifies the expiration date. It does not affect the quantity or unit balance of the allocation.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expires_at` | string | Yes | The new expiration date for the prepaid allocation. Format: YYYY-MM-DD. |
| `component_id` | integer | Yes | The Chargify id of the component. This is the numeric ID of the component. |
| `allocation_id` | integer | Yes | The Chargify id of the allocation. This is the numeric ID of the allocation to update. |
| `subscription_id` | integer | Yes | The Chargify id of the subscription. This is the numeric ID of the subscription. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Product

**Slug:** `MAXIO_UPDATE_PRODUCT`

Updates an existing product in Maxio/Chargify. Use this action when you need to modify product information such as name, description, pricing, billing intervals, or other attributes. Only the fields provided in the product object will be updated. Fields not included in the request will retain their current values.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `product` | object | No | Nested product object sent in the update request body. All fields are optional. |
| `product_id` | integer | Yes | The Chargify id of the product to update |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Product Family Component

**Slug:** `MAXIO_UPDATE_PRODUCT_FAMILY_COMPONENT`

Updates a component within its product family in Maxio/Chargify. Use this action when you need to modify the configuration of an existing billing component (metered, quantity-based, on/off, prepaid usage, or event-based) within a product family. Only the fields provided in the component object will be updated. Fields not included in the request will retain their current values. The response returns the full updated component object. This is an idempotent operation — calling it multiple times with the same parameters will produce the same result.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `component` | object | No | Component fields that can be updated via PUT /product_families/{product_family_id}/components/{component_id}. All fields are optional - only provided fields will be updated. |
| `component_id` | string | Yes | Either the Chargify id of the component or the handle for the component prefixed with `handle:`. |
| `product_family_id` | integer | Yes | The Chargify id of the product family to which the component belongs. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Product Price Point

**Slug:** `MAXIO_UPDATE_PRODUCT_PRICE_POINT`

Updates a product price point in Maxio Advanced Billing. Use when you need to modify an existing pricing configuration for a product, such as changing the name, price, billing interval, trial period, or any other price point attribute. Only include the fields you want to change - all fields in the price_point object are optional for updates.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `product_id` | string | Yes | The ID or handle of the product. When using handle, prefix with 'handle:'. |
| `price_point` | object | Yes | The price point object containing the fields to update. At least one field must be provided. |
| `price_point_id` | string | Yes | The ID or handle of the price point to update. When using handle, prefix with 'handle:'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Reason Code

**Slug:** `MAXIO_UPDATE_REASON_CODE`

Updates an existing churn reason code in Maxio/Chargify Advanced Billing. Use this action when you need to modify an existing reason code to update its code identifier, description, or position in lists. This is commonly used to keep reason codes up-to-date as your churn categorization scheme evolves. Only the fields provided in the reason_code object will be updated. Fields not included in the request will retain their current values.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `reason_code` | object | No | Nested reason code object sent in the update request body. All fields are optional. |
| `reason_code_id` | integer | Yes | The Chargify id of the reason code to update |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Subscription

**Slug:** `MAXIO_UPDATE_SUBSCRIPTION`

Updates an existing subscription's details in Maxio/Chargify. Use this action when you need to modify subscription attributes such as product, payment method, billing settings, or apply coupons. Only the fields provided in the subscription object will be updated. Fields not included in the request will retain their current values. This action is commonly used to change products, update payment profiles, modify billing settings, or apply promotional codes.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `subscription` | object | No | Subscription update fields that can be modified. All fields are optional. |
| `subscription_id` | integer | Yes | The Chargify ID of the subscription to update |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Bulk Update Subscription Component Price Points

**Slug:** `MAXIO_UPDATE_SUBSCRIPTION_COMPONENTS_PRICE_POINTS`

Bulk updates component price points for a subscription. Use when you need to update multiple component price points for a subscription. Each component is updated via a separate API call sequentially, so the operation is NOT atomic - individual updates may succeed or fail independently. If a failure occurs partway through, earlier updates will NOT be rolled back. This action is idempotent - running it multiple times with the same parameters will produce the same result.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `price_points` | array | Yes | Array of component price point updates. Each entry specifies a component_id and the price_point_id to assign to it. Updates are applied sequentially and are NOT atomic - individual updates may succeed or fail independently. If one update fails, previously successful updates will not be rolled back. |
| `subscription_id` | string | Yes | The unique identifier of the subscription. Can be the Chargify subscription ID or its alias. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Subscription Note

**Slug:** `MAXIO_UPDATE_SUBSCRIPTION_NOTE`

Updates an existing note on a subscription in Maxio/Chargify Advanced Billing. Use this action when you need to modify the content or sticky status of an existing subscription note, such as updating customer communication records, revising support notes, or changing the visibility of a note. Note: At least one of body or sticky must be provided to update the note.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `body` | string | No | The updated content/body of the note |
| `sticky` | boolean | No | Whether the note should be marked as sticky. Sticky notes are displayed prominently. |
| `note_id` | integer | Yes | The Chargify note ID to update |
| `subscription_id` | integer | Yes | The Chargify subscription ID the note belongs to |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Validate Coupon

**Slug:** `MAXIO_VALIDATE_COUPON`

Validates a coupon code for a product. Use when you need to verify that a coupon code exists, is active, not expired, and hasn't exceeded its redemption limit before applying it to a subscription. This is a read-only operation that does not redeem the coupon.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `code` | string | Yes | The coupon code to validate |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Void Advance Invoice

**Slug:** `MAXIO_VOID_ADVANCE_INVOICE`

Voids an advance invoice for a subscription. This cancels the advance billing charges and prevents them from being processed. Use this action when you need to cancel or reverse an advance invoice before it is paid. This action is irreversible once executed — the advance invoice will be marked as voided and cannot be reinstated. Use with caution and ensure you have verified the correct invoice_uid before proceeding. Note: The invoice_uid is required to specify which advance invoice to void. Only advance invoices in 'open' or 'pending' state can be voided.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `reason` | string | Yes | The reason for voiding the advance invoice |
| `invoice_uid` | string | Yes | The unique identifier of the advance invoice to void |
| `subscription_id` | integer | Yes | The ID of the subscription whose advance invoice should be voided |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Void Invoice

**Slug:** `MAXIO_VOID_INVOICE`

Voids an open invoice to stop future collection. Once voided, the invoice transitions from 'open' (or 'draft') to 'voided' state and will not be collected. Use when you need to cancel an invoice before payment is processed, such as when a customer cancels before payment is due, there's a billing error, or the service was not provided. This action is irreversible — once voided, the invoice cannot be restored to its previous state. Note: Only invoices in 'draft' or 'open' state can be voided. Voiding stops all future collection attempts and marks the invoice as permanently canceled.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `reason` | string | No | The reason for voiding the invoice. Providing a reason helps with audit trails. |
| `invoice_uid` | string | Yes | The unique identifier of the invoice to void |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
