Metronome · Capability

Metronome — Customers

Metronome — Customers. 15 operations. Lead operation: Archive billing provider configurations for a customer. Self-contained Naftiko capability covering one Metronome business surface.

Run with Naftiko MetronomeCustomers

What You Can Do

POST
Archivecustomerbillingproviderconfigurationsv1 — Archive billing provider configurations for a customer
/v1/v1/archivecustomerbillingproviderconfigurations
POST
Archivecustomerrevenuesystemconfigurationsv1 — Archive revenue system configurations for a customer
/v1/v1/archivecustomerrevenuesystemconfigurations
GET
Listcustomersv1 — List customers
/v1/v1/customers
POST
Createcustomerv1 — Create a customer
/v1/v1/customers
POST
Archivecustomerv1 — Archive a customer
/v1/v1/customers/archive
POST
Setcustomerbillablestatusv1 — Set customer billable status
/v1/v1/customers/setbillablestatus
GET
Getcustomerv1 — Get a customer
/v1/v1/customers/{customer-id}
POST
Setingestaliasesv1 — Create or update customer ingest aliases
/v1/v1/customers/{customer-id}/setingestaliases
POST
Setcustomernamev1 — Update a customer name
/v1/v1/customers/{customer-id}/setname
POST
Updatecustomerconfigv1 — Update a customer configuration
/v1/v1/customers/{customer-id}/updateconfig
POST
Embeddabledashboardv1 — Get an embeddable customer dashboard
/v1/v1/dashboards/getembeddableurl
POST
Getcustomerbillingproviderconfigurationsv1 — Fetch billing provider configurations for a customer
/v1/v1/getcustomerbillingproviderconfigurations
POST
Getcustomerrevenuesystemconfigurationsv1 — Fetch revenue system configurations for a customer
/v1/v1/getcustomerrevenuesystemconfigurations
POST
Setcustomerbillingproviderconfigurationsv1 — Set billing provider configurations for a customer
/v1/v1/setcustomerbillingproviderconfigurations
POST
Setcustomerrevenuesystemconfigurationsv1 — Set revenue system configurations for a customer
/v1/v1/setcustomerrevenuesystemconfigurations

MCP Tools

archive-billing-provider-configurations-customer

Archive billing provider configurations for a customer

archive-revenue-system-configurations-customer

Archive revenue system configurations for a customer

list-customers

List customers

read-only idempotent
create-customer

Create a customer

archive-customer

Archive a customer

set-customer-billable-status

Set customer billable status

get-customer

Get a customer

read-only idempotent
create-update-customer-ingest-aliases

Create or update customer ingest aliases

update-customer-name

Update a customer name

update-customer-configuration

Update a customer configuration

get-embeddable-customer-dashboard

Get an embeddable customer dashboard

read-only
fetch-billing-provider-configurations-customer

Fetch billing provider configurations for a customer

read-only
fetch-revenue-system-configurations-customer

Fetch revenue system configurations for a customer

read-only
set-billing-provider-configurations-customer

Set billing provider configurations for a customer

set-revenue-system-configurations-customer

Set revenue system configurations for a customer

Capability Spec

metronome-customers.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Metronome — Customers
  description: 'Metronome — Customers. 15 operations. Lead operation: Archive billing provider configurations for a customer.
    Self-contained Naftiko capability covering one Metronome business surface.'
  tags:
  - Metronome
  - Customers
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    METRONOME_API_KEY: METRONOME_API_KEY
capability:
  consumes:
  - type: http
    namespace: metronome-customers
    baseUri: https://api.metronome.com
    description: Metronome — Customers business capability. Self-contained, no shared references.
    resources:
    - name: v1-archiveCustomerBillingProviderConfigurations
      path: /v1/archiveCustomerBillingProviderConfigurations
      operations:
      - name: archivecustomerbillingproviderconfigurationsv1
        method: POST
        description: Archive billing provider configurations for a customer
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v1-archiveCustomerRevenueSystemConfigurations
      path: /v1/archiveCustomerRevenueSystemConfigurations
      operations:
      - name: archivecustomerrevenuesystemconfigurationsv1
        method: POST
        description: Archive revenue system configurations for a customer
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v1-customers
      path: /v1/customers
      operations:
      - name: listcustomersv1
        method: GET
        description: List customers
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: ingest_alias
          in: query
          type: string
          description: Filter the customer list by ingest_alias
        - name: customer_ids
          in: query
          type: array
          description: Filter the customer list by customer_id.  Up to 100 ids can be provided.
        - name: only_archived
          in: query
          type: boolean
          description: Filter the customer list to only return archived customers. By default, only active customers are returned.
        - name: salesforce_account_ids
          in: query
          type: array
          description: Filter the customer list by salesforce_account_id.  Up to 100 ids can be provided.
      - name: createcustomerv1
        method: POST
        description: Create a customer
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v1-customers-archive
      path: /v1/customers/archive
      operations:
      - name: archivecustomerv1
        method: POST
        description: Archive a customer
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v1-customers-setBillableStatus
      path: /v1/customers/setBillableStatus
      operations:
      - name: setcustomerbillablestatusv1
        method: POST
        description: Set customer billable status
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v1-customers-customer_id
      path: /v1/customers/{customer_id}
      operations:
      - name: getcustomerv1
        method: GET
        description: Get a customer
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v1-customers-customer_id-setIngestAliases
      path: /v1/customers/{customer_id}/setIngestAliases
      operations:
      - name: setingestaliasesv1
        method: POST
        description: Create or update customer ingest aliases
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v1-customers-customer_id-setName
      path: /v1/customers/{customer_id}/setName
      operations:
      - name: setcustomernamev1
        method: POST
        description: Update a customer name
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v1-customers-customer_id-updateConfig
      path: /v1/customers/{customer_id}/updateConfig
      operations:
      - name: updatecustomerconfigv1
        method: POST
        description: Update a customer configuration
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v1-dashboards-getEmbeddableUrl
      path: /v1/dashboards/getEmbeddableUrl
      operations:
      - name: embeddabledashboardv1
        method: POST
        description: Get an embeddable customer dashboard
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v1-getCustomerBillingProviderConfigurations
      path: /v1/getCustomerBillingProviderConfigurations
      operations:
      - name: getcustomerbillingproviderconfigurationsv1
        method: POST
        description: Fetch billing provider configurations for a customer
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v1-getCustomerRevenueSystemConfigurations
      path: /v1/getCustomerRevenueSystemConfigurations
      operations:
      - name: getcustomerrevenuesystemconfigurationsv1
        method: POST
        description: Fetch revenue system configurations for a customer
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v1-setCustomerBillingProviderConfigurations
      path: /v1/setCustomerBillingProviderConfigurations
      operations:
      - name: setcustomerbillingproviderconfigurationsv1
        method: POST
        description: Set billing provider configurations for a customer
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v1-setCustomerRevenueSystemConfigurations
      path: /v1/setCustomerRevenueSystemConfigurations
      operations:
      - name: setcustomerrevenuesystemconfigurationsv1
        method: POST
        description: Set revenue system configurations for a customer
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    authentication:
      type: bearer
      token: '{{env.METRONOME_API_KEY}}'
  exposes:
  - type: rest
    namespace: metronome-customers-rest
    port: 8080
    description: REST adapter for Metronome — Customers. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/v1/archivecustomerbillingproviderconfigurations
      name: v1-archivecustomerbillingproviderconfigurations
      description: REST surface for v1-archiveCustomerBillingProviderConfigurations.
      operations:
      - method: POST
        name: archivecustomerbillingproviderconfigurationsv1
        description: Archive billing provider configurations for a customer
        call: metronome-customers.archivecustomerbillingproviderconfigurationsv1
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/archivecustomerrevenuesystemconfigurations
      name: v1-archivecustomerrevenuesystemconfigurations
      description: REST surface for v1-archiveCustomerRevenueSystemConfigurations.
      operations:
      - method: POST
        name: archivecustomerrevenuesystemconfigurationsv1
        description: Archive revenue system configurations for a customer
        call: metronome-customers.archivecustomerrevenuesystemconfigurationsv1
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/customers
      name: v1-customers
      description: REST surface for v1-customers.
      operations:
      - method: GET
        name: listcustomersv1
        description: List customers
        call: metronome-customers.listcustomersv1
        with:
          ingest_alias: rest.ingest_alias
          customer_ids: rest.customer_ids
          only_archived: rest.only_archived
          salesforce_account_ids: rest.salesforce_account_ids
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createcustomerv1
        description: Create a customer
        call: metronome-customers.createcustomerv1
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/customers/archive
      name: v1-customers-archive
      description: REST surface for v1-customers-archive.
      operations:
      - method: POST
        name: archivecustomerv1
        description: Archive a customer
        call: metronome-customers.archivecustomerv1
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/customers/setbillablestatus
      name: v1-customers-setbillablestatus
      description: REST surface for v1-customers-setBillableStatus.
      operations:
      - method: POST
        name: setcustomerbillablestatusv1
        description: Set customer billable status
        call: metronome-customers.setcustomerbillablestatusv1
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/customers/{customer-id}
      name: v1-customers-customer-id
      description: REST surface for v1-customers-customer_id.
      operations:
      - method: GET
        name: getcustomerv1
        description: Get a customer
        call: metronome-customers.getcustomerv1
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/customers/{customer-id}/setingestaliases
      name: v1-customers-customer-id-setingestaliases
      description: REST surface for v1-customers-customer_id-setIngestAliases.
      operations:
      - method: POST
        name: setingestaliasesv1
        description: Create or update customer ingest aliases
        call: metronome-customers.setingestaliasesv1
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/customers/{customer-id}/setname
      name: v1-customers-customer-id-setname
      description: REST surface for v1-customers-customer_id-setName.
      operations:
      - method: POST
        name: setcustomernamev1
        description: Update a customer name
        call: metronome-customers.setcustomernamev1
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/customers/{customer-id}/updateconfig
      name: v1-customers-customer-id-updateconfig
      description: REST surface for v1-customers-customer_id-updateConfig.
      operations:
      - method: POST
        name: updatecustomerconfigv1
        description: Update a customer configuration
        call: metronome-customers.updatecustomerconfigv1
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/dashboards/getembeddableurl
      name: v1-dashboards-getembeddableurl
      description: REST surface for v1-dashboards-getEmbeddableUrl.
      operations:
      - method: POST
        name: embeddabledashboardv1
        description: Get an embeddable customer dashboard
        call: metronome-customers.embeddabledashboardv1
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/getcustomerbillingproviderconfigurations
      name: v1-getcustomerbillingproviderconfigurations
      description: REST surface for v1-getCustomerBillingProviderConfigurations.
      operations:
      - method: POST
        name: getcustomerbillingproviderconfigurationsv1
        description: Fetch billing provider configurations for a customer
        call: metronome-customers.getcustomerbillingproviderconfigurationsv1
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/getcustomerrevenuesystemconfigurations
      name: v1-getcustomerrevenuesystemconfigurations
      description: REST surface for v1-getCustomerRevenueSystemConfigurations.
      operations:
      - method: POST
        name: getcustomerrevenuesystemconfigurationsv1
        description: Fetch revenue system configurations for a customer
        call: metronome-customers.getcustomerrevenuesystemconfigurationsv1
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/setcustomerbillingproviderconfigurations
      name: v1-setcustomerbillingproviderconfigurations
      description: REST surface for v1-setCustomerBillingProviderConfigurations.
      operations:
      - method: POST
        name: setcustomerbillingproviderconfigurationsv1
        description: Set billing provider configurations for a customer
        call: metronome-customers.setcustomerbillingproviderconfigurationsv1
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/setcustomerrevenuesystemconfigurations
      name: v1-setcustomerrevenuesystemconfigurations
      description: REST surface for v1-setCustomerRevenueSystemConfigurations.
      operations:
      - method: POST
        name: setcustomerrevenuesystemconfigurationsv1
        description: Set revenue system configurations for a customer
        call: metronome-customers.setcustomerrevenuesystemconfigurationsv1
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: metronome-customers-mcp
    port: 9090
    transport: http
    description: MCP adapter for Metronome — Customers. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: archive-billing-provider-configurations-customer
      description: Archive billing provider configurations for a customer
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: metronome-customers.archivecustomerbillingproviderconfigurationsv1
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: archive-revenue-system-configurations-customer
      description: Archive revenue system configurations for a customer
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: metronome-customers.archivecustomerrevenuesystemconfigurationsv1
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: list-customers
      description: List customers
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: metronome-customers.listcustomersv1
      with:
        ingest_alias: tools.ingest_alias
        customer_ids: tools.customer_ids
        only_archived: tools.only_archived
        salesforce_account_ids: tools.salesforce_account_ids
      outputParameters:
      - type: object
        mapping: $.
    - name: create-customer
      description: Create a customer
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: metronome-customers.createcustomerv1
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: archive-customer
      description: Archive a customer
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: metronome-customers.archivecustomerv1
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: set-customer-billable-status
      description: Set customer billable status
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: metronome-customers.setcustomerbillablestatusv1
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-customer
      description: Get a customer
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: metronome-customers.getcustomerv1
      outputParameters:
      - type: object
        mapping: $.
    - name: create-update-customer-ingest-aliases
      description: Create or update customer ingest aliases
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: metronome-customers.setingestaliasesv1
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: update-customer-name
      description: Update a customer name
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: metronome-customers.setcustomernamev1
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: update-customer-configuration
      description: Update a customer configuration
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: metronome-customers.updatecustomerconfigv1
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-embeddable-customer-dashboard
      description: Get an embeddable customer dashboard
      hints:
        readOnly: true
        destructive: false
        idempotent: false
      call: metronome-customers.embeddabledashboardv1
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: fetch-billing-provider-configurations-customer
      description: Fetch billing provider configurations for a customer
      hints:
        readOnly: true
        destructive: false
        idempotent: false
      call: metronome-customers.getcustomerbillingproviderconfigurationsv1
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: fetch-revenue-system-configurations-customer
      description: Fetch revenue system configurations for a customer
      hints:
        readOnly: true
        destructive: false
        idempotent: false
      call: metronome-customers.getcustomerrevenuesystemconfigurationsv1
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: set-billing-provider-configurations-customer
      description: Set billing provider configurations for a customer
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: metronome-customers.setcustomerbillingproviderconfigurationsv1
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: set-revenue-system-configurations-customer
      description: Set revenue system configurations for a customer
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: metronome-customers.setcustomerrevenuesystemconfigurationsv1
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.