naftiko: 1.0.0-alpha2 info: label: Altruistiq Datasource API — Datasource Uploads description: >- Altruistiq Datasource API — Datasource Uploads. Multipart upload lifecycle for activity data into a named Datasource. Self-contained Naftiko capability covering one Altruistiq business surface. tags: - Altruistiq - Datasource - Upload created: '2026-05-25' modified: '2026-05-25' binds: - namespace: env keys: ALTRUISTIQ_ACCESS_TOKEN: ALTRUISTIQ_ACCESS_TOKEN capability: consumes: - type: http namespace: datasource baseUri: https://app.altruistiq.com/api/public/v1 description: Altruistiq Datasource upload operations. resources: - name: datasource-upload path: /datasource/{dataSourceId}/upload operations: - name: startMultipartUpload method: GET description: Start A Multipart Upload outputRawFormat: json outputParameters: - name: result type: object value: $. - name: uploadFile method: POST description: Upload A File To A Datasource outputRawFormat: json inputParameters: - name: body in: body type: object required: true outputParameters: - name: result type: object value: $. - name: datasource-upload-complete path: /datasource/{dataSourceId}/upload/{uploadId}/file/{fileId}/complete operations: - name: completeMultipartUpload method: POST description: Complete A Multipart File Upload outputRawFormat: json inputParameters: - name: body in: body type: object required: true outputParameters: - name: result type: object value: $. authentication: type: bearer value: '{{env.ALTRUISTIQ_ACCESS_TOKEN}}' placement: header exposes: - type: rest namespace: datasource-rest port: 8080 description: REST adapter for Altruistiq Datasource uploads. resources: - path: /v1/datasource/{dataSourceId}/upload name: datasource-upload operations: - method: GET name: startMultipartUpload call: datasource.startMultipartUpload - method: POST name: uploadFile call: datasource.uploadFile with: body: rest.body - path: /v1/datasource/{dataSourceId}/upload/{uploadId}/file/{fileId}/complete name: datasource-upload-complete operations: - method: POST name: completeMultipartUpload call: datasource.completeMultipartUpload with: body: rest.body - type: mcp namespace: datasource-mcp port: 9090 transport: http description: MCP adapter for Altruistiq Datasource uploads. tools: - name: altruistiq-start-multipart-upload description: Start A Multipart Upload hints: readOnly: true destructive: false idempotent: true call: datasource.startMultipartUpload - name: altruistiq-upload-file description: Upload A File To A Datasource hints: readOnly: false destructive: false idempotent: false call: datasource.uploadFile with: body: tools.body - name: altruistiq-complete-multipart-upload description: Complete A Multipart File Upload hints: readOnly: false destructive: false idempotent: true call: datasource.completeMultipartUpload with: body: tools.body