naftiko: 1.0.0-alpha2 info: label: Vapi Files API — Files description: "Vapi Files API — Files. 5 operations. Self-contained Naftiko capability covering the Vapi Files business surface." tags: - Vapi - Files created: '2026-05-24' modified: '2026-05-24' binds: - namespace: env keys: VAPI_API_KEY: VAPI_API_KEY capability: consumes: - type: http namespace: files-files baseUri: https://api.vapi.ai description: Vapi Files API business capability. Self-contained, no shared references. resources: - name: file path: /file operations: - name: filecontrollercreate method: POST description: "Vapi Upload File" outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: filecontrollerfindall method: GET description: "Vapi List Files" outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: purpose in: query type: string description: "Query parameter purpose" required: true - name: filecontrollerfindone method: GET description: "Vapi Get File" outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: "The unique identifier for the resource." required: true - name: filecontrollerupdate method: PATCH description: "Vapi Update File" outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: "The unique identifier for the resource." required: true - name: body in: body type: object description: Request body (JSON). required: true - name: filecontrollerremove method: DELETE description: "Vapi Delete File" outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: "The unique identifier for the resource." required: true authentication: type: bearer key: Authorization value: 'Bearer {{env.VAPI_API_KEY}}' placement: header exposes: - type: rest namespace: files-files-rest port: 8080 description: REST adapter for Vapi Files. One resource per consumed operation, prefixed with /v1. resources: - path: /v1/file name: file description: REST surface for file. operations: - method: POST name: filecontrollercreate description: "Vapi Upload File" call: files-files.filecontrollercreate with: body: rest.body outputParameters: - type: object mapping: $. - method: GET name: filecontrollerfindall description: "Vapi List Files" call: files-files.filecontrollerfindall with: purpose: rest.purpose outputParameters: - type: object mapping: $. - method: GET name: filecontrollerfindone description: "Vapi Get File" call: files-files.filecontrollerfindone with: id: rest.id outputParameters: - type: object mapping: $. - method: PATCH name: filecontrollerupdate description: "Vapi Update File" call: files-files.filecontrollerupdate with: body: rest.body id: rest.id outputParameters: - type: object mapping: $. - method: DELETE name: filecontrollerremove description: "Vapi Delete File" call: files-files.filecontrollerremove with: id: rest.id outputParameters: - type: object mapping: $. - type: mcp namespace: files-files-mcp port: 9090 transport: http description: MCP adapter for Vapi Files. One tool per consumed operation. tools: - name: vapi-filecontrollercreate description: "Vapi Upload File" hints: readOnly: false destructive: false idempotent: false call: files-files.filecontrollercreate with: body: tools.body outputParameters: - type: object mapping: $. - name: vapi-filecontrollerfindall description: "Vapi List Files" hints: readOnly: true destructive: false idempotent: true call: files-files.filecontrollerfindall with: purpose: tools.purpose outputParameters: - type: object mapping: $. - name: vapi-filecontrollerfindone description: "Vapi Get File" hints: readOnly: true destructive: false idempotent: true call: files-files.filecontrollerfindone with: id: tools.id outputParameters: - type: object mapping: $. - name: vapi-filecontrollerupdate description: "Vapi Update File" hints: readOnly: false destructive: false idempotent: false call: files-files.filecontrollerupdate with: body: tools.body id: tools.id outputParameters: - type: object mapping: $. - name: vapi-filecontrollerremove description: "Vapi Delete File" hints: readOnly: false destructive: true idempotent: true call: files-files.filecontrollerremove with: id: tools.id outputParameters: - type: object mapping: $.