# Metronome API coverage

> Every endpoint documented at docs.metronome.com, linked to its page, with what metro wraps.

Source: https://metrocli.com/docs/reference/api-coverage/ · Docs index: https://metrocli.com/llms.txt

metro does not copy Metronome's API reference. Metronome's docs are the source of truth for every endpoint, field and response, and they change without notice, so every row below links to the live page on docs.metronome.com (add `.md` to any page URL for markdown). This page shows only what metro wraps: **op** means a metro command calls the endpoint live (writes only through preview, confirm hash, sandbox-first apply and readback); **catalog read** and **catalog write** mean metro has a reviewed contract you can read with `metro api explain <id>`, with writes kept to local preview; **not yet** means read Metronome's page and do it there. The list is re-checked against Metronome's docs every week, and a change opens an issue on the metro repo.

Checked **2026-11-03** against https://docs.metronome.com/llms-full.txt: 108 documented endpoints. metro covers 80 (op 27, catalog read 31, catalog write 22); 28 are not yet wrapped.

| Endpoint | Metronome page | metro status | metro command |
|---|---|---|---|
| `POST /v1/alerts/archive` | [Archive a threshold notification](https://docs.metronome.com/api-reference/alerts/archive-a-threshold-notification) | not-yet | none |
| `POST /v1/alerts/create` | [Create a threshold notification](https://docs.metronome.com/api-reference/alerts/create-a-threshold-notification) | not-yet | none |
| `POST /v1/customer-alerts/get` | [Get a threshold notification](https://docs.metronome.com/api-reference/alerts/get-a-threshold-notification) | catalog-read (`alerts.getForCustomer`) | `metro api explain alerts.getForCustomer` |
| `POST /v1/customer-alerts/list` | [Get all threshold notifications](https://docs.metronome.com/api-reference/alerts/get-all-threshold-notifications) | catalog-read (`alerts.listForCustomer`) | `metro api explain alerts.listForCustomer` |
| `POST /v1/customer-alerts/reset` | [Reset a threshold notification](https://docs.metronome.com/api-reference/alerts/reset-a-threshold-notification) | not-yet | none |
| `GET /v1/billable-metrics` | [List all billable metrics](https://docs.metronome.com/api-reference/billable-metrics/list-all-billable-metrics) | catalog-read (`billableMetrics.list`) | `metro api explain billableMetrics.list` |
| `GET /v1/billable-metrics/{billable_metric_id}` | [Get a billable metric](https://docs.metronome.com/api-reference/billable-metrics/get-a-billable-metric) | catalog-read (`billableMetrics.get`) | `metro api explain billableMetrics.get` |
| `PUT /v1/billable-metrics/{billable_metric_id}` | [Update a billable metric](https://docs.metronome.com/api-reference/billable-metrics/update-a-billable-metric) | catalog-write (`billableMetrics.update`) | `metro api explain billableMetrics.update` |
| `POST /v1/billable-metrics/archive` | [Archive a billable metric](https://docs.metronome.com/api-reference/billable-metrics/archive-a-billable-metric) | catalog-write (`billableMetrics.archive`) | `metro api explain billableMetrics.archive` |
| `POST /v1/billable-metrics/create` | [Create a billable metric](https://docs.metronome.com/api-reference/billable-metrics/create-a-billable-metric) | catalog-write (`billableMetrics.create`) | `metro api explain billableMetrics.create` |
| `GET /v1/customers/{customer_id}/billable-metrics` | [Get billable metrics for a customer](https://docs.metronome.com/api-reference/billable-metrics/get-billable-metrics-for-a-customer) | catalog-read (`billableMetrics.listForCustomer`) | `metro api explain billableMetrics.listForCustomer` |
| `POST /v1/contracts/amend` | [Amend a contract](https://docs.metronome.com/api-reference/contracts/amend-a-contract) | not-yet | none |
| `POST /v1/contracts/archive` | [Archive a contract](https://docs.metronome.com/api-reference/contracts/archive-a-contract) | op | `metro contract repair-accidental` |
| `POST /v1/contracts/create` | [Create a contract](https://docs.metronome.com/api-reference/contracts/create-a-contract) | op (`contracts.create`) | `metro contract create`, `metro contract move-plan`, `metro contract move-plan preview`, `metro subscription contract preview` |
| `POST /v1/contracts/createHistoricalInvoices` | [Create historical invoices](https://docs.metronome.com/api-reference/contracts/create-historical-invoices) | not-yet | none |
| `POST /v1/contracts/get` | [Get a contract (v1)](https://docs.metronome.com/api-reference/contracts/get-a-contract-v1) | catalog-read (`contracts.get.v1`) | `metro api explain contracts.get.v1` |
| `POST /v1/contracts/getContractRateSchedule` | [Get the rate schedule for a contract](https://docs.metronome.com/api-reference/contracts/get-the-rate-schedule-for-a-contract) | catalog-read (`contracts.getRateSchedule`) | `metro api explain contracts.getRateSchedule` |
| `POST /v1/contracts/getSubscriptionQuantityHistory` | [Get subscription quantity history](https://docs.metronome.com/api-reference/contracts/get-subscription-quantity-history) | catalog-read (`contracts.getSubscriptionQuantityHistory`) | `metro api read-plan contracts.getSubscriptionQuantityHistory` |
| `POST /v1/contracts/getSubscriptionSeatsHistory` | [Get subscription seats history](https://docs.metronome.com/api-reference/contracts/get-subscription-seats-history) | op (`contracts.getSubscriptionSeatsHistory`) | `metro subscription seats`, `metro api read-plan contracts.getSubscriptionSeatsHistory` |
| `POST /v1/contracts/list` | [List customer contracts (v1)](https://docs.metronome.com/api-reference/contracts/list-customer-contracts-v1) | catalog-read (`contracts.list.v1`) | `metro api explain contracts.list.v1` |
| `POST /v1/contracts/setUsageFilter` | [Set a contract usage filter](https://docs.metronome.com/api-reference/contracts/set-a-contract-usage-filter) | not-yet | none |
| `POST /v1/contracts/updateEndDate` | [Update the contract end date](https://docs.metronome.com/api-reference/contracts/update-the-contract-end-date) | op (`contracts.updateEndDate`) | `metro contract expire`, `metro contract extend-trial`, `metro contract move-plan`, `metro contract repair-accidental`, `metro contract move-plan preview` |
| `POST /v1/contracts/updateInvoiceIssueDate` | [Update invoice issue date](https://docs.metronome.com/api-reference/contracts/update-invoice-issue-date) | catalog-write (`contracts.updateInvoiceIssueDate`) | `metro invoice issue-date preview` |
| `POST /v1/packages/create` | [Create a package](https://docs.metronome.com/api-reference/contracts/create-a-package) | op (`packages.create`) | `metro package clone-version`, `metro package create`, `metro package preview` |
| `POST /v1/packages/listContractsOnPackage` | [List contracts associated with a package](https://docs.metronome.com/api-reference/contracts/list-contracts-associated-with-a-package) | op (`packages.listContractsOnPackage`) | `metro package customers`, `metro api read-plan packages.listContractsOnPackage` |
| `POST /v2/contracts/edit` | [Edit a contract](https://docs.metronome.com/api-reference/contracts/edit-a-contract) | op (`contracts.edit.v2`) | `metro ledger-adjustment`, `metro subscription add`, `metro subscription seats`, `metro subscription set-quantity`, `metro credit preview` |
| `POST /v2/contracts/get` | [Get a contract (v2)](https://docs.metronome.com/api-reference/contracts/get-a-contract-v2) | op (`contracts.get.v2`) | `metro contract create`, `metro contract expire`, `metro contract extend-trial`, `metro contract move-plan`, `metro ledger-adjustment`, `metro subscription add`, `metro subscription seats`, `metro subscription set-quantity`, `metro contract inspect` |
| `POST /v2/contracts/getEditHistory` | [Get contract edit history](https://docs.metronome.com/api-reference/contracts/get-contract-edit-history) | catalog-read (`contracts.getEditHistory`) | `metro api read-plan contracts.getEditHistory` |
| `POST /v2/contracts/list` | [List customer contracts (v2)](https://docs.metronome.com/api-reference/contracts/list-customer-contracts-v2) | op (`contracts.list.v2`) | `metro contract create`, `metro contract expire`, `metro contract extend-trial`, `metro contract move-plan`, `metro contract repair-accidental`, `metro customer balances`, `metro ledger-adjustment`, `metro subscription add`, `metro subscription seats`, `metro subscription set-quantity`, `metro customer billing-state` |
| `POST /v1/contracts/addManualBalanceLedgerEntry` | [Add a manual balance entry](https://docs.metronome.com/api-reference/credits-and-commits/add-a-manual-balance-entry) | op | `metro ledger-adjustment` |
| `POST /v1/contracts/commits/disableTrueup` | [Disable trueup for commit](https://docs.metronome.com/api-reference/credits-and-commits/disable-trueup-for-commit) | not-yet | none |
| `POST /v1/contracts/commits/threshold-billing/release` | [Release external payment gate threshold commit](https://docs.metronome.com/api-reference/credits-and-commits/release-external-payment-gate-threshold-commit) | not-yet | none |
| `POST /v1/contracts/customerBalances/getNetBalance` | [Get the net balance of a customer](https://docs.metronome.com/api-reference/credits-and-commits/get-the-net-balance-of-a-customer) | op (`customerBalances.getNetBalance`) | `metro customer balances`, `metro ledger-adjustment` |
| `POST /v1/contracts/customerBalances/list` | [List balances](https://docs.metronome.com/api-reference/credits-and-commits/list-balances) | op (`customerBalances.list`) | `metro contract move-plan`, `metro customer balances`, `metro ledger-adjustment`, `metro customer billing-state` |
| `POST /v1/contracts/customerCommits/create` | [Create a commit](https://docs.metronome.com/api-reference/credits-and-commits/create-a-commit) | not-yet | none |
| `POST /v1/contracts/customerCommits/list` | [List commits](https://docs.metronome.com/api-reference/credits-and-commits/list-commits) | catalog-read (`commits.list`) | `metro customer billing-state` |
| `POST /v1/contracts/customerCommits/updateEndDate` | [Update the commit end date](https://docs.metronome.com/api-reference/credits-and-commits/update-the-commit-end-date) | not-yet | none |
| `POST /v1/contracts/customerCredits/create` | [Create a credit](https://docs.metronome.com/api-reference/credits-and-commits/create-a-credit) | not-yet | none |
| `POST /v1/contracts/customerCredits/list` | [List credits](https://docs.metronome.com/api-reference/credits-and-commits/list-credits) | catalog-read (`credits.list`) | `metro customer billing-state` |
| `POST /v1/contracts/customerCredits/updateEndDate` | [Update the credit end date](https://docs.metronome.com/api-reference/credits-and-commits/update-the-credit-end-date) | not-yet | none |
| `POST /v1/contracts/seatBalances/list` | [List seat balances](https://docs.metronome.com/api-reference/credits-and-commits/list-seat-balances) | catalog-read (`seatBalances.list`) | `metro api read-plan seatBalances.list` |
| `POST /v2/contracts/commits/archive` | [Archive a commit](https://docs.metronome.com/api-reference/credits-and-commits/archive-a-commit) | not-yet | none |
| `POST /v2/contracts/commits/edit` | [Edit a commit](https://docs.metronome.com/api-reference/credits-and-commits/edit-a-commit) | not-yet | none |
| `POST /v2/contracts/credits/archive` | [Archive a credit](https://docs.metronome.com/api-reference/credits-and-commits/archive-a-credit) | not-yet | none |
| `POST /v2/contracts/credits/edit` | [Edit a credit](https://docs.metronome.com/api-reference/credits-and-commits/edit-a-credit) | not-yet | none |
| `POST /v1/customFields/addKey` | [Create a custom field key](https://docs.metronome.com/api-reference/custom-fields/create-a-custom-field-key) | catalog-write (`customFields.addKey`) | `metro api explain customFields.addKey` |
| `POST /v1/customFields/deleteValues` | [Delete custom fields](https://docs.metronome.com/api-reference/custom-fields/delete-custom-fields) | catalog-write (`customFields.deleteValues`) | `metro api explain customFields.deleteValues` |
| `POST /v1/customFields/listKeys` | [List custom field keys](https://docs.metronome.com/api-reference/custom-fields/list-custom-field-keys) | op (`customFields.listKeys`) | `metro customer create` |
| `POST /v1/customFields/removeKey` | [Delete a custom field key](https://docs.metronome.com/api-reference/custom-fields/delete-a-custom-field-key) | catalog-write (`customFields.removeKey`) | `metro api explain customFields.removeKey` |
| `POST /v1/customFields/setValues` | [Set custom field values](https://docs.metronome.com/api-reference/custom-fields/set-custom-field-values) | catalog-write (`customFields.setValues`) | `metro api explain customFields.setValues` |
| `POST /v1/archiveCustomerBillingProviderConfigurations` | [Archive billing provider configurations for a customer](https://docs.metronome.com/api-reference/customers/archive-billing-provider-configurations-for-a-customer) | op | `metro billing-provider cutover` |
| `GET /v1/customers` | [List customers](https://docs.metronome.com/api-reference/customers/list-customers) | op (`customers.list`) | `metro customer create`, `metro api read-plan customers.list` |
| `POST /v1/customers` | [Create a customer](https://docs.metronome.com/api-reference/customers/create-a-customer) | op (`customers.create`) | `metro customer create`, `metro customer setup preview` |
| `GET /v1/customers/{customer_id}` | [Get a customer](https://docs.metronome.com/api-reference/customers/get-a-customer) | catalog-read (`customers.get`) | `metro customer billing-state` |
| `POST /v1/customers/{customer_id}/setIngestAliases` | [Create or update customer ingest aliases](https://docs.metronome.com/api-reference/customers/create-or-update-customer-ingest-aliases) | catalog-write (`customers.setIngestAliases`) | `metro api explain customers.setIngestAliases` |
| `POST /v1/customers/{customer_id}/setName` | [Update a customer name](https://docs.metronome.com/api-reference/customers/update-a-customer-name) | not-yet | none |
| `POST /v1/customers/{customer_id}/updateConfig` | [Update a customer configuration](https://docs.metronome.com/api-reference/customers/update-a-customer-configuration) | catalog-write (`customers.updateConfig`) | `metro customer setup preview` |
| `POST /v1/customers/archive` | [Archive a customer](https://docs.metronome.com/api-reference/customers/archive-a-customer) | catalog-write (`customers.archive`) | `metro api explain customers.archive` |
| `POST /v1/dashboards/getEmbeddableUrl` | [Get an embeddable customer dashboard](https://docs.metronome.com/api-reference/customers/get-an-embeddable-customer-dashboard) | not-yet | none |
| `POST /v1/getCustomerBillingProviderConfigurations` | [Fetch billing provider configurations for a customer](https://docs.metronome.com/api-reference/customers/fetch-billing-provider-configurations-for-a-customer) | op (`billingProvider.getCustomerConfigurations`) | `metro billing-provider cutover`, `metro customer create`, `metro billing-provider inspect` |
| `POST /v1/setCustomerBillingProviderConfigurations` | [Set billing provider configurations for a customer](https://docs.metronome.com/api-reference/customers/set-billing-provider-configurations-for-a-customer) | op (`billingProvider.setCustomerConfigurations`) | `metro billing-provider cutover`, `metro billing-provider preview` |
| `GET /v1/customers/{customer_id}/invoices` | [List invoices](https://docs.metronome.com/api-reference/invoices/list-invoices) | op (`invoices.listForCustomer`) | `metro contract move-plan`, `metro contract repair-accidental`, `metro customer billing-state`, `metro invoice inspect` |
| `GET /v1/customers/{customer_id}/invoices/{invoice_id}` | [Get an invoice](https://docs.metronome.com/api-reference/invoices/get-an-invoice) | catalog-read (`invoices.getForCustomer`) | `metro api explain invoices.getForCustomer` |
| `GET /v1/customers/{customer_id}/invoices/{invoice_id}/pdf` | [Get an invoice PDF](https://docs.metronome.com/api-reference/invoices/get-an-invoice-pdf) | catalog-read (`invoices.getPdf`) | `metro api explain invoices.getPdf` |
| `GET /v1/customers/{customer_id}/invoices/breakdowns` | [List invoice breakdowns](https://docs.metronome.com/api-reference/invoices/list-invoice-breakdowns) | catalog-read (`invoices.listBreakdowns`) | `metro api read-plan invoices.listBreakdowns` |
| `POST /v1/customers/{customer_id}/previewEvents` | [Preview events](https://docs.metronome.com/api-reference/invoices/preview-events) | catalog-write (`invoices.preview`) | `metro usage ingest preview` |
| `POST /v1/invoices/regenerate` | [Regenerate an invoice](https://docs.metronome.com/api-reference/invoices/regenerate-an-invoice) | catalog-write (`invoices.regenerate`) | `metro api explain invoices.regenerate` |
| `POST /v1/invoices/void` | [Void an invoice](https://docs.metronome.com/api-reference/invoices/void-an-invoice) | catalog-write (`invoices.void`) | `metro api explain invoices.void` |
| `POST /v2/notifications/archive` | [Archive an offset lifecycle event notification configuration](https://docs.metronome.com/api-reference/notifications/archive-an-offset-lifecycle-event-notification-configuration) | not-yet | none |
| `POST /v2/notifications/create` | [Create an offset lifecycle event notification configuration](https://docs.metronome.com/api-reference/notifications/create-an-offset-lifecycle-event-notification-configuration) | not-yet | none |
| `POST /v2/notifications/edit` | [Edit an offset or system notification](https://docs.metronome.com/api-reference/notifications/edit-an-offset-or-system-notification) | not-yet | none |
| `POST /v2/notifications/get` | [Get an offset lifecycle event notification configuration](https://docs.metronome.com/api-reference/notifications/get-an-offset-lifecycle-event-notification-configuration) | catalog-read (`notifications.get`) | `metro api explain notifications.get` |
| `POST /v2/notifications/offset/list` | [List offset lifecycle event notification configurations](https://docs.metronome.com/api-reference/notifications/list-offset-lifecycle-event-notification-configurations) | catalog-read (`notifications.listOffset`) | `metro api explain notifications.listOffset` |
| `POST /v2/notifications/system/list` | [List system notification types](https://docs.metronome.com/api-reference/notifications/list-system-notification-types) | catalog-read (`notifications.listSystem`) | `metro api explain notifications.listSystem` |
| `POST /v1/packages/list` | [List all packages](https://docs.metronome.com/api-reference/list-all-packages) | op (`packages.list`) | `metro contract create`, `metro contract move-plan`, `metro package clone-version`, `metro package create`, `metro package customers`, `metro package inspect` |
| `POST /v1/packages/archive` | [Archive a package](https://docs.metronome.com/api-reference/packages/archive-a-package) | catalog-write (`packages.archive`) | `metro package archive preview` |
| `POST /v1/packages/get` | [Get a package](https://docs.metronome.com/api-reference/packages/get-a-package) | op (`packages.get`) | `metro contract create`, `metro contract move-plan`, `metro package clone-version`, `metro package create`, `metro package customers`, `metro package inspect` |
| `POST /v1/contract-pricing/products/archive` | [Archive a product](https://docs.metronome.com/api-reference/products/archive-a-product) | catalog-write (`products.archive`) | `metro product retire preview`, `metro rate-card dimensional preview` |
| `POST /v1/contract-pricing/products/create` | [Create a product](https://docs.metronome.com/api-reference/products/create-a-product) | catalog-write (`products.create`) | `metro rate-card dimensional preview` |
| `POST /v1/contract-pricing/products/get` | [Get a product](https://docs.metronome.com/api-reference/products/get-a-product) | op (`products.get`) | `metro dimensional new-code`, `metro ratecard add-rates`, `metro ratecard create`, `metro subscription add`, `metro product inspect` |
| `POST /v1/contract-pricing/products/list` | [List products](https://docs.metronome.com/api-reference/products/list-products) | catalog-read (`products.list`) | `metro api explain products.list` |
| `POST /v1/contract-pricing/products/update` | [Update a product](https://docs.metronome.com/api-reference/products/update-a-product) | catalog-write (`products.update`) | `metro api explain products.update` |
| `POST /v1/contract-pricing/rate-cards/addRate` | [Add a rate](https://docs.metronome.com/api-reference/rate-cards/add-a-rate) | not-yet | none |
| `POST /v1/contract-pricing/rate-cards/addRates` | [Add rates](https://docs.metronome.com/api-reference/rate-cards/add-rates) | op (`rateCards.addRates`) | `metro dimensional new-code`, `metro ratecard add-rates`, `metro ratecard create`, `metro product retire preview` |
| `POST /v1/contract-pricing/rate-cards/archive` | [Archive a rate card](https://docs.metronome.com/api-reference/rate-cards/archive-a-rate-card) | catalog-write (`rateCards.archive`) | `metro api explain rateCards.archive` |
| `POST /v1/contract-pricing/rate-cards/create` | [Create a rate card](https://docs.metronome.com/api-reference/rate-cards/create-a-rate-card) | op (`rateCards.create`) | `metro ratecard create` |
| `POST /v1/contract-pricing/rate-cards/get` | [Get a rate card](https://docs.metronome.com/api-reference/rate-cards/get-a-rate-card) | op (`rateCards.get`) | `metro contract create`, `metro dimensional new-code`, `metro package create`, `metro ratecard add-rates`, `metro ratecard create` |
| `POST /v1/contract-pricing/rate-cards/getRates` | [Get rates](https://docs.metronome.com/api-reference/rate-cards/get-rates) | op (`rateCards.getRates`) | `metro ratecard add-rates`, `metro ratecard create`, `metro subscription add` |
| `POST /v1/contract-pricing/rate-cards/getRateSchedule` | [Get a rate schedule](https://docs.metronome.com/api-reference/rate-cards/get-a-rate-schedule) | catalog-read (`rateCards.getRateSchedule`) | `metro product inspect` |
| `POST /v1/contract-pricing/rate-cards/list` | [List rate cards](https://docs.metronome.com/api-reference/rate-cards/list-rate-cards) | op (`rateCards.list`) | `metro ratecard create` |
| `POST /v1/contract-pricing/rate-cards/moveRateCardProducts` | [Update the rate card products order](https://docs.metronome.com/api-reference/rate-cards/update-the-rate-card-products-order) | not-yet | none |
| `POST /v1/contract-pricing/rate-cards/setRateCardProductsOrder` | [Set the rate card products order](https://docs.metronome.com/api-reference/rate-cards/set-the-rate-card-products-order) | catalog-write (`rateCards.setProductOrder`) | `metro api explain rateCards.setProductOrder` |
| `POST /v1/contract-pricing/rate-cards/update` | [Update a rate card](https://docs.metronome.com/api-reference/rate-cards/update-a-rate-card) | catalog-write (`rateCards.update`) | `metro api explain rateCards.update` |
| `GET /v1/auditLogs` | [Get audit logs](https://docs.metronome.com/api-reference/security/get-audit-logs) | catalog-read (`security.getAuditLogs`) | `metro api explain security.getAuditLogs` |
| `GET /v1/services` | [Get services](https://docs.metronome.com/api-reference/security/get-services) | catalog-read (`security.getServices`) | `metro api explain security.getServices` |
| `POST /v1/credit-types/archive` | [Archive a pricing unit](https://docs.metronome.com/api-reference/settings/archive-a-pricing-unit) | not-yet | none |
| `POST /v1/credit-types/create` | [Create a pricing unit](https://docs.metronome.com/api-reference/settings/create-a-pricing-unit) | not-yet | none |
| `GET /v1/credit-types/list` | [List pricing units](https://docs.metronome.com/api-reference/settings/list-pricing-units) | catalog-read (`settings.listPricingUnits`) | `metro api explain settings.listPricingUnits` |
| `POST /v1/listConfiguredBillingProviders` | [List account-level billing providers](https://docs.metronome.com/api-reference/settings/list-account-level-billing-providers) | catalog-read (`billingProvider.listConfiguredProviders`) | `metro api explain billingProvider.listConfiguredProviders` |
| `POST /v1/setUpBillingProvider` | [Set up account-level billing provider](https://docs.metronome.com/api-reference/settings/set-up-account-level-billing-provider) | not-yet | none |
| `POST /v1/upsertAnrokApiToken` | [Upsert Anrok API token](https://docs.metronome.com/api-reference/settings/upsert-anrok-api-token) | not-yet | none |
| `POST /v1/upsertAvalaraCredentials` | [Upsert Avalara credentials](https://docs.metronome.com/api-reference/settings/upsert-avalara-credentials) | not-yet | none |
| `POST /v1/events/search` | [Search events](https://docs.metronome.com/api-reference/usage/search-events) | catalog-read (`events.search`) | `metro api explain events.search` |
| `POST /v1/ingest` | [Ingest events](https://docs.metronome.com/api-reference/usage/ingest-events) | catalog-write (`usage.ingest`) | `metro usage ingest preview` |
| `POST /v1/usage` | [Get batched usage data](https://docs.metronome.com/api-reference/usage/get-batched-usage-data) | catalog-read (`usage.batch`) | `metro api explain usage.batch` |
| `POST /v1/usage/groups` | [Get usage data with paginated groupings](https://docs.metronome.com/api-reference/usage/get-usage-data-with-paginated-groupings) | catalog-read (`usage.groups`) | `metro api explain usage.groups` |
| `POST /v1/webhooks/{webhook_id}/triggered_notifications` | [List triggered notifications by webhook](https://docs.metronome.com/api-reference/webhooks/list-triggered-notifications-by-webhook) | catalog-read (`webhooks.listTriggeredNotifications`) | `metro api explain webhooks.listTriggeredNotifications` |
| `GET /v1/webhooks/{webhook_id}/triggered_notifications/{triggered_notification_id}` | [Get Triggered Notification and Delivery Attempts](https://docs.metronome.com/api-reference/webhooks/get-triggered-notification-and-delivery-attempts) | catalog-read (`webhooks.getTriggeredNotification`) | `metro api explain webhooks.getTriggeredNotification` |

Agents: Metronome's machine-readable index is [docs.metronome.com/llms.txt](https://docs.metronome.com/llms.txt). The same data as JSON ships with metro at `docs/metronome-cli/API_COVERAGE.json`.
