naftiko: 1.0.0-alpha2 info: label: Sinch Fax API — Faxes description: 'Sinch Fax API — Faxes. 5 operations. Lead operation: Send a Fax. Self-contained Naftiko capability covering one Sinch business surface.' tags: - Sinch - Faxes created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: SINCH_API_KEY: SINCH_API_KEY capability: consumes: - type: http namespace: fax-faxes baseUri: https://fax.api.sinch.com description: Sinch Fax API — Faxes business capability. Self-contained, no shared references. resources: - name: v3-projects-project_id-faxes path: /v3/projects/{project_id}/faxes operations: - name: sendfax method: POST description: Send a Fax outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: listfaxes method: GET description: List Faxes outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: page in: query type: integer description: The page number to retrieve - name: pageSize in: query type: integer description: The number of faxes per page - name: direction in: query type: string description: Filter by direction - name: status in: query type: string description: Filter by fax status - name: createTime.gte in: query type: string description: Filter faxes created after this time - name: createTime.lte in: query type: string description: Filter faxes created before this time - name: v3-projects-project_id-faxes-fax_id path: /v3/projects/{project_id}/faxes/{fax_id} operations: - name: getfax method: GET description: Get a Fax outputRawFormat: json outputParameters: - name: result type: object value: $. - name: deletefaxcontent method: DELETE description: Delete Fax Content outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v3-projects-project_id-faxes-fax_id-file path: /v3/projects/{project_id}/faxes/{fax_id}/file operations: - name: downloadfaxcontent method: GET description: Download Fax Content outputRawFormat: json outputParameters: - name: result type: object value: $. authentication: type: bearer token: '{{env.SINCH_API_KEY}}' exposes: - type: rest namespace: fax-faxes-rest port: 8080 description: REST adapter for Sinch Fax API — Faxes. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/v3/projects/{project-id}/faxes name: v3-projects-project-id-faxes description: REST surface for v3-projects-project_id-faxes. operations: - method: POST name: sendfax description: Send a Fax call: fax-faxes.sendfax with: body: rest.body outputParameters: - type: object mapping: $. - method: GET name: listfaxes description: List Faxes call: fax-faxes.listfaxes with: page: rest.page pageSize: rest.pageSize direction: rest.direction status: rest.status createTime.gte: rest.createTime.gte createTime.lte: rest.createTime.lte outputParameters: - type: object mapping: $. - path: /v1/v3/projects/{project-id}/faxes/{fax-id} name: v3-projects-project-id-faxes-fax-id description: REST surface for v3-projects-project_id-faxes-fax_id. operations: - method: GET name: getfax description: Get a Fax call: fax-faxes.getfax outputParameters: - type: object mapping: $. - method: DELETE name: deletefaxcontent description: Delete Fax Content call: fax-faxes.deletefaxcontent outputParameters: - type: object mapping: $. - path: /v1/v3/projects/{project-id}/faxes/{fax-id}/file name: v3-projects-project-id-faxes-fax-id-file description: REST surface for v3-projects-project_id-faxes-fax_id-file. operations: - method: GET name: downloadfaxcontent description: Download Fax Content call: fax-faxes.downloadfaxcontent outputParameters: - type: object mapping: $. - type: mcp namespace: fax-faxes-mcp port: 9090 transport: http description: MCP adapter for Sinch Fax API — Faxes. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: send-fax description: Send a Fax hints: readOnly: false destructive: false idempotent: false call: fax-faxes.sendfax with: body: tools.body outputParameters: - type: object mapping: $. - name: list-faxes description: List Faxes hints: readOnly: true destructive: false idempotent: true call: fax-faxes.listfaxes with: page: tools.page pageSize: tools.pageSize direction: tools.direction status: tools.status createTime.gte: tools.createTime.gte createTime.lte: tools.createTime.lte outputParameters: - type: object mapping: $. - name: get-fax description: Get a Fax hints: readOnly: true destructive: false idempotent: true call: fax-faxes.getfax outputParameters: - type: object mapping: $. - name: delete-fax-content description: Delete Fax Content hints: readOnly: false destructive: true idempotent: true call: fax-faxes.deletefaxcontent outputParameters: - type: object mapping: $. - name: download-fax-content description: Download Fax Content hints: readOnly: true destructive: false idempotent: true call: fax-faxes.downloadfaxcontent outputParameters: - type: object mapping: $.