naftiko: 1.0.0-alpha2 info: label: m3ter API — BalanceChargeSchedule description: 'm3ter API — BalanceChargeSchedule. 6 operations. Lead operation: List BalanceChargeSchedule. Self-contained Naftiko capability covering one M3ter business surface.' tags: - M3ter - BalanceChargeSchedule created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: M3TER_API_KEY: M3TER_API_KEY capability: consumes: - type: http namespace: m3ter-balancechargeschedule baseUri: https://api.m3ter.com description: m3ter API — BalanceChargeSchedule business capability. Self-contained, no shared references. resources: - name: organizations-orgId-balances-balanceId-balancechargeschedules path: /organizations/{orgId}/balances/{balanceId}/balancechargeschedules operations: - name: listbalancechargeschedule method: GET description: List BalanceChargeSchedule outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orgId in: path type: string description: UUID of the organization required: true - name: balanceId in: path type: string description: UUID of the balance required: true - name: pageSize in: query type: integer description: Number of BalanceChargeSchedules to retrieve per page - name: nextToken in: query type: string description: nextToken for multi page retrievals - name: ids in: query type: array - name: createbalancechargeschedule method: POST description: Create BalanceChargeSchedule outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orgId in: path type: string description: UUID of the organization required: true - name: balanceId in: path type: string description: UUID of the balance required: true - name: body in: body type: object description: Request body (JSON). required: true - name: organizations-orgId-balances-balanceId-balancechargeschedules-preview path: /organizations/{orgId}/balances/{balanceId}/balancechargeschedules/preview operations: - name: previewscheduledcharge method: POST description: Preview ScheduledBalanceCharges outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orgId in: path type: string description: UUID of the organization required: true - name: balanceId in: path type: string description: UUID of the balance required: true - name: pageSize in: query type: integer description: Number of Charges to retrieve per page - name: nextToken in: query type: string description: nextToken for multi page retrievals - name: body in: body type: object description: Request body (JSON). required: true - name: organizations-orgId-balances-balanceId-balancechargeschedules-id path: /organizations/{orgId}/balances/{balanceId}/balancechargeschedules/{id} operations: - name: getbalancechargeschedule method: GET description: Retrieve BalanceChargeSchedule outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orgId in: path type: string description: UUID of the organization required: true - name: balanceId in: path type: string description: UUID of the balance required: true - name: id in: path type: string description: The UUID of the BalanceChargeSchedule to retrieve. required: true - name: updatebalancechargeschedule method: PUT description: Update BalanceChargeSchedule outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orgId in: path type: string description: UUID of the organization required: true - name: balanceId in: path type: string description: UUID of the balance required: true - name: id in: path type: string description: The UUID of the BalanceChargeSchedule to update. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: deletebalancechargeschedule method: DELETE description: Delete BalanceChargeSchedule outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orgId in: path type: string description: UUID of the organization required: true - name: balanceId in: path type: string description: UUID of the balance required: true - name: id in: path type: string description: The UUID of the BalanceChargeSchedule to update. required: true authentication: type: bearer token: '{{env.M3TER_API_KEY}}' exposes: - type: rest namespace: m3ter-balancechargeschedule-rest port: 8080 description: REST adapter for m3ter API — BalanceChargeSchedule. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/organizations/{orgid}/balances/{balanceid}/balancechargeschedules name: organizations-orgid-balances-balanceid-balancechargeschedules description: REST surface for organizations-orgId-balances-balanceId-balancechargeschedules. operations: - method: GET name: listbalancechargeschedule description: List BalanceChargeSchedule call: m3ter-balancechargeschedule.listbalancechargeschedule with: orgId: rest.orgId balanceId: rest.balanceId pageSize: rest.pageSize nextToken: rest.nextToken ids: rest.ids outputParameters: - type: object mapping: $. - method: POST name: createbalancechargeschedule description: Create BalanceChargeSchedule call: m3ter-balancechargeschedule.createbalancechargeschedule with: orgId: rest.orgId balanceId: rest.balanceId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/organizations/{orgid}/balances/{balanceid}/balancechargeschedules/preview name: organizations-orgid-balances-balanceid-balancechargeschedules-preview description: REST surface for organizations-orgId-balances-balanceId-balancechargeschedules-preview. operations: - method: POST name: previewscheduledcharge description: Preview ScheduledBalanceCharges call: m3ter-balancechargeschedule.previewscheduledcharge with: orgId: rest.orgId balanceId: rest.balanceId pageSize: rest.pageSize nextToken: rest.nextToken body: rest.body outputParameters: - type: object mapping: $. - path: /v1/organizations/{orgid}/balances/{balanceid}/balancechargeschedules/{id} name: organizations-orgid-balances-balanceid-balancechargeschedules-id description: REST surface for organizations-orgId-balances-balanceId-balancechargeschedules-id. operations: - method: GET name: getbalancechargeschedule description: Retrieve BalanceChargeSchedule call: m3ter-balancechargeschedule.getbalancechargeschedule with: orgId: rest.orgId balanceId: rest.balanceId id: rest.id outputParameters: - type: object mapping: $. - method: PUT name: updatebalancechargeschedule description: Update BalanceChargeSchedule call: m3ter-balancechargeschedule.updatebalancechargeschedule with: orgId: rest.orgId balanceId: rest.balanceId id: rest.id body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deletebalancechargeschedule description: Delete BalanceChargeSchedule call: m3ter-balancechargeschedule.deletebalancechargeschedule with: orgId: rest.orgId balanceId: rest.balanceId id: rest.id outputParameters: - type: object mapping: $. - type: mcp namespace: m3ter-balancechargeschedule-mcp port: 9090 transport: http description: MCP adapter for m3ter API — BalanceChargeSchedule. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-balancechargeschedule description: List BalanceChargeSchedule hints: readOnly: true destructive: false idempotent: true call: m3ter-balancechargeschedule.listbalancechargeschedule with: orgId: tools.orgId balanceId: tools.balanceId pageSize: tools.pageSize nextToken: tools.nextToken ids: tools.ids outputParameters: - type: object mapping: $. - name: create-balancechargeschedule description: Create BalanceChargeSchedule hints: readOnly: false destructive: false idempotent: false call: m3ter-balancechargeschedule.createbalancechargeschedule with: orgId: tools.orgId balanceId: tools.balanceId body: tools.body outputParameters: - type: object mapping: $. - name: preview-scheduledbalancecharges description: Preview ScheduledBalanceCharges hints: readOnly: false destructive: false idempotent: false call: m3ter-balancechargeschedule.previewscheduledcharge with: orgId: tools.orgId balanceId: tools.balanceId pageSize: tools.pageSize nextToken: tools.nextToken body: tools.body outputParameters: - type: object mapping: $. - name: retrieve-balancechargeschedule description: Retrieve BalanceChargeSchedule hints: readOnly: true destructive: false idempotent: true call: m3ter-balancechargeschedule.getbalancechargeschedule with: orgId: tools.orgId balanceId: tools.balanceId id: tools.id outputParameters: - type: object mapping: $. - name: update-balancechargeschedule description: Update BalanceChargeSchedule hints: readOnly: false destructive: false idempotent: true call: m3ter-balancechargeschedule.updatebalancechargeschedule with: orgId: tools.orgId balanceId: tools.balanceId id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: delete-balancechargeschedule description: Delete BalanceChargeSchedule hints: readOnly: false destructive: true idempotent: true call: m3ter-balancechargeschedule.deletebalancechargeschedule with: orgId: tools.orgId balanceId: tools.balanceId id: tools.id outputParameters: - type: object mapping: $.