naftiko: 1.0.0-alpha2 info: label: Vonage Communications API — Numbers description: 'Vonage Communications API — Numbers. 5 operations. Lead operation: List Owned Numbers. Self-contained Naftiko capability covering one Vonage business surface.' tags: - Vonage - Numbers created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: VONAGE_API_KEY: VONAGE_API_KEY capability: consumes: - type: http namespace: vonage-numbers baseUri: https://api.nexmo.com description: Vonage Communications API — Numbers business capability. Self-contained, no shared references. resources: - name: account-numbers path: /account/numbers operations: - name: listownednumbers method: GET description: List Owned Numbers outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: api_key in: query type: string required: true - name: api_secret in: query type: string required: true - name: country in: query type: string description: The two-character country code in ISO 3166-1 alpha-2 format. - name: pattern in: query type: string description: A pattern to filter the results. - name: index in: query type: integer - name: size in: query type: integer - name: number-buy path: /number/buy operations: - name: buynumber method: POST description: Buy a Number outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: number-cancel path: /number/cancel operations: - name: cancelnumber method: POST description: Cancel a Number outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: number-search path: /number/search operations: - name: searchavailablenumbers method: GET description: Search Available Numbers outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: api_key in: query type: string required: true - name: api_secret in: query type: string required: true - name: country in: query type: string description: Two-character country code (ISO 3166-1 alpha-2). required: true - name: type in: query type: string description: Filter by number type. - name: pattern in: query type: string description: A pattern to filter results. - name: features in: query type: string description: Available features (SMS, VOICE, MMS). - name: size in: query type: integer - name: index in: query type: integer - name: number-update path: /number/update operations: - name: updatenumber method: POST description: Update a Number outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true authentication: type: bearer token: '{{env.VONAGE_API_KEY}}' exposes: - type: rest namespace: vonage-numbers-rest port: 8080 description: REST adapter for Vonage Communications API — Numbers. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/account/numbers name: account-numbers description: REST surface for account-numbers. operations: - method: GET name: listownednumbers description: List Owned Numbers call: vonage-numbers.listownednumbers with: api_key: rest.api_key api_secret: rest.api_secret country: rest.country pattern: rest.pattern index: rest.index size: rest.size outputParameters: - type: object mapping: $. - path: /v1/number/buy name: number-buy description: REST surface for number-buy. operations: - method: POST name: buynumber description: Buy a Number call: vonage-numbers.buynumber with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/number/cancel name: number-cancel description: REST surface for number-cancel. operations: - method: POST name: cancelnumber description: Cancel a Number call: vonage-numbers.cancelnumber with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/number/search name: number-search description: REST surface for number-search. operations: - method: GET name: searchavailablenumbers description: Search Available Numbers call: vonage-numbers.searchavailablenumbers with: api_key: rest.api_key api_secret: rest.api_secret country: rest.country type: rest.type pattern: rest.pattern features: rest.features size: rest.size index: rest.index outputParameters: - type: object mapping: $. - path: /v1/number/update name: number-update description: REST surface for number-update. operations: - method: POST name: updatenumber description: Update a Number call: vonage-numbers.updatenumber with: body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: vonage-numbers-mcp port: 9090 transport: http description: MCP adapter for Vonage Communications API — Numbers. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-owned-numbers description: List Owned Numbers hints: readOnly: true destructive: false idempotent: true call: vonage-numbers.listownednumbers with: api_key: tools.api_key api_secret: tools.api_secret country: tools.country pattern: tools.pattern index: tools.index size: tools.size outputParameters: - type: object mapping: $. - name: buy-number description: Buy a Number hints: readOnly: false destructive: false idempotent: false call: vonage-numbers.buynumber with: body: tools.body outputParameters: - type: object mapping: $. - name: cancel-number description: Cancel a Number hints: readOnly: false destructive: false idempotent: false call: vonage-numbers.cancelnumber with: body: tools.body outputParameters: - type: object mapping: $. - name: search-available-numbers description: Search Available Numbers hints: readOnly: true destructive: false idempotent: true call: vonage-numbers.searchavailablenumbers with: api_key: tools.api_key api_secret: tools.api_secret country: tools.country type: tools.type pattern: tools.pattern features: tools.features size: tools.size index: tools.index outputParameters: - type: object mapping: $. - name: update-number description: Update a Number hints: readOnly: false destructive: false idempotent: false call: vonage-numbers.updatenumber with: body: tools.body outputParameters: - type: object mapping: $.