Maxio · Schema

Subscription

BillingSubscriptionRecurring BillingRevenue RecognitionSaaS MetricsPayments

Properties

Name Type Description
id integer The subscription unique id within Chargify.
state object
balance_in_cents integer Gives the current outstanding subscription balance in the number of cents.
total_revenue_in_cents integer Gives the total revenue from the subscription in the number of cents.
product_price_in_cents integer (Added Nov 5 2013) The recurring amount of the product (and version), currently subscribed. NOTE: this may differ from the current price of the product, if you’ve changed the price of the product but
product_version_number integer The version of the product for the subscription. Note that this is a deprecated field kept for backwards-compatibility.
current_period_ends_at stringnull Timestamp relating to the end of the current (recurring) period (i.e., when the next regularly scheduled attempted charge will occur)
next_assessment_at stringnull Timestamp that indicates when capture of payment will be tried or retried. This value will usually track the current_period_ends_at, but will diverge if a renewal payment fails and must be retried. In
trial_started_at stringnull Timestamp for when the trial period (if any) began
trial_ended_at stringnull Timestamp for when the trial period (if any) ended
activated_at stringnull Timestamp for when the subscription began (i.e., when it came out of trial, or when it began in the case of no trial)
expires_at stringnull Timestamp giving the expiration date of this subscription (if any)
created_at string The creation date for this subscription
updated_at string The date of last update for this subscription
cancellation_message stringnull Seller-provided reason for, or note about, the cancellation.
cancellation_method object
cancel_at_end_of_period booleannull Whether or not the subscription will (or has) canceled at the end of the period.
canceled_at stringnull The timestamp of the most recent cancellation
current_period_started_at stringnull Timestamp relating to the start of the current (recurring) period
previous_state object
signup_payment_id integer The ID of the transaction that generated the revenue
signup_revenue string The revenue, formatted as a string of decimal separated dollars and cents, from the subscription signup ($50.00 would be formatted as 50.00)
delayed_cancel_at stringnull Timestamp for when the subscription is currently set to cancel.
coupon_code stringnull (deprecated) The coupon code of the single coupon currently applied to the subscription. See coupon_codes instead as subscriptions can now have more than one coupon.
snap_day stringnull A day of month that subscription will be processed on. Can be 1 up to 28 or 'end'.
payment_collection_method object
customer object
product object
credit_card object
group object
bank_account object
payment_type stringnull The payment profile type for the active profile on file.
referral_code stringnull The subscription's unique code that can be given to referrals.
next_product_id integernull If a delayed product change is scheduled, the ID of the product that the subscription will be changed to at the next renewal.
next_product_handle stringnull If a delayed product change is scheduled, the handle of the product that the subscription will be changed to at the next renewal.
coupon_use_count integernull (deprecated) How many times the subscription's single coupon has been used. This field has no replacement for multiple coupons.
coupon_uses_allowed integernull (deprecated) How many times the subscription's single coupon may be used. This field has no replacement for multiple coupons.
reason_code stringnull The churn reason code associated to a canceled subscription.
automatically_resume_at stringnull The date the subscription is scheduled to automatically resume from the on_hold state.
coupon_codes array An array for all the coupons attached to the subscription.
offer_id integernull The ID of the offer associated with the subscription.
payer_id integernull On Relationship Invoicing, the ID of the individual paying for the subscription. Defaults to the Customer ID unless the 'Customer Hierarchies & WhoPays' feature is enabled.
current_billing_amount_in_cents integer The balance in cents plus the estimated renewal amount in cents. Returned ONLY for the readSubscription operation as it's a compute intensive operation.
product_price_point_id integer The product price point currently subscribed to.
product_price_point_type object
next_product_price_point_id integernull If a delayed product change is scheduled, the ID of the product price point that the subscription will be changed to at the next renewal.
net_terms integernull On Relationship Invoicing, the number of days before a renewal invoice is due.
stored_credential_transaction_id integernull For European sites subject to PSD2 and using 3D Secure, this can be used to reference a previous transaction for the customer. This will ensure the card will be charged successfully at renewal.
reference stringnull The reference value (provided by your app) for the subscription itself.
on_hold_at stringnull The timestamp of the most recent on hold action.
prepaid_dunning boolean Boolean representing whether the subscription is prepaid and currently in dunning. Only returned for Relationship Invoicing sites with the feature enabled.
coupons array Additional coupon data. To use this data you also have to include the following param in the request: `include[]=coupons`. Only in Read Subscription Endpoint.
dunning_communication_delay_enabled boolean Enable Communication Delay feature, making sure no communication (email or SMS) is sent to the Customer between 9PM and 8AM in time zone set by the `dunning_communication_delay_time_zone` attribute.
dunning_communication_delay_time_zone stringnull Time zone for the Dunning Communication Delay feature.
receives_invoice_emails booleannull
locale stringnull
currency string
scheduled_cancellation_at stringnull
credit_balance_in_cents integer
prepayment_balance_in_cents integer
prepaid_configuration object
self_service_page_token string Returned only for list/read Subscription operation when `include[]=self_service_page_token` parameter is provided.
View JSON Schema on GitHub

JSON Schema

maxio-subscription-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/maxio/json-schema/maxio-subscription-schema.json",
  "title": "Subscription",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/maxio-advanced-billing-openapi.yml#/components/schemas/Subscription",
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "description": "The subscription unique id within Chargify.",
      "contentEncoding": "int32"
    },
    "state": {
      "allOf": [
        {
          "$ref": "#/$defs/SubscriptionState"
        },
        {
          "description": "The state of a subscription.\n* **Live States**\n    * `active` - A normal, active subscription. It is not in a trial and is paid and up to date.\n    * `assessing` - An internal (transient) state that indicates a subscription is in the middle of periodic assessment. Do not base any access decisions in your app on this state, as it may not always be exposed.\n    * `pending` - An internal (transient) state that indicates a subscription is in the creation process. Do not base any access decisions in your app on this state, as it may not always be exposed.\n    * `trialing` - A subscription in trialing state has a valid trial subscription. This type of subscription may transition to active once payment is received when the trial has ended. Otherwise, it may go to a Problem or End of Life state.\n    * `paused` - An internal state that indicates that your account with Advanced Billing is in arrears.\n* **Problem States**\n    * `past_due` - Indicates that the most recent payment has failed, and payment is past due for this subscription. If you have enabled our automated dunning, this subscription will be in the dunning process (additional status and callbacks from the dunning process will be available in the future). If you are handling dunning and payment updates yourself, you will want to use this state to initiate a payment update from your customers.\n    * `soft_failure` - Indicates that normal assessment/processing of the subscription has failed for a reason that cannot be fixed by the Customer. For example, a Soft Fail may result from a timeout at the gateway or incorrect credentials on your part. The subscriptions should be retried automatically. An interface is being built for you to review problems resulting from these events to take manual action when needed.\n    * `unpaid` - Indicates an unpaid subscription. A subscription is marked unpaid if the retry period expires and you have configured your [Dunning](https://docs.maxio.com/billing/subscriptions/dunning/overview/understanding-how-dunning-works) settings to have a Final Action of `mark the subscription unpaid`.\n* **End of Life States**\n    * `canceled` - Indicates a canceled subscription. This may happen at your request (via the API or the web interface) or due to the expiration of the [Dunning](https://docs.maxio.com/billing/subscriptions/dunning/overview/understanding-how-dunning-works) process without payment. See the [Reactivation](https://docs.maxio.com/billing/subscriptions/management/state-management/understand-reactivation-and-resume-scenarios) documentation for info on how to restart a canceled subscription.\n    While a subscription is canceled, its period will not advance, it will not accrue any new charges, and Advanced Billing will not attempt to collect the overdue balance.\n    * `expired` - Indicates a subscription that has expired due to running its normal life cycle. Some products may be configured to have an expiration period. An expired subscription then is one that stayed active until it fulfilled its full period.\n    * `failed_to_create` - Indicates that signup has failed. (You may see this state in a signup_failure webhook.)\n    * `on_hold` - Indicates that a subscription’s billing has been temporarily stopped. While it is expected that the subscription will resume and return to active status, this is still treated as an “End of Life” state because the customer is not paying for services during this time.\n    * `suspended` - Indicates that a prepaid subscription has used up all their prepayment balance. If a prepayment is applied, it will return to an active state.\n    * `trial_ended` - A subscription in a trial_ended state is a subscription that completed a no-obligation trial and did not have a card on file at the expiration of the trial period. See [Product Pricing – No Obligation Trials](https://docs.maxio.com/billing/catalog/plans/creating-plans) for more details.\n\nSee [Subscription States](https://docs.maxio.com/billing/subscriptions/management/subscription-states/understand-subscription-states) for more info about subscription states and state transitions."
        }
      ]
    },
    "balance_in_cents": {
      "type": "integer",
      "description": "Gives the current outstanding subscription balance in the number of cents.",
      "contentEncoding": "int64"
    },
    "total_revenue_in_cents": {
      "type": "integer",
      "description": "Gives the total revenue from the subscription in the number of cents.",
      "contentEncoding": "int64"
    },
    "product_price_in_cents": {
      "type": "integer",
      "description": "(Added Nov 5 2013) The recurring amount of the product (and version), currently subscribed. NOTE: this may differ from the current price of the product, if you’ve changed the price of the product but haven’t moved this subscription to a newer version.",
      "contentEncoding": "int64"
    },
    "product_version_number": {
      "type": "integer",
      "description": "The version of the product for the subscription. Note that this is a deprecated field kept for backwards-compatibility.",
      "contentEncoding": "int32"
    },
    "current_period_ends_at": {
      "type": [
        "string",
        "null"
      ],
      "description": "Timestamp relating to the end of the current (recurring) period (i.e., when the next regularly scheduled attempted charge will occur)",
      "contentEncoding": "date-time"
    },
    "next_assessment_at": {
      "type": [
        "string",
        "null"
      ],
      "description": "Timestamp that indicates when capture of payment will be tried or retried. This value will usually track the current_period_ends_at, but will diverge if a renewal payment fails and must be retried. In that case, the current_period_ends_at will advance to the end of the next period (time doesn’t stop because a payment was missed) but the next_assessment_at will be scheduled for the auto-retry time (e.g., 24 hours in the future, in some cases).",
      "contentEncoding": "date-time"
    },
    "trial_started_at": {
      "type": [
        "string",
        "null"
      ],
      "description": "Timestamp for when the trial period (if any) began",
      "contentEncoding": "date-time"
    },
    "trial_ended_at": {
      "type": [
        "string",
        "null"
      ],
      "description": "Timestamp for when the trial period (if any) ended",
      "contentEncoding": "date-time"
    },
    "activated_at": {
      "type": [
        "string",
        "null"
      ],
      "description": "Timestamp for when the subscription began (i.e., when it came out of trial, or when it began in the case of no trial)",
      "contentEncoding": "date-time"
    },
    "expires_at": {
      "type": [
        "string",
        "null"
      ],
      "description": "Timestamp giving the expiration date of this subscription (if any)",
      "contentEncoding": "date-time"
    },
    "created_at": {
      "type": "string",
      "description": "The creation date for this subscription",
      "contentEncoding": "date-time"
    },
    "updated_at": {
      "type": "string",
      "description": "The date of last update for this subscription",
      "contentEncoding": "date-time"
    },
    "cancellation_message": {
      "type": [
        "string",
        "null"
      ],
      "description": "Seller-provided reason for, or note about, the cancellation."
    },
    "cancellation_method": {
      "allOf": [
        {
          "oneOf": [
            {},
            {
              "$ref": "#/$defs/CancellationMethod"
            }
          ]
        },
        {
          "description": "The process used to cancel the subscription, if the subscription has been canceled. It is nil if the subscription's state is not canceled."
        }
      ]
    },
    "cancel_at_end_of_period": {
      "type": [
        "boolean",
        "null"
      ],
      "description": "Whether or not the subscription will (or has) canceled at the end of the period."
    },
    "canceled_at": {
      "type": [
        "string",
        "null"
      ],
      "description": "The timestamp of the most recent cancellation",
      "contentEncoding": "date-time"
    },
    "current_period_started_at": {
      "type": [
        "string",
        "null"
      ],
      "description": "Timestamp relating to the start of the current (recurring) period",
      "contentEncoding": "date-time"
    },
    "previous_state": {
      "allOf": [
        {
          "$ref": "#/$defs/SubscriptionState"
        },
        {
          "description": "Only valid for webhook payloads The previous state for webhooks that have indicated a change in state. For normal API calls, this will always be the same as the state (current state)."
        }
      ]
    },
    "signup_payment_id": {
      "type": "integer",
      "description": "The ID of the transaction that generated the revenue",
      "contentEncoding": "int32"
    },
    "signup_revenue": {
      "type": "string",
      "description": "The revenue, formatted as a string of decimal separated dollars and cents, from the subscription signup ($50.00 would be formatted as 50.00)"
    },
    "delayed_cancel_at": {
      "type": [
        "string",
        "null"
      ],
      "description": "Timestamp for when the subscription is currently set to cancel.",
      "contentEncoding": "date-time"
    },
    "coupon_code": {
      "type": [
        "string",
        "null"
      ],
      "description": "(deprecated) The coupon code of the single coupon currently applied to the subscription. See coupon_codes instead as subscriptions can now have more than one coupon.",
      "deprecated": true
    },
    "snap_day": {
      "type": [
        "string",
        "null"
      ],
      "description": "A day of month that subscription will be processed on. Can be 1 up to 28 or 'end'."
    },
    "payment_collection_method": {
      "allOf": [
        {
          "$ref": "#/$defs/CollectionMethod"
        },
        {
          "description": "The type of payment collection to be used in the subscription. For legacy Statements Architecture valid options are - `invoice`, `automatic`. For current Relationship Invoicing Architecture valid options are - `remittance`, `automatic`, `prepaid`."
        }
      ]
    },
    "customer": {
      "$ref": "#/$defs/Customer"
    },
    "product": {
      "$ref": "#/$defs/Product"
    },
    "credit_card": {
      "allOf": [
        {
          "$ref": "#/$defs/CreditCardPaymentProfile"
        },
        {}
      ]
    },
    "group": {
      "allOf": [
        {
          "oneOf": [
            {},
            {
              "$ref": "#/$defs/NestedSubscriptionGroup"
            }
          ]
        },
        {}
      ]
    },
    "bank_account": {
      "$ref": "#/$defs/BankAccountPaymentProfile"
    },
    "payment_type": {
      "type": [
        "string",
        "null"
      ],
      "description": "The payment profile type for the active profile on file."
    },
    "referral_code": {
      "type": [
        "string",
        "null"
      ],
      "description": "The subscription's unique code that can be given to referrals."
    },
    "next_product_id": {
      "type": [
        "integer",
        "null"
      ],
      "description": "If a delayed product change is scheduled, the ID of the product that the subscription will be changed to at the next renewal.",
      "contentEncoding": "int32"
    },
    "next_product_handle": {
      "type": [
        "string",
        "null"
      ],
      "description": "If a delayed product change is scheduled, the handle of the product that the subscription will be changed to at the next renewal."
    },
    "coupon_use_count": {
      "type": [
        "integer",
        "null"
      ],
      "description": "(deprecated) How many times the subscription's single coupon has been used. This field has no replacement for multiple coupons.",
      "contentEncoding": "int32",
      "deprecated": true
    },
    "coupon_uses_allowed": {
      "type": [
        "integer",
        "null"
      ],
      "description": "(deprecated) How many times the subscription's single coupon may be used. This field has no replacement for multiple coupons.",
      "contentEncoding": "int32",
      "deprecated": true
    },
    "reason_code": {
      "type": [
        "string",
        "null"
      ],
      "description": "The churn reason code associated to a canceled subscription."
    },
    "automatically_resume_at": {
      "type": [
        "string",
        "null"
      ],
      "description": "The date the subscription is scheduled to automatically resume from the on_hold state.",
      "contentEncoding": "date-time"
    },
    "coupon_codes": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "An array for all the coupons attached to the subscription."
    },
    "offer_id": {
      "type": [
        "integer",
        "null"
      ],
      "description": "The ID of the offer associated with the subscription.",
      "contentEncoding": "int32"
    },
    "payer_id": {
      "type": [
        "integer",
        "null"
      ],
      "description": "On Relationship Invoicing, the ID of the individual paying for the subscription. Defaults to the Customer ID unless the 'Customer Hierarchies & WhoPays' feature is enabled.",
      "contentEncoding": "int32"
    },
    "current_billing_amount_in_cents": {
      "type": "integer",
      "description": "The balance in cents plus the estimated renewal amount in cents. Returned ONLY for the readSubscription operation as it's a compute intensive operation.",
      "contentEncoding": "int64"
    },
    "product_price_point_id": {
      "type": "integer",
      "description": "The product price point currently subscribed to.",
      "contentEncoding": "int32"
    },
    "product_price_point_type": {
      "allOf": [
        {
          "$ref": "#/$defs/PricePointType"
        },
        {
          "description": "Price point type. We expose the following types:\n1. **default**: a price point that is marked as a default price for a certain product.\n2. **custom**: a custom price point.\n3. **catalog**: a price point that is **not** marked as a default price for a certain product and is **not** a custom one."
        }
      ]
    },
    "next_product_price_point_id": {
      "type": [
        "integer",
        "null"
      ],
      "description": "If a delayed product change is scheduled, the ID of the product price point that the subscription will be changed to at the next renewal.",
      "contentEncoding": "int32"
    },
    "net_terms": {
      "type": [
        "integer",
        "null"
      ],
      "description": "On Relationship Invoicing, the number of days before a renewal invoice is due.",
      "contentEncoding": "int32"
    },
    "stored_credential_transaction_id": {
      "type": [
        "integer",
        "null"
      ],
      "description": "For European sites subject to PSD2 and using 3D Secure, this can be used to reference a previous transaction for the customer. This will ensure the card will be charged successfully at renewal.",
      "contentEncoding": "int32"
    },
    "reference": {
      "type": [
        "string",
        "null"
      ],
      "description": "The reference value (provided by your app) for the subscription itself."
    },
    "on_hold_at": {
      "type": [
        "string",
        "null"
      ],
      "description": "The timestamp of the most recent on hold action.",
      "contentEncoding": "date-time"
    },
    "prepaid_dunning": {
      "type": "boolean",
      "description": "Boolean representing whether the subscription is prepaid and currently in dunning. Only returned for Relationship Invoicing sites with the feature enabled."
    },
    "coupons": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/SubscriptionIncludedCoupon"
      },
      "description": "Additional coupon data. To use this data you also have to include the following param in the request: `include[]=coupons`.\nOnly in Read Subscription Endpoint."
    },
    "dunning_communication_delay_enabled": {
      "type": "boolean",
      "description": "Enable Communication Delay feature, making sure no communication (email or SMS) is sent to the Customer between 9PM and 8AM in time zone set by the `dunning_communication_delay_time_zone` attribute."
    },
    "dunning_communication_delay_time_zone": {
      "type": [
        "string",
        "null"
      ],
      "description": "Time zone for the Dunning Communication Delay feature."
    },
    "receives_invoice_emails": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "locale": {
      "type": [
        "string",
        "null"
      ]
    },
    "currency": {
      "type": "string"
    },
    "scheduled_cancellation_at": {
      "type": [
        "string",
        "null"
      ],
      "contentEncoding": "date-time"
    },
    "credit_balance_in_cents": {
      "type": "integer",
      "contentEncoding": "int64"
    },
    "prepayment_balance_in_cents": {
      "type": "integer",
      "contentEncoding": "int64"
    },
    "prepaid_configuration": {
      "allOf": [
        {
          "oneOf": [
            {},
            {
              "$ref": "#/$defs/PrepaidConfiguration"
            }
          ]
        },
        {}
      ]
    },
    "self_service_page_token": {
      "type": "string",
      "description": "Returned only for list/read Subscription operation when `include[]=self_service_page_token` parameter is provided."
    }
  },
  "$defs": {
    "BankAccountHolderType": {
      "title": "BankAccountHolderType",
      "enum": [
        "personal",
        "business"
      ],
      "type": "string",
      "description": "Defaults to personal"
    },
    "BankAccountPaymentProfile": {
      "title": "BankAccountPaymentProfile",
      "required": [
        "payment_type"
      ],
      "type": "object",
      "properties": {
        "id": {
          "type": "integer",
          "description": "The Chargify-assigned ID of the stored bank account. This value can be used as an input to payment_profile_id when creating a subscription, in order to re-use a stored payment profile for the same customer.",
          "contentEncoding": "int32"
        },
        "first_name": {
          "type": "string",
          "description": "The first name of the bank account holder"
        },
        "last_name": {
          "type": "string",
          "description": "The last name of the bank account holder"
        },
        "customer_id": {
          "type": "integer",
          "description": "The Chargify-assigned ID for the customer record to which the bank account belongs",
          "contentEncoding": "int32"
        },
        "current_vault": {
          "allOf": [
            {
              "$ref": "#/$defs/BankAccountVault"
            },
            {
              "description": "The vault that stores the payment profile with the provided vault_token. Use `bogus` for testing."
            }
          ]
        },
        "vault_token": {
          "type": "string",
          "description": "The \"token\" provided by your vault storage for an already stored payment profile"
        },
        "billing_address": {
          "type": [
            "string",
            "null"
          ],
          "description": "The current billing street address for the bank account"
        },
        "billing_city": {
          "type": [
            "string",
            "null"
          ],
          "description": "The current billing address city for the bank account"
        },
        "billing_state": {
          "type": [
            "string",
            "null"
          ],
          "description": "The current billing address state for the bank account"
        },
        "billing_zip": {
          "type": [
            "string",
            "null"
          ],
          "description": "The current billing address zip code for the bank account"
        },
        "billing_country": {
          "type": [
            "string",
            "null"
          ],
          "description": "The current billing address country for the bank account"
        },
        "customer_vault_token": {
          "type": [
            "string",
            "null"
          ],
          "description": "(only for Authorize.Net CIM storage): the customerProfileId for the owner of the customerPaymentProfileId provided as the vault_token."
        },
        "billing_address_2": {
          "type": [
            "string",
            "null"
          ],
          "description": "The current billing street address, second line, for the bank account"
        },
        "bank_name": {
          "type": "string",
          "description": "The bank where the account resides"
        },
        "masked_bank_routing_number": {
          "type": [
            "string",
            "null"
          ],
          "description": "A string representation of the stored bank routing number with all but the last 4 digits marked with X's (i.e. 'XXXXXXX1111'). payment_type will be bank_account."
        },
        "masked_bank_account_number": {
          "type": [
            "string",
            "null"
          ],
          "description": "A string representation of the stored bank account number with all but the last 4 digits marked with X's (i.e. 'XXXXXXX1111')."
        },
        "bank_account_type": {
          "allOf": [
            {
              "$ref": "#/$defs/BankAccountType"
            },
            {
              "description": "Defaults to checking"
            }
          ]
        },
        "bank_account_holder_type": {
          "allOf": [
            {
              "$ref": "#/$defs/BankAccountHolderType"
            },
            {
              "description": "Defaults to personal"
            }
          ]
        },
        "payment_type": {
          "allOf": [
            {
              "$ref": "#/$defs/PaymentType"
            },
            {}
          ]
        },
        "verified": {
          "type": "boolean",
          "description": "Denotes whether a bank account has been verified by providing the amounts of two small deposits made into the account.",
          "default": false
        },
        "site_gateway_setting_id": {
          "type": [
            "integer",
            "null"
          ],
          "contentEncoding": "int32"
        },
        "gateway_handle": {
          "type": [
            "string",
            "null"
          ]
        },
        "created_at": {
          "type": "string",
          "description": "A timestamp indicating when this payment profile was created",
          "contentEncoding": "date-time"
        },
        "updated_at": {
          "type": "string",
          "description": "A timestamp indicating when this payment profile was last updated",
          "contentEncoding": "date-time"
        }
      }
    },
    "BankAccountType": {
      "title": "BankAccountType",
      "enum": [
        "checking",
        "savings"
      ],
      "type": "string",
      "description": "Defaults to checking"
    },
    "BankAccountVault": {
      "title": "BankAccountVault",
      "enum": [
        "authorizenet",
        "blue_snap",
        "bogus",
        "forte",
        "gocardless",
        "maxio_payments",
        "maxp",
        "stripe_connect"
      ],
      "type": "string",
      "description": "The vault that stores the payment profile with the provided vault_token. Use `bogus` for testing."
    },
    "CancellationMethod": {
      "title": "CancellationMethod",
      "enum": [
        "merchant_ui",
        "merchant_api",
        "dunning",
        "billing_portal",
        "unknown",
        "imported"
      ],
      "type": "string",
      "description": "The process used to cancel the subscription, if the subscription has been canceled. It is nil if the subscription's state is not canceled."
    },
    "CardType": {
      "title": "CardType",
      "enum": [
        "visa",
        "master",
        "elo",
        "cabal",
        "alelo",
        "discover",
        "american_express",
        "naranja",
        "diners_club",
        "jcb",
        "dankort",
        "maestro",
        "maestro_no_luhn",
        "forbrugsforeningen",
        "sodexo",
        "alia",
        "vr",
        "unionpay",
        "carnet",
        "cartes_bancaires",
        "olimpica",
        "creditel",
        "confiable",
        "synchrony",
        "routex",
        "mada",
        "bp_plus",
        "passcard",
        "edenred",
        "anda",
        "tarjeta-d",
        "hipercard",
        "bogus",
        "switch",
        "solo",
        "laser"
      ],
      "type": "string",
      "description": "The type of card used."
    },
    "CollectionMethod": {
      "title": "CollectionMethod",
      "enum": [
        "automatic",
        "remittance",
        "prepaid",
        "invoice"
      ],
      "type": "string",
      "description": "The type of payment collection to be used in the subscription. For legacy Statements Architecture valid options are - `invoice`, `automatic`. For current Relationship Invoicing Architecture valid options are - `remittance`, `automatic`, `prepaid`."
    },
    "CreditCardPaymentProfile": {
      "title": "CreditCardPaymentProfile",
      "required": [
        "payment_type"
      ],
      "type": "object",
      "properties": {
        "id": {
          "type": "integer",
          "description": "The Chargify-assigned ID of the stored card. This value can be used as an input to payment_profile_id when creating a subscription, in order to re-use a stored payment profile for the same customer.",
          "contentEncoding": "int32"
        },
        "first_name": {
          "type": "string",
          "description": "The first name of the card holder."
        },
        "last_name": {
          "type": "string",
          "description": "The last name of the card holder."
        },
        "masked_card_number": {
          "type": "string",
          "description": "A string representation of the credit card number with all but the last 4 digits masked with X’s (e.g., ‘XXXX-XXXX-XXXX-1234’)."
        },
        "card_type": {
          "allOf": [
            {
              "oneOf": [
                {},
                {
                  "$ref": "#/$defs/CardType"
                }
              ]
            },
            {
              "description": "The type of card used."
            }
          ]
        },
        "expiration_month": {
          "type": "integer",
          "description": "An integer representing the expiration month of the card(1 – 12).",
          "contentEncoding": "int32"
        },
        "expiration_year": {
          "type": "integer",
          "description": "An integer representing the 4-digit expiration year of the card(e.g., ‘2012’).",
          "contentEncoding": "int32"
        },
        "customer_id": {
          "type": "integer",
          "description": "The Chargify-assigned id for the customer record to which the card belongs.",
          "contentEncoding": "int32"
        },
        "current_vault": {
          "allOf": [
            {
              "$ref": "#/$defs/CreditCardVault"
            },
            {
              "description": "The vault that stores the payment profile with the provided `vault_token`. Use `bogus` for testing."
            }
          ]
        },
        "vault_token": {
          "type": [
            "string",
            "null"
          ],
          "description": "The “token” provided by your vault storage for an already stored payment profile."
        },
        "billing_address": {
          "type": [
            "string",
            "null"
          ],
          "description": "The current billing street address for the card."
        },
        "billing_city": {
          "type": [
            "string",
            "null"
          ],
          "description": "The current billing address city for the card."
        },
        "billing_state": {
          "type": [
            "string",
            "null"
          ],
          "description": "The current billing address state for the card."
        },
        "billing_zip": {
          "type": [
            "string",
            "null"
          ],
          "description": "The current billing address zip code for the card."
        },
        "billing_country": {
          "type": [
            "string",
            "null"
          ],
          "description": "The current billing address country for the card."
        },
        "customer_vault_token": {
          "type": [
            "string",
            "null"
          ],
          "description": "(only for Authorize.Net CIM storage): the customerProfileId for the owner of the customerPaymentProfileId provided as the vault_token."
        },
        "billing_address_2": {
          "type": [
            "string",
            "null"
          ],
          "description": "The current billing street address, second line, for the card."
        },
        "payment_type": {
          "allOf": [
            {
              "$ref": "#/$defs/PaymentType"
            },
            {}
          ]
        },
        "disabled": {
          "type": "boolean"
        },
        "chargify_token": {
          "type": "string",
          "description": "Token received after sending billing information using Maxio.js (formerly Chargify.js). This token will only be received if passed as a sole attribute of credit_card_attributes (e.g., tok_9g6hw85pnpt6knmskpwp4ttt)."
        },
        "site_gateway_setting_id": {
          "type": [
            "integer",
            "null"
          ],
          "contentEncoding": "int32"
        },
        "gateway_handle": {
          "type": [
            "string",
            "null"
          ],
          "description": "An identifier of connected gateway."
        },
        "created_at": {
          "type": "string",
          "description": "A timestamp indicating when this payment profile was created",
          "contentEncoding": "date-time"
        },
        "updated_at": {
          "type": "string",
          "description": "A timestamp indicating when this payment profile was last updated",
          "contentEncoding": "date-time"
        }
      }
    },
    "CreditCardVault": {
      "title": "CreditCardVault",
      "enum": [
        "adyen",
        "authorizenet",
        "beanstream",
        "blue_snap",
        "bogus",
        "braintree1",
        "braintree_blue",
        "checkout",
        "cybersource",
        "elavon",
        "eway",
        "eway_rapid",
        "eway_rapid_std",
        "firstdata",
        "forte",
        "litle",
        "maxio_payments",
        "maxp",
        "moduslink",
        "moneris",
        "nmi",
        "orbital",
        "payment_express",
        "paymill",
        "paypal",
        "paypal_complete",
        "pin",
        "square",
        "stripe",
        "stripe_connect",
        "trust_commerce",
        "unipaas",
        "wirecard"
      ],
      "type": "string",
      "description": "The vault that stores the payment profile with the provided `vault_token`. Use `bogus` for testing."
    },
    "Customer": {
      "title": "Customer",
      "type": "object",
      "properties": {
        "first_name": {
          "type": "string",
          "description": "The first name of the customer"
        },
        "last_name": {
          "type": "string",
          "description": "The last name of the customer"
        },
        "email": {
          "type": "string",
          "description": "The email address of the customer"
        },
        "cc_emails": {
          "type": [
            "string",
            "null"
          ],
          "description": "“A comma-separated list of emails that 

# --- truncated at 32 KB (63 KB total) ---
# Full source: https://artifacts.apis.io/maxio/json-schema/maxio-subscription-schema.json

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/maxio-subscription"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.