naftiko: 1.0.0-alpha2 info: label: m3ter API — StatementJob description: 'm3ter API — StatementJob. 5 operations. Lead operation: List Statement Jobs. Self-contained Naftiko capability covering one M3ter business surface.' tags: - M3ter - StatementJob created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: M3TER_API_KEY: M3TER_API_KEY capability: consumes: - type: http namespace: m3ter-statementjob baseUri: https://api.m3ter.com description: m3ter API — StatementJob business capability. Self-contained, no shared references. resources: - name: organizations-orgId-statementjobs path: /organizations/{orgId}/statementjobs operations: - name: liststatementjobs method: GET description: List Statement Jobs outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orgId in: path type: string description: The unique identifier (UUID) of your Organization. The Organization represents your company as a direct customer of our service. required: true - name: pageSize in: query type: integer description: Specifies the maximum number of StatementJobs to retrieve per page. - name: nextToken in: query type: string description: The `nextToken` for multi-page retrievals. It is used to fetch the next page of StatementJobs in a paginated list. - name: active in: query type: string description: Boolean filter on whether to only retrieve active *(i.e. not completed/cancelled)* StatementJobs. - name: status in: query type: string description: 'Filter using the StatementJobs status. Possible values:' - name: billId in: query type: string description: Filter Statement Jobs by billId - name: createstatementjob method: POST description: Create a StatementJob outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orgId in: path type: string description: The unique identifier (UUID) of your Organization. The Organization represents your company as a direct customer of our service. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: organizations-orgId-statementjobs-batch path: /organizations/{orgId}/statementjobs/batch operations: - name: createstatementjobbatch method: POST description: Create Batch StatementJobs outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orgId in: path type: string description: The unique identifier (UUID) of your Organization. The Organization represents your company as a direct customer of our service. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: organizations-orgId-statementjobs-id path: /organizations/{orgId}/statementjobs/{id} operations: - name: getstatementjob method: GET description: Get StatementJob outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orgId in: path type: string description: The unique identifier (UUID) of your Organization. The Organization represents your company as a direct customer of our service. required: true - name: id in: path type: string required: true - name: organizations-orgId-statementjobs-id-cancel path: /organizations/{orgId}/statementjobs/{id}/cancel operations: - name: cancelstatementjob method: POST description: Cancel StatementJob outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orgId in: path type: string description: The unique identifier (UUID) of your Organization. The Organization represents your company as a direct customer of our service. required: true - name: id in: path type: string description: The unique identifier (UUID) of the StatementJob to cancel. required: true authentication: type: bearer token: '{{env.M3TER_API_KEY}}' exposes: - type: rest namespace: m3ter-statementjob-rest port: 8080 description: REST adapter for m3ter API — StatementJob. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/organizations/{orgid}/statementjobs name: organizations-orgid-statementjobs description: REST surface for organizations-orgId-statementjobs. operations: - method: GET name: liststatementjobs description: List Statement Jobs call: m3ter-statementjob.liststatementjobs with: orgId: rest.orgId pageSize: rest.pageSize nextToken: rest.nextToken active: rest.active status: rest.status billId: rest.billId outputParameters: - type: object mapping: $. - method: POST name: createstatementjob description: Create a StatementJob call: m3ter-statementjob.createstatementjob with: orgId: rest.orgId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/organizations/{orgid}/statementjobs/batch name: organizations-orgid-statementjobs-batch description: REST surface for organizations-orgId-statementjobs-batch. operations: - method: POST name: createstatementjobbatch description: Create Batch StatementJobs call: m3ter-statementjob.createstatementjobbatch with: orgId: rest.orgId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/organizations/{orgid}/statementjobs/{id} name: organizations-orgid-statementjobs-id description: REST surface for organizations-orgId-statementjobs-id. operations: - method: GET name: getstatementjob description: Get StatementJob call: m3ter-statementjob.getstatementjob with: orgId: rest.orgId id: rest.id outputParameters: - type: object mapping: $. - path: /v1/organizations/{orgid}/statementjobs/{id}/cancel name: organizations-orgid-statementjobs-id-cancel description: REST surface for organizations-orgId-statementjobs-id-cancel. operations: - method: POST name: cancelstatementjob description: Cancel StatementJob call: m3ter-statementjob.cancelstatementjob with: orgId: rest.orgId id: rest.id outputParameters: - type: object mapping: $. - type: mcp namespace: m3ter-statementjob-mcp port: 9090 transport: http description: MCP adapter for m3ter API — StatementJob. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-statement-jobs description: List Statement Jobs hints: readOnly: true destructive: false idempotent: true call: m3ter-statementjob.liststatementjobs with: orgId: tools.orgId pageSize: tools.pageSize nextToken: tools.nextToken active: tools.active status: tools.status billId: tools.billId outputParameters: - type: object mapping: $. - name: create-statementjob description: Create a StatementJob hints: readOnly: false destructive: false idempotent: false call: m3ter-statementjob.createstatementjob with: orgId: tools.orgId body: tools.body outputParameters: - type: object mapping: $. - name: create-batch-statementjobs description: Create Batch StatementJobs hints: readOnly: false destructive: false idempotent: false call: m3ter-statementjob.createstatementjobbatch with: orgId: tools.orgId body: tools.body outputParameters: - type: object mapping: $. - name: get-statementjob description: Get StatementJob hints: readOnly: true destructive: false idempotent: true call: m3ter-statementjob.getstatementjob with: orgId: tools.orgId id: tools.id outputParameters: - type: object mapping: $. - name: cancel-statementjob description: Cancel StatementJob hints: readOnly: false destructive: false idempotent: false call: m3ter-statementjob.cancelstatementjob with: orgId: tools.orgId id: tools.id outputParameters: - type: object mapping: $.