naftiko: 1.0.0-alpha2 info: label: Telnyx API — Messaging description: 'Telnyx API — Messaging. 11 operations. Lead operation: List alphanumeric sender IDs. Self-contained Naftiko capability covering one Telnyx business surface.' tags: - Telnyx - Messaging created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: TELNYX_API_KEY: TELNYX_API_KEY capability: consumes: - type: http namespace: telnyx-messaging baseUri: https://api.telnyx.com/v2 description: Telnyx API — Messaging business capability. Self-contained, no shared references. resources: - name: alphanumeric_sender_ids path: /alphanumeric_sender_ids operations: - name: listalphanumericsenderids method: GET description: List alphanumeric sender IDs outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: filter[messaging_profile_id] in: query type: string description: Filter by messaging profile ID. - name: page[number] in: query type: integer description: Page number. - name: page[size] in: query type: integer description: Page size. - name: createalphanumericsenderid method: POST description: Create an alphanumeric sender ID outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: alphanumeric_sender_ids-id path: /alphanumeric_sender_ids/{id} operations: - name: deletealphanumericsenderid method: DELETE description: Delete an alphanumeric sender ID outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The identifier of the alphanumeric sender ID. required: true - name: getalphanumericsenderid method: GET description: Retrieve an alphanumeric sender ID outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The identifier of the alphanumeric sender ID. required: true - name: messaging_hosted_numbers path: /messaging_hosted_numbers operations: - name: listmessaginghostednumbers method: GET description: List messaging hosted numbers outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: filter[messaging_profile_id] in: query type: string description: Filter by messaging profile ID. - name: filter[phone_number] in: query type: string description: Filter by exact phone number. - name: filter[phone_number][contains] in: query type: string description: Filter by phone number substring. - name: sort[phone_number] in: query type: string description: Sort by phone number. - name: page[number] in: query type: integer - name: page[size] in: query type: integer - name: messaging_hosted_numbers-id path: /messaging_hosted_numbers/{id} operations: - name: getmessaginghostednumber method: GET description: Retrieve a messaging hosted number outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The ID or phone number of the hosted number. required: true - name: updatemessaginghostednumber method: PATCH description: Update a messaging hosted number outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The ID or phone number of the hosted number. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: messaging_profile_metrics path: /messaging_profile_metrics operations: - name: getprofilemetrics method: GET description: List high-level messaging profile metrics outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: time_frame in: query type: string description: The time frame for metrics. - name: messaging_profiles-id-actions-regenerate_secret path: /messaging_profiles/{id}/actions/regenerate_secret operations: - name: regeneratemessagingprofilesecret method: POST description: Regenerate messaging profile secret outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The identifier of the messaging profile. required: true - name: messaging_profiles-id-alphanumeric_sender_ids path: /messaging_profiles/{id}/alphanumeric_sender_ids operations: - name: listprofilealphanumericsenderids method: GET description: List alphanumeric sender IDs for a messaging profile outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The identifier of the messaging profile. required: true - name: page[number] in: query type: integer - name: page[size] in: query type: integer - name: messaging_profiles-id-metrics path: /messaging_profiles/{id}/metrics operations: - name: getdetailedprofilemetrics method: GET description: Get detailed messaging profile metrics outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The identifier of the messaging profile. required: true - name: time_frame in: query type: string description: The time frame for metrics. authentication: type: bearer token: '{{env.TELNYX_API_KEY}}' exposes: - type: rest namespace: telnyx-messaging-rest port: 8080 description: REST adapter for Telnyx API — Messaging. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/alphanumeric-sender-ids name: alphanumeric-sender-ids description: REST surface for alphanumeric_sender_ids. operations: - method: GET name: listalphanumericsenderids description: List alphanumeric sender IDs call: telnyx-messaging.listalphanumericsenderids with: filter[messaging_profile_id]: rest.filter[messaging_profile_id] page[number]: rest.page[number] page[size]: rest.page[size] outputParameters: - type: object mapping: $. - method: POST name: createalphanumericsenderid description: Create an alphanumeric sender ID call: telnyx-messaging.createalphanumericsenderid with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/alphanumeric-sender-ids/{id} name: alphanumeric-sender-ids-id description: REST surface for alphanumeric_sender_ids-id. operations: - method: DELETE name: deletealphanumericsenderid description: Delete an alphanumeric sender ID call: telnyx-messaging.deletealphanumericsenderid with: id: rest.id outputParameters: - type: object mapping: $. - method: GET name: getalphanumericsenderid description: Retrieve an alphanumeric sender ID call: telnyx-messaging.getalphanumericsenderid with: id: rest.id outputParameters: - type: object mapping: $. - path: /v1/messaging-hosted-numbers name: messaging-hosted-numbers description: REST surface for messaging_hosted_numbers. operations: - method: GET name: listmessaginghostednumbers description: List messaging hosted numbers call: telnyx-messaging.listmessaginghostednumbers with: filter[messaging_profile_id]: rest.filter[messaging_profile_id] filter[phone_number]: rest.filter[phone_number] filter[phone_number][contains]: rest.filter[phone_number][contains] sort[phone_number]: rest.sort[phone_number] page[number]: rest.page[number] page[size]: rest.page[size] outputParameters: - type: object mapping: $. - path: /v1/messaging-hosted-numbers/{id} name: messaging-hosted-numbers-id description: REST surface for messaging_hosted_numbers-id. operations: - method: GET name: getmessaginghostednumber description: Retrieve a messaging hosted number call: telnyx-messaging.getmessaginghostednumber with: id: rest.id outputParameters: - type: object mapping: $. - method: PATCH name: updatemessaginghostednumber description: Update a messaging hosted number call: telnyx-messaging.updatemessaginghostednumber with: id: rest.id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/messaging-profile-metrics name: messaging-profile-metrics description: REST surface for messaging_profile_metrics. operations: - method: GET name: getprofilemetrics description: List high-level messaging profile metrics call: telnyx-messaging.getprofilemetrics with: time_frame: rest.time_frame outputParameters: - type: object mapping: $. - path: /v1/messaging-profiles/{id}/actions/regenerate-secret name: messaging-profiles-id-actions-regenerate-secret description: REST surface for messaging_profiles-id-actions-regenerate_secret. operations: - method: POST name: regeneratemessagingprofilesecret description: Regenerate messaging profile secret call: telnyx-messaging.regeneratemessagingprofilesecret with: id: rest.id outputParameters: - type: object mapping: $. - path: /v1/messaging-profiles/{id}/alphanumeric-sender-ids name: messaging-profiles-id-alphanumeric-sender-ids description: REST surface for messaging_profiles-id-alphanumeric_sender_ids. operations: - method: GET name: listprofilealphanumericsenderids description: List alphanumeric sender IDs for a messaging profile call: telnyx-messaging.listprofilealphanumericsenderids with: id: rest.id page[number]: rest.page[number] page[size]: rest.page[size] outputParameters: - type: object mapping: $. - path: /v1/messaging-profiles/{id}/metrics name: messaging-profiles-id-metrics description: REST surface for messaging_profiles-id-metrics. operations: - method: GET name: getdetailedprofilemetrics description: Get detailed messaging profile metrics call: telnyx-messaging.getdetailedprofilemetrics with: id: rest.id time_frame: rest.time_frame outputParameters: - type: object mapping: $. - type: mcp namespace: telnyx-messaging-mcp port: 9090 transport: http description: MCP adapter for Telnyx API — Messaging. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-alphanumeric-sender-ids description: List alphanumeric sender IDs hints: readOnly: true destructive: false idempotent: true call: telnyx-messaging.listalphanumericsenderids with: filter[messaging_profile_id]: tools.filter[messaging_profile_id] page[number]: tools.page[number] page[size]: tools.page[size] outputParameters: - type: object mapping: $. - name: create-alphanumeric-sender-id description: Create an alphanumeric sender ID hints: readOnly: false destructive: false idempotent: false call: telnyx-messaging.createalphanumericsenderid with: body: tools.body outputParameters: - type: object mapping: $. - name: delete-alphanumeric-sender-id description: Delete an alphanumeric sender ID hints: readOnly: false destructive: true idempotent: true call: telnyx-messaging.deletealphanumericsenderid with: id: tools.id outputParameters: - type: object mapping: $. - name: retrieve-alphanumeric-sender-id description: Retrieve an alphanumeric sender ID hints: readOnly: true destructive: false idempotent: true call: telnyx-messaging.getalphanumericsenderid with: id: tools.id outputParameters: - type: object mapping: $. - name: list-messaging-hosted-numbers description: List messaging hosted numbers hints: readOnly: true destructive: false idempotent: true call: telnyx-messaging.listmessaginghostednumbers with: filter[messaging_profile_id]: tools.filter[messaging_profile_id] filter[phone_number]: tools.filter[phone_number] filter[phone_number][contains]: tools.filter[phone_number][contains] sort[phone_number]: tools.sort[phone_number] page[number]: tools.page[number] page[size]: tools.page[size] outputParameters: - type: object mapping: $. - name: retrieve-messaging-hosted-number description: Retrieve a messaging hosted number hints: readOnly: true destructive: false idempotent: true call: telnyx-messaging.getmessaginghostednumber with: id: tools.id outputParameters: - type: object mapping: $. - name: update-messaging-hosted-number description: Update a messaging hosted number hints: readOnly: false destructive: false idempotent: true call: telnyx-messaging.updatemessaginghostednumber with: id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: list-high-level-messaging-profile description: List high-level messaging profile metrics hints: readOnly: true destructive: false idempotent: true call: telnyx-messaging.getprofilemetrics with: time_frame: tools.time_frame outputParameters: - type: object mapping: $. - name: regenerate-messaging-profile-secret description: Regenerate messaging profile secret hints: readOnly: false destructive: false idempotent: false call: telnyx-messaging.regeneratemessagingprofilesecret with: id: tools.id outputParameters: - type: object mapping: $. - name: list-alphanumeric-sender-ids-messaging description: List alphanumeric sender IDs for a messaging profile hints: readOnly: true destructive: false idempotent: true call: telnyx-messaging.listprofilealphanumericsenderids with: id: tools.id page[number]: tools.page[number] page[size]: tools.page[size] outputParameters: - type: object mapping: $. - name: get-detailed-messaging-profile-metrics description: Get detailed messaging profile metrics hints: readOnly: true destructive: false idempotent: true call: telnyx-messaging.getdetailedprofilemetrics with: id: tools.id time_frame: tools.time_frame outputParameters: - type: object mapping: $.