Skip to content
Elaichi Elaichi

Subscription Platform

Metronome

Connect Metronome once and hand every teammate a governed MCP endpoint with 139 tools ready to call from Claude, ChatGPT, Cursor, or any MCP client, inside the same permissions they already have, with every call checked and logged.

Metronome

See it in Elaichi

What connecting Metronome gets you

6 screens from the product, each doing one job for your Metronome account.

The agent

Ask billing questions, get live answers.

Query Metronome usage, invoices and approvals in plain language and get answers from live records.

  • approval requests
  • alerts
  • billable metrics
  • customers

Ask Elaichi to work across your apps.

Summarize this month's approval requests pending in Metronome.

Which customers triggered billing alerts this week?

List billable metrics archived in the last 30 days.

Also runs in Claude, ChatGPT or Cursor

MCP clients

One endpoint, every client, no shared keys.

Connect Claude, ChatGPT or Cursor to Metronome through one governed org endpoint.

Claude ChatGPT Cursor

Copy the endpoint

https://api.elaichi.ai/mcp
Client Connected by Status Last used
Claude
E

Emma Laurent

• Connected 4 minutes ago
Cursor
S

Sofia Ricci

• Connected 2 hours ago
ChatGPT
C

Clara Nowak

• Connected Yesterday

Tool catalogue

139 Metronome tools, zero integration code.

Every Metronome method, alert and billable metric is catalogued and ready to call.

  • list_all_metronome_approval_requests
  • create_a_metronome_approval_request
  • get_single_metronome_approval_request_by_id
  • metronome_approval_requests_approve
Tool Resource Method Description
list_all_metronome_approval_requests metronome_approval_requests list List approval requests in Metronome submitted by agentic tokens, with optional status and creation-date filters. Returns: id, status, token_name, created_at, expires_at, approval_url, reviewed_by, reviewed_at, completed_at, approval_request_payload, response, name, description, method, path, body.
create_a_metronome_approval_request metronome_approval_request create Submit a write operation for human approval in Metronome when an agentic token blocks the mutation. Returns the created approval request including id, status, approval_url, name, description, method, path, and body. Required: name, description, method, path, body.
get_single_metronome_approval_request_by_id metronome_approval_request get Get a single approval request in Metronome by id. Returns: id, status, token_name, created_at, expires_at, approval_url, reviewed_by, reviewed_at, completed_at, approval_request_payload, response, name, description, method, path, body. Required: id.
metronome_approval_requests_approve metronome_approval_requests_approve get Approve a pending approval request in Metronome, allowing the queued write operation to execute automatically. Returns: id, status, token_name, created_at, expires_at, approval_url, reviewed_by, reviewed_at, completed_at, approval_request_payload, response, name, description, method, path, body. Required: approval_request_id.
create_a_metronome_approval_request_deny metronome_approval_request_deny create Deny a pending approval request in Metronome, preventing the queued write operation from executing and closing the request. Returns the updated approval request including id, status, token_name, approval_url, and approval_request_payload. Required: approval_request_id.

Toolboxes

Every team gets its own Metronome toolbox.

Scope billing, alerts and approval tools to the teams that actually need them.

  • Billing Ops
  • Revenue
  • Customer Success
  • Finance
Name Source template Tools Created

Billing Ops toolbox

Metronome · invoices and billing config

Metronome starter 18 Mar 4, 2026

Revenue toolbox

Metronome · billable metrics and pricing

9 Mar 2, 2026

Customer Success toolbox

Metronome · customer alerts and accounts

24 Feb 27, 2026

Finance toolbox

Metronome · approvals and reconciliation

Metronome starter 6 Feb 19, 2026

Engineering toolbox

Metronome · webhooks and API keys

31 Jan 30, 2026

Support toolbox

Metronome · alert resets and lookups

12 Jan 22, 2026

Shared connections

Delegated Metronome access, no shared credentials.

See who connected each Metronome account and how many teams and members use it.

  • Billing Prod
  • Finance NA
  • Support EMEA
  • Revenue Ops
Connection Scope Status Access Created
ME

Metronome (Billing Prod)

Connected by Emma Laurent

Personal • Active 1 team · 6 members Mar 4, 2026
ME

Metronome (Finance NA)

Connected by James Whitfield

Organization • Active 3 teams · 24 members Mar 2, 2026
ME

Metronome (Support EMEA)

Connected by Sofia Ricci

Organization • Active 2 teams · 11 members Feb 27, 2026
ME

Metronome (Revenue Ops)

Connected by Daniel Ortega

Personal • Needs re-auth 1 team · 3 members Feb 19, 2026
ME

Metronome (Customer Success)

Connected by Clara Nowak

Personal • Active Not shared Jan 30, 2026
ME

Metronome (Engineering)

Connected by Michael Brennan

Personal • Active 2 teams · 9 members Jan 22, 2026

Audit log

Every Metronome call, logged and attributable.

Track who did what in Metronome, when, and against which resource.

  • When
  • Who
  • What happened
  • Resource
When Who What happened Type Resource

2 minutes ago

Mar 6, 2026, 3:10 PM

E

Emma Laurent

[email protected]

Restriction Created Access Support team

8 minutes ago

Mar 6, 2026, 3:04 PM

J

James Whitfield

[email protected]

Restriction Updated Access Sales team

14 minutes ago

Mar 6, 2026, 2:58 PM

S

Sofia Ricci

[email protected]

Role Assigned Access Analyst

20 minutes ago

Mar 6, 2026, 2:52 PM

D

Daniel Ortega

[email protected]

Metronome Users Updated MCP users

26 minutes ago

Mar 6, 2026, 2:46 PM

C

Clara Nowak

[email protected]

Metronome Approval requests Created MCP approval requests

32 minutes ago

Mar 6, 2026, 2:40 PM

M

Michael Brennan

[email protected]

Metronome Approval requests List Toolbox approval requests

Automations & dashboards

From answering questions to doing the work

A person no longer has to ask. A trigger starts the work, inside the same permissions and the same audit log as everything else. Automations and live dashboards ship on the Black plan.

Automations

Schedules trigger real Metronome work end to end.

A trigger fetches records, drafts a digest, a person approves, then it posts back to Metronome.

Metronome digest

Run 418 · started 2 minutes ago · on behalf of Emma Laurent

  1. Schedule

    Every weekday at 08:00

    0.2s
  2. Fetch approval requests

    Metronome

    1.4s
  3. Group by owner

    Transform

    0.1s
  4. Draft the digest

    Agent step

    Ran with 4 tools, returned a structured summary

    6.2s
  5. Approve the digest

    Needs approval

    Assigned to Michael Brennan

    Approve
  6. Post the digest

    Metronome

    Queued

Collections and dashboards

Metronome health, computed on a schedule.

Four metrics and a 14 day chart track Metronome records with no model involved.

Metronome health

Refreshed 4 minutes ago · every 15 minutes · from the approval requests collection

Live

Approval requests

1,284 ↓ 12%

Alerts

96 ↓ 8%

Needs attention

3 ↑ 2

Updated this week

412 ↑ 9%

Approval requests created

Last 14 days

By workspace

Share of activity

Billing Prod 34%

Finance NA 27%

Support EMEA 21%

Revenue Ops 18%

AI tools

Metronome tools for your AI agents

139 tools are ready to call through Elaichi's MCP endpoint the moment you connect Metronome, governed by the same roles, restrictions, and audit log as everything else in Elaichi.

list_all_metronome_approval_requests

List approval requests in Metronome submitted by agentic tokens, with optional status and creation-date filters. Returns: id, status, token_name, created_at, expires_at, approval_url, reviewed_by, reviewed_at, completed_at, approval_request_payload, response, name, description, method, path, body.

create_a_metronome_approval_request

Submit a write operation for human approval in Metronome when an agentic token blocks the mutation. Returns the created approval request including id, status, approval_url, name, description, method, path, and body. Required: name, description, method, path, body.

get_single_metronome_approval_request_by_id

Get a single approval request in Metronome by id. Returns: id, status, token_name, created_at, expires_at, approval_url, reviewed_by, reviewed_at, completed_at, approval_request_payload, response, name, description, method, path, body. Required: id.

metronome_approval_requests_approve

Approve a pending approval request in Metronome, allowing the queued write operation to execute automatically. Returns: id, status, token_name, created_at, expires_at, approval_url, reviewed_by, reviewed_at, completed_at, approval_request_payload, response, name, description, method, path, body. Required: approval_request_id.

create_a_metronome_approval_request_deny

Deny a pending approval request in Metronome, preventing the queued write operation from executing and closing the request. Returns the updated approval request including id, status, token_name, approval_url, and approval_request_payload. Required: approval_request_id.

create_a_metronome_alerts_archive

Archive a threshold notification in Metronome, permanently disabling it and removing it from active monitoring across all customers. Returns: id. Archived threshold notifications cannot be re-enabled. Required: id.

create_a_metronome_alerts_create

Create a threshold notification in Metronome to monitor customer spending, credit balances, and billing metrics in real time. Returns: id. Type-specific fields such as credit_type_id or billable_metric_id may be required depending on alert_type. evaluate_on_create defaults to true for instant evaluation. Required: alert_type, name, threshold.

create_a_metronome_billable_metrics_create

Create a billable metric in Metronome that filters and aggregates events from your event stream into continuously tracked usage metrics for billing. Returns: id. Supports standard filtering/aggregation (streaming, optimized for low latency and high throughput) or a custom SQL query for more flexible aggregation options. Required: name.

create_a_metronome_billable_metrics_archive

Archive a billable metric in Metronome by its ID. Retired metrics can no longer be used in new Products, though existing Products continue to meter normally. Returns: id. Required: id.

get_single_metronome_customer_alerts_get_by_id

Get a threshold notification's real-time evaluation status for a specific customer in Metronome. Returns: customer_status, triggered_by, alert, updated_at. Required: customer_id, alert_id.

list_all_metronome_customer_alerts_lists

List all threshold notification configurations and their current evaluation statuses for a specific Metronome customer. Returns: customer_status, triggered_by, alert. Defaults to enabled notifications only. Required: customer_id.

create_a_metronome_customer_alerts_reset

Reset a threshold notification in Metronome, forcing an immediate re-evaluation against current thresholds and clearing any cached evaluation state. Returns an empty 200 response on success. Re-evaluation completes asynchronously and may trigger new webhook notifications if thresholds are breached. Required: customer_id, alert_id.

create_a_metronome_billing_config_api_key

Set the API key for a billing provider in Metronome, used for sending invoices to the billing provider (e.g., if the provider is Stripe, this is the restricted key). Deprecated — use Create Stripe billing settings instead. Returns an empty 200 response on success. Required: billing_provider_type, api_key.

create_a_metronome_config_webhook_secret

Set the webhook secret for the client in Metronome, used for validating webhook messages sent to the external Metronome webhook endpoint. Returns an empty 200 response on success. Required: webhook_secret.

create_a_metronome_billing_config_stripe

Create Stripe billing settings in Metronome. For prepaid credit grants and recharges, the Stripe API key needs read-write access to Invoices and PaymentIntents and read-only access to PaymentMethods and Customers. Returns a success response with no documented response body. Required: stripe_api_key.

metronome_billing_config_stripes_bulk_update

Update Stripe billing settings in Metronome with partial updates. Individual settings can be removed by specifying null values. Returns a success response with no documented response body.

metronome_billing_config_stripes_bulk_delete

Delete all Stripe billing settings in Metronome. Returns a success response with no documented response body.

list_all_metronome_credit_types_lists

List all pricing units in Metronome, including fiat currency types (e.g., USD, GBP) and custom pricing units such as AI credits. Returns: name, id, is_currency.

create_a_metronome_credit_types_create

Create a custom pricing unit in Metronome for charging usage in a non-fiat unit such as AI credits. Returns: id. Required: name.

create_a_metronome_credit_types_archive

Archive a custom pricing unit (credit type) in Metronome. Once archived, it no longer appears in pricing unit selectors by default. Returns: id. Required: id.

create_a_metronome_ingest

Send usage events to Metronome for real-time billing calculations. Accepts 1 to 100 events per request, each with a transaction_id idempotency key, customer_id, event_type, and timestamp. Events can be backdated up to 34 days with automatic 34-day deduplication. Returns a 200 Success response with no body.

get_single_metronome_usage_seat_by_id

Get seats usage data in Metronome for a specified customer, broken into time intervals of the specified window size. Returns: starting_on, ending_before, value. Required: customer_id, seat_metric_id, usage_type, window_size.

get_single_metronome_usage_group_by_id

Retrieve granular usage data for a Metronome customer and billable metric, segmented by custom grouping dimensions such as region, team, or model type. Returns: starting_on, ending_before, group_key, group_value, group, value. For compound group keys, pass all constituent keys in group_key; across all group_filters arrays include at most 200…. Required: customer_id, billable_metric_id, window_size.

get_single_metronome_usage_by_id

Get batched usage data in Metronome, aggregated across multiple customers and billable metrics broken down by time windows. Returns: customer_id, billable_metric_id, billable_metric_name, start_timestamp, end_timestamp, value, groups. Required: window_size, starting_on, ending_before.

list_all_metronome_search_events

Search Metronome events by transaction IDs to validate usage pipeline integrity and detect revenue leakage. Returns: id, transaction_id, customer_id, event_type, timestamp, properties, processed_at, is_duplicate, matched_customer, matched_billable_metrics. Only events from the last 34 days are searchable; this endpoint is heavily rate-limited and designed for sampling…. Required: transactionIds.

get_single_metronome_billable_metric_by_id

Get a single Metronome billable metric by id. Returns: id, name, event_type_filter, property_filters, aggregation_type, aggregation_key, group_keys, custom_fields, sql, archived_at. Required: id.

update_a_metronome_billable_metric_by_id

Update the display name of an existing Metronome billable metric. Returns: id, name, event_type_filter, property_filters, aggregation_type, aggregation_key, group_keys. Only the name can be modified; other configurations cannot be changed after creation. Required: id, name.

list_all_metronome_billable_metrics

List all Metronome billable metrics with their complete configurations. Returns: id, name, event_type_filter, property_filters, aggregation_type, aggregation_key, group_keys, custom_fields, sql, archived_at. Archived metrics are excluded by default; set include_archived to true to include them.

create_a_metronome_billable_metric

Create a new Metronome billable metric with a name, aggregation type, and event filter. Returns: id, name, aggregation_type, aggregation_key, event_type_filter, property_filters, group_keys, custom_fields. Required: name, aggregate, filter.

create_a_metronome_customers_set_billable_status

Set a customer's billable status in Metronome. Returns: id, current_billable_status. Metronome 1.0 plan invoices are not supported; endpoint availability depends on client configuration. Required: customer_id, billable_status, effective_at.

create_a_metronome_customers_archive

Archive a customer in Metronome, automatically archiving all contracts as of the current date and voiding corresponding invoices. Returns: id. Once archived, a customer cannot be unarchived. Required: id.

get_single_metronome_customer_by_id

Get a single Metronome customer by id. Returns: id, external_id, ingest_aliases, name, customer_config, custom_fields, created_at, archived_at, updated_at, current_billable_status. Required: id.

list_all_metronome_customers

List all Metronome customers with optional filtering by ingest alias, customer IDs, Salesforce account IDs, or archived status. Returns each customer's id, name, external_id, ingest_aliases, created_at, updated_at, customer_config, and custom_fields.

create_a_metronome_customer

Create a new Metronome customer with optional ingest aliases and billing provider configuration. Returns: id, external_id, ingest_aliases, name, custom_fields. Required: name.

metronome_customers_get_named_schedule

Get a named schedule for a specific Metronome customer at a given date. Returns an array of schedule intervals with starting_at, ending_before, and value. Required: customer_id, schedule_name.

list_all_metronome_customer_billable_metrics

List billable metrics available for a specific Metronome customer, including aggregation configuration and event filters. Returns: group_by, group_keys, name, id, aggregate, aggregate_keys, filter, aggregation_key, event_type_filter, property_filters, custom_fields, sql, archived_at, aggregation_type. Required: customer_id.

create_a_metronome_customer_set_ingest_alias

Set ingest aliases for a Metronome customer, associating it with internal IDs that can be used in the customer_id field when sending usage events. This call is idempotent and fully replaces the existing set of ingest aliases. Returns: id, external_id, ingest_aliases, name, current_billable_status. Required: customer_id, ingest_aliases.

create_a_metronome_customer_set_name

Update the display name for a Metronome customer record. Returns the updated customer object including id, external_id, ingest_aliases, and name. Required: customer_id, name.

update_a_metronome_customer_update_config_by_id

Update configuration settings for a Metronome customer, such as external system integrations (e.g., Salesforce account ID). Returns: id, salesforce_account_id, current_billable_status. Required: customer_id.

list_all_metronome_customer_purchased_seats

List purchased seats for a Metronome customer, returning the number of seats purchased for the current period. Returns: charge_id, seat_count, id, created_at, updated_at, external_id, ingest_aliases, name, customer_config, custom_fields. Required: customer_id.

create_a_metronome_invoices_invoice_seat

Create a prorated invoice in Metronome for seat additions on a customer plan. Returns the created invoice object including its id, customer_id, type, status, line_items, subtotal, total, credit_type, and billing period timestamps. Required: customer_id, seat_charges.

list_all_metronome_customer_invoices

List Metronome invoices for a customer with flexible filtering by status, type, date range, credit type, and contract. Returns: id, customer_id, customer_custom_fields, netsuite_sales_order_id, salesforce_opportunity_id, net_payment_terms_days, credit_type, line_items, start_timestamp, end_timestamp, issued_at, created_at, status, total, type, external_invoice, revenue_system_invoices,…. Required: customer_id.

get_single_metronome_customer_invoice_by_id

Get a single Metronome invoice by id for a specific customer, including detailed line items, credit type, billing period, and total. Returns: id, customer_id, customer_custom_fields, netsuite_sales_order_id, salesforce_opportunity_id, net_payment_terms_days, credit_type, line_items, start_timestamp, end_timestamp, issued_at, created_at, status, total, type, external_invoice,…. Required: id, customer_id.

list_all_metronome_invoices_breakdowns

List Metronome invoice breakdowns for a customer as hourly or daily time-series segments. Returns: id, customer_id, customer_custom_fields, netsuite_sales_order_id, salesforce_opportunity_id, net_payment_terms_days, credit_type, line_items, start_timestamp, end_timestamp, issued_at, created_at, status, total, type, external_invoice, revenue_system_invoices, contract_id, contract_custom_fields,…. Required: customer_id, starting_on.

get_single_metronome_invoice_pdf_by_id

Get a PDF version of a specific Metronome invoice by invoice id. Returns a binary PDF file containing the full invoice with line items, totals, billing period, and customer details. Required: id, customer_id.

list_all_metronome_invoices_spend_breakdowns

List Metronome spend invoice breakdowns for a customer, dynamically grouping costs by custom dimensions like region or user. Returns: id, customer_id, credit_type, line_items, start_timestamp, end_timestamp, issued_at, created_at, status, type, contract_id, breakdown_start_timestamp, breakdown_end_timestamp. Required: customer_id, starting_on, ending_before.

create_a_metronome_invoices_void

Void an invoice in Metronome by permanently cancelling it, setting its status to voided to stop payment processing and remove it from customer billing. Returns: id. Required: id.

create_a_metronome_invoices_regenerate

Regenerate a voided Metronome invoice, recalculating it with up-to-date rates, available balances, and fees regardless of the original billing period. Returns: id. Required: id.

create_a_metronome_customer_preview_event

Preview how a set of usage events will affect a customer's invoices in Metronome, generating draft invoices using the customer's current contract configuration and the provided events. Returns an array of draft invoices with id, customer_id, type, start_timestamp, end_timestamp, total, status, line_items, credit_type, and contract_id. Customers on contracts with SQL…. Required: customer_id, events.

create_a_metronome_set_up_billing_provider

Set up account-level billing provider configuration in Metronome. Returns: delivery_method_id. The configuration object structure is specific to the billing provider and delivery method combination. Required: billing_provider, delivery_method, configuration.

create_a_metronome_upsert_anrok_api_token

Upsert an Anrok API token for specified delivery method IDs in Metronome, mapping the Anrok key to the appropriate billing entity for Threshold Billing workflows. Returns: success. Delivery method IDs can be obtained from the `/listConfiguredBillingProviders` response. Required: delivery_method_ids, anrok_api_token.

create_a_metronome_upsert_avalara_credential

Upsert Avalara credentials in Metronome for specified delivery method IDs, mapping them to the appropriate billing entity for PLG Invoicing. Returns an empty response on success. Required: delivery_method_ids, avalara_environment, avalara_username, avalara_password.

create_a_metronome_rotate_delta_stream_secret

Rotate the HMAC secret used to sign Metronome delta stream messages. Returns: secret, starting_on. If starting_on is omitted, the new secret takes effect in 10 minutes; calling while a rotation is already in progress replaces and cancels the previous rotation.

list_all_metronome_list_configured_billing_providers

List all configured billing providers and their delivery method configurations for your Metronome account. Returns: billing_provider, delivery_method_id, delivery_method, delivery_method_configuration.

get_get_customer_billing_provider_configuration_by_id

Fetch all billing provider configurations for a Metronome customer, typically during contract provisioning to obtain the configuration id needed to set a contract's billing configuration. Returns: id, billing_provider, customer_id, configuration, delivery_method_id, delivery_method, delivery_method_configuration, archived_at, unbillable_invoices_configuration. Required: customer_id.

get_get_customer_revenue_system_configuration_by_id

Fetch all revenue system configurations previously set for a customer in Metronome. Returns an array of configuration objects including id, provider, customer_id, configuration, delivery_method_id, delivery_method, delivery_method_configuration, and archived_at. Required: customer_id.

create_a_metronome_set_customer_billing_provider_configuration

Create one or more billing provider configurations for a Metronome customer, supporting providers such as Stripe, AWS Marketplace, Azure Marketplace, GCP Marketplace, and NetSuite. Returns an array of created configuration objects including id, billing_provider, customer_id, configuration, delivery_method, delivery_method_id, delivery_method_configuration, and archived_at. Required: data.

create_archive_customer_billing_provider_configuration

Archive billing provider configurations for a Metronome customer, taking effect immediately and stopping metering to downstream systems for any active contracts using the configuration. Returns: customer_billing_provider_configuration_ids, customer_id, id. Any validation failure for an individual configuration prevents the entire…. Required: customer_billing_provider_configuration_ids, customer_id.

create_a_metronome_set_customer_revenue_system_configuration

Create revenue system configurations for a Metronome customer, which can then be associated to a contract for revenue workflows. Returns the inserted configuration objects including id, customer_id, delivery_method_id, provider, and configuration. Required: data.

create_a_metronome_archive_customer_revenue_system_configuration

Archive existing revenue system configurations for a customer in Metronome. Archiving takes effect immediately. Returns: customer_revenue_system_configuration_ids, customer_id, id. Required: customer_revenue_system_configuration_ids, customer_id.

metronome_dashboards_get_embeddable_url

Generate a secure, time-limited embeddable dashboard URL for a Metronome customer, ready to use in an iframe. Returns: url. Dashboard types available are invoices, usage, or commits_and_credits; dashboard_options are supported for the invoices dashboard only. Required: customer_id, dashboard.

create_a_metronome_integrations_log

Log events from integration services to Cloudwatch in Metronome. The request body resembles an AWS CloudWatch PutMetricData request. Returns a 200 Success response with no documented response body. Required: service_name, metric_name, dimensions.

list_all_metronome_audit_logs

List audit logs in Metronome tracking all operations performed via API, web UI, or automated processes. Returns: id, timestamp, actor, request, resource_type, resource_id, action, status, description. Resource filtering requires both resource_type and resource_id together; date filters (starting_on, ending_before) cannot be used with next_page.

list_all_metronome_services

List Metronome's service registry with associated IP addresses for security allowlisting and firewall configuration. Returns: name, ips. New IPs typically appear 30+ days before first use to ensure smooth allowlist updates. Use this endpoint to maintain an up-to-date list of IPs your systems should trust for Metronome communications.

create_a_metronome_custom_fields_add_key

Create a custom field key for a Metronome entity (e.g. customer, contract, product) to store metadata like foreign keys or descriptors. Returns an empty 200 response on success. If enforce_uniqueness is true, setting a duplicate custom field value for the key will fail. Required: entity, key, enforce_uniqueness.

create_a_metronome_custom_fields_remove_key

Remove a custom field key from the allowlist for a specific entity type in Metronome, preventing future use of that key across all entity instances. Existing values on entity instances become inaccessible once the key is removed. Returns an empty 200 response on success. Required: entity, key.

create_a_metronome_custom_fields_set_value

Set custom field values on a Metronome entity instance, overwriting existing values for matching keys while preserving other fields. All updates are transactional — either all values are set or none are. Returns an empty 200 response on success. Custom field values are limited to 200 characters each. Required: entity, entity_id, custom_fields.

delete_a_metronome_custom_fields_delete_value_by_id

Delete specific custom field values from a Metronome entity instance by specifying the field keys to remove, preserving other fields on the same entity. Returns an empty 200 response on success. Required: entity, entity_id, keys.

metronome_custom_fields_list_keys

List active custom field keys in Metronome with optional filtering by entity type (customer, contract, product, etc.). Returns: entity, key, enforce_uniqueness.

get_single_metronome_products_get_by_id

Get a Metronome product by its ID, including all metadata and historical changes. Returns: id, type, archived_at, initial, current, updates, custom_fields. Required: id.

list_all_metronome_products_lists

List all products in your Metronome organization with their complete configuration, version history, and metadata. Returns: id, type, archived_at, initial, current, updates, custom_fields. Archived products are excluded by default; set archive_filter to ALL or ARCHIVED to include them.

create_a_metronome_products_create

Create a new product in Metronome. Products represent individual product or service offerings that appear as line items on customer invoices, analogous to SKUs in an ERP system. Returns: id. Required: name, type.

update_a_metronome_products_update_by_id

Update a Metronome product's configuration including names, metrics, pricing rules, and composite settings while maintaining billing continuity for active customers. Returns: id. The starting_at timestamp must fall on an hour boundary; product type cannot be changed after creation. Required: product_id, starting_at.

create_a_metronome_products_archive

Archive a product in Metronome. Existing rate cards continue to function but the product is no longer available for newly created rates; archived products cannot be unarchived. Returns: id. Required: product_id.

metronome_contract_pricing_rate_cards_get_rate_schedule

Get a rate schedule from a Metronome rate card starting at a given date, optionally filtering by product id or pricing group values. Returns: product_id, product_name, product_tags, product_custom_fields, pricing_group_values, starting_at, ending_before, entitled, rate, commit_rate, billing_frequency, rate_type, price, id, customer_id, initial, current, amendments, custom_fields. Required: rate_card_id, starting_at.

metronome_contract_pricing_rate_cards_get_rates

Get rates from a Metronome rate card at a specific timestamp, optionally filtering by product id or pricing group values. Returns: product_id, product_name, product_tags, product_custom_fields, pricing_group_values, starting_at, ending_before, entitled, rate, commit_rate, billing_frequency, rate_type, price, id, customer_id, initial, current, amendments, custom_fields. Required: rate_card_id, at.

metronome_contract_pricing_rate_cards_get_named_schedule

Get a named schedule for a Metronome rate card by schedule name and optional covering date. Returns: value, starting_at, ending_before. This endpoint's availability is dependent on your client's configuration. Required: rate_card_id, schedule_name.

get_single_metronome_rate_cards_get_by_id

Get a rate card in Metronome by id. Returns: id, name, created_at, created_by, description, fiat_credit_type, credit_type_conversions, aliases, custom_fields. This endpoint does not return rates; use the getRates or getRateSchedule endpoints for rate details. Required: id.

list_all_metronome_rate_cards_lists

List all rate cards in Metronome. Returns each rate card's id, name, description, fiat_credit_type, created_at, created_by, aliases, and custom_fields. Use getRates or getRateSchedule to view the rates associated with a specific rate card.

create_a_metronome_rate_cards_create

Create a rate card in Metronome with a name, description, underlying fiat currency, credit type conversions, and aliases. Returns: id. A rate card alias can only be used by one rate card at a time; reusing an alias updates the original rate card's alias schedule. After creation, use addRate or addRates to attach product pricing. Required: name.

update_a_metronome_rate_cards_update_by_id

Update a rate card's name, description, aliases, and credit type conversion rates in Metronome. Does not affect underlying pricing rates or schedules. Returns: id. Must provide at least one of name, description, aliases, or addCreditTypeConversions. Required: rate_card_id.

create_a_metronome_rate_cards_archive

Archive a rate card in Metronome, permanently disabling it for use in new contracts while preserving existing contract pricing. Returns: id. Required: id.

create_a_metronome_rate_cards_add_rate

Add a new rate to a rate card in Metronome. Returns: rate_type, price, custom_rate, quantity, is_prorated, tiers, pricing_group_values, credit_type, commit_rate. Heavily rate limited — for adding multiple rates, use the bulk_create method instead. Required: rate_card_id, product_id, starting_at, entitled, rate_type.

metronome_rate_cards_add_rates_bulk_create

Add multiple rates to a rate card in Metronome in a single request. Returns: id. This is the preferred endpoint for adding more than one rate. Required: rate_card_id, rates.

create_a_metronome_rate_cards_set_rate_card_products_order

Set the order of products on a Metronome rate card, determining the sequence in which products appear on customers' invoices. Returns: id, initial, current, updates, custom_fields. Required: rate_card_id, product_order.

create_a_metronome_rate_cards_move_rate_card_product

Move products on a Metronome rate card to new positions, controlling the order in which they appear on customer invoices. Returns: id, initial, current, updates, custom_fields. Required: rate_card_id, product_moves.

get_single_metronome_contracts_get_by_id

Get a single Metronome contract (v1) by customer and contract IDs. Returns: id, archived_at, customer_id, package_id, uniqueness_key, initial, current, amendments, custom_fields, customer_billing_provider_configuration, scheduled_charges_on_usage_invoices, subscriptions, spend_threshold_configuration, prepaid_balance_threshold_configuration, spend_trackers.…. Required: customer_id, contract_id.

list_all_metronome_contracts_lists

List all contracts for a Metronome customer including pricing, terms, credits, and commitments. Returns: id, archived_at, customer_id, package_id, uniqueness_key, initial, current, amendments, custom_fields, customer_billing_provider_configuration, scheduled_charges_on_usage_invoices, subscriptions, spend_threshold_configuration, prepaid_balance_threshold_configuration, spend_trackers. Required: customer_id.

create_a_metronome_contracts_create

Create a new contract in Metronome that defines a customer's products, pricing, discounts, access duration, and billing configuration. Returns: id, contract. Required: customer_id, starting_at.

create_a_metronome_contracts_amend

Amend a Metronome contract by specifying a new starting date for the amendment to take effect. Returns: id. This endpoint is deprecated and will be replaced by the editContract endpoint; new clients should use that instead. Required: customer_id, contract_id, starting_at.

create_a_metronome_contracts_archive

Archive a contract in Metronome, permanently ending it along with all its terms, commits, and credits. Draft invoices are canceled and upcoming scheduled invoices are voided; finalized invoices can optionally be voided. Returns: id. Required: customer_id, contract_id, void_invoices.

create_a_metronome_contracts_set_usage_filter

Set a usage filter on a Metronome contract to route usage to the appropriate contract when a customer has multiple contracts with overlapping rates. Returns an empty response on success. The group_key must be defined on the billable metrics underlying the rate card on the contracts. Required: customer_id, contract_id, group_key, group_values, starting_at.

create_a_metronome_contracts_add_manual_balance_ledger_entry

Add a manual balance ledger entry to a commit or credit in Metronome, adjusting the available balance by a specified amount. The entry is appended to the commit ledger as a new event. Returns an empty 200 response on success. Required: customer_id, id, segment_id, amount, reason.

update_a_metronome_contracts_update_invoice_issue_date_by_id

Update the issue date of a DRAFT invoice within a Metronome contract without affecting future billing cycles or contract terms. Returns: id. Only works with invoices in DRAFT status, and the new issue date cannot be later than the contract's end date. Required: invoice_id, issue_date.

update_a_metronome_contracts_update_end_date_by_id

Update or add an end date to a Metronome contract. Returns: id. Ending a contract early impacts draft usage statements, truncates any terms, and removes upcoming scheduled invoices; moving the date forward only extends the contract length and does not extend terms, scheduled invoices, or in-advance subscriptions. Required: customer_id, contract_id.

metronome_contracts_get_contract_rate_schedule

Get the rate schedule for a specific Metronome contract at a point in time, inclusive of rate card pricing and contract-level overrides. Returns: rate_card_id, product_id, product_name, product_tags, product_custom_fields, starting_at, ending_before, entitled, pricing_group_values, list_rate, override_rate, commit_rate, billing_frequency, rate_type, price, credit_type_id, id, customer_id,…. Required: customer_id, contract_id.

metronome_contracts_get_subscription_quantity_history

Get the history of subscription quantities and prices over time for a given subscription in Metronome. Returns: subscription_id, fiat_credit_type_id, history. Required: customer_id, contract_id, subscription_id.

metronome_contracts_get_subscription_seats_history

Get the history of subscription seat assignments and total quantities over time for a given subscription in Metronome. Returns: starting_at, ending_before, total_quantity, assigned_seat_ids. Maximum 10 entries per request; covering_date is mutually exclusive with starting_at and ending_before. Required: customer_id, contract_id, subscription_id.

metronome_contracts_get_named_schedule

Get a named schedule for a specific Metronome contract by schedule name and optional covering date. Returns: value, starting_at, ending_before. Required: customer_id, contract_id, schedule_name.

metronome_contracts_list_named_schedules

List contract-level named schedules for a Metronome customer, optionally filtered by schedule name, properties, or covering date. Returns: contract_id, schedule_name, properties, segments. Required: customer_id.

metronome_contracts_get_edit_history

Get the full edit history for a Metronome contract, listing every edit made over time through the UI, editContract, or other endpoints. Returns an array of edits, each with id, add_commits, and add_overrides detailing the specific changes made. Required: customer_id, contract_id.

get_single_metronome_contract_by_id

Get a single Metronome contract by customer and contract IDs, including rate card, commits, overrides, scheduled charges, and transitions. Returns: id, customer_id, package_id, uniqueness_key, name, salesforce_opportunity_id, rate_card_id, starting_at, commits, credits, has_more, overrides, discounts, professional_services, scheduled_charges, scheduled_charges_on_usage_invoices, transitions,…. Required: customer_id, contract_id.

list_all_metronome_contracts

List all contracts for a Metronome customer in chronological order, optionally filtered by date range or archived status. Returns each contract with id, customer_id, rate_card_id, starting_at, commits, overrides, scheduled_charges, scheduled_charges_on_usage_invoices, transitions, usage_statement_schedule, created_at, created_by, custom_fields, usage_filter. starting_at and…. Required: customer_id.

metronome_subscriptions_get_status

Get the current payment and invoice status for a payment-gated subscription in Metronome. Returns: id, status, paid_quantity, latest_cycle_invoice, open_invoices, starting_at, ending_before, total_quantity, assigned_seat_ids. Required: customer_id, contract_id, subscription_id.

list_all_metronome_customer_commits_lists

List all commit agreements (prepaid and postpaid) for a Metronome customer. Returns an array of Commit objects including id, type, rate_type, name, priority, product, access_schedule, invoice_schedule, ledger, and created_at. Max 25 commits per page. Required: customer_id.

create_a_metronome_customer_commits_create

Create a customer-level commit in Metronome for cross-contract or enterprise-wide spending commitments (prepaid or postpaid). Returns: id. For most contract amendments, prefer contracts/edit instead of this endpoint. Required: customer_id, type, priority, product_id, access_schedule.

update_a_metronome_customer_commits_update_end_date_by_id

Update the end date of a prepaid Metronome customer commit, shortening its duration to terminate earlier than originally scheduled. Returns: id. Only works with prepaid commits and can only move the end date forward, not extend it; use the edit commit endpoint to extend or make other changes. Required: customer_id, commit_id.

create_a_metronome_threshold_billing_release

Release or cancel a Metronome threshold billing commit pending an external payment gateway outcome by providing the workflow_id from the payment_gate.external_initiate webhook and the payment outcome. Returns an empty 200 response on success. Required: workflow_id, outcome.

create_a_metronome_commits_disable_trueup

Disable the true-up invoice for a postpaid commit in Metronome so the final true-up invoice will not be generated. Returns: id. Required: customer_id, commit_id, contract_id.

list_all_metronome_customer_credits_lists

List all credits available to a Metronome customer, including promotional and contract-specific credits. Returns: id, contract, type, name, priority, product, access_schedule, description, recurring_credit_id, subscription_config, applicable_product_ids, applicable_product_tags, specifiers, applicable_contract_ids, netsuite_sales_order_id, salesforce_opportunity_id, ledger, balance,…. Required: customer_id.

create_a_metronome_customer_credits_create

Create a customer-level credit in Metronome to provision spending allowances or free credit balances usable across the customer's contracts. Returns: id. For most use cases, prefer adding credits directly to contracts via contract/create or contract/edit instead of this endpoint. Required: customer_id, priority, product_id, access_schedule.

update_a_metronome_customer_credits_update_end_date_by_id

Update the end date of a Metronome customer credit, shortening it to terminate earlier than originally scheduled. Returns: id. Only allows moving end dates forward (earlier), not extending them; use the edit credit endpoint to extend dates instead. Required: customer_id, credit_id, access_ending_before.

list_all_metronome_customer_balances_lists

List all customer balances (commits and credits) in Metronome, providing real-time visibility into prepaid funds and promotional credits. Returns: id, type, rate_type, name, description, priority, product, rollover_fraction, applicable_product_ids, applicable_contract_ids, access_schedule, invoice_schedule, invoice_contract, ledger, uniqueness_key, created_at. Max 25 per…. Required: customer_id.

metronome_contracts_customer_balances_get_net_balance

Get the net balance of a customer in Metronome by combining current balances across any grouping of credits and commits in a single call. Returns: balance, credit_type_id, id, current_billable_status. Balance filter objects are OR'd together; if access_type is set to QUANTITY, credit_type_id must not be provided. Required: customer_id.

list_all_metronome_seat_balances_lists

List per-seat balance details for seat-based credits and commits in a Metronome contract, broken down by individual seats. Returns: seat_id, balances, commits, credits. covering_date is mutually exclusive with starting_at/effective_before; include_ledgers requires include_credits_and_commits=true. Required: customer_id, contract_id.

create_a_metronome_contracts_schedule_pro_services_invoice

Schedule a Professional Services invoice for a Metronome contract. Returns the created invoices including id, customer_id, type, status, line_items, and total. Each line item requires an amount or both unit_price and quantity. Availability depends on client configuration. Required: customer_id, contract_id, issued_at, line_items.

create_a_metronome_contracts_create_historical_invoice

Create historical usage invoices for past billing periods on specific contracts in Metronome. Returns an array of invoice objects including id, customer_id, contract_id, type, status, total, and line_items. Supports preview mode to validate invoice data before creation. Required: invoices, preview.

create_a_metronome_composite_create_customer_with_contract

Create a new Metronome customer and provision a contract in a single composite call. Returns: customer_id, ingest_aliases, customer_name, custom_fields, contract_id. This endpoint's availability is dependent on your client's configuration. Required: customer, contract.

update_a_metronome_customers_update_named_schedule_by_id

Update a named schedule for a Metronome customer by setting a value over a specified date range. Returns an empty 200 response on success. This endpoint's availability is dependent on your client's configuration. Required: customer_id, schedule_name, starting_at, value.

update_a_metronome_contracts_update_named_schedule_by_id

Update a named schedule for a contract in Metronome by setting a value over the specified date range. Returns: id. This endpoint's availability is dependent on your client's configuration. Required: customer_id, contract_id, schedule_name, starting_at, value.

update_a_metronome_rate_cards_update_named_schedule_by_id

Update a named schedule for a rate card in Metronome by setting a value over a specified date range. Returns: id. This endpoint's availability is dependent on your client's configuration. Required: rate_card_id, schedule_name, starting_at, value.

update_threshold_billing_update_active_recharge_config_by_id

Update a customer's active recharge or prepaid balance threshold config in Metronome. This unified API supports clients migrating customers from Metronome 1.0 to 2.0; a customer can only have one active config across all Plans or Contracts. Returns: id. The upstream request body schema (UpdateActiveRechargeConfig) is referenced but its individual fields are not documented in the available source. Required: customer_id.

create_a_metronome_packages_create

Create a package in Metronome defining reusable, time-relative contract terms for standard customer pricing. Returns: id. Packages cannot be edited once created; supported time-offset granularities are days, weeks, months, and years. Required: name.

get_single_metronome_packages_get_by_id

Get details for a specific Metronome package including its name, commits, overrides, and scheduled charges. Returns: id, uniqueness_key, name, rate_card_id, aliases, duration, commits, credits, overrides, scheduled_charges, scheduled_charges_on_usage_invoices, created_at, created_by, net_payment_terms_days, usage_statement_schedule, multiplier_override_prioritization, billing_provider,…. Required: package_id.

list_all_metronome_packages_lists

List all packages in Metronome with full details including commits, overrides, and scheduled charges. Returns: id, uniqueness_key, name, rate_card_id, aliases, duration, commits, credits, overrides, scheduled_charges, scheduled_charges_on_usage_invoices, created_at, created_by, net_payment_terms_days, usage_statement_schedule, multiplier_override_prioritization, billing_provider, delivery_method,…

create_a_metronome_packages_archive

Archive a package in Metronome. Archived packages cannot be used to create new contracts, though existing contracts continue to function normally. Once archived, a package cannot be unarchived. Returns: id. Required: package_id.

metronome_packages_list_contracts_on_package

List contracts associated with a Metronome package over a specific time period. Returns: customer_id, contract_id, starting_at, ending_before, archived_at. The starting_at and covering_date filters are mutually exclusive. Required: package_id.

create_a_metronome_contracts_edit

Edit a Metronome contract to encode mid-term commitment and discount changes or fix configuration mistakes. Returns: id, edit. Contract editing must be enabled to use this endpoint; draft invoices update immediately while finalized invoices must be voided and regenerated to reflect the edit. Required: customer_id, contract_id.

create_a_metronome_commits_edit

Edit a contract-level or customer-level commit in Metronome, modifying access schedules, invoice schedules, applicable products, invoicing contracts, or other fields. Returns: id. Draft invoices reflect edits immediately; finalized invoices are untouched unless voided and regenerated, and schedule items tied to finalized or voided invoices cannot be removed or…. Required: customer_id, commit_id.

create_a_metronome_credits_edit

Edit details for a contract-level or customer-level credit in Metronome, such as extending the duration or amount of a free credit or modifying access schedules. Returns: id. Draft invoices reflect edits immediately; finalized invoices are unaffected unless voided and regenerated, and access schedule segments applied to finalized invoices cannot be removed. Required: customer_id, credit_id.

create_a_metronome_commits_archive

Archive a contract-level or customer-level commit in Metronome, deactivating it while preserving historical records. Returns: id. All finalized usage invoices the commit was applied to and finalized commit payment invoices must be voided before archiving. Required: customer_id, commit_id.

create_a_metronome_credits_archive

Archive a contract-level or customer-level credit in Metronome. Returns: id. The credit cannot be archived until all finalized invoices it was applied to are voided; once archived it has a null ledger and 0 remaining balance. Required: customer_id, credit_id.

create_a_metronome_commits_move_to_history

Move one or more fully depleted, immutable commits on a Metronome contract to historical storage, removing them from active code paths while keeping them retrievable through the historical view. Returns: historical_count, historical_commit_ids, skipped_count, skipped_reasons. Required: customer_id, contract_id, commit_ids.

create_a_metronome_notifications_create

Create an offset lifecycle event notification configuration in Metronome. The lifecycle event type is inferred from the policy.type field. Returns: id, name, type, policy, environment_type, created_at, created_by, archived_at. Required: name, policy.

get_single_metronome_notifications_get_by_id

Get a specific offset lifecycle event notification configuration in Metronome by ID. Returns: id, name, type, policy, environment_type, created_at, created_by, archived_at. Required: id.

list_all_metronome_offset_lists

List offset lifecycle event notification configurations in Metronome — user-created notifications that trigger at a specified time offset relative to lifecycle events. Returns: id, name, type, policy, environment_type, created_at, created_by, archived_at. Returns a maximum of 400 results per request.

list_all_metronome_system_lists

List available system lifecycle event types for notifications in Metronome. These are read-only event types usable when creating offset notifications. Returns: type, is_enabled, policy.type.

create_a_metronome_notifications_edit

Edit an existing offset lifecycle event notification configuration in Metronome. Returns the updated configuration with id, name, type, policy, environment_type, created_at, created_by, and archived_at. Required: policy.

create_a_metronome_notifications_archive

Archive an offset lifecycle event notification configuration in Metronome. Archived notifications are not processed. Returns the configuration object including id, name, type, policy, environment_type, created_at, created_by, and archived_at. Required: id.

How it works

From Metronome account to governed MCP endpoint

Connect

Link a Metronome account through Elaichi's hosted connect flow. Credentials are vaulted, so nobody, including the AI, ever sees them.

Compose

The connection becomes a toolbox instantly. Curate which Metronome tools are exposed, rename them, or freeze arguments.

Authorize

Point Claude, ChatGPT, Cursor, or any MCP client at the one Elaichi endpoint and sign in with OAuth, governed by roles, restrictions, and audit logs.

Put your agents to work in the tools you already use

Start a 14-day Gold trial. Connect a product, curate a toolbox, and paste a governed MCP endpoint into Claude, ChatGPT, or Cursor in minutes.