naftiko: 1.0.0-alpha2 info: label: Oracle Essbase REST API — Files description: 'Oracle Essbase REST API — Files. 6 operations. Lead operation: Oracle Essbase List Root Folders. Self-contained Naftiko capability covering one Oracle Essbase business surface.' tags: - Oracle Essbase - Files created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: ORACLE_ESSBASE_API_KEY: ORACLE_ESSBASE_API_KEY capability: consumes: - type: http namespace: rest-files baseUri: https://{host}:{port}/essbase/rest/v1 description: Oracle Essbase REST API — Files business capability. Self-contained, no shared references. resources: - name: files path: /files operations: - name: listrootfolders method: GET description: Oracle Essbase List Root Folders outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: filter in: query type: string description: Filter the list of files. - name: recursive in: query type: boolean description: Return search results recursively. - name: files-actions-copy path: /files/actions/copy operations: - name: copyfile method: POST description: Oracle Essbase Copy File outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: files-actions-move path: /files/actions/move operations: - name: movefile method: POST description: Oracle Essbase Move File outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: files-path path: /files/{path} operations: - name: listfilesordownload method: GET description: Oracle Essbase List Files or Download File outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: path in: path type: string description: File or folder path in the file catalog. required: true - name: filter in: query type: string description: Filter the list of files. - name: recursive in: query type: boolean description: Return search results recursively. - name: uploadfile method: PUT description: Oracle Essbase Upload File outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: path in: path type: string description: Destination file path in the file catalog. required: true - name: overwrite in: query type: boolean description: Whether to overwrite an existing file. - name: body in: body type: object description: Request body (JSON). required: true - name: deletefile method: DELETE description: Oracle Essbase Delete File or Folder outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: path in: path type: string description: File or folder path to delete. required: true authentication: type: bearer token: '{{env.ORACLE_ESSBASE_API_KEY}}' exposes: - type: rest namespace: rest-files-rest port: 8080 description: REST adapter for Oracle Essbase REST API — Files. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/files name: files description: REST surface for files. operations: - method: GET name: listrootfolders description: Oracle Essbase List Root Folders call: rest-files.listrootfolders with: filter: rest.filter recursive: rest.recursive outputParameters: - type: object mapping: $. - path: /v1/files/actions/copy name: files-actions-copy description: REST surface for files-actions-copy. operations: - method: POST name: copyfile description: Oracle Essbase Copy File call: rest-files.copyfile with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/files/actions/move name: files-actions-move description: REST surface for files-actions-move. operations: - method: POST name: movefile description: Oracle Essbase Move File call: rest-files.movefile with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/files/{path} name: files-path description: REST surface for files-path. operations: - method: GET name: listfilesordownload description: Oracle Essbase List Files or Download File call: rest-files.listfilesordownload with: path: rest.path filter: rest.filter recursive: rest.recursive outputParameters: - type: object mapping: $. - method: PUT name: uploadfile description: Oracle Essbase Upload File call: rest-files.uploadfile with: path: rest.path overwrite: rest.overwrite body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deletefile description: Oracle Essbase Delete File or Folder call: rest-files.deletefile with: path: rest.path outputParameters: - type: object mapping: $. - type: mcp namespace: rest-files-mcp port: 9090 transport: http description: MCP adapter for Oracle Essbase REST API — Files. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: oracle-essbase-list-root-folders description: Oracle Essbase List Root Folders hints: readOnly: true destructive: false idempotent: true call: rest-files.listrootfolders with: filter: tools.filter recursive: tools.recursive outputParameters: - type: object mapping: $. - name: oracle-essbase-copy-file description: Oracle Essbase Copy File hints: readOnly: false destructive: false idempotent: false call: rest-files.copyfile with: body: tools.body outputParameters: - type: object mapping: $. - name: oracle-essbase-move-file description: Oracle Essbase Move File hints: readOnly: false destructive: false idempotent: false call: rest-files.movefile with: body: tools.body outputParameters: - type: object mapping: $. - name: oracle-essbase-list-files-download description: Oracle Essbase List Files or Download File hints: readOnly: true destructive: false idempotent: true call: rest-files.listfilesordownload with: path: tools.path filter: tools.filter recursive: tools.recursive outputParameters: - type: object mapping: $. - name: oracle-essbase-upload-file description: Oracle Essbase Upload File hints: readOnly: false destructive: false idempotent: true call: rest-files.uploadfile with: path: tools.path overwrite: tools.overwrite body: tools.body outputParameters: - type: object mapping: $. - name: oracle-essbase-delete-file-folder description: Oracle Essbase Delete File or Folder hints: readOnly: false destructive: true idempotent: true call: rest-files.deletefile with: path: tools.path outputParameters: - type: object mapping: $.