naftiko: 1.0.0-alpha2 info: label: Bandwidth Phone Numbers API — Port-Ins description: 'Bandwidth Phone Numbers API — Port-Ins. 3 operations. Lead operation: Create a port-in request. Self-contained Naftiko capability covering one Bandwidth business surface.' tags: - Bandwidth - Port-Ins created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: BANDWIDTH_API_KEY: BANDWIDTH_API_KEY capability: consumes: - type: http namespace: phone-numbers-port-ins baseUri: https://dashboard.bandwidth.com/api description: Bandwidth Phone Numbers API — Port-Ins business capability. Self-contained, no shared references. resources: - name: accounts-accountId-portins path: /accounts/{accountId}/portins operations: - name: createportin method: POST description: Create a port-in request outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: listportins method: GET description: List port-in requests outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: status in: query type: string description: Filter by port-in status - name: startDate in: query type: string description: Filter requests created on or after this date - name: endDate in: query type: string description: Filter requests created on or before this date - name: accounts-accountId-portins-portInId path: /accounts/{accountId}/portins/{portInId} operations: - name: getportin method: GET description: Get port-in request details outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: portInId in: path type: string description: The unique identifier for the port-in request required: true authentication: type: basic username: '{{env.BANDWIDTH_USER}}' password: '{{env.BANDWIDTH_PASS}}' exposes: - type: rest namespace: phone-numbers-port-ins-rest port: 8080 description: REST adapter for Bandwidth Phone Numbers API — Port-Ins. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/accounts/{accountid}/portins name: accounts-accountid-portins description: REST surface for accounts-accountId-portins. operations: - method: POST name: createportin description: Create a port-in request call: phone-numbers-port-ins.createportin with: body: rest.body outputParameters: - type: object mapping: $. - method: GET name: listportins description: List port-in requests call: phone-numbers-port-ins.listportins with: status: rest.status startDate: rest.startDate endDate: rest.endDate outputParameters: - type: object mapping: $. - path: /v1/accounts/{accountid}/portins/{portinid} name: accounts-accountid-portins-portinid description: REST surface for accounts-accountId-portins-portInId. operations: - method: GET name: getportin description: Get port-in request details call: phone-numbers-port-ins.getportin with: portInId: rest.portInId outputParameters: - type: object mapping: $. - type: mcp namespace: phone-numbers-port-ins-mcp port: 9090 transport: http description: MCP adapter for Bandwidth Phone Numbers API — Port-Ins. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: create-port-request description: Create a port-in request hints: readOnly: false destructive: false idempotent: false call: phone-numbers-port-ins.createportin with: body: tools.body outputParameters: - type: object mapping: $. - name: list-port-requests description: List port-in requests hints: readOnly: true destructive: false idempotent: true call: phone-numbers-port-ins.listportins with: status: tools.status startDate: tools.startDate endDate: tools.endDate outputParameters: - type: object mapping: $. - name: get-port-request-details description: Get port-in request details hints: readOnly: true destructive: false idempotent: true call: phone-numbers-port-ins.getportin with: portInId: tools.portInId outputParameters: - type: object mapping: $.