naftiko: 1.0.0-alpha2 info: label: Strapi REST API — Upload description: 'Strapi REST API — Upload. 4 operations. Lead operation: Upload files. Self-contained Naftiko capability covering one Strapi business surface.' tags: - Strapi - Upload created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: STRAPI_API_KEY: STRAPI_API_KEY capability: consumes: - type: http namespace: rest-upload baseUri: https://{host} description: Strapi REST API — Upload business capability. Self-contained, no shared references. resources: - name: api-upload path: /api/upload operations: - name: uploadfiles method: POST description: Upload files outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: api-upload-files path: /api/upload/files operations: - name: listuploadfiles method: GET description: List uploaded files outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-upload-files-id path: /api/upload/files/{id} operations: - name: getuploadfile method: GET description: Get an uploaded file outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The ID of the uploaded file required: true - name: deleteuploadfile method: DELETE description: Delete an uploaded file outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The ID of the uploaded file required: true authentication: type: bearer token: '{{env.STRAPI_API_KEY}}' exposes: - type: rest namespace: rest-upload-rest port: 8080 description: REST adapter for Strapi REST API — Upload. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/api/upload name: api-upload description: REST surface for api-upload. operations: - method: POST name: uploadfiles description: Upload files call: rest-upload.uploadfiles with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/upload/files name: api-upload-files description: REST surface for api-upload-files. operations: - method: GET name: listuploadfiles description: List uploaded files call: rest-upload.listuploadfiles outputParameters: - type: object mapping: $. - path: /v1/api/upload/files/{id} name: api-upload-files-id description: REST surface for api-upload-files-id. operations: - method: GET name: getuploadfile description: Get an uploaded file call: rest-upload.getuploadfile with: id: rest.id outputParameters: - type: object mapping: $. - method: DELETE name: deleteuploadfile description: Delete an uploaded file call: rest-upload.deleteuploadfile with: id: rest.id outputParameters: - type: object mapping: $. - type: mcp namespace: rest-upload-mcp port: 9090 transport: http description: MCP adapter for Strapi REST API — Upload. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: upload-files description: Upload files hints: readOnly: false destructive: false idempotent: false call: rest-upload.uploadfiles with: body: tools.body outputParameters: - type: object mapping: $. - name: list-uploaded-files description: List uploaded files hints: readOnly: true destructive: false idempotent: true call: rest-upload.listuploadfiles outputParameters: - type: object mapping: $. - name: get-uploaded-file description: Get an uploaded file hints: readOnly: true destructive: false idempotent: true call: rest-upload.getuploadfile with: id: tools.id outputParameters: - type: object mapping: $. - name: delete-uploaded-file description: Delete an uploaded file hints: readOnly: false destructive: true idempotent: true call: rest-upload.deleteuploadfile with: id: tools.id outputParameters: - type: object mapping: $.