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: $.