naftiko: 1.0.0-alpha2 info: label: Metronome — Settings description: 'Metronome — Settings. 11 operations. Lead operation: Create Stripe billing settings. Self-contained Naftiko capability covering one Metronome business surface.' tags: - Metronome - Settings created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: METRONOME_API_KEY: METRONOME_API_KEY capability: consumes: - type: http namespace: metronome-settings baseUri: https://api.metronome.com description: Metronome — Settings business capability. Self-contained, no shared references. resources: - name: v1-client-billing-config-stripe path: /v1/client/billing-config/stripe operations: - name: createstripebillingsettingsv1 method: POST description: Create Stripe billing settings outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: updatestripebillingsettingsv1 method: PATCH description: Update Stripe billing settings outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: deletestripebillingsettingsv1 method: DELETE description: Delete Stripe billing settings outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v1-client-billing-config-billing_provider_type-apiKey path: /v1/client/billing-config/{billing_provider_type}/apiKey operations: - name: setbillingproviderapikeyv1 method: POST description: Set the billing provider API key outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: v1-client-config-webhook_secret path: /v1/client/config/webhook_secret operations: - name: setclientwebhooksecretv1 method: POST description: Set the client webhook secret outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: v1-credit-types-list path: /v1/credit-types/list operations: - name: listcredittypesv1 method: GET description: List pricing units outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v1-listConfiguredBillingProviders path: /v1/listConfiguredBillingProviders operations: - name: listconfiguredbillingprovidersv1 method: POST description: List account-level billing providers outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: v1-rotateDeltaStreamSecret path: /v1/rotateDeltaStreamSecret operations: - name: rotatedeltastreamsecretv1 method: POST description: Rotate the HMAC secret used to sign delta stream messages outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: v1-setUpBillingProvider path: /v1/setUpBillingProvider operations: - name: setupbillingproviderv1 method: POST description: Set up account-level billing provider outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: v1-upsertAnrokApiToken path: /v1/upsertAnrokApiToken operations: - name: upsertanrokapitokenv1 method: POST description: Upsert Anrok API token outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: v1-upsertAvalaraCredentials path: /v1/upsertAvalaraCredentials operations: - name: upsertavalaracredentialsv1 method: POST description: Upsert Avalara credentials 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-settings-rest port: 8080 description: REST adapter for Metronome — Settings. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/v1/client/billing-config/stripe name: v1-client-billing-config-stripe description: REST surface for v1-client-billing-config-stripe. operations: - method: POST name: createstripebillingsettingsv1 description: Create Stripe billing settings call: metronome-settings.createstripebillingsettingsv1 with: body: rest.body outputParameters: - type: object mapping: $. - method: PATCH name: updatestripebillingsettingsv1 description: Update Stripe billing settings call: metronome-settings.updatestripebillingsettingsv1 with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deletestripebillingsettingsv1 description: Delete Stripe billing settings call: metronome-settings.deletestripebillingsettingsv1 outputParameters: - type: object mapping: $. - path: /v1/v1/client/billing-config/{billing-provider-type}/apikey name: v1-client-billing-config-billing-provider-type-apikey description: REST surface for v1-client-billing-config-billing_provider_type-apiKey. operations: - method: POST name: setbillingproviderapikeyv1 description: Set the billing provider API key call: metronome-settings.setbillingproviderapikeyv1 with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/client/config/webhook-secret name: v1-client-config-webhook-secret description: REST surface for v1-client-config-webhook_secret. operations: - method: POST name: setclientwebhooksecretv1 description: Set the client webhook secret call: metronome-settings.setclientwebhooksecretv1 with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/credit-types/list name: v1-credit-types-list description: REST surface for v1-credit-types-list. operations: - method: GET name: listcredittypesv1 description: List pricing units call: metronome-settings.listcredittypesv1 outputParameters: - type: object mapping: $. - path: /v1/v1/listconfiguredbillingproviders name: v1-listconfiguredbillingproviders description: REST surface for v1-listConfiguredBillingProviders. operations: - method: POST name: listconfiguredbillingprovidersv1 description: List account-level billing providers call: metronome-settings.listconfiguredbillingprovidersv1 with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/rotatedeltastreamsecret name: v1-rotatedeltastreamsecret description: REST surface for v1-rotateDeltaStreamSecret. operations: - method: POST name: rotatedeltastreamsecretv1 description: Rotate the HMAC secret used to sign delta stream messages call: metronome-settings.rotatedeltastreamsecretv1 with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/setupbillingprovider name: v1-setupbillingprovider description: REST surface for v1-setUpBillingProvider. operations: - method: POST name: setupbillingproviderv1 description: Set up account-level billing provider call: metronome-settings.setupbillingproviderv1 with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/upsertanrokapitoken name: v1-upsertanrokapitoken description: REST surface for v1-upsertAnrokApiToken. operations: - method: POST name: upsertanrokapitokenv1 description: Upsert Anrok API token call: metronome-settings.upsertanrokapitokenv1 with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/upsertavalaracredentials name: v1-upsertavalaracredentials description: REST surface for v1-upsertAvalaraCredentials. operations: - method: POST name: upsertavalaracredentialsv1 description: Upsert Avalara credentials call: metronome-settings.upsertavalaracredentialsv1 with: body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: metronome-settings-mcp port: 9090 transport: http description: MCP adapter for Metronome — Settings. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: create-stripe-billing-settings description: Create Stripe billing settings hints: readOnly: false destructive: false idempotent: false call: metronome-settings.createstripebillingsettingsv1 with: body: tools.body outputParameters: - type: object mapping: $. - name: update-stripe-billing-settings description: Update Stripe billing settings hints: readOnly: false destructive: false idempotent: true call: metronome-settings.updatestripebillingsettingsv1 with: body: tools.body outputParameters: - type: object mapping: $. - name: delete-stripe-billing-settings description: Delete Stripe billing settings hints: readOnly: false destructive: true idempotent: true call: metronome-settings.deletestripebillingsettingsv1 outputParameters: - type: object mapping: $. - name: set-billing-provider-api-key description: Set the billing provider API key hints: readOnly: false destructive: false idempotent: false call: metronome-settings.setbillingproviderapikeyv1 with: body: tools.body outputParameters: - type: object mapping: $. - name: set-client-webhook-secret description: Set the client webhook secret hints: readOnly: false destructive: false idempotent: false call: metronome-settings.setclientwebhooksecretv1 with: body: tools.body outputParameters: - type: object mapping: $. - name: list-pricing-units description: List pricing units hints: readOnly: true destructive: false idempotent: true call: metronome-settings.listcredittypesv1 outputParameters: - type: object mapping: $. - name: list-account-level-billing-providers description: List account-level billing providers hints: readOnly: true destructive: false idempotent: false call: metronome-settings.listconfiguredbillingprovidersv1 with: body: tools.body outputParameters: - type: object mapping: $. - name: rotate-hmac-secret-used-sign description: Rotate the HMAC secret used to sign delta stream messages hints: readOnly: false destructive: false idempotent: false call: metronome-settings.rotatedeltastreamsecretv1 with: body: tools.body outputParameters: - type: object mapping: $. - name: set-up-account-level-billing description: Set up account-level billing provider hints: readOnly: false destructive: false idempotent: false call: metronome-settings.setupbillingproviderv1 with: body: tools.body outputParameters: - type: object mapping: $. - name: upsert-anrok-api-token description: Upsert Anrok API token hints: readOnly: false destructive: false idempotent: false call: metronome-settings.upsertanrokapitokenv1 with: body: tools.body outputParameters: - type: object mapping: $. - name: upsert-avalara-credentials description: Upsert Avalara credentials hints: readOnly: false destructive: false idempotent: false call: metronome-settings.upsertavalaracredentialsv1 with: body: tools.body outputParameters: - type: object mapping: $.