naftiko: 1.0.0-alpha2 info: label: Bandwidth Multi-Factor Authentication API — MFA description: 'Bandwidth Multi-Factor Authentication API — MFA. 3 operations. Lead operation: Send MFA code via SMS. Self-contained Naftiko capability covering one Bandwidth business surface.' tags: - Bandwidth - MFA created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: BANDWIDTH_API_KEY: BANDWIDTH_API_KEY capability: consumes: - type: http namespace: mfa-mfa baseUri: https://mfa.bandwidth.com/api/v1 description: Bandwidth Multi-Factor Authentication API — MFA business capability. Self-contained, no shared references. resources: - name: accounts-accountId-code-messaging path: /accounts/{accountId}/code/messaging operations: - name: createmessagingmfa method: POST description: Send MFA code via SMS outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: accounts-accountId-code-verify path: /accounts/{accountId}/code/verify operations: - name: verifymfacode method: POST description: Verify MFA code outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: accounts-accountId-code-voice path: /accounts/{accountId}/code/voice operations: - name: createvoicemfa method: POST description: Send MFA code via voice call outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true authentication: type: basic username: '{{env.BANDWIDTH_USER}}' password: '{{env.BANDWIDTH_PASS}}' exposes: - type: rest namespace: mfa-mfa-rest port: 8080 description: REST adapter for Bandwidth Multi-Factor Authentication API — MFA. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/accounts/{accountid}/code/messaging name: accounts-accountid-code-messaging description: REST surface for accounts-accountId-code-messaging. operations: - method: POST name: createmessagingmfa description: Send MFA code via SMS call: mfa-mfa.createmessagingmfa with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/accounts/{accountid}/code/verify name: accounts-accountid-code-verify description: REST surface for accounts-accountId-code-verify. operations: - method: POST name: verifymfacode description: Verify MFA code call: mfa-mfa.verifymfacode with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/accounts/{accountid}/code/voice name: accounts-accountid-code-voice description: REST surface for accounts-accountId-code-voice. operations: - method: POST name: createvoicemfa description: Send MFA code via voice call call: mfa-mfa.createvoicemfa with: body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: mfa-mfa-mcp port: 9090 transport: http description: MCP adapter for Bandwidth Multi-Factor Authentication API — MFA. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: send-mfa-code-sms description: Send MFA code via SMS hints: readOnly: false destructive: false idempotent: false call: mfa-mfa.createmessagingmfa with: body: tools.body outputParameters: - type: object mapping: $. - name: verify-mfa-code description: Verify MFA code hints: readOnly: false destructive: false idempotent: false call: mfa-mfa.verifymfacode with: body: tools.body outputParameters: - type: object mapping: $. - name: send-mfa-code-voice-call description: Send MFA code via voice call hints: readOnly: false destructive: false idempotent: false call: mfa-mfa.createvoicemfa with: body: tools.body outputParameters: - type: object mapping: $.