Altruistiq · Capability

Altruistiq Datasource API — Datasource Uploads

Altruistiq Datasource API — Datasource Uploads. Multipart upload lifecycle for activity data into a named Datasource. Self-contained Naftiko capability covering one Altruistiq business surface.

Altruistiq Datasource API — Datasource Uploads is a Naftiko capability published by Altruistiq, one of 9 capabilities the APIs.io network indexes for this provider. It bundles 3 operations across the POST and GET methods rooted at /v1/datasource/{…}/upload.

The capability includes 1 read-only operation and 2 state-changing operations. Lead operation: Start A Multipart Upload. Can be deployed as a REST endpoint, MCP tool, or Agent Skill via Naftiko.

Tagged areas include Altruistiq, Datasource, and Upload.

Run with Naftiko AltruistiqDatasourceUpload

What You Can Do

GET
Startmultipartupload
/v1/datasource/{dataSourceId}/upload
POST
Uploadfile
/v1/datasource/{dataSourceId}/upload
POST
Completemultipartupload
/v1/datasource/{dataSourceId}/upload/{uploadId}/file/{fileId}/complete

MCP Tools

altruistiq-start-multipart-upload

Start A Multipart Upload

read-only idempotent
altruistiq-upload-file

Upload A File To A Datasource

altruistiq-complete-multipart-upload

Complete A Multipart File Upload

idempotent

Capability Spec

datasource.yaml Raw ↑
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