Skip to main content

ChartMogul

ChartMogul is a subscription analytics and revenue reporting platform designed for SaaS and subscription businesses. It consolidates billing, usage, and customer data from sources such as Stripe, Chargebee, and Recurly into a single unified view, automatically calculating core SaaS metrics including Monthly Recurring Revenue (MRR), Annual Recurring Revenue (ARR), customer churn rates, Average Revenue Per Account (ARPA), and Customer Lifetime Value (LTV). ChartMogul enables teams to analyze subscription cohorts, track revenue movements, build customer segments, and generate forecasts — providing the visibility needed to understand subscription growth and retention performance.

ChartMogul icon

Power end-to-end data operations for your ChartMogul API with Nexla. Our bi-directional ChartMogul connector is purpose-built for ChartMogul, making it simple to ingest data, sync it across systems, and deliver it anywhere — all with no coding required. Nexla turns API-sourced data into ready-to-use, reusable data products and makes it easy to send data to ChartMogul or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your ChartMogul workflows fast, secure, and fully governed.

Features

Type: API

SourceDestination

  • Seamless API Integration: Connect to any endpoint as source or destination without coding, with automatic data product creation
  • Visual Composition & Chaining: Build complex integrations using visual templates, chain API calls, and compose workflows with data validation and filtering
  • API Proxy: Expose curated slices of your data securely with a secure and customizable API proxy that validates and transforms data on the fly
  • Request optimization with intelligent batching, retry, and caching to minimize API calls and costs

Prerequisites

ChartMogul uses API key authentication. Before creating a credential in Nexla, you will need to generate an API key from your ChartMogul account. ChartMogul API keys are scoped to your account and grant programmatic access to your subscription data, metrics, customers, invoices, and plans.

Generate a ChartMogul API Key

  1. Log in to your ChartMogul account.

  2. Click on your Profile icon in the upper-right corner of the screen, and select View Profile from the dropdown menu.

  3. In the left-hand sidebar, click API Keys to open the API Keys management page.

  4. Click the Add API Key button.

  5. Enter a descriptive name for the key in the Name field — for example, Nexla Integration. Using a clear, descriptive name makes it easy to identify and manage keys later.

  6. Click Create to generate the new API key.

  7. The newly created key will appear in the API Keys table. Click the Reveal icon to display the key value, then click the Copy icon to copy it to your clipboard.

Important

Copy your API key immediately after creation and store it securely. For security reasons, you will need to reveal the key each time you need to access it from the ChartMogul interface. ChartMogul API keys provide access to your account data — treat them as sensitive credentials.

For complete information about ChartMogul API keys, including key management and security best practices, see the ChartMogul API Keys documentation and the ChartMogul Authentication guide.

Authenticate

Create a credential in Nexla

  1. After selecting the data source/destination type, click the Add Credential tile to open the Add New Credential overlay.

  2. Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.

  3. Enter your ChartMogul API key generated in Prerequisites in the API Key field. This key authenticates Nexla with the ChartMogul API using HTTP Basic Authentication, where the API key is used as the username with an empty password. All API requests are made over HTTPS.

    ChartMogul API keys are tied to your ChartMogul account. Each API key provides access to all data and resources within your account, so it is recommended to create a dedicated key for the Nexla integration to allow for easy revocation if needed.

  4. Click the Save button at the bottom of the overlay. The newly added credential will now appear in a tile on the Authenticate screen during data source/destination creation and can be selected for use with a new data source or destination.

Use as a data source

To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Select the ChartMogul connector tile, then select the credential that will be used to connect to the ChartMogul instance, and click Next; or, create a new ChartMogul credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common ChartMogul endpoints. Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below; click on an endpoint to see more information about it and how to configure your data source for this endpoint.

List Customers

This endpoint retrieves a list of all customers in the ChartMogul account. Use it to export customer records for CRM sync, churn analysis, or downstream reporting.

  • Sends a GET request to https://api.chartmogul.com/v1/customers. No additional path parameters are required.
  • Response data is extracted from $.entries[*] — each entry in the array is treated as one customer record. ChartMogul paginates results using page and per_page query parameters (maximum 200 per page).

Use the status query parameter to filter by customer status (e.g., ?status=Active). Customers with a status of Cancelled are still returned unless filtered out.

List Activities

This endpoint returns a list of subscription activities across all customers in the ChartMogul account, including new subscriptions, upgrades, downgrades, churn events, and reactivations. Use it to build activity timelines or feed MRR movement analysis.

  • Sends a GET request to https://api.chartmogul.com/v1/activities.
  • Response data is extracted from $.entries[*]. Results are paginated; use the cursor parameter for cursor-based pagination when the full activity history is large.

Filter activities by date using the start-date and end-date query parameters (format: YYYY-MM-DD). This is recommended for incremental pulls to avoid re-ingesting the full activity history on each run.

Get Daily Customer Count

This endpoint returns daily customer count metrics for the ChartMogul account over a specified time period. Use it to track day-over-day growth or churn trends.

The start-date and end-date query parameters are required for all ChartMogul metrics endpoints. Use date/time macros (e.g., `{now-30}` with a Day time unit) to automate rolling date window ingestion.

Get Weekly Customer Count

This endpoint returns weekly customer count metrics for the ChartMogul account over a specified time period. Use it for weekly reporting dashboards or trend analysis.

The start-date and end-date query parameters are required. Dates must be in YYYY-MM-DD format.

Get Monthly Customer Count

This endpoint returns monthly customer count metrics for the ChartMogul account. Use it for monthly business reviews, investor reporting, or MoM growth calculations.

The start-date and end-date query parameters are required. Dates must be in YYYY-MM-DD format.

Get Quarterly Customer Count

This endpoint returns quarterly customer count metrics for the ChartMogul account. Use it for QoQ analysis, board reporting, or aligning SaaS metrics with fiscal quarters.

The start-date and end-date query parameters are required. Dates must be in YYYY-MM-DD format.

Once the selected endpoint template has been configured, click the Test button to the right of the endpoint selection menu to retrieve a sample of the data that will be fetched. Sample data will be displayed in the Endpoint Test Result panel on the right, allowing you to verify that the source is configured correctly before saving.

Manual configuration

ChartMogul sources can also be manually configured to ingest data from any valid ChartMogul API endpoint, including endpoints not covered by the pre-built templates or when a custom request body, header, or pagination strategy is needed. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, endpoint URL, date/time and lookup macros, path to data, metadata, and request headers.

The ChartMogul REST API base URL is https://api.chartmogul.com/v1. Common endpoint paths include /customers (customer records), /customers/{uuid}/subscriptions and /customers/{uuid}/invoices (per-customer detail), /metrics/all and /metrics/mrr (SaaS metrics such as MRR, ARR, ARPA, churn, and LTV), /plans (subscription plan definitions), and /data_sources (configured data sources).

ChartMogul paginates most list endpoints using page and per_page query parameters (maximum per_page is 200) — use the has_more field in the response to determine whether additional pages are available. The start-date and end-date query parameters are required for all metrics endpoints (format YYYY-MM-DD); date/time macros are useful for automating rolling date windows (e.g., {'{now-30}'} with a Day time unit), and lookup-based macros are useful for iterating a single endpoint over a list of customer or data source UUIDs.

ChartMogul responses wrap records in a named array alongside pagination metadata — enter $.entries[*] as the path to data for the customers, activities, and metrics endpoints, $.customer_invoices[*] or $.entries[*] for invoice endpoints (depending on the endpoint variant), or $.plans[*] for the plans endpoint. The surrounding pagination fields (has_more, total_pages, page, per_page) can be attached as common metadata to every record by entering a path such as $.entries in the Path to Metadata in Response field.

You do not need to include the Authorization header — it is handled automatically by Nexla using the API key from your ChartMogul credential.

Once all of the relevant settings have been configured, click the Create button in the upper right corner of the screen to save and create the new ChartMogul data source. Nexla will now begin ingesting data from the configured endpoint and will organize any data that it finds into one or more Nexsets.

Use as a destination

Click the + icon on the Nexset that will be sent to the ChartMogul destination, and select the Send to Destination option from the menu. Select the ChartMogul connector from the list of available destination connectors, then select the credential that will be used to connect to the ChartMogul account, and click Next; or, create a new ChartMogul credential for use in this flow. Using this connector, you can import customers, contacts, invoices, transactions, subscription events, and plan data directly into ChartMogul from any Nexla data source.

Manual configuration

ChartMogul destinations can be manually configured to send data to any valid ChartMogul API endpoint. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, data format, endpoint URL, request headers, attribute exclusions, record batching, and response webhooks.

Common methods for ChartMogul destinations include POST (creating customers, invoices, transactions, data sources, and plans), PATCH (partially updating existing records, such as customer attributes), PUT (replacing existing records in full), and DELETE (removing records). ChartMogul's REST API accepts and returns data in JSON format exclusively — select JSON as the content format.

The ChartMogul REST API base URL is https://api.chartmogul.com/v1. Common destination endpoint paths include /import/customers (import customer records), /import/customers/{uuid}/invoices (import invoices for a customer), /import/subscriptions/{uuid}/cancel (cancel a subscription), /customers/{uuid} (update an existing customer via PATCH), /plans (create a plan), /data_sources (create a data source), and /customers/{uuid}/contacts (create a contact). For update and upsert operations, include the UUID of the record to be updated at the end of the URL.

ChartMogul uses immutable UUIDs (e.g., cus_00000000-0000-0000-0000-000000000000) to identify records — ensure that the UUID is correctly mapped from your source data when sending to endpoints that require one in the URL path. You do not need to include the Authorization or Content-Type headers — these are handled automatically by Nexla using the API key from your ChartMogul credential. If records should be sent in batched API calls, the default batch size is 100; the Property Inside JSON Object and Code grouping algorithms are available to control how records are grouped into each batch.

Save & activate

Once all endpoint settings have been configured, click the Done button in the upper right corner of the screen to save and create the destination. To begin sending data to ChartMogul, open the destination resource menu and select Activate.

The Nexset data will not be sent to ChartMogul until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.