Maxio Insights API

The Insights endpoints provide aggregate site-level statistics, such as customer and subscription counts, giving a high-level snapshot of account activity.

GitHub OpenAPI

Operations 4

GET /stats.json readSiteStats #
GET /mrr.json readMrr #
GET /mrr_movements.json listMrrMovements #
GET /subscriptions_mrr.json listMrrPerSubscription #

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • 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 API
curl "https://apis.io/api/v1/apis/maxio:maxio-insights-api"
All apis
curl "https://apis.io/api/v1/apis?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.

OpenAPI Specification

maxio-insights-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Maxio Insights API
  version: '1.0'
  contact:
    email: support@maxio.com
  description: 'Operations tagged Insights across 2 of this provider''s published API definitions: maxio-advanced-billing-openapi31json.json, maxio-advanced-billing-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://{site}.chargify.com
  description: Default Advanced Billing environment hosted in US. Valid for the majority of our customers.
  variables:
    site:
      default: subdomain
      description: The subdomain for your Advanced Billing site.
- url: https://events.chargify.com/{site}
  description: Default Advanced Billing environment hosted in US. Valid for the majority of our customers.
  variables:
    site:
      default: subdomain
      description: The subdomain for your Advanced Billing site.
- url: https://{site}.ebilling.maxio.com
  description: Advanced Billing environment hosted in EU. Use only when you requested EU hosting for your AB account.
  variables:
    site:
      default: subdomain
      description: The subdomain for your Advanced Billing site.
security:
- BasicAuth: []
tags:
- name: Insights
  description: The Insights endpoints provide aggregate site-level statistics, such as customer and subscription counts, giving a high-level snapshot of account activity.
paths:
  /stats.json:
    parameters: []
    get:
      tags:
      - Insights
      summary: readSiteStats
      description: 'Returns basic site-level stats. This API call only answers with JSON responses. An XML version is not provided.


        ## Stats Documentation


        There currently is not a complimentary matching set of documentation that compliments this endpoint. However, each Site''s dashboard will reflect the summary of information provided in the Stats response.


        ```

        https://subdomain.chargify.com/dashboard

        ```'
      operationId: readSiteStats
      parameters: []
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/SiteSummary'
                - examples:
                  - seller_name: Acme, Inc.
                    site_name: Production
                    site_id: 12345
                    site_currency: USD
                    stats:
                      total_subscriptions: 120
                      subscriptions_today: 4
                      total_revenue: $45,978.81
                      revenue_today: $1,405.12
                      revenue_this_month: $10,000.00
                      revenue_this_year: $27,935.24
                contentMediaType: application/json
              examples:
                Example:
                  value:
                    seller_name: Acme, Inc.
                    site_name: Production
                    site_id: 12345
                    site_currency: USD
                    stats:
                      total_subscriptions: 120
                      subscriptions_today: 4
                      total_revenue: $45,978.81
                      revenue_today: $1,405.12
                      revenue_this_month: $10,000.00
                      revenue_this_year: $27,935.24
      deprecated: false
    servers:
    - url: https://{site}.chargify.com
      description: Default Advanced Billing environment hosted in US. Valid for the majority of our customers.
      variables:
        site:
          default: subdomain
          description: The subdomain for your Advanced Billing site.
    - url: https://events.chargify.com/{site}
      description: Default Advanced Billing environment hosted in US. Valid for the majority of our customers.
      variables:
        site:
          default: subdomain
          description: The subdomain for your Advanced Billing site.
    - url: https://{site}.ebilling.maxio.com
      description: Advanced Billing environment hosted in EU. Use only when you requested EU hosting for your AB account.
      variables:
        site:
          default: subdomain
          description: The subdomain for your Advanced Billing site.
    - url: https://events.chargify.com/{site}
      description: Advanced Billing environment hosted in EU. Use only when you requested EU hosting for your AB account.
      variables:
        site:
          default: subdomain
          description: The subdomain for your Advanced Billing site.
  /mrr.json:
    parameters: []
    get:
      tags:
      - Insights
      summary: readMrr
      description: Returns your site's current MRR, including plan and usage breakouts.
      operationId: readMrr
      parameters:
      - name: at_time
        in: query
        description: submit a timestamp in ISO8601 format to request MRR for a historic time.
        style: form
        explode: true
        schema:
          type: string
          contentEncoding: date-time
      - name: subscription_id
        in: query
        description: submit the id of a subscription in order to limit results.
        style: form
        explode: true
        schema:
          type: integer
          contentEncoding: int32
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/MRRresponse'
                - examples:
                  - mrr:
                      amount_in_cents: 9915593
                      amount_formatted: $99,155.93
                      currency: USD
                      currency_symbol: $
                      at_time: '2021-02-03T14:23:17-05:00'
                      breakouts:
                        plan_amount_in_cents: 9913593
                        plan_amount_formatted: $99,135.93
                        usage_amount_in_cents: 2000
                        usage_amount_formatted: $20.00
                contentMediaType: application/json
              examples:
                Example:
                  value:
                    mrr:
                      amount_in_cents: 9915593
                      amount_formatted: $99,155.93
                      currency: USD
                      currency_symbol: $
                      at_time: '2021-02-03T14:23:17-05:00'
                      breakouts:
                        plan_amount_in_cents: 9913593
                        plan_amount_formatted: $99,135.93
                        usage_amount_in_cents: 2000
                        usage_amount_formatted: $20.00
      deprecated: true
    servers:
    - url: https://{site}.chargify.com
      description: Default Advanced Billing environment hosted in US. Valid for the majority of our customers.
      variables:
        site:
          default: subdomain
          description: The subdomain for your Advanced Billing site.
    - url: https://events.chargify.com/{site}
      description: Default Advanced Billing environment hosted in US. Valid for the majority of our customers.
      variables:
        site:
          default: subdomain
          description: The subdomain for your Advanced Billing site.
    - url: https://{site}.ebilling.maxio.com
      description: Advanced Billing environment hosted in EU. Use only when you requested EU hosting for your AB account.
      variables:
        site:
          default: subdomain
          description: The subdomain for your Advanced Billing site.
    - url: https://events.chargify.com/{site}
      description: Advanced Billing environment hosted in EU. Use only when you requested EU hosting for your AB account.
      variables:
        site:
          default: subdomain
          description: The subdomain for your Advanced Billing site.
  /mrr_movements.json:
    parameters: []
    get:
      tags:
      - Insights
      summary: listMrrMovements
      description: 'Lists your site''s MRR movements.


        ## Understanding MRR movements


        This endpoint will aid in accessing your site''s MRR Report data.


        Whenever a subscription event occurs that causes your site''s MRR to change (such as a signup or upgrade), we record an MRR movement. These records are accessible via the MRR Movements endpoint.


        Each MRR Movement belongs to a subscription and contains a timestamp, category, and an amount. `line_items` represent the subscription''s product configuration at the time of the movement.


        ### Plan & Usage Breakouts


        In the MRR Report UI, we support a setting to include or exclude usage revenue. In the MRR APIs, responses include `plan` and `usage` breakouts.


        Plan includes revenue from:

        * Products

        * Quantity-Based Components

        * On/Off Components


        Usage includes revenue from:

        * Metered Components

        * Prepaid Usage Components'
      operationId: listMrrMovements
      parameters:
      - name: subscription_id
        in: query
        description: (Optional) Filter results by subscription.
        style: form
        explode: true
        schema:
          type: integer
          contentEncoding: int32
      - name: page
        in: query
        description: 'Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.

          Use in query `page=1`.'
        style: form
        explode: true
        schema:
          minimum: 1.0
          type: integer
          contentEncoding: int32
          default: 1
          examples:
          - 1
      - name: per_page
        in: query
        description: 'This parameter indicates how many records to fetch in each request. Default value is 10. The maximum allowed values is 50; any per_page value over 50 will be changed to 50.

          Use in query `per_page=20`.'
        style: form
        explode: true
        schema:
          maximum: 50.0
          type: integer
          contentEncoding: int32
          default: 10
          examples:
          - 20
      - name: direction
        in: query
        description: 'Controls the order in which results are returned.

          Use in query `direction=asc`.'
        style: form
        explode: true
        schema:
          allOf:
          - $ref: '#/components/schemas/Sortingdirection'
          - description: 'Controls the order in which results are returned.

              Use in query `direction=asc`.'
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/ListMRRResponse'
                - examples:
                  - mrr:
                      page: 0
                      per_page: 10
                      total_pages: 80
                      total_entries: 791
                      currency: USD
                      currency_symbol: $
                      movements:
                      - timestamp: '2014-12-03T13:59:46-05:00'
                        amount_in_cents: 2173
                        amount_formatted: $21.73
                        description: Awesome Company signed up for Super Product ($21.73/mo)
                        category: new_business
                        breakouts:
                          plan_amount_in_cents: 2173
                          plan_amount_formatted: $21.73
                          usage_amount_in_cents: 0
                          usage_amount_formatted: $0.00
                        line_items:
                        - product_id: 306386
                          component_id: 0
                          price_point_id: 3856987
                          name: Cached Queries
                          mrr: 2173
                          mrr_movements:
                          - amount: 2173
                            category: new_business
                            subscriber_delta: 0
                            lead_delta: 0
                          quantity: 1
                          prev_quantity: 0
                          recurring: true
                        subscription_id: 12355
                        subscriber_name: Amy Smith
                contentMediaType: application/json
              examples:
                Example:
                  value:
                    mrr:
                      page: 0
                      per_page: 10
                      total_pages: 80
                      total_entries: 791
                      currency: USD
                      currency_symbol: $
                      movements:
                      - timestamp: '2014-12-03T13:59:46-05:00'
                        amount_in_cents: 2173
                        amount_formatted: $21.73
                        description: Awesome Company signed up for Super Product ($21.73/mo)
                        category: new_business
                        breakouts:
                          plan_amount_in_cents: 2173
                          plan_amount_formatted: $21.73
                          usage_amount_in_cents: 0
                          usage_amount_formatted: $0.00
                        line_items:
                        - product_id: 306386
                          component_id: 0
                          price_point_id: 3856987
                          name: Cached Queries
                          mrr: 2173
                          mrr_movements:
                          - amount: 2173
                            category: new_business
                            subscriber_delta: 0
                            lead_delta: 0
                          quantity: 1
                          prev_quantity: 0
                          recurring: true
                        subscription_id: 12355
                        subscriber_name: Amy Smith
      deprecated: true
    servers:
    - url: https://{site}.chargify.com
      description: Default Advanced Billing environment hosted in US. Valid for the majority of our customers.
      variables:
        site:
          default: subdomain
          description: The subdomain for your Advanced Billing site.
    - url: https://events.chargify.com/{site}
      description: Default Advanced Billing environment hosted in US. Valid for the majority of our customers.
      variables:
        site:
          default: subdomain
          description: The subdomain for your Advanced Billing site.
    - url: https://{site}.ebilling.maxio.com
      description: Advanced Billing environment hosted in EU. Use only when you requested EU hosting for your AB account.
      variables:
        site:
          default: subdomain
          description: The subdomain for your Advanced Billing site.
    - url: https://events.chargify.com/{site}
      description: Advanced Billing environment hosted in EU. Use only when you requested EU hosting for your AB account.
      variables:
        site:
          default: subdomain
          description: The subdomain for your Advanced Billing site.
  /subscriptions_mrr.json:
    parameters: []
    get:
      tags:
      - Insights
      summary: listMrrPerSubscription
      description: Lists your site's current MRR, including plan and usage breakouts split per subscription.
      operationId: listMrrPerSubscription
      parameters:
      - name: filter
        in: query
        description: Filter to use for List MRR per subscription operation
        style: form
        explode: true
        schema:
          allOf:
          - $ref: '#/components/schemas/ListMrrFilter'
          - description: Filter to use for List MRR per subscription operation
      - name: at_time
        in: query
        description: 'Submit a timestamp in ISO8601 format to request MRR for a historic time. Use in query: `at_time=2022-01-10T10:00:00-05:00`.'
        style: form
        explode: true
        schema:
          type: string
          examples:
          - at_time=2022-01-10T10:00:00-05:00
      - name: page
        in: query
        description: 'Result records are organized in pages. By default, the first page of results is displayed. The page parameter specifies a page number of results to fetch. You can start navigating through the pages to consume the results. You do this by passing in a page parameter. Retrieve the next page by adding ?page=2 to the query string. If there are no results to return, then an empty result set will be returned.

          Use in query `page=1`.'
        style: form
        explode: true
        schema:
          minimum: 1.0
          type: integer
          contentEncoding: int32
          default: 1
          examples:
          - 1
      - name: per_page
        in: query
        description: 'This parameter indicates how many records to fetch in each request. Default value is 20. The maximum allowed values is 200; any per_page value over 200 will be changed to 200.

          Use in query `per_page=200`.'
        style: form
        explode: true
        schema:
          maximum: 200.0
          type: integer
          contentEncoding: int32
          default: 20
          examples:
          - 50
      - name: direction
        in: query
        description: Controls the order in which results are returned. Records are ordered by subscription_id in ascending order by default. Use in query `direction=desc`.
        style: form
        explode: true
        schema:
          allOf:
          - $ref: '#/components/schemas/direction'
          - description: Controls the order in which results are returned. Records are ordered by subscription_id in ascending order by default. Use in query `direction=desc`.
            examples:
            - desc
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscriptionMRRResponse'
        '400':
          description: Bad Request
          headers: {}
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/SubscriptionsMrrErrorResponse1'
                - examples:
                  - errors:
                      attribute:
                      - supplied value is invalid, expected ISO 8601 format
                contentMediaType: application/json
              examples:
                example-1:
                  value:
                    errors:
                      attribute:
                      - supplied value is invalid, expected ISO 8601 format
      deprecated: true
    servers:
    - url: https://{site}.chargify.com
      description: Default Advanced Billing environment hosted in US. Valid for the majority of our customers.
      variables:
        site:
          default: subdomain
          description: The subdomain for your Advanced Billing site.
    - url: https://events.chargify.com/{site}
      description: Default Advanced Billing environment hosted in US. Valid for the majority of our customers.
      variables:
        site:
          default: subdomain
          description: The subdomain for your Advanced Billing site.
    - url: https://{site}.ebilling.maxio.com
      description: Advanced Billing environment hosted in EU. Use only when you requested EU hosting for your AB account.
      variables:
        site:
          default: subdomain
          description: The subdomain for your Advanced Billing site.
    - url: https://events.chargify.com/{site}
      description: Advanced Billing environment hosted in EU. Use only when you requested EU hosting for your AB account.
      variables:
        site:
          default: subdomain
          description: The subdomain for your Advanced Billing site.
components:
  schemas:
    Movement:
      title: Movement
      type: object
      properties:
        timestamp:
          type: string
          contentEncoding: date-time
        amount_in_cents:
          type: integer
          contentEncoding: int64
        amount_formatted:
          type: string
        description:
          type: string
        category:
          type: string
        breakouts:
          $ref: '#/components/schemas/Breakouts'
        line_items:
          type: array
          items:
            $ref: '#/components/schemas/MovementLineItem'
          description: ''
        subscription_id:
          type: integer
          contentEncoding: int32
        subscriber_name:
          type: string
    ListMrrFilter:
      title: ListMrrFilter
      type: object
      properties:
        subscription_ids:
          minItems: 1
          type: array
          items:
            type: integer
            contentEncoding: int32
          description: 'Submit ids in order to limit results. Use in query: `filter[subscription_ids]=1,2,3`.'
          examples:
          - - 1
            - 2
            - 3
    SubscriptionsMrrErrorResponse1:
      title: SubscriptionsMrrErrorResponse1
      required:
      - errors
      type: object
      properties:
        errors:
          $ref: '#/components/schemas/AttributeError'
      examples:
      - errors:
          attribute:
          - supplied value is invalid, expected ISO 8601 format
    MRRresponse:
      title: MRRresponse
      required:
      - mrr
      type: object
      properties:
        mrr:
          $ref: '#/components/schemas/MRR'
    ListMRRResponse:
      title: ListMRRResponse
      required:
      - mrr
      type: object
      properties:
        mrr:
          $ref: '#/components/schemas/ListMRRResponseResult'
    MovementLineItem:
      title: MovementLineItem
      type: object
      properties:
        product_id:
          type: integer
          contentEncoding: int32
        component_id:
          type: integer
          description: For Product (or "baseline") line items, this field will have a value of `0`.
          contentEncoding: int32
        price_point_id:
          type: integer
          contentEncoding: int32
        name:
          type: string
        mrr:
          type: integer
          contentEncoding: int32
        mrr_movements:
          type: array
          items:
            $ref: '#/components/schemas/MRRMovement'
          description: ''
        quantity:
          type: integer
          contentEncoding: int32
        prev_quantity:
          type: integer
          contentEncoding: int32
        recurring:
          type: boolean
          description: When `true`, the line item's MRR value will contribute to the `plan` breakout. When `false`, the line item contributes to the `usage` breakout.
    SubscriptionMRRBreakout:
      title: SubscriptionMRRBreakout
      required:
      - plan_amount_in_cents
      - usage_amount_in_cents
      type: object
      properties:
        plan_amount_in_cents:
          type: integer
          contentEncoding: int64
        usage_amount_in_cents:
          type: integer
          contentEncoding: int64
    MRRMovement:
      title: MRRMovement
      type: object
      properties:
        amount:
          type: integer
          contentEncoding: int32
        category:
          type: string
        subscriber_delta:
          type: integer
          contentEncoding: int32
        lead_delta:
          type: integer
          contentEncoding: int32
    SiteStatistics:
      title: SiteStatistics
      type: object
      properties:
        total_subscriptions:
          type: integer
          contentEncoding: int32
        subscriptions_today:
          type: integer
          contentEncoding: int32
        total_revenue:
          type: string
        revenue_today:
          type: string
        revenue_this_month:
          type: string
        revenue_this_year:
          type: string
        total_canceled_subscriptions:
          type: integer
          contentEncoding: int32
        total_active_subscriptions:
          type: integer
          contentEncoding: int32
        total_past_due_subscriptions:
          type: integer
          contentEncoding: int32
        total_unpaid_subscriptions:
          type: integer
          contentEncoding: int32
        total_dunning_subscriptions:
          type: integer
          contentEncoding: int32
    Breakouts:
      title: Breakouts
      type: object
      properties:
        plan_amount_in_cents:
          type: integer
          contentEncoding: int64
        plan_amount_formatted:
          type: string
        usage_amount_in_cents:
          type: integer
          contentEncoding: int64
        usage_amount_formatted:
          type: string
    SubscriptionMRRResponse:
      title: SubscriptionMRRResponse
      required:
      - subscriptions_mrr
      type: object
      properties:
        subscriptions_mrr:
          minItems: 1
          uniqueItems: true
          type: array
          items:
            $ref: '#/components/schemas/SubscriptionMRR'
          description: ''
      examples:
      - subscriptions_mrr:
        - subscription_id: 0
          mrr_amount_in_cents: 0
          breakouts:
            plan_amount_in_cents: 0
            usage_amount_in_cents: 0
    SiteSummary:
      title: SiteSummary
      type: object
      properties:
        seller_name:
          type: string
        site_name:
          type: string
        site_id:
          type: integer
          contentEncoding: int32
        site_currency:
          type: string
        stats:
          $ref: '#/components/schemas/SiteStatistics'
    direction:
      title: direction
      enum:
      - asc
      - desc
      type: string
    Sortingdirection:
      title: Sortingdirection
      enum:
      - asc
      - desc
      type: string
      description: Used for sorting results.
    MRR:
      title: MRR
      type: object
      properties:
        amount_in_cents:
          type: integer
          contentEncoding: int64
        amount_formatted:
          type: string
        currency:
          type: string
        currency_symbol:
          type: string
        breakouts:
          $ref: '#/components/schemas/Breakouts'
        at_time:
          type: string
          description: ISO8601 timestamp
          contentEncoding: date-time
    SubscriptionMRR:
      title: SubscriptionMRR
      required:
      - subscription_id
      - mrr_amount_in_cents
      type: object
      properties:
        subscription_id:
          type: integer
          contentEncoding: int32
        mrr_amount_in_cents:
          type: integer
          contentEncoding: int64
        breakouts:
          $ref: '#/components/schemas/SubscriptionMRRBreakout'
    AttributeError:
      title: AttributeError
      required:
      - attribute
      type: object
      properties:
        attribute:
          type: array
          items:
            type: string
          description: ''
    ListMRRResponseResult:
      title: ListMRRResponseResult
      type: object
      properties:
        page:
          type: integer
          contentEncoding: int32
        per_page:
          type: integer
          contentEncoding: int32
        total_pages:
          type: integer
          contentEncoding: int32
        total_entries:
          type: integer
          contentEncoding: int32
        currency:
          type: string
        currency_symbol:
          type: string
        movements:
          type: array
          items:
            $ref: '#/components/schemas/Movement'
          description: ''
  securitySchemes:
    BasicAuth:
      type: http
      description: The `username` is a Maxio Chargify API key. The `password` is `x`.
      scheme: basic
x-refined-from:
- maxio-advanced-billing-openapi31json.json
- maxio-advanced-billing-openapi.yml
x-provenance:
  method: harvested
  publisher: Maxio
  source: https://developers.maxio.com/static/exports/maxio-advanced-billing-openapi31json.json
  note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
    stamped by stamp-openapi-provenance.py (roadmap#793)