naftiko: 1.0.0-alpha2 info: label: Complete InfluxDB Cloud API — Tasks description: 'Complete InfluxDB Cloud API — Tasks. 21 operations. Lead operation: List all tasks. Self-contained Naftiko capability covering one Influxdb business surface.' tags: - Influxdb - Tasks created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: INFLUXDB_API_KEY: INFLUXDB_API_KEY capability: consumes: - type: http namespace: influxdb-tasks baseUri: '' description: Complete InfluxDB Cloud API — Tasks business capability. Self-contained, no shared references. resources: - 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: deletetasksid method: DELETE description: Delete 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. Specifies the task to delete. required: true - 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: patchtasksid method: PATCH description: Update 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: body in: body type: object description: Request body (JSON). required: true - name: api-v2-tasks-taskID-labels path: /api/v2/tasks/{taskID}/labels operations: - name: gettasksidlabels method: GET description: List labels for a task outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: taskID in: path type: string description: The ID of the task to retrieve labels for. required: true - name: posttasksidlabels method: POST description: Add a label to a task outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: taskID in: path type: string description: The ID of the task to label. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: api-v2-tasks-taskID-labels-labelID path: /api/v2/tasks/{taskID}/labels/{labelID} operations: - name: deletetasksidlabelsid method: DELETE description: Delete a label from a task outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: taskID in: path type: string description: The ID of the task to delete the label from. required: true - name: labelID in: path type: string description: The ID of the label to delete. required: true - name: api-v2-tasks-taskID-logs path: /api/v2/tasks/{taskID}/logs operations: - name: gettasksidlogs method: GET description: Retrieve all logs for a task outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: taskID in: path type: string description: The task ID. required: true - name: api-v2-tasks-taskID-members path: /api/v2/tasks/{taskID}/members operations: - name: gettasksidmembers method: GET description: List all task members outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: taskID in: path type: string description: The task ID. required: true - name: posttasksidmembers method: POST description: Add a member to a task outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: taskID in: path type: string description: The task ID. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: api-v2-tasks-taskID-members-userID path: /api/v2/tasks/{taskID}/members/{userID} operations: - name: deletetasksidmembersid method: DELETE description: Remove a member from a task outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: userID in: path type: string description: The ID of the member to remove. required: true - name: taskID in: path type: string description: The task ID. required: true - name: api-v2-tasks-taskID-owners path: /api/v2/tasks/{taskID}/owners operations: - name: gettasksidowners method: GET description: List all owners of a task outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: taskID in: path type: string description: The ID of the task to retrieve owners for. required: true - name: posttasksidowners method: POST description: Add an owner for a task outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: taskID in: path type: string description: The task ID. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: api-v2-tasks-taskID-owners-userID path: /api/v2/tasks/{taskID}/owners/{userID} operations: - name: deletetasksidownersid method: DELETE description: Remove an owner from a task outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: userID in: path type: string description: The ID of the owner to remove. required: true - name: taskID in: path type: string description: The task ID. required: true - name: api-v2-tasks-taskID-runs path: /api/v2/tasks/{taskID}/runs operations: - name: gettasksidruns method: GET description: List runs for a task outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: taskID in: path type: string description: The ID of the task to get runs for. required: true - name: after in: query type: string description: A task run ID. Only returns runs created after this run. - name: limit in: query type: integer description: Limits the number of task runs returned. Default is `100`. - name: afterTime in: query type: string description: A timestamp ([RFC3339 date/time format](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#rfc3339-timestamp)). - name: beforeTime in: query type: string description: A timestamp ([RFC3339 date/time format](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#rfc3339-timestamp)). - 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-tasks-taskID-runs-runID path: /api/v2/tasks/{taskID}/runs/{runID} operations: - name: deletetasksidrunsid method: DELETE description: Cancel a running task outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: taskID in: path type: string description: The ID of the task to cancel. required: true - name: runID in: path type: string description: The ID of the task run to cancel. required: true - name: gettasksidrunsid method: GET description: Retrieve a run for a task. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: taskID in: path type: string description: The ID of the task to retrieve runs for. required: true - name: runID in: path type: string description: The ID of the run to retrieve. required: true - name: api-v2-tasks-taskID-runs-runID-logs path: /api/v2/tasks/{taskID}/runs/{runID}/logs operations: - name: gettasksidrunsidlogs method: GET description: Retrieve all logs for a run outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: taskID in: path type: string description: The ID of the task to get logs for. required: true - name: runID in: path type: string description: The ID of the run to get logs for. required: true - name: api-v2-tasks-taskID-runs-runID-retry path: /api/v2/tasks/{taskID}/runs/{runID}/retry operations: - name: posttasksidrunsidretry method: POST description: Retry a task run 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: runID in: path type: string description: A [task](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#task) run ID. required: true - name: body in: body type: object description: Request body (JSON). required: false authentication: type: apikey key: Authorization value: '{{env.INFLUXDB_API_KEY}}' placement: header exposes: - type: rest namespace: influxdb-tasks-rest port: 8080 description: REST adapter for Complete InfluxDB Cloud API — Tasks. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - 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-tasks.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-tasks.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: DELETE name: deletetasksid description: Delete a task call: influxdb-tasks.deletetasksid with: taskID: rest.taskID outputParameters: - type: object mapping: $. - method: GET name: gettasksid description: Retrieve a task call: influxdb-tasks.gettasksid with: taskID: rest.taskID outputParameters: - type: object mapping: $. - method: PATCH name: patchtasksid description: Update a task call: influxdb-tasks.patchtasksid with: taskID: rest.taskID body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v2/tasks/{taskid}/labels name: api-v2-tasks-taskid-labels description: REST surface for api-v2-tasks-taskID-labels. operations: - method: GET name: gettasksidlabels description: List labels for a task call: influxdb-tasks.gettasksidlabels with: taskID: rest.taskID outputParameters: - type: object mapping: $. - method: POST name: posttasksidlabels description: Add a label to a task call: influxdb-tasks.posttasksidlabels with: taskID: rest.taskID body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v2/tasks/{taskid}/labels/{labelid} name: api-v2-tasks-taskid-labels-labelid description: REST surface for api-v2-tasks-taskID-labels-labelID. operations: - method: DELETE name: deletetasksidlabelsid description: Delete a label from a task call: influxdb-tasks.deletetasksidlabelsid with: taskID: rest.taskID labelID: rest.labelID outputParameters: - type: object mapping: $. - path: /v1/api/v2/tasks/{taskid}/logs name: api-v2-tasks-taskid-logs description: REST surface for api-v2-tasks-taskID-logs. operations: - method: GET name: gettasksidlogs description: Retrieve all logs for a task call: influxdb-tasks.gettasksidlogs with: taskID: rest.taskID outputParameters: - type: object mapping: $. - path: /v1/api/v2/tasks/{taskid}/members name: api-v2-tasks-taskid-members description: REST surface for api-v2-tasks-taskID-members. operations: - method: GET name: gettasksidmembers description: List all task members call: influxdb-tasks.gettasksidmembers with: taskID: rest.taskID outputParameters: - type: object mapping: $. - method: POST name: posttasksidmembers description: Add a member to a task call: influxdb-tasks.posttasksidmembers with: taskID: rest.taskID body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v2/tasks/{taskid}/members/{userid} name: api-v2-tasks-taskid-members-userid description: REST surface for api-v2-tasks-taskID-members-userID. operations: - method: DELETE name: deletetasksidmembersid description: Remove a member from a task call: influxdb-tasks.deletetasksidmembersid with: userID: rest.userID taskID: rest.taskID outputParameters: - type: object mapping: $. - path: /v1/api/v2/tasks/{taskid}/owners name: api-v2-tasks-taskid-owners description: REST surface for api-v2-tasks-taskID-owners. operations: - method: GET name: gettasksidowners description: List all owners of a task call: influxdb-tasks.gettasksidowners with: taskID: rest.taskID outputParameters: - type: object mapping: $. - method: POST name: posttasksidowners description: Add an owner for a task call: influxdb-tasks.posttasksidowners with: taskID: rest.taskID body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v2/tasks/{taskid}/owners/{userid} name: api-v2-tasks-taskid-owners-userid description: REST surface for api-v2-tasks-taskID-owners-userID. operations: - method: DELETE name: deletetasksidownersid description: Remove an owner from a task call: influxdb-tasks.deletetasksidownersid with: userID: rest.userID 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: GET name: gettasksidruns description: List runs for a task call: influxdb-tasks.gettasksidruns with: taskID: rest.taskID after: rest.after limit: rest.limit afterTime: rest.afterTime beforeTime: rest.beforeTime outputParameters: - type: object mapping: $. - method: POST name: posttasksidruns description: Start a task run, overriding the schedule call: influxdb-tasks.posttasksidruns with: taskID: rest.taskID body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v2/tasks/{taskid}/runs/{runid} name: api-v2-tasks-taskid-runs-runid description: REST surface for api-v2-tasks-taskID-runs-runID. operations: - method: DELETE name: deletetasksidrunsid description: Cancel a running task call: influxdb-tasks.deletetasksidrunsid with: taskID: rest.taskID runID: rest.runID outputParameters: - type: object mapping: $. - method: GET name: gettasksidrunsid description: Retrieve a run for a task. call: influxdb-tasks.gettasksidrunsid with: taskID: rest.taskID runID: rest.runID outputParameters: - type: object mapping: $. - path: /v1/api/v2/tasks/{taskid}/runs/{runid}/logs name: api-v2-tasks-taskid-runs-runid-logs description: REST surface for api-v2-tasks-taskID-runs-runID-logs. operations: - method: GET name: gettasksidrunsidlogs description: Retrieve all logs for a run call: influxdb-tasks.gettasksidrunsidlogs with: taskID: rest.taskID runID: rest.runID outputParameters: - type: object mapping: $. - path: /v1/api/v2/tasks/{taskid}/runs/{runid}/retry name: api-v2-tasks-taskid-runs-runid-retry description: REST surface for api-v2-tasks-taskID-runs-runID-retry. operations: - method: POST name: posttasksidrunsidretry description: Retry a task run call: influxdb-tasks.posttasksidrunsidretry with: taskID: rest.taskID runID: rest.runID body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: influxdb-tasks-mcp port: 9090 transport: http description: MCP adapter for Complete InfluxDB Cloud API — Tasks. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-all-tasks description: List all tasks hints: readOnly: true destructive: false idempotent: true call: influxdb-tasks.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-tasks.posttasks with: body: tools.body outputParameters: - type: object mapping: $. - name: delete-task description: Delete a task hints: readOnly: false destructive: true idempotent: true call: influxdb-tasks.deletetasksid with: taskID: tools.taskID outputParameters: - type: object mapping: $. - name: retrieve-task description: Retrieve a task hints: readOnly: true destructive: false idempotent: true call: influxdb-tasks.gettasksid with: taskID: tools.taskID outputParameters: - type: object mapping: $. - name: update-task description: Update a task hints: readOnly: false destructive: false idempotent: true call: influxdb-tasks.patchtasksid with: taskID: tools.taskID body: tools.body outputParameters: - type: object mapping: $. - name: list-labels-task description: List labels for a task hints: readOnly: true destructive: false idempotent: true call: influxdb-tasks.gettasksidlabels with: taskID: tools.taskID outputParameters: - type: object mapping: $. - name: add-label-task description: Add a label to a task hints: readOnly: false destructive: false idempotent: false call: influxdb-tasks.posttasksidlabels with: taskID: tools.taskID body: tools.body outputParameters: - type: object mapping: $. - name: delete-label-task description: Delete a label from a task hints: readOnly: false destructive: true idempotent: true call: influxdb-tasks.deletetasksidlabelsid with: taskID: tools.taskID labelID: tools.labelID outputParameters: - type: object mapping: $. - name: retrieve-all-logs-task description: Retrieve all logs for a task hints: readOnly: true destructive: false idempotent: true call: influxdb-tasks.gettasksidlogs with: taskID: tools.taskID outputParameters: - type: object mapping: $. - name: list-all-task-members description: List all task members hints: readOnly: true destructive: false idempotent: true call: influxdb-tasks.gettasksidmembers with: taskID: tools.taskID outputParameters: - type: object mapping: $. - name: add-member-task description: Add a member to a task hints: readOnly: false destructive: false idempotent: false call: influxdb-tasks.posttasksidmembers with: taskID: tools.taskID body: tools.body outputParameters: - type: object mapping: $. - name: remove-member-task description: Remove a member from a task hints: readOnly: false destructive: true idempotent: true call: influxdb-tasks.deletetasksidmembersid with: userID: tools.userID taskID: tools.taskID outputParameters: - type: object mapping: $. - name: list-all-owners-task description: List all owners of a task hints: readOnly: true destructive: false idempotent: true call: influxdb-tasks.gettasksidowners with: taskID: tools.taskID outputParameters: - type: object mapping: $. - name: add-owner-task description: Add an owner for a task hints: readOnly: false destructive: false idempotent: false call: influxdb-tasks.posttasksidowners with: taskID: tools.taskID body: tools.body outputParameters: - type: object mapping: $. - name: remove-owner-task description: Remove an owner from a task hints: readOnly: false destructive: true idempotent: true call: influxdb-tasks.deletetasksidownersid with: userID: tools.userID taskID: tools.taskID outputParameters: - type: object mapping: $. - name: list-runs-task description: List runs for a task hints: readOnly: true destructive: false idempotent: true call: influxdb-tasks.gettasksidruns with: taskID: tools.taskID after: tools.after limit: tools.limit afterTime: tools.afterTime beforeTime: tools.beforeTime 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-tasks.posttasksidruns with: taskID: tools.taskID body: tools.body outputParameters: - type: object mapping: $. - name: cancel-running-task description: Cancel a running task hints: readOnly: false destructive: true idempotent: true call: influxdb-tasks.deletetasksidrunsid with: taskID: tools.taskID runID: tools.runID outputParameters: - type: object mapping: $. - name: retrieve-run-task description: Retrieve a run for a task. hints: readOnly: true destructive: false idempotent: true call: influxdb-tasks.gettasksidrunsid with: taskID: tools.taskID runID: tools.runID outputParameters: - type: object mapping: $. - name: retrieve-all-logs-run description: Retrieve all logs for a run hints: readOnly: true destructive: false idempotent: true call: influxdb-tasks.gettasksidrunsidlogs with: taskID: tools.taskID runID: tools.runID outputParameters: - type: object mapping: $. - name: retry-task-run description: Retry a task run hints: readOnly: false destructive: false idempotent: false call: influxdb-tasks.posttasksidrunsidretry with: taskID: tools.taskID runID: tools.runID body: tools.body outputParameters: - type: object mapping: $.