# Metronome ## Docs - [Metronome Docs](https://docs.metronome.com/guides/get-started/home.md) - [How Metronome works](https://docs.metronome.com/guides/get-started/how-metronome-works.md) - [Get to your first invoice](https://docs.metronome.com/guides/get-started/metronome-dashboard-quickstart.md): This guide walks you through setting up billing, entirely in the Metronome dashboard. - [API quickstart](https://docs.metronome.com/guides/get-started/api-quickstart.md): Get to your first invoice with the Metronome API - [Build with the Metronome SDKs](https://docs.metronome.com/guides/get-started/developer-sdks.md) - [Manage contracts in Stripe](https://docs.metronome.com/guides/get-started/stripe-marketplace-app.md) - [Plan your billing architecture](https://docs.metronome.com/guides/implement-metronome/planning-your-billing-architecture.md): Start asking the right questions to ensure your billing architecture is built for success today and into the future. - [Metronome go-live checklist](https://docs.metronome.com/guides/implement-metronome/production-checklist.md) - [Send usage events](https://docs.metronome.com/guides/implement-metronome/core-concepts/send-usage-events.md) - [Create billable metrics](https://docs.metronome.com/guides/implement-metronome/core-concepts/create-billable-metrics.md) - [Create streaming billable metrics](https://docs.metronome.com/guides/implement-metronome/core-concepts/billable-metrics-basic-filters.md) - [Create SQL billable metrics](https://docs.metronome.com/guides/implement-metronome/core-concepts/billable-metrics-sql-editor.md) - [Non-monotonically increasing metrics](https://docs.metronome.com/guides/implement-metronome/core-concepts/non-monotonically-increasing-metrics.md) - [Create products](https://docs.metronome.com/guides/implement-metronome/core-concepts/create-products-contracts.md) - [Create and manage rate cards](https://docs.metronome.com/guides/implement-metronome/core-concepts/create-manage-rate-cards.md) - [Provision a customer](https://docs.metronome.com/guides/implement-metronome/core-concepts/provision-customer.md) - [Create packages](https://docs.metronome.com/guides/implement-metronome/core-concepts/packages-overview.md) - [Provision a customer contract](https://docs.metronome.com/guides/implement-metronome/core-concepts/provision-contract.md) - [How Metronome invoices work](https://docs.metronome.com/guides/implement-metronome/core-concepts/how-invoicing-works.md) - [Design usage events](https://docs.metronome.com/guides/events/design-usage-events.md) - [Send usage events](https://docs.metronome.com/guides/events/send-usage-events.md) - [Usage events at scale](https://docs.metronome.com/guides/events/high-volume-ingestion.md) - [Overview](https://docs.metronome.com/guides/pricing-packaging/overview.md) - [Guides home](https://docs.metronome.com/guides/pricing-packaging/billing-model-guides/guides-home.md) - [Launch a pay-as-you-go business model](https://docs.metronome.com/guides/pricing-packaging/billing-model-guides/pay-as-you-go.md) - [Launch an enterprise commit model](https://docs.metronome.com/guides/pricing-packaging/billing-model-guides/enterprise-commit.md) - [Launch a hybrid business model](https://docs.metronome.com/guides/pricing-packaging/billing-model-guides/hybrid-business-models.md) - [Launch a prepaid credits business model](https://docs.metronome.com/guides/pricing-packaging/billing-model-guides/prepaid-credits.md) - [Create a free trial](https://docs.metronome.com/guides/pricing-packaging/billing-model-guides/create-a-trial.md) - [Model hierarchical customer relationships](https://docs.metronome.com/guides/pricing-packaging/billing-model-guides/model-hierarchical-customer-relationships.md) - [Launch new pricing​](https://docs.metronome.com/guides/pricing-packaging/make-pricing-changes/make-a-pricing-change.md) - [Contract edits and overrides](https://docs.metronome.com/guides/pricing-packaging/make-pricing-changes/edit-or-override-a-contract.md) - [Set currencies and custom pricing units](https://docs.metronome.com/guides/pricing-packaging/make-pricing-changes/use-currency-custompricingunits.md) - [Edit a contract](https://docs.metronome.com/guides/pricing-packaging/make-pricing-changes/edit-contract.md) - [Apply credits and commits to contracts](https://docs.metronome.com/guides/pricing-packaging/apply-credits-and-commits/create-a-pre-paid-commit.md) - [Understand prioritization rules](https://docs.metronome.com/guides/pricing-packaging/apply-credits-and-commits/prioritization-rules.md) - [Target usage with credits and commits](https://docs.metronome.com/guides/pricing-packaging/apply-credits-and-commits/target-credit-and-commits.md) - [Offer discounts on commits](https://docs.metronome.com/guides/pricing-packaging/apply-credits-and-commits/discounting-on-commits.md) - [Guarantee zero overages](https://docs.metronome.com/guides/pricing-packaging/apply-credits-and-commits/guarantee-zero-overages.md) - [Payment-gated commits](https://docs.metronome.com/guides/pricing-packaging/apply-credits-and-commits/manual-payment-gated-commits.md) - [Set threshold notifications on credit and commits](https://docs.metronome.com/guides/pricing-packaging/apply-credits-and-commits/alerts.md) - [Overview](https://docs.metronome.com/guides/pricing-packaging/subscription/subscription-overview.md) - [Define subscription pricing](https://docs.metronome.com/guides/pricing-packaging/subscription/define-subscription-pricing.md) - [Provision your customer](https://docs.metronome.com/guides/pricing-packaging/subscription/provision-your-customer.md) - [Manage seats](https://docs.metronome.com/guides/pricing-packaging/subscription/manage-seats.md) - [Manage subscription lifecycle](https://docs.metronome.com/guides/pricing-packaging/subscription/manage-subscription-lifecycle.md) - [Overview](https://docs.metronome.com/guides/customers-billing/overview.md) - [Provision a customer](https://docs.metronome.com/guides/customers-billing/manage-customers/provision-a-customer.md): In Metronome, customers are the recipients of an invoice and may represent individual users, enterprises, API keys, or whatever specification your organization needs. This guide describes how to provision a customer in Metronome. - [Schedule a billing provider change](https://docs.metronome.com/guides/customers-billing/manage-customers/schedule-billing-provider-change.md): Switch billing providers on an existing contract without creating a new one. - [Manage product access](https://docs.metronome.com/guides/customers-billing/manage-customers/manage-product-access.md) - [Manage contract lifecycle transitions](https://docs.metronome.com/guides/customers-billing/manage-customers/manage-customer-lifecycle.md) - [Spend trackers](https://docs.metronome.com/guides/customers-billing/manage-customers/spend-trackers.md) - [Enforce spend thresholds](https://docs.metronome.com/guides/customers-billing/optimize-customer-experience/set-customer-spend-control.md) - [Set prepaid balance thresholds](https://docs.metronome.com/guides/customers-billing/optimize-customer-experience/prepaid-balance-thresholds.md) - [Build API-powered customer dashboards](https://docs.metronome.com/guides/customers-billing/optimize-customer-experience/customer-dashboards-and-reporting.md) - [Track the remaining balance of a credit or commit](https://docs.metronome.com/guides/customers-billing/optimize-customer-experience/get-remaining-balance.md) - [Let customers manage spend and usage](https://docs.metronome.com/guides/customers-billing/optimize-customer-experience/customer-controls.md) - [Preview event costs](https://docs.metronome.com/guides/customers-billing/optimize-customer-experience/preview-event-cost.md): Preview the cost of customer actions before they’re incurred. - [India e-mandate support for Stripe invoices](https://docs.metronome.com/guides/customers-billing/optimize-customer-experience/india-e-mandates.md): Invoice Indian credit cards using RBI-compliant Stripe mandates. - [Manage your customer lifecycle with Metronome notifications](https://docs.metronome.com/guides/customers-billing/set-up-notifications/create-and-manage-notifications.md) - [Threshold notifications](https://docs.metronome.com/guides/customers-billing/set-up-notifications/threshold-notifications.md) - [System notifications](https://docs.metronome.com/guides/customers-billing/set-up-notifications/system-notifications.md) - [Offset notifications](https://docs.metronome.com/guides/customers-billing/set-up-notifications/offset-notifications.md) - [Create alert specifiers](https://docs.metronome.com/guides/customers-billing/set-up-notifications/create-alert-specifiers.md) - [Overview](https://docs.metronome.com/guides/invoices/overview.md) - [Issue credit memos](https://docs.metronome.com/guides/invoices/invoice-optimization/issue-credit-memos.md) - [Import existing invoices](https://docs.metronome.com/guides/invoices/invoice-optimization/import-existing-invoices.md) - [Access in-app reports](https://docs.metronome.com/guides/reporting-insights/in-app-reporting.md) - [Overview](https://docs.metronome.com/guides/reporting-insights/data-export/overview.md) - [Database reference](https://docs.metronome.com/guides/reporting-insights/data-export/database-reference.md) - [SQL cookbook](https://docs.metronome.com/guides/reporting-insights/data-export/cookbook.md): Common SQL queries and examples for analyzing your Metronome data warehouse exports - [How revenue recognition works](https://docs.metronome.com/guides/reporting-insights/financial-reporting/revenue-recognition.md) - [ASC 606 revenue recognition guide for usage companies](https://docs.metronome.com/guides/reporting-insights/financial-reporting/asc-606-revenue-recognition.md) - [Revenue recognition examples](https://docs.metronome.com/guides/reporting-insights/financial-reporting/revenue-recognition-examples.md) - [Reconcile data](https://docs.metronome.com/guides/reporting-insights/financial-reporting/reconcile-data.md) - [Get commit and usage analytics](https://docs.metronome.com/guides/reporting-insights/gtm-reporting/get-commit-and-usage-analytics.md) - [Metronome's security principles](https://docs.metronome.com/guides/platform-configuration/security-principles.md) - [Metronome's pricing model](https://docs.metronome.com/guides/platform-configuration/metronome-pricing-model.md) - [Single sign-on (SSO)](https://docs.metronome.com/guides/platform-configuration/single-sign-on-sso.md) - [Role-based access control (RBAC)](https://docs.metronome.com/guides/platform-configuration/role-based-access-rbac.md) - [Audit logs](https://docs.metronome.com/guides/platform-configuration/audit-logs.md) - [Allowlist the Metronome API](https://docs.metronome.com/guides/platform-configuration/allowlist.md) - [Webhooks](https://docs.metronome.com/guides/platform-configuration/setup-webhooks.md) - [Invoice with Stripe](https://docs.metronome.com/integrations/invoice-integrations/stripe.md) - [Integrate with NetSuite](https://docs.metronome.com/integrations/invoice-integrations/netsuite.md) - [Invoice with other systems](https://docs.metronome.com/integrations/invoice-integrations/custom-invoice-integrations.md) - [Invoice with AWS](https://docs.metronome.com/integrations/marketplace-integrations/aws.md) - [Invoice with Azure](https://docs.metronome.com/integrations/marketplace-integrations/azure.md): This guide describes how to enable Metronome to invoice on your behalf through the Azure Marketplace. - [Invoice with GCP](https://docs.metronome.com/integrations/marketplace-integrations/gcp.md): This guide describes how to enable Metronome to invoice on your behalf through GCP Marketplace. - [Stripe Tax](https://docs.metronome.com/integrations/tax-integrations/stripe-tax.md): Learn how to configure Stripe Tax with Metronome for automatic sales tax calculation on Stripe invoices. - [Avalara](https://docs.metronome.com/integrations/tax-integrations/avalara.md): Learn how to configure Avalara AvaTax as your tax provider with Metronome and Stripe invoicing. - [Anrok](https://docs.metronome.com/integrations/tax-integrations/anrok.md): Learn how to configure Anrok as your tax provider with Metronome and Stripe invoicing. - [Sync into Salesforce](https://docs.metronome.com/integrations/platform-integrations/sfdc-integration.md) - [Send usage events from Segment](https://docs.metronome.com/integrations/platform-integrations/segment.md) - [Set up the Metronome Workato connector](https://docs.metronome.com/integrations/platform-integrations/workato-connector.md) - [API Reference](https://docs.metronome.com/api-reference/introduction.md) - [API quickstart](https://docs.metronome.com/api-reference/api-quickstart.md): Get connected to Metronome's API and make your first call in minutes. - [Build with the Metronome SDKs](https://docs.metronome.com/api-reference/sdks.md) - [Use Postman with Metronome](https://docs.metronome.com/api-reference/postman.md) - [API Authentication](https://docs.metronome.com/api-reference/authentication.md) - [API Pagination](https://docs.metronome.com/api-reference/pagination.md) - [API status codes](https://docs.metronome.com/api-reference/status-codes.md) - [API idempotency](https://docs.metronome.com/api-reference/idempotency.md) - [Custom fields](https://docs.metronome.com/api-reference/custom-fields.md) - [Create a billable metric](https://docs.metronome.com/api-reference/billable-metrics/create-a-billable-metric.md): Create billable metrics programmatically with this endpoint—an essential step in configuring your pricing and packaging in Metronome. - [Get a billable metric](https://docs.metronome.com/api-reference/billable-metrics/get-a-billable-metric.md): Retrieves the complete configuration for a specific billable metric by its ID. Use this to review billable metric setup before associating it with products. Returns the metric's `name`, `event_type_filter`, `property_filters`, `aggregation_type`, `aggregation_key`, `group_keys`, `custom fields`, and… - [Get billable metrics for a customer](https://docs.metronome.com/api-reference/billable-metrics/get-billable-metrics-for-a-customer.md): Get all billable metrics available for a specific customer. Supports pagination and filtering by current plan status or archived metrics. Use this endpoint to see which metrics are being tracked for billing calculations for a given customer. - [List all billable metrics](https://docs.metronome.com/api-reference/billable-metrics/list-all-billable-metrics.md): Retrieves all billable metrics with their complete configurations. Use this for programmatic discovery and management of billable metrics, such as associating metrics to products and auditing for orphaned or archived metrics. Important: Archived metrics are excluded by default; use `include_archive… - [Update a billable metric](https://docs.metronome.com/api-reference/billable-metrics/update-a-billable-metric.md): Updates only the display name of an existing billable metric. Use this to correct mistakes or apply standardized naming conventions across all billable metrics. Returns the billable metric ID to confirm the update. - [Archive a billable metric](https://docs.metronome.com/api-reference/billable-metrics/archive-a-billable-metric.md): Use this endpoint to retire billable metrics that are no longer used. After a billable metric is archived, that billable metric can no longer be used in any new Products to define how that product should be metered. If you archive a billable metric that is already associated with a Product, the Prod… - [Create a contract](https://docs.metronome.com/api-reference/contracts/create-a-contract.md): Contracts define a customer's products, pricing, discounts, access duration, and billing configuration. Contracts serve as the central billing agreement for both PLG and Enterprise customers. You can automatically grant customers access to your products and services directly from your product or CRM… - [Get a contract (v2)](https://docs.metronome.com/api-reference/contracts/get-a-contract-v2.md): Gets the details for a specific contract, including contract term, rate card information, credits and commits, and more. - [Get a contract (v1)](https://docs.metronome.com/api-reference/contracts/get-a-contract-v1.md): This is the v1 endpoint to get a contract. New clients should implement using the v2 endpoint. - [List customer contracts (v2)](https://docs.metronome.com/api-reference/contracts/list-customer-contracts-v2.md): For a given customer, lists all of their contracts in chronological order. - [List customer contracts (v1)](https://docs.metronome.com/api-reference/contracts/list-customer-contracts-v1.md): Retrieves all contracts for a specific customer, including pricing, terms, credits, and commitments. Use this to view a customer's contract history and current agreements for billing management. Returns contract details with optional ledgers and balance information. - [Get the rate schedule for a contract](https://docs.metronome.com/api-reference/contracts/get-the-rate-schedule-for-a-contract.md): For a specific customer and contract, get the rates at a specific point in time. This endpoint takes the contract's rate card into consideration, including scheduled changes. It also takes into account overrides on the contract. - [Get subscription quantity history](https://docs.metronome.com/api-reference/contracts/get-subscription-quantity-history.md): Get the history of subscription quantities and prices over time for a given `subscription_id`. This endpoint can be used to power an in-product experience where you show a customer their historical changes to seat count. Future changes are not included in this endpoint - use the `getContract` endpoi… - [Get subscription seats history](https://docs.metronome.com/api-reference/contracts/get-subscription-seats-history.md): Get the history of subscription seats schedule over time for a given `subscription_id`. This endpoint provides information about seat assignments and total quantities for different time periods, allowing you to track how seat assignments have changed over time. - [Get contract edit history](https://docs.metronome.com/api-reference/contracts/get-contract-edit-history.md): List all the edits made to a contract over time. In Metronome, you can edit a contract at any point after it's created to fix mistakes or reflect changes in terms. Metronome stores a full history of all edits that were ever made to a contract, whether through the UI, `editContract` endpoint, or othe… - [Edit a contract](https://docs.metronome.com/api-reference/contracts/edit-a-contract.md): The ability to edit a contract helps you react quickly to the needs of your customers and your business. - [Amend a contract](https://docs.metronome.com/api-reference/contracts/amend-a-contract.md): Amendments will be replaced by Contract editing. New clients should implement using the `editContract` endpoint. Read more about the migration to contract editing [here](/guides/implement-metronome/migrate-amendments-to-edits/) and contact us via the [Metronome support portal](https://support.metron… - [Set a contract usage filter](https://docs.metronome.com/api-reference/contracts/set-a-contract-usage-filter.md): If a customer has multiple contracts with overlapping rates, the usage filter routes usage to the appropriate contract based on a predefined group key. - [Update invoice issue date](https://docs.metronome.com/api-reference/contracts/update-invoice-issue-date.md): Updates the issue date of a specific DRAFT invoice within a contract. Use this endpoint to reschedule when an invoice should be issued without affecting future billing cycles or the underlying contract terms. Only works with invoices still in DRAFT status, and the new issue date cannot be later than… - [Update the contract end date](https://docs.metronome.com/api-reference/contracts/update-the-contract-end-date.md): Update or add an end date to a contract. Ending a contract early will impact draft usage statements, truncate any terms, and remove upcoming scheduled invoices. Moving the date into the future will only extend the contract length. Terms and scheduled invoices are not extended. In-advance subscriptio… - [Create historical invoices](https://docs.metronome.com/api-reference/contracts/create-historical-invoices.md): Create historical usage invoices for past billing periods on specific contracts. Use this endpoint to generate retroactive invoices with custom usage line items, quantities, and date ranges. Supports preview mode to validate invoice data before creation. Ideal for billing migrations or correcting pa… - [Archive a contract](https://docs.metronome.com/api-reference/contracts/archive-a-contract.md): Permanently end and archive a contract along with all its terms. Any draft invoices will be canceled, and all upcoming scheduled invoices will be voided–also all finalized invoices can optionally be voided. Use this in the event a contract was incorrectly created and needed to be removed from a cust… - [Create a commit](https://docs.metronome.com/api-reference/credits-and-commits/create-a-commit.md): ⚠️ For most contract amendments, use `contracts/edit` directly. Use this endpoint only for cross-contract or enterprise-wide commits. - [Create a credit](https://docs.metronome.com/api-reference/credits-and-commits/create-a-credit.md): ⚠️ For most contract amendments, use `contracts/edit` directly. Use this endpoint only for cross-contract or enterprise-wide commits. - [List commits](https://docs.metronome.com/api-reference/credits-and-commits/list-commits.md): Retrieve all commit agreements for a customer, including both prepaid and postpaid commitments. This endpoint provides comprehensive visibility into contractual spending obligations, enabling you to track commitment utilization and manage customer contracts effectively. - [List credits](https://docs.metronome.com/api-reference/credits-and-commits/list-credits.md): Retrieve a detailed list of all credits available to a customer, including promotional credits and contract-specific credits. This endpoint provides comprehensive visibility into credit balances, access schedules, and usage rules, enabling you to build credit management interfaces and track availabl… - [List balances](https://docs.metronome.com/api-reference/credits-and-commits/list-balances.md): Retrieve a comprehensive view of all available balances (commits and credits) for a customer. This endpoint provides real-time visibility into prepaid funds, postpaid commitments, promotional credits, and other balance types that can offset usage charges, helping you build transparent billing experi… - [Get the net balance of a customer](https://docs.metronome.com/api-reference/credits-and-commits/get-the-net-balance-of-a-customer.md): Retrieve the combined current balance across any grouping of credits and commits for a customer in a single API call. - Display real-time available balance to customers in billing dashboards - Build finance dashboards showing credit utilization across customer segments - Validate expected vs. actual… - [List seat balances](https://docs.metronome.com/api-reference/credits-and-commits/list-seat-balances.md): Retrieve detailed balance for seat-based credits and commits from the contract's subscriptions, broken down by individual seats. - [Edit a commit](https://docs.metronome.com/api-reference/credits-and-commits/edit-a-commit.md): Edit specific details for a contract-level or customer-level commit. Use this endpoint to modify individual commit access schedules, invoice schedules, applicable products, invoicing contracts, or other fields. - [Edit a credit](https://docs.metronome.com/api-reference/credits-and-commits/edit-a-credit.md): Edit details for a contract-level or customer-level credit. - [Update the commit end date](https://docs.metronome.com/api-reference/credits-and-commits/update-the-commit-end-date.md): Shortens the end date of a prepaid commit to terminate it earlier than originally scheduled. Use this endpoint when you need to cancel or reduce the duration of an existing prepaid commit. Only works with prepaid commit types and can only move the end date forward (earlier), not extend it. - [Update the credit end date](https://docs.metronome.com/api-reference/credits-and-commits/update-the-credit-end-date.md): Shortens the end date of an existing customer credit to terminate it earlier than originally scheduled. Only allows moving end dates forward (earlier), not extending them. - [Add a manual balance entry](https://docs.metronome.com/api-reference/credits-and-commits/add-a-manual-balance-entry.md): Manually adjust the available balance on a commit or credit. This entry is appended to the commit ledger as a new event. Optionally include a description that provides the reasoning for the entry. - [Release external payment gate threshold commit](https://docs.metronome.com/api-reference/credits-and-commits/release-external-payment-gate-threshold-commit.md): If using threshold billing with an external payment gateway, Metronome does not facilitate the payment gating process on behalf of the client. As a result, clients must facilitate the transaction themselves. This end-point is used to either release or cancel the commit pending on the outcome of the… - [Disable trueup for commit](https://docs.metronome.com/api-reference/credits-and-commits/disable-trueup-for-commit.md): Disable the true-up invoice for a postpaid commit. If used, the true-up invoice will not be generated. - [Archive a commit](https://docs.metronome.com/api-reference/credits-and-commits/archive-a-commit.md): Archive a contract-level or customer-level commit. Use this endpoint to deactivate a commit while preserving historical records. You will not be able to archive a commit until all of the finalized usage invoices the commit has been applied to are voided, and all of the finalized invoices for commit… - [Archive a credit](https://docs.metronome.com/api-reference/credits-and-commits/archive-a-credit.md): Archive a contract-level or customer-level credit. Use this endpoint to deactivate a credit while preserving historical records. You will not be able to archive a credit until all of the finalized invoices the credit has been applied to are voided. - [Create a customer](https://docs.metronome.com/api-reference/customers/create-a-customer.md): Create a new customer in Metronome and optionally the billing configuration (recommended) which dictates where invoices for the customer will be sent or where payment will be collected. - [Get a customer](https://docs.metronome.com/api-reference/customers/get-a-customer.md): Get detailed information for a specific customer by their Metronome ID. Returns customer profile data including name, creation date, ingest aliases, configuration settings, and custom fields. Use this endpoint to fetch complete customer details for billing operations or account management. - [List customers](https://docs.metronome.com/api-reference/customers/list-customers.md): Gets a paginated list of all customers in your Metronome account. Use this endpoint to browse your customer base, implement customer search functionality, or sync customer data with external systems. Returns customer details including IDs, names, and configuration settings. Supports filtering and pa… - [Create or update customer ingest aliases](https://docs.metronome.com/api-reference/customers/create-or-update-customer-ingest-aliases.md): Sets the ingest aliases for a customer. Use this endpoint to associate a Metronome customer with an internal ID for easier tracking between systems. Ingest aliases can be used in the `customer_id` field when sending usage events to Metronome. - [Update a customer name](https://docs.metronome.com/api-reference/customers/update-a-customer-name.md): Updates the display name for a customer record. Use this to correct customer names, update business names after rebranding, or maintain accurate customer information for invoicing and reporting. Returns the updated customer object with the new name applied immediately across all billing documents an… - [Update a customer configuration](https://docs.metronome.com/api-reference/customers/update-a-customer-configuration.md): Update configuration settings for a specific customer, such as external system integrations (e.g., Salesforce account ID) and other customer-specific billing parameters. Use this endpoint to modify customer configurations without affecting core customer data like name or ingest aliases. - [Set billing provider configurations for a customer](https://docs.metronome.com/api-reference/customers/set-billing-provider-configurations-for-a-customer.md): Create a billing configuration for a customer. Once created, these configurations are available to associate to a contract and dictates which downstream system to collect payment in or send the invoice to. You can create multiple configurations per customer. The configuration formats are distinct fo… - [Fetch billing provider configurations for a customer](https://docs.metronome.com/api-reference/customers/fetch-billing-provider-configurations-for-a-customer.md): Returns all billing configurations previously set for the customer. Use during the contract provisioning process to fetch the `billing_provider_configuration_id` needed to set the contract billing configuration. - [Get an embeddable customer dashboard](https://docs.metronome.com/api-reference/customers/get-an-embeddable-customer-dashboard.md): Generate secure, embeddable dashboard URLs that allow you to seamlessly integrate Metronome's billing visualizations directly into your application. This endpoint creates authenticated iframe-ready URLs for customer-specific dashboards, providing a white-labeled billing experience without building c… - [Archive a customer](https://docs.metronome.com/api-reference/customers/archive-a-customer.md): Use this endpoint to archive a customer while preserving auditability. Archiving a customer will automatically archive all contracts as of the current date and void all corresponding invoices. Use this endpoint if a customer is onboarded by mistake. - [Archive billing provider configurations for a customer](https://docs.metronome.com/api-reference/customers/archive-billing-provider-configurations-for-a-customer.md): Deprecate an existing billing configuration for a customer to handle churn or billing and collection preference changes. Archiving a billing configuration takes effect immediately. If there are active contracts using the configuration, Metronome will archive the configuration on the contract and imm… - [Create a custom field key](https://docs.metronome.com/api-reference/custom-fields/create-a-custom-field-key.md): Creates a new custom field key for a given entity (e.g. billable metric, contract, alert). - [List custom field keys](https://docs.metronome.com/api-reference/custom-fields/list-custom-field-keys.md): Retrieve all your active custom field keys, with optional filtering by entity type (customer, contract, product, etc.). Use this endpoint to discover what custom field keys are available before setting values on entities or to audit your custom field configuration across different entity types. - [Delete a custom field key](https://docs.metronome.com/api-reference/custom-fields/delete-a-custom-field-key.md): Removes a custom field key from the allowlist for a specific entity type, preventing future use of that key across all instances of the entity. Existing values for this key on entity instances will no longer be accessible once the key is removed. - [Set custom field values](https://docs.metronome.com/api-reference/custom-fields/set-custom-field-values.md): Sets custom field values on a specific Metronome entity instance. Overwrites existing values for matching keys while preserving other fields. All updates are transactional—either all values are set or none are. Custom field values are limited to 200 characters each. - [Delete custom fields](https://docs.metronome.com/api-reference/custom-fields/delete-custom-fields.md): Remove specific custom field values from a Metronome entity instance by specifying the field keys to delete. Use this endpoint to clean up unwanted custom field data while preserving other fields on the same entity. Requires the entity type, entity ID, and array of keys to remove. - [Get an invoice](https://docs.metronome.com/api-reference/invoices/get-an-invoice.md): Retrieve detailed information for a specific invoice by its unique identifier. This endpoint returns comprehensive invoice data including line items, applied credits, totals, and billing period details for both finalized and draft invoices. - [List invoices](https://docs.metronome.com/api-reference/invoices/list-invoices.md): Retrieves a paginated list of invoices for a specific customer, with flexible filtering options to narrow results by status, date range, credit type, and more. This endpoint provides a comprehensive view of a customer's billing history and current charges, supporting both real-time billing dashboard… - [Get an invoice PDF](https://docs.metronome.com/api-reference/invoices/get-an-invoice-pdf.md): Retrieve a PDF version of a specific invoice by its unique identifier. This endpoint generates a professionally formatted invoice document suitable for sharing with customers, accounting teams, or for record-keeping purposes. - [List invoice breakdowns](https://docs.metronome.com/api-reference/invoices/list-invoice-breakdowns.md): Retrieve granular time-series breakdowns of invoice data at hourly or daily intervals. This endpoint transforms standard invoices into detailed timelines, enabling you to track usage patterns, identify consumption spikes, and provide customers with transparency into their billing details throughout… - [Preview events](https://docs.metronome.com/api-reference/invoices/preview-events.md): Preview how a set of events will affect a customer's invoices. Generates draft invoices for a customer using their current contract configuration and the provided events. This is useful for testing how new events will affect the customer's invoices before they are actually processed. Customers on c… - [Regenerate an invoice](https://docs.metronome.com/api-reference/invoices/regenerate-an-invoice.md): This endpoint regenerates a voided invoice and recalculates the invoice based on up-to-date rates, available balances, and other fees regardless of the billing period. - [Void an invoice](https://docs.metronome.com/api-reference/invoices/void-an-invoice.md): Permanently cancels an invoice by setting its status to voided, preventing collection and removing it from customer billing. Use this to correct billing errors, cancel incorrect charges, or handle disputed invoices that should not be collected. Returns the voided invoice ID with the status change ap… - [Create a threshold notification](https://docs.metronome.com/api-reference/alerts/create-a-threshold-notification.md): Create a new threshold notification to monitor customer spending, balances, and billing metrics in real-time. Metronome's notification system provides industry-leading speed with immediate evaluation capabilities, enabling you to proactively manage customer accounts and prevent revenue leakage. - [Get a threshold notification](https://docs.metronome.com/api-reference/alerts/get-a-threshold-notification.md): Retrieve the real-time evaluation status for a specific threshold notification-customer pair. This endpoint provides instant visibility into whether a customer has triggered a threshold notification condition, enabling you to monitor account health and take proactive action based on current threshol… - [Get all threshold notifications](https://docs.metronome.com/api-reference/alerts/get-all-threshold-notifications.md): Retrieve all threshold notification configurations and their current statuses for a specific customer in a single API call. This endpoint provides a comprehensive view of all threshold notification monitoring a customer account. - [Reset a threshold notification](https://docs.metronome.com/api-reference/alerts/reset-a-threshold-notification.md): Force an immediate re-evaluation of a specific threshold notification for a customer, clearing any previous state and triggering a fresh assessment against current thresholds. This endpoint ensures threshold notification accuracy after configuration changes or data corrections. - [Archive a threshold notification](https://docs.metronome.com/api-reference/alerts/archive-a-threshold-notification.md): Permanently disable a threshold notification and remove it from active monitoring across all customers. Archived threshold notifications stop evaluating immediately and can optionally release their uniqueness key for reuse in future threshold notification configurations. - [Create an offset lifecycle event notification configuration](https://docs.metronome.com/api-reference/notifications/create-an-offset-lifecycle-event-notification-configuration.md): Create an offset lifecycle event notification configuration. The lifecycle event type is inferred from the policy.type field. - [Get an offset lifecycle event notification configuration](https://docs.metronome.com/api-reference/notifications/get-an-offset-lifecycle-event-notification-configuration.md): Retrieve a specific offset lifecycle event notification configuration by ID. - [List offset lifecycle event notification configurations](https://docs.metronome.com/api-reference/notifications/list-offset-lifecycle-event-notification-configurations.md): List offset lifecycle event notification configurations. These are user-created notifications that trigger at a specified time offset relative to lifecycle events. Returns a maximum of 400 results per request. - [List system notification event types](https://docs.metronome.com/api-reference/notifications/list-system-notification-event-types.md): List available system lifecycle event types for notifications. These are read-only event types that can be used when creating offset notifications. - [Edit an offset lifecycle event notification configuration](https://docs.metronome.com/api-reference/notifications/edit-an-offset-lifecycle-event-notification-configuration.md): Edit an existing offset lifecycle event notification configuration. - [Archive an offset lifecycle event notification configuration](https://docs.metronome.com/api-reference/notifications/archive-an-offset-lifecycle-event-notification-configuration.md): Archive an offset lifecycle event notification configuration. Archived notifications are not processed. - [Create a package](https://docs.metronome.com/api-reference/contracts/create-a-package.md): Create a package that defines a set of reusable, time-relative contract terms that can be used across cohorts of customers. Packages provide an abstraction layer on top of rate cards to provide an easy way to provision customers with standard pricing. - [Get a package](https://docs.metronome.com/api-reference/packages/get-a-package.md): Gets the details for a specific package, including name, aliases, duration, and terms. Use this endpoint to understand a package’s alias schedule, or display a specific package’s details to end customers. - [List all packages](https://docs.metronome.com/api-reference/list-all-packages.md): Lists all packages with details including name, aliases, duration, and terms. To view contracts on a specific package, use the `listContractsOnPackage` endpoint. - [List contracts associated with a package](https://docs.metronome.com/api-reference/contracts/list-contracts-associated-with-a-package.md): For a given package, returns all contract IDs and customer IDs associated with the package over a specific time period. - [Archive a package](https://docs.metronome.com/api-reference/packages/archive-a-package.md): Archive a package. Archived packages cannot be used to create new contracts. However, existing contracts associated with the package will continue to function as normal. Once you archive a package, you can still retrieve it in the UI and API, but you cannot unarchive it. - [Create a product](https://docs.metronome.com/api-reference/products/create-a-product.md): Create a new product object. Products in Metronome represent your company's individual product or service offerings. A Product can be thought of as the basic unit of a line item on the invoice. This is analogous to SKUs or items in an ERP system. Give the product a meaningful name as they will appea… - [Get a product](https://docs.metronome.com/api-reference/products/get-a-product.md): Retrieve a product by its ID, including all metadata and historical changes. - [List products](https://docs.metronome.com/api-reference/products/list-products.md): Get a paginated list of all products in your organization with their complete configuration, version history, and metadata. By default excludes archived products unless explicitly requested via the `archive_filter` parameter. - [Update a product](https://docs.metronome.com/api-reference/products/update-a-product.md): Updates a product's configuration while maintaining billing continuity for active customers. Use this endpoint to modify product names, metrics, pricing rules, and composite settings without disrupting ongoing billing cycles. Changes are scheduled using the starting_at timestamp, which must be on an… - [Archive a product](https://docs.metronome.com/api-reference/products/archive-a-product.md): Archive a product. Any current rate cards associated with this product will continue to function as normal. However, it will no longer be available as an option for newly created rates. Once you archive a product, you can still retrieve it in the UI and API, but you cannot unarchive it. - [Create a rate card](https://docs.metronome.com/api-reference/rate-cards/create-a-rate-card.md): In Metronome, the rate card is the central location for your pricing. Rate cards were built with new product launches and pricing changes in mind - you can update your products and pricing in one place, and that change will be automatically propagated across your customer cohorts. Most clients need… - [Add a rate](https://docs.metronome.com/api-reference/rate-cards/add-a-rate.md): Add a new rate - [Add rates](https://docs.metronome.com/api-reference/rate-cards/add-rates.md): Add new rates - [Get a rate card](https://docs.metronome.com/api-reference/rate-cards/get-a-rate-card.md): Return details for a specific rate card including name, description, and aliases. This endpoint does not return rates - use the dedicated getRates or getRateSchedule endpoints to understand the rates on a rate card. - [List rate cards](https://docs.metronome.com/api-reference/rate-cards/list-rate-cards.md): List all rate cards. Returns rate card IDs, names, descriptions, aliases, and other details. To view the rates associated with a given rate card, use the getRates or getRateSchedule endpoints. - [Get rates](https://docs.metronome.com/api-reference/rate-cards/get-rates.md): Understand the rate schedule at a given timestamp, optionally filtering the list of rates returned based on properties such as `product_id` and `pricing_group_values`. For example, you may want to display the current price for a given product in your product experience - use this endpoint to fetch t… - [Get a rate schedule](https://docs.metronome.com/api-reference/rate-cards/get-a-rate-schedule.md): A rate card defines the prices that you charge for your products. Rate cards support scheduled changes over time, to allow you to easily roll out pricing changes and new product launches across your customer base. Use this endpoint to understand the rate schedule `starting_at` a given date, optional… - [Update a rate card](https://docs.metronome.com/api-reference/rate-cards/update-a-rate-card.md): Update a rate card's name, description, aliases, and credit type conversion rates. This endpoint does not affect underlying pricing rates or schedules. - [Set the rate card products order](https://docs.metronome.com/api-reference/rate-cards/set-the-rate-card-products-order.md): The ordering of products on a rate card determines the order in which the products will appear on customers' invoices. Use this endpoint to set the order of products on the rate card. - [Update the rate card products order](https://docs.metronome.com/api-reference/rate-cards/update-the-rate-card-products-order.md): The ordering of products on a rate card determines the order in which the products will appear on customers' invoices. Use this endpoint to set the order of specific products on the rate card by moving them relative to their current location. - [Archive a rate card](https://docs.metronome.com/api-reference/rate-cards/archive-a-rate-card.md): Permanently disable a rate card by archiving it, preventing use in new contracts while preserving existing contract pricing. Use this when retiring old pricing models, consolidating rate cards, or removing outdated pricing structures. Returns the archived rate card ID and stops the rate card from ap… - [Get audit logs](https://docs.metronome.com/api-reference/security/get-audit-logs.md): Get a comprehensive audit trail of all operations performed in your Metronome account, whether initiated through the API, web interface, or automated processes. This endpoint provides detailed logs of who did what and when, enabling compliance reporting, security monitoring, and operational troubles… - [Get services](https://docs.metronome.com/api-reference/security/get-services.md): Gets Metronome's service registry with associated IP addresses for security allowlisting and firewall configuration. Use this endpoint to maintain an up-to-date list of IPs that your systems should trust for Metronome communications. Returns service names and their current IP ranges, with new IPs ty… - [List pricing units](https://docs.metronome.com/api-reference/settings/list-pricing-units.md): List all pricing units. All fiat currency types (for example, USD or GBP) will be included, as well as any custom pricing units that were configured. Custom pricing units can be used to charge for usage in a non-fiat pricing unit, for example AI credits. - [List account-level billing providers](https://docs.metronome.com/api-reference/settings/list-account-level-billing-providers.md): Lists all configured billing providers and their delivery method configurations for your account. Returns provider details, delivery method IDs, and configuration settings needed for mapping individual customer contracts to billing integrations. - [Set up account-level billing provider](https://docs.metronome.com/api-reference/settings/set-up-account-level-billing-provider.md): Set up account-level configuration for a billing provider. Once configured, individual contracts across customers can be mapped to this configuration using the returned delivery_method_id. - [Upsert Anrok API token](https://docs.metronome.com/api-reference/settings/upsert-anrok-api-token.md): Set the Anrok API token for some specified delivery_method_ids, which can be found in the `/listConfiguredBillingProviders` response. This maps the Anrok key to the appropriate billing entity. These API tokens are only used for Threshold Billing workflows today. - [Upsert Avalara credentials](https://docs.metronome.com/api-reference/settings/upsert-avalara-credentials.md): Set the Avalara credentials for some specified `delivery_method_ids`, which can be found in the `/listConfiguredBillingProviders` response. This maps the Avalara credentials to the appropriate billing entity. These credentials are only used for PLG Invoicing today. - [Ingest events](https://docs.metronome.com/api-reference/usage/ingest-events.md): The ingest endpoint is the primary method for sending usage events to Metronome, serving as the foundation for all billing calculations in your usage-based pricing model. This high-throughput endpoint is designed for real-time streaming ingestion, supports backdating 34 days, and is built to handle… - [Get batched usage data](https://docs.metronome.com/api-reference/usage/get-batched-usage-data.md): Retrieve aggregated usage data across multiple customers and billable metrics in a single query. This batch endpoint enables you to fetch usage patterns at scale, broken down by time windows, making it ideal for building analytics dashboards, generating reports, and monitoring platform-wide usage tr… - [Get usage data with paginated groupings](https://docs.metronome.com/api-reference/usage/get-usage-data-with-paginated-groupings.md): Retrieve granular usage data for a specific customer and billable metric, with the ability to break down usage by custom grouping dimensions. This endpoint enables deep usage analytics by segmenting data across attributes like region, user, model type, or any custom dimension defined in your billabl… - [Search events](https://docs.metronome.com/api-reference/usage/search-events.md): This endpoint retrieves events by transaction ID for events that occurred within the last 34 days. It is specifically designed for sampling-based testing workflows to detect revenue leakage. The Event Search API provides a critical observability tool that validates the integrity of your usage pipeli… ## OpenAPI Specs - [openapi.plans](https://docs.metronome.com/openapi.plans.json) - [openapi](https://docs.metronome.com/openapi.json) ## Optional - [Status](https://status.metronome.com/) - [Blog](https://metronome.com/blog) - [Statut](https://status.metronome.com/) - [Blog](https://metronome.com/blog)