Maxio · Schema

Invoice

BillingSubscriptionRecurring BillingRevenue RecognitionSaaS MetricsPayments

Properties

Name Type Description
id integer
uid string Unique identifier for the invoice. It is generated automatically by Chargify and has the prefix "inv_" followed by alphanumeric characters.
site_id integer ID of the site to which the invoice belongs.
customer_id integer ID of the customer to which the invoice belongs.
subscription_id integer ID of the subscription that generated the invoice.
number string A unique, identifying string that appears on the invoice and in places the invoice is referenced. While the UID is long and not appropriate to show to customers, the number is usually shorter and cons
sequence_number integer A monotonically increasing number assigned to invoices as they are created. This number is unique within a site and can be used to sort and order invoices.
transaction_time string
created_at string
updated_at string
issue_date string Date the invoice was issued to the customer. This is the date that the invoice was made available for payment. The format is `"YYYY-MM-DD"`.
due_date string Date the invoice is due. The format is `"YYYY-MM-DD"`.
paid_date stringnull Date the invoice became fully paid. If partial payments are applied to the invoice, this date will not be present until payment has been made in full. The format is `"YYYY-MM-DD"`.
status object
role object
parent_invoice_id integernull
collection_method object
payment_instructions string A message that is printed on the invoice when it is marked for remittance collection. It is intended to describe to the customer how they may make payment, and is configured by the merchant.
currency string The ISO 4217 currency code (3 character string) representing the currency of invoice transaction.
consolidation_level object
parent_invoice_uid stringnull For invoices with `consolidation_level` of `child`, this specifies the UID of the parent (consolidated) invoice.
subscription_group_id integernull
parent_invoice_number integernull For invoices with `consolidation_level` of `child`, this specifies the number of the parent (consolidated) invoice.
group_primary_subscription_id integernull For invoices with `consolidation_level` of `parent`, this specifies the ID of the subscription which was the primary subscription of the subscription group that generated the invoice.
product_name string The name of the product subscribed when the invoice was generated.
product_family_name string The name of the product family subscribed when the invoice was generated.
seller object
customer object
payer object
recipient_emails array
net_terms integer
memo string The memo printed on invoices of any collection type. This message is in control of the merchant.
billing_address object
shipping_address object
subtotal_amount string Subtotal of the invoice, which is the sum of all line items before discounts or taxes.
discount_amount string Total discount applied to the invoice.
tax_amount string Total tax on the invoice.
total_amount string The invoice total, which is `subtotal_amount - discount_amount + tax_amount`.
credit_amount string The amount of credit (from credit notes) applied to this invoice. Credits offset the amount due from the customer.
debit_amount string
refund_amount string
paid_amount string The amount paid on the invoice by the customer.
due_amount string Amount due on the invoice, which is `total_amount - credit_amount - paid_amount`.
line_items array Line items on the invoice.
discounts array
taxes array
credits array
debits array
refunds array
payments array
custom_fields array
display_settings object
avatax_details object
public_url string The public URL of the invoice
previous_balance_data object
public_url_expires_on string The format is `"YYYY-MM-DD"`.
branding_theme_id integernull The ID of the Branding Theme associated with this invoice. This value represents the Branding Theme used for invoice theming, such as themed invoice rendering. Available only when Branding Themes are
View JSON Schema on GitHub

JSON Schema

maxio-invoice-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/maxio/json-schema/maxio-invoice-schema.json",
  "title": "Invoice",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/maxio-advanced-billing-openapi.yml#/components/schemas/Invoice",
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "contentEncoding": "int64"
    },
    "uid": {
      "type": "string",
      "description": "Unique identifier for the invoice. It is generated automatically by Chargify and has the prefix \"inv_\" followed by alphanumeric characters."
    },
    "site_id": {
      "type": "integer",
      "description": "ID of the site to which the invoice belongs.",
      "contentEncoding": "int32"
    },
    "customer_id": {
      "type": "integer",
      "description": "ID of the customer to which the invoice belongs.",
      "contentEncoding": "int32"
    },
    "subscription_id": {
      "type": "integer",
      "description": "ID of the subscription that generated the invoice.",
      "contentEncoding": "int32"
    },
    "number": {
      "type": "string",
      "description": "A unique, identifying string that appears on the invoice and in places the invoice is referenced.\n\nWhile the UID is long and not appropriate to show to customers, the number is usually shorter and consumable by the customer and the merchant alike."
    },
    "sequence_number": {
      "type": "integer",
      "description": "A monotonically increasing number assigned to invoices as they are created. This number is unique within a site and can be used to sort and order invoices.",
      "contentEncoding": "int32"
    },
    "transaction_time": {
      "type": "string",
      "contentEncoding": "date-time"
    },
    "created_at": {
      "type": "string",
      "contentEncoding": "date-time"
    },
    "updated_at": {
      "type": "string",
      "contentEncoding": "date-time"
    },
    "issue_date": {
      "type": "string",
      "description": "Date the invoice was issued to the customer. This is the date that the invoice was made available for payment.\n\nThe format is `\"YYYY-MM-DD\"`.",
      "contentEncoding": "date"
    },
    "due_date": {
      "type": "string",
      "description": "Date the invoice is due.\n\nThe format is `\"YYYY-MM-DD\"`.",
      "contentEncoding": "date"
    },
    "paid_date": {
      "type": [
        "string",
        "null"
      ],
      "description": "Date the invoice became fully paid.\n\nIf partial payments are applied to the invoice, this date will not be present until payment has been made in full.\n\nThe format is `\"YYYY-MM-DD\"`.",
      "contentEncoding": "date"
    },
    "status": {
      "allOf": [
        {
          "$ref": "#/$defs/InvoiceStatus"
        },
        {
          "description": "The current status of the invoice. See [Invoice Statuses](https://docs.maxio.com/billing/invoicing/overview/understand-how-invoices-are-generated#invoice-statuses) for more."
        }
      ]
    },
    "role": {
      "$ref": "#/$defs/InvoiceRole"
    },
    "parent_invoice_id": {
      "type": [
        "integer",
        "null"
      ],
      "contentEncoding": "int32"
    },
    "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`."
        }
      ]
    },
    "payment_instructions": {
      "type": "string",
      "description": "A message that is printed on the invoice when it is marked for remittance collection. It is intended to describe to the customer how they may make payment, and is configured by the merchant."
    },
    "currency": {
      "type": "string",
      "description": "The ISO 4217 currency code (3 character string) representing the currency of invoice transaction."
    },
    "consolidation_level": {
      "allOf": [
        {
          "$ref": "#/$defs/InvoiceConsolidationLevel"
        },
        {
          "description": "Consolidation level of the invoice, which is applicable to invoice consolidation. It will hold one of the following values:\n\n* \"none\": A normal invoice with no consolidation.\n* \"child\": An invoice segment which has been combined into a consolidated invoice.\n* \"parent\": A consolidated invoice, whose contents are composed of invoice segments.\n\n\"Parent\" invoices do not have lines of their own, but they have subtotals and totals which aggregate the member invoice segments.\n\nSee also the [invoice consolidation documentation](https://docs.maxio.com/billing/invoicing/working-with-invoices/understand-invoice-consolidation)."
        }
      ]
    },
    "parent_invoice_uid": {
      "type": [
        "string",
        "null"
      ],
      "description": "For invoices with `consolidation_level` of `child`, this specifies the UID of the parent (consolidated) invoice."
    },
    "subscription_group_id": {
      "type": [
        "integer",
        "null"
      ],
      "contentEncoding": "int32"
    },
    "parent_invoice_number": {
      "type": [
        "integer",
        "null"
      ],
      "description": "For invoices with `consolidation_level` of `child`, this specifies the number of the parent (consolidated) invoice.",
      "contentEncoding": "int32"
    },
    "group_primary_subscription_id": {
      "type": [
        "integer",
        "null"
      ],
      "description": "For invoices with `consolidation_level` of `parent`, this specifies the ID of the subscription which was the primary subscription of the subscription group that generated the invoice.",
      "contentEncoding": "int32"
    },
    "product_name": {
      "type": "string",
      "description": "The name of the product subscribed when the invoice was generated."
    },
    "product_family_name": {
      "type": "string",
      "description": "The name of the product family subscribed when the invoice was generated."
    },
    "seller": {
      "allOf": [
        {
          "$ref": "#/$defs/InvoiceSeller"
        },
        {
          "description": "Information about the seller (merchant) listed on the masthead of the invoice."
        }
      ]
    },
    "customer": {
      "allOf": [
        {
          "$ref": "#/$defs/InvoiceCustomer"
        },
        {
          "description": "Information about the customer who is owner or recipient of the invoiced subscription."
        }
      ]
    },
    "payer": {
      "$ref": "#/$defs/InvoicePayer"
    },
    "recipient_emails": {
      "maxItems": 5,
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": ""
    },
    "net_terms": {
      "type": "integer",
      "contentEncoding": "int32"
    },
    "memo": {
      "type": "string",
      "description": "The memo printed on invoices of any collection type. This message is in control of the merchant."
    },
    "billing_address": {
      "allOf": [
        {
          "$ref": "#/$defs/InvoiceAddress"
        },
        {
          "description": "The invoice billing address."
        }
      ]
    },
    "shipping_address": {
      "allOf": [
        {
          "$ref": "#/$defs/InvoiceAddress"
        },
        {
          "description": "The invoice shipping address."
        }
      ]
    },
    "subtotal_amount": {
      "type": "string",
      "description": "Subtotal of the invoice, which is the sum of all line items before discounts or taxes."
    },
    "discount_amount": {
      "type": "string",
      "description": "Total discount applied to the invoice."
    },
    "tax_amount": {
      "type": "string",
      "description": "Total tax on the invoice."
    },
    "total_amount": {
      "type": "string",
      "description": "The invoice total, which is `subtotal_amount - discount_amount + tax_amount`."
    },
    "credit_amount": {
      "type": "string",
      "description": "The amount of credit (from credit notes) applied to this invoice.\n\nCredits offset the amount due from the customer."
    },
    "debit_amount": {
      "type": "string"
    },
    "refund_amount": {
      "type": "string"
    },
    "paid_amount": {
      "type": "string",
      "description": "The amount paid on the invoice by the customer."
    },
    "due_amount": {
      "type": "string",
      "description": "Amount due on the invoice, which is `total_amount - credit_amount - paid_amount`."
    },
    "line_items": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/InvoiceLineItem"
      },
      "description": "Line items on the invoice."
    },
    "discounts": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/InvoiceDiscount"
      },
      "description": ""
    },
    "taxes": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/InvoiceTax"
      },
      "description": ""
    },
    "credits": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/InvoiceCredit"
      },
      "description": ""
    },
    "debits": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/InvoiceDebit"
      },
      "description": ""
    },
    "refunds": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/InvoiceRefund"
      },
      "description": ""
    },
    "payments": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/InvoicePayment"
      },
      "description": ""
    },
    "custom_fields": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/InvoiceCustomField"
      },
      "description": ""
    },
    "display_settings": {
      "$ref": "#/$defs/InvoiceDisplaySettings"
    },
    "avatax_details": {
      "$ref": "#/$defs/InvoiceAvataxDetails"
    },
    "public_url": {
      "type": "string",
      "description": "The public URL of the invoice"
    },
    "previous_balance_data": {
      "$ref": "#/$defs/InvoicePreviousBalance"
    },
    "public_url_expires_on": {
      "type": "string",
      "description": "The format is `\"YYYY-MM-DD\"`.",
      "contentEncoding": "date"
    },
    "branding_theme_id": {
      "type": [
        "integer",
        "null"
      ],
      "description": "The ID of the Branding Theme associated with this invoice. This value represents the Branding Theme used for invoice theming, such as themed invoice rendering. Available only when Branding Themes are enabled for the site.",
      "contentEncoding": "int32"
    }
  },
  "$defs": {
    "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`."
    },
    "ComponentCostData": {
      "title": "ComponentCostData",
      "type": "object",
      "properties": {
        "component_code_id": {
          "type": [
            "integer",
            "null"
          ],
          "contentEncoding": "int32"
        },
        "price_point_id": {
          "type": "integer",
          "contentEncoding": "int32"
        },
        "product_id": {
          "type": "integer",
          "contentEncoding": "int32"
        },
        "quantity": {
          "type": "string"
        },
        "amount": {
          "type": "string"
        },
        "pricing_scheme": {
          "allOf": [
            {
              "$ref": "#/$defs/PricingScheme"
            },
            {
              "description": "The identifier for the pricing scheme. See [Product Components](https://help.chargify.com/products/product-components.html) for an overview of pricing schemes."
            }
          ]
        },
        "tiers": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/ComponentCostDataRateTier"
          },
          "description": ""
        }
      }
    },
    "ComponentCostDataRateTier": {
      "title": "ComponentCostDataRateTier",
      "type": "object",
      "properties": {
        "starting_quantity": {
          "type": "integer",
          "contentEncoding": "int32"
        },
        "ending_quantity": {
          "type": [
            "integer",
            "null"
          ],
          "contentEncoding": "int32"
        },
        "quantity": {
          "type": "string"
        },
        "unit_price": {
          "type": "string"
        },
        "amount": {
          "type": "string"
        }
      }
    },
    "CustomFieldOwner": {
      "title": "CustomFieldOwner",
      "enum": [
        "Customer",
        "Subscription"
      ],
      "type": "string"
    },
    "DebitNoteRole": {
      "title": "DebitNoteRole",
      "enum": [
        "chargeback",
        "refund"
      ],
      "type": "string",
      "description": "The role of the debit note."
    },
    "InvoiceAddress": {
      "title": "InvoiceAddress",
      "type": "object",
      "properties": {
        "street": {
          "type": [
            "string",
            "null"
          ]
        },
        "line2": {
          "type": [
            "string",
            "null"
          ]
        },
        "city": {
          "type": [
            "string",
            "null"
          ]
        },
        "state": {
          "type": [
            "string",
            "null"
          ]
        },
        "zip": {
          "type": [
            "string",
            "null"
          ]
        },
        "country": {
          "type": [
            "string",
            "null"
          ]
        }
      }
    },
    "InvoiceAvataxDetails": {
      "title": "InvoiceAvataxDetails",
      "type": "object",
      "properties": {
        "id": {
          "type": [
            "integer",
            "null"
          ],
          "contentEncoding": "int64"
        },
        "status": {
          "type": [
            "string",
            "null"
          ]
        },
        "document_code": {
          "type": [
            "string",
            "null"
          ]
        },
        "commit_date": {
          "type": [
            "string",
            "null"
          ],
          "contentEncoding": "date-time"
        },
        "modify_date": {
          "type": [
            "string",
            "null"
          ],
          "contentEncoding": "date-time"
        }
      }
    },
    "InvoiceBalanceItem": {
      "title": "InvoiceBalanceItem",
      "type": "object",
      "properties": {
        "uid": {
          "type": "string"
        },
        "number": {
          "type": "string"
        },
        "outstanding_amount": {
          "type": "string"
        }
      }
    },
    "InvoiceConsolidationLevel": {
      "title": "InvoiceConsolidationLevel",
      "enum": [
        "none",
        "child",
        "parent"
      ],
      "type": "string",
      "description": "Consolidation level of the invoice, which is applicable to invoice consolidation. It will hold one of the following values:\n\n* \"none\": A normal invoice with no consolidation.\n* \"child\": An invoice segment which has been combined into a consolidated invoice.\n* \"parent\": A consolidated invoice, whose contents are composed of invoice segments.\n\n\"Parent\" invoices do not have lines of their own, but they have subtotals and totals which aggregate the member invoice segments.\n\nSee also the [invoice consolidation documentation](https://docs.maxio.com/billing/invoicing/working-with-invoices/understand-invoice-consolidation)."
    },
    "InvoiceCredit": {
      "title": "InvoiceCredit",
      "type": "object",
      "properties": {
        "uid": {
          "type": "string"
        },
        "credit_note_number": {
          "type": "string"
        },
        "credit_note_uid": {
          "type": "string"
        },
        "transaction_time": {
          "type": "string",
          "contentEncoding": "date-time"
        },
        "memo": {
          "type": "string"
        },
        "original_amount": {
          "type": "string"
        },
        "applied_amount": {
          "type": "string"
        }
      }
    },
    "InvoiceCustomField": {
      "title": "InvoiceCustomField",
      "type": "object",
      "properties": {
        "owner_id": {
          "type": "integer",
          "contentEncoding": "int32"
        },
        "owner_type": {
          "$ref": "#/$defs/CustomFieldOwner"
        },
        "name": {
          "minLength": 1,
          "type": "string"
        },
        "value": {
          "minLength": 1,
          "type": "string"
        },
        "metadatum_id": {
          "type": "integer",
          "contentEncoding": "int32"
        }
      }
    },
    "InvoiceCustomer": {
      "title": "InvoiceCustomer",
      "type": "object",
      "properties": {
        "chargify_id": {
          "type": [
            "integer",
            "null"
          ],
          "contentEncoding": "int32"
        },
        "first_name": {
          "type": "string"
        },
        "last_name": {
          "type": "string"
        },
        "organization": {
          "type": [
            "string",
            "null"
          ]
        },
        "email": {
          "type": "string"
        },
        "vat_number": {
          "type": [
            "string",
            "null"
          ]
        },
        "reference": {
          "type": [
            "string",
            "null"
          ]
        }
      },
      "description": "Information about the customer who is owner or recipient of the invoiced subscription."
    },
    "InvoiceDebit": {
      "title": "InvoiceDebit",
      "type": "object",
      "properties": {
        "uid": {
          "type": "string"
        },
        "debit_note_number": {
          "type": "string"
        },
        "debit_note_uid": {
          "type": "string"
        },
        "role": {
          "allOf": [
            {
              "$ref": "#/$defs/DebitNoteRole"
            },
            {
              "description": "The role of the debit note."
            }
          ]
        },
        "transaction_time": {
          "type": "string",
          "contentEncoding": "date-time"
        },
        "memo": {
          "type": "string"
        },
        "original_amount": {
          "type": "string"
        },
        "applied_amount": {
          "type": "string"
        }
      }
    },
    "InvoiceDiscount": {
      "title": "InvoiceDiscount",
      "type": "object",
      "properties": {
        "uid": {
          "type": "string"
        },
        "title": {
          "type": "string"
        },
        "description": {
          "type": [
            "string",
            "null"
          ]
        },
        "code": {
          "type": "string"
        },
        "source_type": {
          "$ref": "#/$defs/InvoiceDiscountSourceType"
        },
        "source_id": {
          "type": "integer",
          "contentEncoding": "int32"
        },
        "discount_type": {
          "$ref": "#/$defs/InvoiceDiscountType"
        },
        "percentage": {
          "type": "string"
        },
        "eligible_amount": {
          "type": "string"
        },
        "discount_amount": {
          "type": "string"
        },
        "transaction_id": {
          "type": "integer",
          "contentEncoding": "int32"
        },
        "line_item_breakouts": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/InvoiceDiscountBreakout"
          },
          "description": ""
        }
      }
    },
    "InvoiceDiscountBreakout": {
      "title": "InvoiceDiscountBreakout",
      "type": "object",
      "properties": {
        "uid": {
          "type": "string"
        },
        "eligible_amount": {
          "type": "string"
        },
        "discount_amount": {
          "type": "string"
        }
      }
    },
    "InvoiceDiscountSourceType": {
      "title": "InvoiceDiscountSourceType",
      "enum": [
        "Coupon",
        "Referral",
        "Ad Hoc Coupon"
      ],
      "type": "string"
    },
    "InvoiceDiscountType": {
      "title": "InvoiceDiscountType",
      "enum": [
        "percentage",
        "flat_amount",
        "rollover"
      ],
      "type": "string"
    },
    "InvoiceDisplaySettings": {
      "title": "InvoiceDisplaySettings",
      "type": "object",
      "properties": {
        "hide_zero_subtotal_lines": {
          "type": "boolean"
        },
        "include_discounts_on_lines": {
          "type": "boolean"
        }
      }
    },
    "InvoiceLineItem": {
      "title": "InvoiceLineItem",
      "type": "object",
      "properties": {
        "uid": {
          "type": "string",
          "description": "Unique identifier for the line item. Useful when cross-referencing the line against individual discounts in the `discounts` or `taxes` lists."
        },
        "title": {
          "type": "string",
          "description": "A short descriptor for the charge or item represented by this line."
        },
        "description": {
          "type": "string",
          "description": "Detailed description for the charge or item represented by this line. May include proration details in plain text.\n\nNote: this string may contain line breaks that are hints for the best display format on the invoice."
        },
        "quantity": {
          "type": "string",
          "description": "The quantity or count of units billed by the line item.\n\nThis is a decimal number represented as a string. (See \"About Decimal Numbers\".)"
        },
        "unit_price": {
          "type": "string",
          "description": "The price per unit for the line item.\n\nWhen tiered pricing was used (i.e., not every unit was actually priced at the same price) this will be the blended average cost per unit and the `tiered_unit_price` field will be set to `true`."
        },
        "subtotal_amount": {
          "type": "string",
          "description": "The line subtotal, generally calculated as `quantity * unit_price`. This is the canonical amount of record for the line - when rounding differences are in play, `subtotal_amount` takes precedence over the value derived from `quantity * unit_price` (which may not have the proper precision to exactly equal this amount)."
        },
        "discount_amount": {
          "type": "string",
          "description": "The approximate discount applied to just this line.\n\nThe value is approximated in cases where rounding errors make it difficult to apportion exactly a total discount among many lines. Several lines may have been summed prior to applying the discount to arrive at `discount_amount` for the invoice - backing that out to the discount on a single line may introduce rounding or precision errors."
        },
        "tax_amount": {
          "type": "string",
          "description": "The approximate tax applied to just this line.\n\nThe value is approximated in cases where rounding errors make it difficult to apportion exactly a total tax among many lines. Several lines may have been summed prior to applying the tax rate to arrive at `tax_amount` for the invoice - backing that out to the tax on a single line may introduce rounding or precision errors."
        },
        "tax_included": {
          "type": "boolean",
          "description": "Whether the unit price for this line item is tax-inclusive.\n\nWhen `true`, `unit_price` already includes tax and `tax_amount` represents the portion of the price attributable to tax. When `false`, any applicable tax is added on top of the price.\n\nThe value is inherited from the source price point's `tax_included` setting. Custom or ad-hoc line items (which have no associated price point) always return `false`."
        },
        "total_amount": {
          "type": "string",
          "description": "The non-canonical total amount for the line.\n\n`subtotal_amount` is the canonical amount for a line. The invoice `total_amount` is derived from the sum of the line `subtotal_amount`s and discounts or taxes applied thereafter. Therefore, due to rounding or precision errors, the sum of line `total_amount`s may not equal the invoice `total_amount`."
        },
        "tiered_unit_price": {
          "type": "boolean",
          "description": "When `true`, indicates that the actual pricing scheme for the line was tiered, so the `unit_price` shown is the blended average for all units."
        },
        "period_range_start": {
          "type": "string",
          "description": "Start date for the period covered by this line. The format is `\"YYYY-MM-DD\"`.\n\n* For periodic charges paid in advance, this date will match the billing date, and the end date will be in the future.\n* For periodic charges paid in arrears (e.g., metered charges), this date will be the date of the previous billing, and the end date will be the current billing date.\n* For non-periodic charges, this date and the end date will match.",
          "contentEncoding": "date"
        },
        "period_range_end": {
          "type": "string",
          "description": "End date for the period covered by this line. The format is `\"YYYY-MM-DD\"`.\n\n* For periodic charges paid in advance, this date will match the next (future) billing date.\n* For periodic charges paid in arrears (e.g., metered charges), this date will be the date of the current billing date.\n* For non-periodic charges, this date and the start date will match.",
          "contentEncoding": "date"
        },
        "transaction_id": {
          "type": "integer",
          "contentEncoding": "int32"
        },
        "product_id": {
          "type": [
            "integer",
            "null"
          ],
          "description": "The ID of the product subscribed when the charge was made.\n\nThis may be set even for component charges, so true product-only (non-component) charges will also have a nil `component_id`.",
          "contentEncoding": "int32"
        },
        "product_version": {
          "type": [
            "integer",
            "null"
          ],
          "description": "The version of the product subscribed when the charge was made.",
          "contentEncoding": "int32"
        },
        "component_id": {
          "type": [
            "integer",
            "null"
          ],
          "description": "The ID of the component being billed. Will be `nil` for non-component charges.",
          "contentEncoding": "int32"
        },
        "price_point_id": {
          "type": [
            "integer",
            "null"
          ],
          "description": "The price point ID of the component being billed. Will be `nil` for non-component charges.",
          "contentEncoding": "int32"
        },
        "billing_schedule_item_id": {
          "type": [
            "integer",
            "null"
          ],
          "contentEncoding": "int32"
        },
        "hide": {
          "type": "boolean"
        },
        "component_cost_data": {
          "allOf": [
            {
              "oneOf": [
                {},
                {
                  "$ref": "#/$defs/InvoiceLineItemComponentCostData"
                }
              ]
            },
            {}
          ]
        },
        "product_price_point_id": {
          "type": [
            "integer",
            "null"
          ],
          "description": "The price point ID of the line item's product",
          "contentEncoding": "int32"
        },
        "custom_item": {
          "type": "boolean"
        },
        "kind": {
          "type": "string"
        },
        "prepaid_allocation_expires_at": {
          "type": [
            "string",
            "null"
          ],
          "description": "The date a prepaid allocation is set to expire. Only present on line items representing prepaid component allocations. The format is `\"YYYY-MM-DD\"`.",
          "contentEncoding": "date"
        }
      }
    },
    "InvoiceLineItemComponentCostData": {
      "title": "InvoiceLineItemComponentCostData",
      "type": "object",
      "properties": {
        "rates": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/ComponentCostData"
          },
          "description": ""
        }
      }
    },
    "InvoicePayer": {
      "title": "InvoicePayer",
      "type": "object",
      "properties": {
        "chargify_id": {
          "type": "integer",
          "contentEncoding": "int32"
        },
        "first_name": {
          "type": "string"
        },
        "last_name": {
          "type": "string"
        },
        "organization": {
          "type": [
            "string",
            "null"
          ]
        },
        "email": {
          "type": "string"
        },
        "vat_number": {
          "type": [
            "string",
            "null"
          ]
        }
      }
    },
    "InvoicePayment": {
      "title": "InvoicePayment",
      "type": "object",
      "properties": {
        "transaction_time": {
          "type": "string",
          "contentEncoding": "date-time"
        },
        "memo": {
          "type": "string"
        },
        "original_amount": {
          "type": "string"
        },
        "applied_amount": {
          "type": "string"
        },
        "payment_method": {
          "$ref": "#/$defs/InvoicePaymentMethod"
        },
        "transaction_id": {
          "type": "integer",
          "contentEncoding": "int32"
        },
        "prepayment": {
          "type": "boolean"
        },
        "gateway_handle": {
          "type": [
            "string",
            "null"
          ]
        },
        "gateway_used": {
          "type": "string"
        },
        "gateway_transaction_id": {
          "type": [
            "string",
            "null"
          ],
          "description": "The transaction ID for the payment as returned from the payment gateway"
        },
        "received_on": {
          "type": [
            "string",
            "null"
          ],
          "description": "Date reflecting when the payment was received from a customer. Must be in the past. Applicable only to \n`external` payments.",
          "contentEncoding": "date"
        },
        "uid": {
          "type": "string"
        }
      }
    },
    "InvoicePaymentMethod": {
      "title": "InvoicePaymentMethod",
      "type": "object",
      "properties": {
        "details": {
          "type": "string"
        },
        "kind": {
          "type": "string"
        },
        "memo": {
          "type": "string"
        },
        "type": {
          "type": "string"
        },
        "card_brand": {
          "type": "string"
        },
        "card_expiration": {
          "type": "string"
        },
        "last_four": {
          "type": [
            "string",
            "null"
          ]
        },
        "masked_card_number": {
          "type": "string"
        }
      }
    },
    "InvoicePreviousBalance": {
      "title": "InvoicePreviousBalance",
      "type": "object",
      "properties": {
        "captured_at": {
          "type": "string",
          "contentEncoding": "date-time"
        },
        "invoices": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/InvoiceBalanceItem"
          },
          "description": ""
        }
      }
    },
    "InvoiceRefund": {
      "title": "InvoiceRefund",
      "type": "object",
      "properties": {
        "transaction_id": {
          "type": "integer",
          "contentEncoding": "int32"
        },
        "payment_id": {
          "type": "integer",
          "contentEncoding": "int32"
        },
        "memo": {
          "type": "string"
        },
        "original_amount": {
          "type": "string"
        },
        "applied_amount": {
          "type": "string"
        },
        "gateway_transaction_id": {
          "type": [
            "string",
            "null"
          ],
          "description": "The transaction ID for the refund as returned from the payment gateway"
        },
        "gateway_used": {
          "type": "string"
        },
        "gateway_handle": {
          "type": [
            "string",
            "null"
          ]
        },
        "ach_late_reject": {
   

# --- truncated at 32 KB (37 KB total) ---
# Full source: https://artifacts.apis.io/maxio/json-schema/maxio-invoice-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-invoice"
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.