InfluxDB · Capability

Complete InfluxDB Cloud API — Data I/O endpoints

Complete InfluxDB Cloud API — Data I/O endpoints. 10 operations. Lead operation: Delete data. Self-contained Naftiko capability covering one Influxdb business surface.

Run with Naftiko InfluxdbData I/O endpoints

What You Can Do

POST
Postdelete — Delete data
/v1/api/v2/delete
POST
Postquery — Query data
/v1/api/v2/query
GET
Getscripts — List scripts
/v1/api/v2/scripts
GET
Getscriptsid — Retrieve a script
/v1/api/v2/scripts/{scriptid}
POST
Postscriptsidinvoke — Invoke a script
/v1/api/v2/scripts/{scriptid}/invoke
GET
Gettasks — List all tasks
/v1/api/v2/tasks
POST
Posttasks — Create a task
/v1/api/v2/tasks
GET
Gettasksid — Retrieve a task
/v1/api/v2/tasks/{taskid}
POST
Posttasksidruns — Start a task run, overriding the schedule
/v1/api/v2/tasks/{taskid}/runs
POST
Postwrite — Write data
/v1/api/v2/write

MCP Tools

delete-data

Delete data

query-data

Query data

read-only
list-scripts

List scripts

read-only idempotent
retrieve-script

Retrieve a script

read-only idempotent
invoke-script

Invoke a script

list-all-tasks

List all tasks

read-only idempotent
create-task

Create a task

retrieve-task

Retrieve a task

read-only idempotent
start-task-run-overriding-schedule

Start a task run, overriding the schedule

write-data

Write data

Capability Spec

influxdb-data-i-o-endpoints.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Complete InfluxDB Cloud API — Data I/O endpoints
  description: 'Complete InfluxDB Cloud API — Data I/O endpoints. 10 operations. Lead operation: Delete data. Self-contained
    Naftiko capability covering one Influxdb business surface.'
  tags:
  - Influxdb
  - Data I/O endpoints
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    INFLUXDB_API_KEY: INFLUXDB_API_KEY
capability:
  consumes:
  - type: http
    namespace: influxdb-data-i-o-endpoints
    baseUri: ''
    description: Complete InfluxDB Cloud API — Data I/O endpoints business capability. Self-contained, no shared references.
    resources:
    - name: api-v2-delete
      path: /api/v2/delete
      operations:
      - name: postdelete
        method: POST
        description: Delete data
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: org
          in: query
          type: string
          description: An organization name or ID.
        - name: bucket
          in: query
          type: string
          description: A bucket name or ID.
        - name: orgID
          in: query
          type: string
          description: An organization ID.
        - name: bucketID
          in: query
          type: string
          description: A bucket ID.
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-query
      path: /api/v2/query
      operations:
      - name: postquery
        method: POST
        description: Query data
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: Accept-Encoding
          in: header
          type: string
          description: The content encoding (usually a compression algorithm) that the client can understand.
        - name: Content-Type
          in: header
          type: string
        - name: org
          in: query
          type: string
          description: An organization name or ID.
        - name: orgID
          in: query
          type: string
          description: An organization ID.
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: api-v2-scripts
      path: /api/v2/scripts
      operations:
      - name: getscripts
        method: GET
        description: List scripts
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: offset
          in: query
          type: integer
          description: The offset for pagination.
        - name: limit
          in: query
          type: integer
          description: The maximum number of scripts to return. Default is `100`.
        - name: name
          in: query
          type: string
          description: The script name. Lists scripts with the specified name.
    - name: api-v2-scripts-scriptID
      path: /api/v2/scripts/{scriptID}
      operations:
      - name: getscriptsid
        method: GET
        description: Retrieve a script
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: scriptID
          in: path
          type: string
          description: A script ID.
          required: true
    - name: api-v2-scripts-scriptID-invoke
      path: /api/v2/scripts/{scriptID}/invoke
      operations:
      - name: postscriptsidinvoke
        method: POST
        description: Invoke a script
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: scriptID
          in: path
          type: string
          description: A script ID.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: api-v2-tasks
      path: /api/v2/tasks
      operations:
      - name: gettasks
        method: GET
        description: List all tasks
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: query
          type: string
          description: A [task](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#task) name.
        - name: after
          in: query
          type: string
          description: A [task](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#task) ID.
        - name: user
          in: query
          type: string
          description: A [user](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#user) ID.
        - name: org
          in: query
          type: string
          description: An [organization](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#organization) name.
        - name: orgID
          in: query
          type: string
          description: An [organization](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#organization) ID.
        - name: status
          in: query
          type: string
          description: A [task](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#task) status.
        - name: limit
          in: query
          type: integer
          description: The maximum number of [tasks](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#task)
            to return.
        - name: offset
          in: query
          type: integer
          description: The number of records to skip.
        - name: sortBy
          in: query
          type: string
          description: The sort field. Only `name` is supported.
        - name: type
          in: query
          type: string
          description: A [task](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#task) type (`basic` or `system`).
        - name: scriptID
          in: query
          type: string
          description: A [script](#tag/Invokable-Scripts) ID.
      - name: posttasks
        method: POST
        description: Create a task
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-tasks-taskID
      path: /api/v2/tasks/{taskID}
      operations:
      - name: gettasksid
        method: GET
        description: Retrieve a task
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: taskID
          in: path
          type: string
          description: A [task](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#task) ID.
          required: true
    - name: api-v2-tasks-taskID-runs
      path: /api/v2/tasks/{taskID}/runs
      operations:
      - name: posttasksidruns
        method: POST
        description: Start a task run, overriding the schedule
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: taskID
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: api-v2-write
      path: /api/v2/write
      operations:
      - name: postwrite
        method: POST
        description: Write data
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: Content-Encoding
          in: header
          type: string
          description: The compression applied to the line protocol in the request payload.
        - name: Content-Type
          in: header
          type: string
          description: The format of the data in the request body.
        - name: Content-Length
          in: header
          type: integer
          description: The size of the entity-body, in bytes, sent to InfluxDB.
        - name: Accept
          in: header
          type: string
          description: The content type that the client can understand.
        - name: org
          in: query
          type: string
          description: An organization name or ID.
          required: true
        - name: orgID
          in: query
          type: string
          description: An organization ID.
        - name: bucket
          in: query
          type: string
          description: A bucket name or ID.
          required: true
        - name: precision
          in: query
          type: string
          description: The precision for unix timestamps in the line protocol batch.
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    authentication:
      type: apikey
      key: Authorization
      value: '{{env.INFLUXDB_API_KEY}}'
      placement: header
  exposes:
  - type: rest
    namespace: influxdb-data-i-o-endpoints-rest
    port: 8080
    description: REST adapter for Complete InfluxDB Cloud API — Data I/O endpoints. One Spectral-compliant resource per consumed
      operation, prefixed with /v1.
    resources:
    - path: /v1/api/v2/delete
      name: api-v2-delete
      description: REST surface for api-v2-delete.
      operations:
      - method: POST
        name: postdelete
        description: Delete data
        call: influxdb-data-i-o-endpoints.postdelete
        with:
          org: rest.org
          bucket: rest.bucket
          orgID: rest.orgID
          bucketID: rest.bucketID
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/query
      name: api-v2-query
      description: REST surface for api-v2-query.
      operations:
      - method: POST
        name: postquery
        description: Query data
        call: influxdb-data-i-o-endpoints.postquery
        with:
          Accept-Encoding: rest.Accept-Encoding
          Content-Type: rest.Content-Type
          org: rest.org
          orgID: rest.orgID
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/scripts
      name: api-v2-scripts
      description: REST surface for api-v2-scripts.
      operations:
      - method: GET
        name: getscripts
        description: List scripts
        call: influxdb-data-i-o-endpoints.getscripts
        with:
          offset: rest.offset
          limit: rest.limit
          name: rest.name
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/scripts/{scriptid}
      name: api-v2-scripts-scriptid
      description: REST surface for api-v2-scripts-scriptID.
      operations:
      - method: GET
        name: getscriptsid
        description: Retrieve a script
        call: influxdb-data-i-o-endpoints.getscriptsid
        with:
          scriptID: rest.scriptID
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/scripts/{scriptid}/invoke
      name: api-v2-scripts-scriptid-invoke
      description: REST surface for api-v2-scripts-scriptID-invoke.
      operations:
      - method: POST
        name: postscriptsidinvoke
        description: Invoke a script
        call: influxdb-data-i-o-endpoints.postscriptsidinvoke
        with:
          scriptID: rest.scriptID
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/tasks
      name: api-v2-tasks
      description: REST surface for api-v2-tasks.
      operations:
      - method: GET
        name: gettasks
        description: List all tasks
        call: influxdb-data-i-o-endpoints.gettasks
        with:
          name: rest.name
          after: rest.after
          user: rest.user
          org: rest.org
          orgID: rest.orgID
          status: rest.status
          limit: rest.limit
          offset: rest.offset
          sortBy: rest.sortBy
          type: rest.type
          scriptID: rest.scriptID
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: posttasks
        description: Create a task
        call: influxdb-data-i-o-endpoints.posttasks
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/tasks/{taskid}
      name: api-v2-tasks-taskid
      description: REST surface for api-v2-tasks-taskID.
      operations:
      - method: GET
        name: gettasksid
        description: Retrieve a task
        call: influxdb-data-i-o-endpoints.gettasksid
        with:
          taskID: rest.taskID
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/tasks/{taskid}/runs
      name: api-v2-tasks-taskid-runs
      description: REST surface for api-v2-tasks-taskID-runs.
      operations:
      - method: POST
        name: posttasksidruns
        description: Start a task run, overriding the schedule
        call: influxdb-data-i-o-endpoints.posttasksidruns
        with:
          taskID: rest.taskID
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/write
      name: api-v2-write
      description: REST surface for api-v2-write.
      operations:
      - method: POST
        name: postwrite
        description: Write data
        call: influxdb-data-i-o-endpoints.postwrite
        with:
          Content-Encoding: rest.Content-Encoding
          Content-Type: rest.Content-Type
          Content-Length: rest.Content-Length
          Accept: rest.Accept
          org: rest.org
          orgID: rest.orgID
          bucket: rest.bucket
          precision: rest.precision
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: influxdb-data-i-o-endpoints-mcp
    port: 9090
    transport: http
    description: MCP adapter for Complete InfluxDB Cloud API — Data I/O endpoints. One tool per consumed operation, routed
      inline through this capability's consumes block.
    tools:
    - name: delete-data
      description: Delete data
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: influxdb-data-i-o-endpoints.postdelete
      with:
        org: tools.org
        bucket: tools.bucket
        orgID: tools.orgID
        bucketID: tools.bucketID
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: query-data
      description: Query data
      hints:
        readOnly: true
        destructive: false
        idempotent: false
      call: influxdb-data-i-o-endpoints.postquery
      with:
        Accept-Encoding: tools.Accept-Encoding
        Content-Type: tools.Content-Type
        org: tools.org
        orgID: tools.orgID
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: list-scripts
      description: List scripts
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: influxdb-data-i-o-endpoints.getscripts
      with:
        offset: tools.offset
        limit: tools.limit
        name: tools.name
      outputParameters:
      - type: object
        mapping: $.
    - name: retrieve-script
      description: Retrieve a script
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: influxdb-data-i-o-endpoints.getscriptsid
      with:
        scriptID: tools.scriptID
      outputParameters:
      - type: object
        mapping: $.
    - name: invoke-script
      description: Invoke a script
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: influxdb-data-i-o-endpoints.postscriptsidinvoke
      with:
        scriptID: tools.scriptID
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: list-all-tasks
      description: List all tasks
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: influxdb-data-i-o-endpoints.gettasks
      with:
        name: tools.name
        after: tools.after
        user: tools.user
        org: tools.org
        orgID: tools.orgID
        status: tools.status
        limit: tools.limit
        offset: tools.offset
        sortBy: tools.sortBy
        type: tools.type
        scriptID: tools.scriptID
      outputParameters:
      - type: object
        mapping: $.
    - name: create-task
      description: Create a task
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: influxdb-data-i-o-endpoints.posttasks
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: retrieve-task
      description: Retrieve a task
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: influxdb-data-i-o-endpoints.gettasksid
      with:
        taskID: tools.taskID
      outputParameters:
      - type: object
        mapping: $.
    - name: start-task-run-overriding-schedule
      description: Start a task run, overriding the schedule
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: influxdb-data-i-o-endpoints.posttasksidruns
      with:
        taskID: tools.taskID
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: write-data
      description: Write data
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: influxdb-data-i-o-endpoints.postwrite
      with:
        Content-Encoding: tools.Content-Encoding
        Content-Type: tools.Content-Type
        Content-Length: tools.Content-Length
        Accept: tools.Accept
        org: tools.org
        orgID: tools.orgID
        bucket: tools.bucket
        precision: tools.precision
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.