openapi: 3.0.0 info: title: InfluxDB OSS API Service version: 2.0.0 description: | The InfluxDB v2 API provides a programmatic interface for all interactions with InfluxDB. Access the InfluxDB API using the `/api/v2/` endpoint. servers: - url: /api/v2 tags: - name: Authorizations description: | Create and manage _API tokens_. An _authorization_ contains a list of `read` and `write` permissions for organization resources and provides an API token for authentication. An authorization belongs to an organization and only contains permissions for that organization. An authorization is only visible to the user that created it. Optionally, when creating an authorization, you can scope it to a specific user. A _user session_ carries all the permissions granted by all the user's authorizations. To create a user session, use the [`POST /api/v2/signin`](#operation/PostSignin) endpoint. ### Related endpoints - [Signin](#tag/Signin) - [Signout](#tag/Signout) ### Related guides - [Authorize API requests](https://docs.influxdata.com/influxdb/v2.3/api-guide/api_intro/#authentication). - [Manage API tokens](https://docs.influxdata.com/influxdb/v2.3/security/tokens/). - [Assign a token to a specific user](https://docs.influxdata.com/influxdb/v2.3/security/tokens/create-token/). - name: Buckets description: | Store your data in InfluxDB [buckets](https://docs.influxdata.com/influxdb/v2.3/reference/glossary/#bucket). A bucket is a named location where time series data is stored. All buckets have a [retention period](https://docs.influxdata.com/influxdb/v2.3/reference/glossary/#retention-period), a duration of time that each data point persists. InfluxDB drops all points with timestamps older than the bucket’s retention period. A bucket belongs to an organization. ### Related guides - [Manage buckets](https://docs.influxdata.com/influxdb/v2.3/organizations/buckets/) - name: Debug description: | Generate profiling and trace reports. Use routes under `/debug/pprof` to analyze the Go runtime of InfluxDB. These endpoints generate [Go runtime profiles](https://pkg.go.dev/runtime/pprof) and **trace** reports. **Profiles** are collections of stack traces that show call sequences leading to instances of a particular event, such as allocation. For more information about **pprof profile** and **trace** reports, see the following resources: - [Google pprof tool](https://github.com/google/pprof) - [Golang diagnostics](https://go.dev/doc/diagnostics) - name: Delete description: | Delete data from an InfluxDB bucket. - name: Query description: | Retrieve data, analyze queries, and get query suggestions. - name: Tasks description: | Process and analyze your data with tasks in the InfluxDB task engine. With tasks, you can schedule Flux scripts to query, analyze, modify, and act on data. Use the `/api/v2/tasks` endpoints to create and manage tasks, retry task runs, and retrieve run logs. #### Related guides - [Get started with tasks](https://docs.influxdata.com/influxdb/v2.3/process-data/get-started/) - [Common data processing tasks](https://docs.influxdata.com/influxdb/v2.3/process-data/common-tasks/) - name: Templates description: | Export and apply InfluxDB **templates**. Manage **stacks** of templated InfluxDB resources. InfluxDB templates are prepackaged configurations for everything from dashboards and Telegraf to notifications and alerts. Use InfluxDB templates to quickly configure a fresh instance of InfluxDB, back up your dashboard configuration, or share your configuration with the InfluxData community. Use the `/api/v2/templates` endpoints to export templates and apply templates. **InfluxDB stacks** are stateful InfluxDB templates that let you add, update, and remove installed template resources over time, avoid duplicating resources when applying the same or similar templates more than once, and apply changes to distributed instances of InfluxDB OSS or InfluxDB Cloud. Use the `/api/v2/stacks` endpoints to manage installed template resources. #### Related guides - [InfluxDB stacks](https://docs.influxdata.com/influxdb/v2.3/influxdb-templates/stacks/) - [InfluxDB templates](https://docs.influxdata.com/influxdb/v2.3/influxdb-templates/) - name: Write description: | Write time series data to buckets. - name: Authentication description: | Use one of the following schemes to authenticate to the InfluxDB API: - [Token authentication](#section/Authentication/TokenAuthentication) - [Basic authentication](#section/Authentication/BasicAuthentication) - [Querystring authentication](#section/Authentication/QuerystringAuthentication) x-traitTag: true - name: Quick start x-traitTag: true description: | See the [**API Quick Start**](https://docs.influxdata.com/influxdb/v2.3/api-guide/api_intro/) to get up and running authenticating with tokens, writing to buckets, and querying data. [**InfluxDB API client libraries**](https://docs.influxdata.com/influxdb/v2.3/api-guide/client-libraries/) are available for popular languages and ready to import into your application. - name: Common parameters x-traitTag: true description: | Many InfluxDB API endpoints require parameters to specify resources--for example, writing to a **bucket** in an **organization**. ### Common query parameters | Query parameter | Value type | Description | |:------------------------ |:--------------------- |:-------------------------------------------| | `bucket` | string | The bucket name or ID ([find your bucket](https://docs.influxdata.com/influxdb/v2.3/organizations/buckets/view-buckets/). | | `bucketID` | string | The bucket ID ([find your bucket](https://docs.influxdata.com/influxdb/v2.3/organizations/buckets/view-buckets/). | | `org` | string | The organization name or ID ([find your organization](https://docs.influxdata.com/influxdb/v2.3/organizations/view-orgs/). | | `orgID` | 16-byte string | The organization ID ([find your organization](https://docs.influxdata.com/influxdb/v2.3/organizations/view-orgs/). | - name: Headers x-traitTag: true description: | InfluxDB API endpoints use standard HTTP request and response headers. **Note**: Not all operations support all headers. ### Request headers | Header | Value type | Description | |:------------------------ |:--------------------- |:-------------------------------------------| | `Accept` | string | The content type that the client can understand. | | `Authorization` | string | The authorization scheme and credential. | | `Content-Encoding` | string | The compression applied to the line protocol in the request payload. | | `Content-Length` | integer | The size of the entity-body, in bytes, sent to the database. | | `Content-Type` | string | The format of the data in the request body. | - name: Response codes x-traitTag: true description: | InfluxDB API endpoints use standard HTTP status codes for success and failure responses. The response body may include additional details. For details about a specific operation's response, see **Responses** and **Response Samples** for that operation. API operations may return the following HTTP status codes: |  Code  | Status | Description | |:-----------:|:------------------------ |:--------------------- | | `200` | Success | | | `204` | No content | For a `POST` request, `204` indicates that InfluxDB accepted the request and request data is valid. Asynchronous operations, such as `write`, might not have completed yet. | | `400` | Bad request | May indicate one of the following: | | `401` | Unauthorized | May indicate one of the following: | | `404` | Not found | Requested resource was not found. `message` in the response body provides details about the requested resource. | | `413` | Request entity too large | Request payload exceeds the size limit. | | `422` | Unprocessable entity | Request data is invalid. `code` and `message` in the response body provide details about the problem. | | `429` | Too many requests | API token is temporarily over the request quota. The `Retry-After` header describes when to try the request again. | | `500` | Internal server error | | | `503` | Service unavailable | Server is temporarily unavailable to process the request. The `Retry-After` header describes when to try the request again. | x-tagGroups: - name: Overview tags: - Quick start - Authentication - Headers - Response codes - name: Popular endpoints tags: - Data I/O endpoints - Security and access endpoints - System information endpoints - name: All endpoints tags: [] paths: /signin: post: operationId: PostSignin summary: Create a user session. description: 'Authenticates ***Basic Auth*** credentials for a user. If successful, creates a new UI session for the user.' tags: - Signin security: - BasicAuthentication: [] parameters: - $ref: '#/components/parameters/TraceSpan' responses: '204': description: Success. User authenticated. '401': description: Unauthorized access. content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: User account is disabled. content: application/json: schema: $ref: '#/components/schemas/Error' default: description: Unsuccessful authentication. content: application/json: schema: $ref: '#/components/schemas/Error' /signout: post: operationId: PostSignout summary: Expire the current UI session tags: - Signout description: Expires the current UI session for the user. parameters: - $ref: '#/components/parameters/TraceSpan' responses: '204': description: Session successfully expired '401': description: Unauthorized access content: application/json: schema: $ref: '#/components/schemas/Error' default: description: Unsuccessful session expiry content: application/json: schema: $ref: '#/components/schemas/Error' /ping: get: operationId: GetPing summary: Get the status and version of the instance description: Returns the status and InfluxDB version of the instance. servers: - url: '' tags: - Ping - System information endpoints responses: '204': description: | OK. Headers contain InfluxDB version information. headers: X-Influxdb-Build: schema: type: string description: The type of InfluxDB build. X-Influxdb-Version: schema: type: integer description: The version of InfluxDB. head: operationId: HeadPing summary: Get the status and version of the instance description: Returns the status and InfluxDB version of the instance. servers: - url: '' tags: - Ping responses: '204': description: | OK. Headers contain InfluxDB version information. headers: X-Influxdb-Build: schema: type: string description: The type of InfluxDB build. X-Influxdb-Version: schema: type: integer description: The version of InfluxDB. /: get: operationId: GetRoutes summary: List all top level routes tags: - Routes - System information endpoints parameters: - $ref: '#/components/parameters/TraceSpan' responses: default: description: All routes content: application/json: schema: $ref: '#/components/schemas/Routes' /dbrps: get: operationId: GetDBRPs tags: - DBRPs summary: List database retention policy mappings parameters: - $ref: '#/components/parameters/TraceSpan' - in: query name: orgID description: Specifies the organization ID to filter on schema: type: string - in: query name: org description: Specifies the organization name to filter on schema: type: string - in: query name: id description: Specifies the mapping ID to filter on schema: type: string - in: query name: bucketID description: Specifies the bucket ID to filter on schema: type: string - in: query name: default description: Specifies filtering on default schema: type: boolean - in: query name: db description: Specifies the database to filter on schema: type: string - in: query name: rp description: Specifies the retention policy to filter on schema: type: string responses: '200': description: Success. Returns a list of database retention policy mappings. content: application/json: schema: $ref: '#/components/schemas/DBRPs' '400': description: Bad request. The request has one or more invalid parameters. content: application/json: schema: $ref: '#/components/schemas/Error' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' post: operationId: PostDBRP tags: - DBRPs summary: Add a database retention policy mapping parameters: - $ref: '#/components/parameters/TraceSpan' requestBody: description: The database retention policy mapping to add required: true content: application/json: schema: $ref: '#/components/schemas/DBRPCreate' responses: '201': description: Created. Returns the created database retention policy mapping. content: application/json: schema: $ref: '#/components/schemas/DBRP' '400': description: Bad request. The mapping in the request has one or more invalid IDs. content: application/json: schema: $ref: '#/components/schemas/Error' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' '/dbrps/{dbrpID}': get: operationId: GetDBRPsID tags: - DBRPs summary: Retrieve a database retention policy mapping parameters: - $ref: '#/components/parameters/TraceSpan' - in: query name: orgID description: Specifies the organization ID of the mapping schema: type: string - in: query name: org description: Specifies the organization name of the mapping schema: type: string - in: path name: dbrpID schema: type: string required: true description: The database retention policy mapping ID responses: '200': description: The database retention policy requested content: application/json: schema: $ref: '#/components/schemas/DBRPGet' '400': description: if any of the IDs passed is invalid content: application/json: schema: $ref: '#/components/schemas/Error' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' patch: operationId: PatchDBRPID tags: - DBRPs summary: Update a database retention policy mapping requestBody: description: Database retention policy update to apply required: true content: application/json: schema: $ref: '#/components/schemas/DBRPUpdate' parameters: - $ref: '#/components/parameters/TraceSpan' - in: query name: orgID description: Specifies the organization ID of the mapping schema: type: string - in: query name: org description: Specifies the organization name of the mapping schema: type: string - in: path name: dbrpID schema: type: string required: true description: The database retention policy mapping. responses: '200': description: An updated mapping content: application/json: schema: $ref: '#/components/schemas/DBRPGet' '400': description: if any of the IDs passed is invalid content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: The mapping was not found content: application/json: schema: $ref: '#/components/schemas/Error' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' delete: operationId: DeleteDBRPID tags: - DBRPs summary: Delete a database retention policy parameters: - $ref: '#/components/parameters/TraceSpan' - in: query name: orgID description: Specifies the organization ID of the mapping schema: type: string - in: query name: org description: Specifies the organization name of the mapping schema: type: string - in: path name: dbrpID schema: type: string required: true description: The database retention policy mapping responses: '204': description: Delete has been accepted '400': description: if any of the IDs passed is invalid content: application/json: schema: $ref: '#/components/schemas/Error' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /telegraf/plugins: get: operationId: GetTelegrafPlugins tags: - Telegraf Plugins summary: List all Telegraf plugins parameters: - $ref: '#/components/parameters/TraceSpan' - in: query name: type description: The type of plugin desired. schema: type: string responses: '200': description: A list of Telegraf plugins. content: application/json: schema: $ref: '#/components/schemas/TelegrafPlugins' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /telegrafs: get: operationId: GetTelegrafs tags: - Telegrafs summary: List all Telegraf configurations parameters: - $ref: '#/components/parameters/TraceSpan' - in: query name: orgID description: The organization ID the Telegraf config belongs to. schema: type: string responses: '200': description: A list of Telegraf configurations content: application/json: schema: $ref: '#/components/schemas/Telegrafs' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' post: operationId: PostTelegrafs tags: - Telegrafs summary: Create a Telegraf configuration parameters: - $ref: '#/components/parameters/TraceSpan' requestBody: description: Telegraf configuration to create required: true content: application/json: schema: $ref: '#/components/schemas/TelegrafPluginRequest' responses: '201': description: Telegraf configuration created content: application/json: schema: $ref: '#/components/schemas/Telegraf' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' '/telegrafs/{telegrafID}': get: operationId: GetTelegrafsID tags: - Telegrafs summary: Retrieve a Telegraf configuration parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: telegrafID schema: type: string required: true description: The Telegraf configuration ID. - in: header name: Accept required: false schema: type: string default: application/toml enum: - application/toml - application/json - application/octet-stream responses: '200': description: Telegraf configuration details content: application/toml: example: |- [agent] interval = "10s" schema: type: string application/json: schema: $ref: '#/components/schemas/Telegraf' application/octet-stream: example: |- [agent] interval = "10s" schema: type: string default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' put: operationId: PutTelegrafsID tags: - Telegrafs summary: Update a Telegraf configuration parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: telegrafID schema: type: string required: true description: The Telegraf config ID. requestBody: description: Telegraf configuration update to apply required: true content: application/json: schema: $ref: '#/components/schemas/TelegrafPluginRequest' responses: '200': description: An updated Telegraf configurations content: application/json: schema: $ref: '#/components/schemas/Telegraf' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' delete: operationId: DeleteTelegrafsID tags: - Telegrafs summary: Delete a Telegraf configuration parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: telegrafID schema: type: string required: true description: The Telegraf configuration ID. responses: '204': description: Delete has been accepted default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' '/telegrafs/{telegrafID}/labels': get: operationId: GetTelegrafsIDLabels tags: - Telegrafs summary: List all labels for a Telegraf config parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: telegrafID schema: type: string required: true description: The Telegraf config ID. responses: '200': description: A list of all labels for a Telegraf config content: application/json: schema: $ref: '#/components/schemas/LabelsResponse' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' post: operationId: PostTelegrafsIDLabels tags: - Telegrafs summary: Add a label to a Telegraf config parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: telegrafID schema: type: string required: true description: The Telegraf config ID. requestBody: description: Label to add required: true content: application/json: schema: $ref: '#/components/schemas/LabelMapping' responses: '201': description: The label added to the Telegraf config content: application/json: schema: $ref: '#/components/schemas/LabelResponse' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' '/telegrafs/{telegrafID}/labels/{labelID}': delete: operationId: DeleteTelegrafsIDLabelsID tags: - Telegrafs summary: Delete a label from a Telegraf config parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: telegrafID schema: type: string required: true description: The Telegraf config ID. - in: path name: labelID schema: type: string required: true description: The label ID. responses: '204': description: Delete has been accepted '404': description: Telegraf config not found content: application/json: schema: $ref: '#/components/schemas/Error' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' '/telegrafs/{telegrafID}/members': get: operationId: GetTelegrafsIDMembers tags: - Telegrafs summary: List all users with member privileges for a Telegraf config parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: telegrafID schema: type: string required: true description: The Telegraf config ID. responses: '200': description: A list of Telegraf config members content: application/json: schema: $ref: '#/components/schemas/ResourceMembers' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' post: operationId: PostTelegrafsIDMembers tags: - Telegrafs summary: Add a member to a Telegraf config parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: telegrafID schema: type: string required: true description: The Telegraf config ID. requestBody: description: User to add as member required: true content: application/json: schema: $ref: '#/components/schemas/AddResourceMemberRequestBody' responses: '201': description: Member added to Telegraf config content: application/json: schema: $ref: '#/components/schemas/ResourceMember' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' '/telegrafs/{telegrafID}/members/{userID}': delete: operationId: DeleteTelegrafsIDMembersID tags: - Telegrafs summary: Remove a member from a Telegraf config parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: userID schema: type: string required: true description: The ID of the member to remove. - in: path name: telegrafID schema: type: string required: true description: The Telegraf config ID. responses: '204': description: Member removed default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' '/telegrafs/{telegrafID}/owners': get: operationId: GetTelegrafsIDOwners tags: - Telegrafs summary: List all owners of a Telegraf configuration parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: telegrafID schema: type: string required: true description: The Telegraf configuration ID. responses: '200': description: Returns Telegraf configuration owners as a ResourceOwners list content: application/json: schema: $ref: '#/components/schemas/ResourceOwners' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' post: operationId: PostTelegrafsIDOwners tags: - Telegrafs summary: Add an owner to a Telegraf configuration parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: telegrafID schema: type: string required: true description: The Telegraf configuration ID. requestBody: description: User to add as owner required: true content: application/json: schema: $ref: '#/components/schemas/AddResourceMemberRequestBody' responses: '201': description: Telegraf configuration owner was added. Returns a ResourceOwner that references the User. content: application/json: schema: $ref: '#/components/schemas/ResourceOwner' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' '/telegrafs/{telegrafID}/owners/{userID}': delete: operationId: DeleteTelegrafsIDOwnersID tags: - Telegrafs summary: Remove an owner from a Telegraf config parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: userID schema: type: string required: true description: The ID of the owner to remove. - in: path name: telegrafID schema: type: string required: true description: The Telegraf config ID. responses: '204': description: Owner removed default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' '/variables/{variableID}/labels': get: operationId: GetVariablesIDLabels tags: - Variables summary: List all labels for a variable parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: variableID schema: type: string required: true description: The variable ID. responses: '200': description: A list of all labels for a variable content: application/json: schema: $ref: '#/components/schemas/LabelsResponse' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' post: operationId: PostVariablesIDLabels tags: - Variables summary: Add a label to a variable parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: variableID schema: type: string required: true description: The variable ID. requestBody: description: Label to add required: true content: application/json: schema: $ref: '#/components/schemas/LabelMapping' responses: '201': description: The newly added label content: application/json: schema: $ref: '#/components/schemas/LabelResponse' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' '/variables/{variableID}/labels/{labelID}': delete: operationId: DeleteVariablesIDLabelsID tags: - Variables summary: Delete a label from a variable parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: variableID schema: type: string required: true description: The variable ID. - in: path name: labelID schema: type: string required: true description: The label ID to delete. responses: '204': description: Delete has been accepted '404': description: Variable not found content: application/json: schema: $ref: '#/components/schemas/Error' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /write: post: operationId: PostWrite tags: - Data I/O endpoints - Write summary: Write data description: | Writes data to a bucket. Use this endpoint to send data in [line protocol](https://docs.influxdata.com/influxdb/v2.3/reference/syntax/line-protocol/) format to InfluxDB. #### InfluxDB Cloud - Takes the following steps when you send a write request: 1. Validates the request and queues the write. 2. If the write is queued, responds with an HTTP `204` status code. 3. Handles the write asynchronously and reaches eventual consistency. An HTTP `2xx` status code acknowledges that the write or delete is queued. To ensure that InfluxDB Cloud handles writes and deletes in the order you request them, wait for a response before you send the next request. Because writes are asynchronous, data might not yet be written when you receive the response. #### InfluxDB OSS - Validates the request, handles the write synchronously, and then responds with success or failure. - If all points were written successfully, responds with HTTP `204` status code; otherwise, returns the first line that failed. #### Required permissions - `write-buckets` or `write-bucket BUCKET_ID`. `BUCKET_ID` is the ID of the destination bucket. #### Rate limits (with InfluxDB Cloud) `write` rate limits apply. For more information, see [limits and adjustable quotas](https://docs.influxdata.com/influxdb/cloud/account-management/limits/). #### Related guides - [Write data with the InfluxDB API](https://docs.influxdata.com/influxdb/v2.3/write-data/developer-tools/api). - [Optimize writes to InfluxDB](https://docs.influxdata.com/influxdb/v2.3/write-data/best-practices/optimize-writes/). - [Troubleshoot issues writing data](https://docs.influxdata.com/influxdb/v2.3/write-data/troubleshoot/) requestBody: description: | Data in line protocol format. To send compressed data, do the following: 1. Use [GZIP](https://www.gzip.org/) to compress the line protocol data. 2. In your request, send the compressed data and the `Content-Encoding: gzip` header. #### Related guides - [Best practices for optimizing writes](https://docs.influxdata.com/influxdb/v2.3/write-data/best-practices/optimize-writes/). required: true content: text/plain: schema: type: string format: byte examples: plain-utf8: value: | airSensors,sensor_id=TLM0201 temperature=73.97038159354763,humidity=35.23103248356096,co=0.48445310567793615 1630424257000000000 airSensors,sensor_id=TLM0202 temperature=75.30007505999716,humidity=35.651929918691714,co=0.5141876544505826 1630424257000000000 parameters: - $ref: '#/components/parameters/TraceSpan' - in: header name: Content-Encoding description: | The compression applied to the line protocol in the request payload. To send a GZIP payload, pass `Content-Encoding: gzip` header. schema: type: string description: | Content coding. Use `gzip` for compressed data or `identity` for unmodified, uncompressed data. default: identity enum: - gzip - identity - in: header name: Content-Type description: | The format of the data in the request body. To send a line protocol payload, pass `Content-Type: text/plain; charset=utf-8`. schema: type: string description: | `text/plain` is the content type for line protocol. `UTF-8` is the default character set. default: text/plain; charset=utf-8 enum: - text/plain - text/plain; charset=utf-8 - in: header name: Content-Length description: | The size of the entity-body, in bytes, sent to InfluxDB. If the length is greater than the `max body` configuration option, the server responds with status code `413`. schema: type: integer description: The length in decimal number of octets. - in: header name: Accept description: | The content type that the client can understand. Writes only return a response body if they fail--for example, due to a formatting problem or quota limit. #### InfluxDB Cloud - Returns only `application/json` for format and limit errors. - Returns only `text/html` for some quota limit errors. #### InfluxDB OSS - Returns only `application/json` for format and limit errors. #### Related guides - [Troubleshoot issues writing data](https://docs.influxdata.com/influxdb/v2.3/write-data/troubleshoot/). schema: type: string description: Error content type. default: application/json enum: - application/json - in: query name: org description: | The destination organization for writes. InfluxDB writes all points in the batch to this organization. If you pass both `orgID` and `org`, they must both be valid. #### InfluxDB Cloud - Doesn't require `org` or `orgID`. - Writes to the bucket in the organization associated with the authorization (API token). #### InfluxDB OSS - Requires either `org` or `orgID`. - InfluxDB writes all points in the batch to this organization. required: true schema: type: string description: The organization name or ID. - in: query name: orgID description: | The ID of the destination organization for writes. If you pass both `orgID` and `org`, they must both be valid. #### InfluxDB Cloud - Doesn't require `org` or `orgID`. - Writes to the bucket in the organization associated with the authorization (API token). #### InfluxDB OSS - Requires either `org` or `orgID`. - InfluxDB writes all points in the batch to this organization. schema: type: string - in: query name: bucket description: | The destination bucket for writes. InfluxDB writes all points in the batch to this bucket. required: true schema: type: string description: The bucket name or ID. - in: query name: precision description: The precision for unix timestamps in the line protocol batch. schema: $ref: '#/components/schemas/WritePrecision' responses: '204': description: | Success. #### InfluxDB Cloud - Validated and queued the request. - Handles the write asynchronously - the write might not have completed yet. #### InfluxDB OSS - Successfully wrote all points in the batch. #### Related guides - [How to check for write errors](https://docs.influxdata.com/influxdb/v2.3/write-data/troubleshoot/). '400': description: | Bad request. The response body contains detail about the error. InfluxDB returns this error if the line protocol data in the request is malformed. The response body contains the first malformed line in the data, and indicates what was expected. For partial writes, the number of points written and the number of points rejected are also included. For more information, check the `rejected_points` measurement in your `_monitoring` bucket. #### InfluxDB Cloud - Returns this error for bucket schema conflicts. #### InfluxDB OSS - Returns this error if `org` or `orgID` doesn't match an organization. content: application/json: schema: $ref: '#/components/schemas/LineProtocolError' examples: measurementSchemaFieldTypeConflict: summary: (Cloud) field type conflict thrown by an explicit bucket schema value: code: invalid message: 'partial write error (2 written): unable to parse ''air_sensor,service=S1,sensor=L1 temperature="90.5",humidity=70.0 1632850122'': schema: field type for field "temperature" not permitted by schema; got String but expected Float' orgNotFound: summary: (OSS) organization not found value: code: invalid message: 'failed to decode request body: organization not found' '401': $ref: '#/components/responses/AuthorizationError' '404': $ref: '#/components/responses/ResourceNotFoundError' '413': description: | The request payload is too large. InfluxDB rejected the batch and did not write any data. #### InfluxDB Cloud: - Returns this error if the payload exceeds the 50MB size limit. - Returns `Content-Type: text/html` for this error. #### InfluxDB OSS: - Returns this error only if the [Go (golang) `ioutil.ReadAll()`](https://pkg.go.dev/io/ioutil#ReadAll) function raises an error. - Returns `Content-Type: application/json` for this error. content: application/json: schema: $ref: '#/components/schemas/LineProtocolLengthError' examples: dataExceedsSizeLimitOSS: summary: InfluxDB OSS response value: | {"code":"request too large","message":"unable to read data: points batch is too large"} text/html: schema: type: string examples: dataExceedsSizeLimit: summary: InfluxDB Cloud response value: | 413 Request Entity Too Large

413 Request Entity Too Large


nginx
'429': description: | Too many requests. #### InfluxDB Cloud - Returns this error if a **read** or **write** request exceeds your plan's [adjustable service quotas](https://docs.influxdata.com/influxdb/cloud/account-management/limits/#adjustable-service-quotas) or if a **delete** request exceeds the maximum [global limit](https://docs.influxdata.com/influxdb/cloud/account-management/limits/#global-limits). - For rate limits that reset automatically, returns a `Retry-After` header that describes when to try the write again. - For limits that can't reset (for example, **cardinality limit**), doesn't return a `Retry-After` header. Rates (data-in (writes), queries (reads), and deletes) accrue within a fixed five-minute window. Once a rate limit is exceeded, InfluxDB returns an error response until the current five-minute window resets. #### InfluxDB OSS - Doesn't return this error. headers: Retry-After: description: Non-negative decimal integer indicating seconds to wait before retrying the request. schema: type: integer format: int32 '500': $ref: '#/components/responses/InternalServerError' '503': description: | Service unavailable. - Returns this error if the server is temporarily unavailable to accept writes. - Returns a `Retry-After` header that describes when to try the write again. headers: Retry-After: description: Non-negative decimal integer indicating seconds to wait before retrying the request. schema: type: integer format: int32 default: $ref: '#/components/responses/GeneralServerError' /delete: post: operationId: PostDelete tags: - Data I/O endpoints - Delete summary: Delete data description: | Deletes data from a bucket. Use this endpoint to delete points from a bucket in a specified time range. #### InfluxDB Cloud - Does the following when you send a delete request: 1. Validates the request and queues the delete. 2. Returns _success_ if queued; _error_ otherwise. 3. Handles the delete asynchronously. #### InfluxDB OSS - Validates the request, handles the delete synchronously, and then responds with success or failure. #### Required permissions - `write-buckets` or `write-bucket BUCKET_ID`. `BUCKET_ID` is the ID of the destination bucket. #### Rate limits (with InfluxDB Cloud) `write` rate limits apply. For more information, see [limits and adjustable quotas](https://docs.influxdata.com/influxdb/cloud/account-management/limits/). #### Related guides - [Delete data](https://docs.influxdata.com/influxdb/v2.3/write-data/delete-data/). - Learn how to use [delete predicate syntax](https://docs.influxdata.com/influxdb/v2.3/reference/syntax/delete-predicate/). - Learn how InfluxDB handles [deleted tags](https://docs.influxdata.com/flux/v0.x/stdlib/influxdata/influxdb/schema/measurementtagkeys/) and [deleted fields](https://docs.influxdata.com/flux/v0.x/stdlib/influxdata/influxdb/schema/measurementfieldkeys/). x-codeSamples: - lang: Shell label: cURL source: | curl --request POST INFLUX_URL/api/v2/delete?org=INFLUX_ORG&bucket=INFLUX_BUCKET \ --header 'Authorization: Token INFLUX_API_TOKEN' \ --header 'Content-Type: application/json' \ --data '{ "start": "2020-03-01T00:00:00Z", "stop": "2020-11-14T00:00:00Z", "predicate": "tag1=\"value1\" and (tag2=\"value2\" and tag3!=\"value3\")" }' requestBody: description: | Time range parameters and an optional **delete predicate expression**. To select points to delete within the specified time range, pass a **delete predicate expression** in the `predicate` property of the request body. If you don't pass a `predicate`, InfluxDB deletes all data with timestamps in the specified time range. #### Related guides - [Delete data](https://docs.influxdata.com/influxdb/v2.3/write-data/delete-data/). - Learn how to use [delete predicate syntax](https://docs.influxdata.com/influxdb/v2.3/reference/syntax/delete-predicate/). required: true content: application/json: schema: $ref: '#/components/schemas/DeletePredicateRequest' parameters: - $ref: '#/components/parameters/TraceSpan' - in: query name: org description: | The organization to delete data from. If you pass both `orgID` and `org`, they must both be valid. #### InfluxDB Cloud - Doesn't require `org` or `orgID`. - Deletes data from the bucket in the organization associated with the authorization (API token). #### InfluxDB OSS - Requires either `org` or `orgID`. schema: type: string description: The organization name or ID. - in: query name: bucket description: | The name or ID of the bucket to delete data from. If you pass both `bucket` and `bucketID`, `bucketID` takes precedence. schema: type: string description: The bucket name or ID. - in: query name: orgID description: | The ID of the organization to delete data from. If you pass both `orgID` and `org`, they must both be valid. #### InfluxDB Cloud - Doesn't require `org` or `orgID`. - Deletes data from the bucket in the organization associated with the authorization (API token). #### InfluxDB OSS - Requires either `org` or `orgID`. schema: type: string description: The organization ID. - in: query name: bucketID description: | The ID of the bucket to delete data from. If you pass both `bucket` and `bucketID`, `bucketID` takes precedence. schema: type: string description: The bucket ID. responses: '204': description: | Success. #### InfluxDB Cloud - Validated and queued the request. - Handles the delete asynchronously - the deletion might not have completed yet. An HTTP `2xx` status code acknowledges that the write or delete is queued. To ensure that InfluxDB Cloud handles writes and deletes in the order you request them, wait for a response before you send the next request. Because writes are asynchronous, data might not yet be written when you receive the response. #### InfluxDB OSS - Deleted the data. '400': description: | Bad request. The response body contains detail about the error. #### InfluxDB OSS - Returns this error if `org` or `orgID` doesn't match an organization. content: application/json: schema: $ref: '#/components/schemas/Error' examples: orgNotFound: summary: Organization not found value: code: invalid message: 'failed to decode request body: organization not found' '401': $ref: '#/components/responses/AuthorizationError' '404': $ref: '#/components/responses/ResourceNotFoundError' '500': $ref: '#/components/responses/InternalServerError' default: $ref: '#/components/responses/GeneralServerError' /labels: post: operationId: PostLabels tags: - Labels summary: Create a label requestBody: description: The label to create. required: true content: application/json: schema: $ref: '#/components/schemas/LabelCreateRequest' responses: '201': description: Success. The label was created. content: application/json: schema: $ref: '#/components/schemas/LabelResponse' '500': $ref: '#/components/responses/InternalServerError' default: $ref: '#/components/responses/GeneralServerError' get: operationId: GetLabels tags: - Labels summary: List all labels parameters: - $ref: '#/components/parameters/TraceSpan' - in: query name: orgID description: The organization ID. schema: type: string responses: '200': description: Success. The response body contains a list of labels. content: application/json: schema: $ref: '#/components/schemas/LabelsResponse' '500': $ref: '#/components/responses/InternalServerError' default: $ref: '#/components/responses/GeneralServerError' '/labels/{labelID}': get: operationId: GetLabelsID tags: - Labels summary: Retrieve a label parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: labelID schema: type: string required: true description: The ID of the label to update. responses: '200': description: Success. The response body contains the label. content: application/json: schema: $ref: '#/components/schemas/LabelResponse' '500': $ref: '#/components/responses/InternalServerError' default: $ref: '#/components/responses/GeneralServerError' patch: operationId: PatchLabelsID tags: - Labels summary: Update a label requestBody: description: A label update. required: true content: application/json: schema: $ref: '#/components/schemas/LabelUpdate' parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: labelID schema: type: string required: true description: The ID of the label to update. responses: '200': description: Success. The response body contains the updated label. content: application/json: schema: $ref: '#/components/schemas/LabelResponse' '401': $ref: '#/components/responses/AuthorizationError' '404': $ref: '#/components/responses/ResourceNotFoundError' '500': $ref: '#/components/responses/InternalServerError' default: $ref: '#/components/responses/GeneralServerError' delete: operationId: DeleteLabelsID tags: - Labels summary: Delete a label parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: labelID schema: type: string required: true description: The ID of the label to delete. responses: '204': description: Success. The delete was accepted. '401': $ref: '#/components/responses/AuthorizationError' '404': $ref: '#/components/responses/ResourceNotFoundError' '500': $ref: '#/components/responses/InternalServerError' default: $ref: '#/components/responses/GeneralServerError' '/dashboards/{dashboardID}': get: operationId: GetDashboardsID tags: - Dashboards summary: Retrieve a dashboard parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: dashboardID schema: type: string required: true description: The ID of the dashboard to update. - in: query name: include required: false schema: type: string enum: - properties description: 'If `properties`, includes the cell view properties in the response.' responses: '200': description: Retrieve a single dashboard content: application/json: schema: oneOf: - $ref: '#/components/schemas/Dashboard' - $ref: '#/components/schemas/DashboardWithViewProperties' '404': description: Dashboard not found content: application/json: schema: $ref: '#/components/schemas/Error' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' patch: operationId: PatchDashboardsID tags: - Dashboards summary: Update a dashboard requestBody: description: Patching of a dashboard required: true content: application/json: schema: type: object title: PatchDashboardRequest properties: name: description: 'optional, when provided will replace the name' type: string description: description: 'optional, when provided will replace the description' type: string cells: description: 'optional, when provided will replace all existing cells with the cells provided' $ref: '#/components/schemas/CellWithViewProperties' parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: dashboardID schema: type: string required: true description: The ID of the dashboard to update. responses: '200': description: Updated dashboard content: application/json: schema: $ref: '#/components/schemas/Dashboard' '404': description: Dashboard not found content: application/json: schema: $ref: '#/components/schemas/Error' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' delete: operationId: DeleteDashboardsID tags: - Dashboards summary: Delete a dashboard parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: dashboardID schema: type: string required: true description: The ID of the dashboard to update. responses: '204': description: Delete has been accepted '404': description: Dashboard not found content: application/json: schema: $ref: '#/components/schemas/Error' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' '/dashboards/{dashboardID}/cells': put: operationId: PutDashboardsIDCells tags: - Cells - Dashboards summary: Replace cells in a dashboard description: Replaces all cells in a dashboard. This is used primarily to update the positional information of all cells. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Cells' parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: dashboardID schema: type: string required: true description: The ID of the dashboard to update. responses: '201': description: Replaced dashboard cells content: application/json: schema: $ref: '#/components/schemas/Dashboard' '404': description: Dashboard not found content: application/json: schema: $ref: '#/components/schemas/Error' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' post: operationId: PostDashboardsIDCells tags: - Cells - Dashboards summary: Create a dashboard cell requestBody: description: Cell that will be added required: true content: application/json: schema: $ref: '#/components/schemas/CreateCell' parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: dashboardID schema: type: string required: true description: The ID of the dashboard to update. responses: '201': description: Cell successfully added content: application/json: schema: $ref: '#/components/schemas/Cell' '404': description: Dashboard not found content: application/json: schema: $ref: '#/components/schemas/Error' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' '/dashboards/{dashboardID}/cells/{cellID}': patch: operationId: PatchDashboardsIDCellsID tags: - Cells - Dashboards summary: Update the non-positional information related to a cell description: Updates the non positional information related to a cell. Updates to a single cell's positional data could cause grid conflicts. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CellUpdate' parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: dashboardID schema: type: string required: true description: The ID of the dashboard to update. - in: path name: cellID schema: type: string required: true description: The ID of the cell to update. responses: '200': description: Updated dashboard cell content: application/json: schema: $ref: '#/components/schemas/Cell' '404': description: Cell or dashboard not found content: application/json: schema: $ref: '#/components/schemas/Error' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' delete: operationId: DeleteDashboardsIDCellsID tags: - Cells - Dashboards summary: Delete a dashboard cell parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: dashboardID schema: type: string required: true description: The ID of the dashboard to delete. - in: path name: cellID schema: type: string required: true description: The ID of the cell to delete. responses: '204': description: Cell successfully deleted '404': description: Cell or dashboard not found content: application/json: schema: $ref: '#/components/schemas/Error' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' '/dashboards/{dashboardID}/cells/{cellID}/view': get: operationId: GetDashboardsIDCellsIDView tags: - Cells - Dashboards - Views summary: Retrieve the view for a cell parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: dashboardID schema: type: string required: true description: The dashboard ID. - in: path name: cellID schema: type: string required: true description: The cell ID. responses: '200': description: A dashboard cells view content: application/json: schema: $ref: '#/components/schemas/View' '404': description: Cell or dashboard not found content: application/json: schema: $ref: '#/components/schemas/Error' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' patch: operationId: PatchDashboardsIDCellsIDView tags: - Cells - Dashboards - Views summary: Update the view for a cell requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/View' parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: dashboardID schema: type: string required: true description: The ID of the dashboard to update. - in: path name: cellID schema: type: string required: true description: The ID of the cell to update. responses: '200': description: Updated cell view content: application/json: schema: $ref: '#/components/schemas/View' '404': description: Cell or dashboard not found content: application/json: schema: $ref: '#/components/schemas/Error' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' '/dashboards/{dashboardID}/labels': get: operationId: GetDashboardsIDLabels tags: - Dashboards summary: List all labels for a dashboard parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: dashboardID schema: type: string required: true description: The dashboard ID. responses: '200': description: A list of all labels for a dashboard content: application/json: schema: $ref: '#/components/schemas/LabelsResponse' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' post: operationId: PostDashboardsIDLabels tags: - Dashboards summary: Add a label to a dashboard parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: dashboardID schema: type: string required: true description: The dashboard ID. requestBody: description: Label to add required: true content: application/json: schema: $ref: '#/components/schemas/LabelMapping' responses: '201': description: The label added to the dashboard content: application/json: schema: $ref: '#/components/schemas/LabelResponse' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' '/dashboards/{dashboardID}/labels/{labelID}': delete: operationId: DeleteDashboardsIDLabelsID tags: - Dashboards summary: Delete a label from a dashboard parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: dashboardID schema: type: string required: true description: The dashboard ID. - in: path name: labelID schema: type: string required: true description: The ID of the label to delete. responses: '204': description: Delete has been accepted '404': description: Dashboard not found content: application/json: schema: $ref: '#/components/schemas/Error' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' '/dashboards/{dashboardID}/members': get: operationId: GetDashboardsIDMembers tags: - Dashboards summary: List all dashboard members parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: dashboardID schema: type: string required: true description: The dashboard ID. responses: '200': description: A list of users who have member privileges for a dashboard content: application/json: schema: $ref: '#/components/schemas/ResourceMembers' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' post: operationId: PostDashboardsIDMembers tags: - Dashboards summary: Add a member to a dashboard parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: dashboardID schema: type: string required: true description: The dashboard ID. requestBody: description: User to add as member required: true content: application/json: schema: $ref: '#/components/schemas/AddResourceMemberRequestBody' responses: '201': description: Added to dashboard members content: application/json: schema: $ref: '#/components/schemas/ResourceMember' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' '/dashboards/{dashboardID}/members/{userID}': delete: operationId: DeleteDashboardsIDMembersID tags: - Dashboards summary: Remove a member from a dashboard parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: userID schema: type: string required: true description: The ID of the member to remove. - in: path name: dashboardID schema: type: string required: true description: The dashboard ID. responses: '204': description: Member removed default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' '/dashboards/{dashboardID}/owners': get: operationId: GetDashboardsIDOwners tags: - Dashboards summary: List all dashboard owners parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: dashboardID schema: type: string required: true description: The dashboard ID. responses: '200': description: A list of users who have owner privileges for a dashboard content: application/json: schema: $ref: '#/components/schemas/ResourceOwners' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' post: operationId: PostDashboardsIDOwners tags: - Dashboards summary: Add an owner to a dashboard parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: dashboardID schema: type: string required: true description: The dashboard ID. requestBody: description: User to add as owner required: true content: application/json: schema: $ref: '#/components/schemas/AddResourceMemberRequestBody' responses: '201': description: Added to dashboard owners content: application/json: schema: $ref: '#/components/schemas/ResourceOwner' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' '/dashboards/{dashboardID}/owners/{userID}': delete: operationId: DeleteDashboardsIDOwnersID tags: - Dashboards summary: Remove an owner from a dashboard parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: userID schema: type: string required: true description: The ID of the owner to remove. - in: path name: dashboardID schema: type: string required: true description: The dashboard ID. responses: '204': description: Owner removed default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /query/ast: post: operationId: PostQueryAst tags: - Query summary: Generate a query Abstract Syntax Tree (AST) description: | Analyzes a Flux query and returns a complete package source [Abstract Syntax Tree (AST)](https://docs.influxdata.com/influxdb/v2.3/reference/glossary/#abstract-syntax-tree-ast) for the query. Use this endpoint for deep query analysis such as debugging unexpected query results. A Flux query AST provides a semantic, tree-like representation with contextual information about the query. The AST illustrates how the query is distributed into different components for execution. #### Limitations - The endpoint doesn't validate values in the query--for example: The following sample Flux query has correct syntax, but contains an incorrect `from()` property key: ```js from(foo: "iot_center") |> range(start: -90d) |> filter(fn: (r) => r._measurement == "environment") ``` The following sample JSON shows how to pass the query in the request body: ```js from(foo: "iot_center") |> range(start: -90d) |> filter(fn: (r) => r._measurement == "environment") ``` The following code sample shows how to pass the query as JSON in the request body: ```json { "query": "from(foo: \"iot_center\")\ |> range(start: -90d)\ |> filter(fn: (r) => r._measurement == \"environment\")" } ``` Passing this to `/api/v2/query/ast` will return a successful response with a generated AST. parameters: - $ref: '#/components/parameters/TraceSpan' - in: header name: Content-Type schema: type: string enum: - application/json requestBody: description: The Flux query to analyze. content: application/json: schema: $ref: '#/components/schemas/LanguageRequest' x-codeSamples: - lang: Shell label: 'cURL: Analyze and generate AST for the query' source: | curl --request POST "http://localhost:8086/api/v2/query/ast" \ --header 'Content-Type: application/json' \ --header 'Accept: application/json' \ --header "Authorization: Token INFLUX_TOKEN" \ --data-binary @- << EOL { "query": "from(bucket: \"INFLUX_BUCKET_NAME\")\ |> range(start: -5m)\ |> filter(fn: (r) => r._measurement == \"example-measurement\")" } EOL responses: '200': description: | Success. The response body contains an Abstract Syntax Tree (AST) of the Flux query. content: application/json: schema: $ref: '#/components/schemas/ASTResponse' examples: successResponse: value: ast: type: Package package: main files: - type: File location: start: line: 1 column: 1 end: line: 1 column: 109 source: 'from(bucket: "example-bucket") |> range(start: -5m) |> filter(fn: (r) => r._measurement == "example-measurement")' metadata: parser-type=rust package: null imports: null body: - type: ExpressionStatement location: start: line: 1 column: 1 end: line: 1 column: 109 source: 'from(bucket: "example-bucket") |> range(start: -5m) |> filter(fn: (r) => r._measurement == "example-measurement")' expression: type: PipeExpression location: start: line: 1 column: 1 end: line: 1 column: 109 source: 'from(bucket: "example-bucket") |> range(start: -5m) |> filter(fn: (r) => r._measurement == "example-measurement")' argument: type: PipeExpression location: start: line: 1 column: 1 end: line: 1 column: 47 source: 'from(bucket: "example-bucket") |> range(start: -5m)' argument: type: CallExpression location: start: line: 1 column: 1 end: line: 1 column: 26 source: 'from(bucket: "example-bucket")' callee: type: Identifier location: start: line: 1 column: 1 end: line: 1 column: 5 source: from name: from arguments: - type: ObjectExpression location: start: line: 1 column: 6 end: line: 1 column: 25 source: 'bucket: "example-bucket"' properties: - type: Property location: start: line: 1 column: 6 end: line: 1 column: 25 source: 'bucket: "example-bucket"' key: type: Identifier location: start: line: 1 column: 6 end: line: 1 column: 12 source: bucket name: bucket value: type: StringLiteral location: start: line: 1 column: 14 end: line: 1 column: 25 source: '"example-bucket"' value: example-bucket call: type: CallExpression location: start: line: 1 column: 30 end: line: 1 column: 47 source: 'range(start: -5m)' callee: type: Identifier location: start: line: 1 column: 30 end: line: 1 column: 35 source: range name: range arguments: - type: ObjectExpression location: start: line: 1 column: 36 end: line: 1 column: 46 source: 'start: -5m' properties: - type: Property location: start: line: 1 column: 36 end: line: 1 column: 46 source: 'start: -5m' key: type: Identifier location: start: line: 1 column: 36 end: line: 1 column: 41 source: start name: start value: type: UnaryExpression location: start: line: 1 column: 43 end: line: 1 column: 46 source: '-5m' operator: '-' argument: type: DurationLiteral location: start: line: 1 column: 44 end: line: 1 column: 46 source: 5m values: - magnitude: 5 unit: m call: type: CallExpression location: start: line: 1 column: 51 end: line: 1 column: 109 source: 'filter(fn: (r) => r._measurement == "example-measurement")' callee: type: Identifier location: start: line: 1 column: 51 end: line: 1 column: 57 source: filter name: filter arguments: - type: ObjectExpression location: start: line: 1 column: 58 end: line: 1 column: 108 source: 'fn: (r) => r._measurement == "example-measurement"' properties: - type: Property location: start: line: 1 column: 58 end: line: 1 column: 108 source: 'fn: (r) => r._measurement == "example-measurement"' key: type: Identifier location: start: line: 1 column: 58 end: line: 1 column: 60 source: fn name: fn value: type: FunctionExpression location: start: line: 1 column: 62 end: line: 1 column: 108 source: (r) => r._measurement == "example-measurement" params: - type: Property location: start: line: 1 column: 63 end: line: 1 column: 64 source: r key: type: Identifier location: start: line: 1 column: 63 end: line: 1 column: 64 source: r name: r value: null body: type: BinaryExpression location: start: line: 1 column: 69 end: line: 1 column: 108 source: r._measurement == "example-measurement" operator: '==' left: type: MemberExpression location: start: line: 1 column: 69 end: line: 1 column: 83 source: r._measurement object: type: Identifier location: start: line: 1 column: 69 end: line: 1 column: 70 source: r name: r property: type: Identifier location: start: line: 1 column: 71 end: line: 1 column: 83 source: _measurement name: _measurement right: type: StringLiteral location: start: line: 1 column: 87 end: line: 1 column: 108 source: '"example-measurement"' value: example-measurement '400': description: | Bad request. InfluxDB is unable to parse the request. The response body contains detail about the problem. headers: X-Platform-Error-Code: description: | The reason for the error. schema: type: string example: invalid content: application/json: schema: $ref: '#/components/schemas/Error' examples: invalidASTValue: summary: Invalid AST description: | If the request body contains a missing property key in `from()`, returns `invalid` and problem detail. value: code: invalid message: 'invalid AST: loc 1:6-1:19: missing property key' default: description: Internal server error. content: application/json: schema: $ref: '#/components/schemas/Error' /query/suggestions: get: operationId: GetQuerySuggestions tags: - Query summary: Retrieve Flux query suggestions description: | Retrieves a list of Flux query suggestions. Each suggestion contains a [Flux function](https://docs.influxdata.com/flux/v0.x/stdlib/all-functions/) name and parameters. Use this endpoint to retrieve a list of Flux query suggestions used in the InfluxDB Flux Query Builder. Helper function names have an underscore (`_`) prefix and aren't meant to be used directly in queries--for example: - **Recommended**: Use `top(n, columns=["_value"], tables=<-)` to sort on a column and keep the top n records instead of `_sortLimit_`. `top` uses the `_sortLimit` helper function. #### Limitations - Using `/api/v2/query/suggestions/` (note the trailing slash) with cURL will result in a HTTP `301 Moved Permanently` status code. Please use `/api/v2/query/suggestions` without a trailing slash. - When writing a query, avoid using `_functionName()` helper functions exposed by this endpoint. #### Related Guides - [List of all Flux functions](https://docs.influxdata.com/influxdb/v2.3/flux/v0.x/stdlib/all-functions/). parameters: - $ref: '#/components/parameters/TraceSpan' responses: '200': description: | Success. The response body contains a list of Flux query suggestions--function names used in the Flux Query Builder autocomplete suggestions. content: application/json: schema: $ref: '#/components/schemas/FluxSuggestions' examples: successResponse: value: funcs: - name: _fillEmpty params: createEmpty: bool tables: stream - name: _highestOrLowest params: _sortLimit: function column: invalid groupColumns: array 'n': invalid reducer: function tables: stream - name: _hourSelection params: location: object start: int stop: int tables: stream timeColumn: string - name: _sortLimit params: columns: array desc: bool 'n': int tables: stream - name: _window params: createEmpty: bool every: duration location: object offset: duration period: duration startColumn: string stopColumn: string tables: stream timeColumn: string - name: aggregateWindow params: column: invalid createEmpty: bool every: duration fn: function location: object offset: duration period: duration tables: stream timeDst: string timeSrc: string - name: bool params: v: invalid - name: bottom params: columns: array 'n': int tables: stream - name: buckets params: host: string org: string orgID: string token: string - name: bytes params: v: invalid - name: cardinality params: bucket: string bucketID: string host: string org: string orgID: string predicate: function start: invalid stop: invalid token: string - name: chandeMomentumOscillator params: columns: array 'n': int tables: stream - name: columns params: column: string tables: stream - name: contains params: set: array value: invalid - name: count params: column: string tables: stream - name: cov params: 'on': array pearsonr: bool x: invalid 'y': invalid - name: covariance params: columns: array pearsonr: bool tables: stream valueDst: string - name: cumulativeSum params: columns: array tables: stream - name: derivative params: columns: array initialZero: bool nonNegative: bool tables: stream timeColumn: string unit: duration - name: die params: msg: string - name: difference params: columns: array initialZero: bool keepFirst: bool nonNegative: bool tables: stream - name: display params: v: invalid - name: distinct params: column: string tables: stream - name: doubleEMA params: 'n': int tables: stream - name: drop params: columns: array fn: function tables: stream - name: duplicate params: as: string column: string tables: stream - name: duration params: v: invalid - name: elapsed params: columnName: string tables: stream timeColumn: string unit: duration - name: exponentialMovingAverage params: 'n': int tables: stream - name: fill params: column: string tables: stream usePrevious: bool value: invalid - name: filter params: fn: function onEmpty: string tables: stream - name: findColumn params: column: string fn: function tables: stream - name: findRecord params: fn: function idx: int tables: stream - name: first params: column: string tables: stream - name: float params: v: invalid - name: from params: bucket: string bucketID: string host: string org: string orgID: string token: string - name: getColumn params: column: string - name: getRecord params: idx: int - name: group params: columns: array mode: string tables: stream - name: highestAverage params: column: string groupColumns: array 'n': int tables: stream - name: highestCurrent params: column: string groupColumns: array 'n': int tables: stream - name: highestMax params: column: string groupColumns: array 'n': int tables: stream - name: histogram params: bins: array column: string countColumn: string normalize: bool tables: stream upperBoundColumn: string - name: histogramQuantile params: countColumn: string minValue: float quantile: float tables: stream upperBoundColumn: string valueColumn: string - name: holtWinters params: column: string interval: duration 'n': int seasonality: int tables: stream timeColumn: string withFit: bool - name: hourSelection params: location: object start: int stop: int tables: stream timeColumn: string - name: increase params: columns: array tables: stream - name: int params: v: invalid - name: integral params: column: string interpolate: string tables: stream timeColumn: string unit: duration - name: join params: method: string 'on': array tables: invalid - name: kaufmansAMA params: column: string 'n': int tables: stream - name: kaufmansER params: 'n': int tables: stream - name: keep params: columns: array fn: function tables: stream - name: keyValues params: keyColumns: array tables: stream - name: keys params: column: string tables: stream - name: last params: column: string tables: stream - name: length params: arr: array - name: limit params: 'n': int offset: int tables: stream - name: linearBins params: count: int infinity: bool start: float width: float - name: logarithmicBins params: count: int factor: float infinity: bool start: float - name: lowestAverage params: column: string groupColumns: array 'n': int tables: stream - name: lowestCurrent params: column: string groupColumns: array 'n': int tables: stream - name: lowestMin params: column: string groupColumns: array 'n': int tables: stream - name: map params: fn: function mergeKey: bool tables: stream - name: max params: column: string tables: stream - name: mean params: column: string tables: stream - name: median params: column: string compression: float method: string tables: stream - name: min params: column: string tables: stream - name: mode params: column: string tables: stream - name: movingAverage params: 'n': int tables: stream - name: now params: {} - name: pearsonr params: 'on': array x: invalid 'y': invalid - name: pivot params: columnKey: array rowKey: array tables: stream valueColumn: string - name: quantile params: column: string compression: float method: string q: float tables: stream - name: range params: start: invalid stop: invalid tables: stream - name: reduce params: fn: function identity: invalid tables: stream - name: relativeStrengthIndex params: columns: array 'n': int tables: stream - name: rename params: columns: invalid fn: function tables: stream - name: sample params: column: string 'n': int pos: int tables: stream - name: set params: key: string tables: stream value: string - name: skew params: column: string tables: stream - name: sort params: columns: array desc: bool tables: stream - name: spread params: column: string tables: stream - name: stateCount params: column: string fn: function tables: stream - name: stateDuration params: column: string fn: function tables: stream timeColumn: string unit: duration - name: stateTracking params: countColumn: string durationColumn: string durationUnit: duration fn: function tables: stream timeColumn: string - name: stddev params: column: string mode: string tables: stream - name: string params: v: invalid - name: sum params: column: string tables: stream - name: tableFind params: fn: function tables: stream - name: tail params: 'n': int offset: int tables: stream - name: time params: v: invalid - name: timeShift params: columns: array duration: duration tables: stream - name: timeWeightedAvg params: tables: stream unit: duration - name: timedMovingAverage params: column: string every: duration period: duration tables: stream - name: to params: bucket: string bucketID: string fieldFn: function host: string measurementColumn: string org: string orgID: string tables: stream tagColumns: array timeColumn: string token: string - name: toBool params: tables: stream - name: toFloat params: tables: stream - name: toInt params: tables: stream - name: toString params: tables: stream - name: toTime params: tables: stream - name: toUInt params: tables: stream - name: today params: {} - name: top params: columns: array 'n': int tables: stream - name: tripleEMA params: 'n': int tables: stream - name: tripleExponentialDerivative params: 'n': int tables: stream - name: truncateTimeColumn params: tables: stream timeColumn: invalid unit: duration - name: uint params: v: invalid - name: union params: tables: array - name: unique params: column: string tables: stream - name: wideTo params: bucket: string bucketID: string host: string org: string orgID: string tables: stream token: string - name: window params: createEmpty: bool every: duration location: object offset: duration period: duration startColumn: string stopColumn: string tables: stream timeColumn: string - name: yield params: name: string tables: stream '301': description: | Moved Permanently. InfluxData has moved the URL of the endpoint. Use `/api/v2/query/suggestions`. content: text/html: schema: properties: body: readOnly: true description: Response message with URL of requested resource. type: string examples: movedPermanently: summary: Invalid URL description: | The URL has been permanently moved. Use `/api/v2/query/suggestions`. value: | Moved Permanently default: description: Internal server error. content: application/json: schema: $ref: '#/components/schemas/Error' x-codeSamples: - lang: Shell label: cURL source: | curl --request GET "https://cloud2.influxdata.com/api/v2/query/suggestions" \ --header "Accept: application/json" \ --header "Authorization: Token INFLUX_API_TOKEN" '/query/suggestions/{name}': get: operationId: GetQuerySuggestionsName tags: - Query summary: Retrieve a query suggestion for a branching suggestion description: | Retrieves a query suggestion that contains the name and parameters of the requested function. Use this endpoint to pass a branching suggestion (a Flux function name) and retrieve the parameters of the requested function. #### Limitations - Use `/api/v2/query/suggestions/{name}` (without a trailing slash). `/api/v2/query/suggestions/{name}/` (note the trailing slash) results in a HTTP `301 Moved Permanently` status. - The function `name` must exist and must be spelled correctly. #### Related Guides - [List of all Flux functions](https://docs.influxdata.com/influxdb/v2.3/flux/v0.x/stdlib/all-functions/). parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: name schema: type: string required: true description: | A Flux Function name. Only returns functions with this name. responses: '200': description: | Success. The response body contains the function name and parameters. content: application/json: schema: $ref: '#/components/schemas/FluxSuggestion' examples: successResponse: value: name: sum params: column: string tables: stream '500': description: | Internal server error. The value passed for _`name`_ may have been misspelled. content: application/json: schema: $ref: '#/components/schemas/Error' examples: internalError: summary: Invalid function description: | The requested function doesn't exist. value: code: internal error message: An internal error has occurred x-codeSamples: - lang: Shell label: cURL source: | curl --request GET "https://cloud2.influxdata.com/api/v2/query/suggestions/sum/" \ --header "Accept: application/json" \ --header "Authorization: Token INFLUX_API_TOKEN" /query/analyze: post: operationId: PostQueryAnalyze tags: - Query summary: Analyze a Flux query description: | Analyzes a [Flux query](https://docs.influxdata.com/flux/v0.x/) for syntax errors and returns the list of errors. In the following sample query, `from()` is missing the property key. ```json { "query": "from(: \"iot_center\")\ |> range(start: -90d)\ |> filter(fn: (r) => r._measurement == \"environment\")", "type": "flux" } ``` If you pass this in a request to the `/api/v2/analyze` endpoint, InfluxDB returns an `errors` list that contains an error object for the missing key. #### Limitations - The endpoint doesn't validate values in the query--for example: - The following sample query has correct syntax, but contains an incorrect `from()` property key: ```json { "query": "from(foo: \"iot_center\")\ |> range(start: -90d)\ |> filter(fn: (r) => r._measurement == \"environment\")", "type": "flux" } ``` If you pass this in a request to the `/api/v2/analyze` endpoint, InfluxDB returns an empty `errors` list. parameters: - $ref: '#/components/parameters/TraceSpan' - in: header name: Content-Type schema: type: string enum: - application/json requestBody: description: Flux query to analyze content: application/json: schema: $ref: '#/components/schemas/Query' responses: '200': description: | Success. The response body contains the list of `errors`. If the query syntax is valid, the endpoint returns an empty `errors` list. content: application/json: schema: $ref: '#/components/schemas/AnalyzeQueryResponse' examples: missingQueryPropertyKey: summary: Missing property key error description: | Returns an error object if the Flux query is missing a property key. The following sample query is missing the _`bucket`_ property key: ```json { "query": "from(: \"iot_center\")\ ... } ``` value: errors: - line: 1 column: 6 character: 0 message: missing property key '400': description: | Bad request. InfluxDB is unable to parse the request. The response body contains detail about the problem. headers: X-Platform-Error-Code: description: | The reason for the error. schema: type: string example: invalid content: application/json: schema: $ref: '#/components/schemas/Error' examples: invalidJSONStringValue: summary: Invalid JSON description: 'If the request body contains invalid JSON, returns `invalid` and problem detail.' value: code: invalid message: 'invalid json: invalid character ''\'''' looking for beginning of value' default: description: Internal server error headers: X-Platform-Error-Code: description: The reason for the error. schema: type: string example: internal error X-Influx-Error: description: A string that describes the problem. schema: type: string X-Influx-Reference: description: The numeric reference code for the error type. schema: type: integer content: application/json: schema: $ref: '#/components/schemas/Error' examples: emptyJSONObject: summary: Empty JSON object in request body description: | If the request body contains an empty JSON object, returns `internal error`. value: code: internal error message: An internal error has occurred - check server logs x-codeSamples: - lang: Shell label: 'cURL: Analyze a Flux query' source: | curl -v --request POST \ "http://localhost:8086/api/v2/query/analyze" \ --header "Authorization: Token INFLUX_API_TOKEN" \ --header 'Content-type: application/json' \ --header 'Accept: application/json' \ --data-binary @- << EOF { "query": "from(bucket: \"iot_center\")\ |> range(start: -90d)\ |> filter(fn: (r) => r._measurement == \"environment\")", "type": "flux" } EOF /query: post: operationId: PostQuery tags: - Data I/O endpoints - Query summary: Query data description: | Retrieves data from buckets. Use this endpoint to send a Flux query request and retrieve data from a bucket. #### Rate limits (with InfluxDB Cloud) `read` rate limits apply. For more information, see [limits and adjustable quotas](https://docs.influxdata.com/influxdb/cloud/account-management/limits/). #### Related guides - [Query with the InfluxDB API](https://docs.influxdata.com/influxdb/v2.3/query-data/execute-queries/influx-api/). - [Get started with Flux](https://docs.influxdata.com/flux/v0.x/get-started/) parameters: - $ref: '#/components/parameters/TraceSpan' - in: header name: Accept-Encoding description: The content encoding (usually a compression algorithm) that the client can understand. schema: type: string description: 'The content coding. Use `gzip` for compressed data or `identity` for unmodified, uncompressed data.' default: identity enum: - gzip - identity - in: header name: Content-Type schema: type: string enum: - application/json - application/vnd.flux - in: query name: org description: | The name or ID of the organization executing the query. #### InfluxDB Cloud - Doesn't use `org` or `orgID`. - Queries the bucket in the organization associated with the authorization (API token). #### InfluxDB OSS - Requires either `org` or `orgID`. schema: type: string - in: query name: orgID description: | The ID of the organization executing the query. #### InfluxDB Cloud - Doesn't use `org` or `orgID`. - Queries the bucket in the organization associated with the authorization (API token). #### InfluxDB OSS - Requires either `org` or `orgID`. schema: type: string x-codeSamples: - lang: Shell label: cURL source: | curl --request POST 'INFLUX_URL/api/v2/query?org=INFLUX_ORG' \ --header 'Content-Type: application/vnd.flux' \ --header 'Accept: application/csv \ --header 'Authorization: Token INFLUX_API_TOKEN' \ --data 'from(bucket: "example-bucket") |> range(start: -5m) |> filter(fn: (r) => r._measurement == "example-measurement")' requestBody: description: Flux query or specification to execute content: application/json: schema: $ref: '#/components/schemas/Query' application/vnd.flux: schema: type: string example: | from(bucket: "example-bucket") |> range(start: -5m) |> filter(fn: (r) => r._measurement == "example-measurement") responses: '200': description: Success. The response body contains query results. headers: Content-Encoding: description: Lists encodings (usually compression algorithms) that have been applied to the response payload. schema: type: string description: | The content coding: `gzip` for compressed data or `identity` for unmodified, uncompressed data. default: identity enum: - gzip - identity Trace-Id: description: 'The trace ID, if generated, of the request.' schema: type: string description: Trace ID of a request. content: application/csv: schema: type: string example: | result,table,_start,_stop,_time,region,host,_value mean,0,2018-05-08T20:50:00Z,2018-05-08T20:51:00Z,2018-05-08T20:50:00Z,east,A,15.43 mean,0,2018-05-08T20:50:00Z,2018-05-08T20:51:00Z,2018-05-08T20:50:20Z,east,B,59.25 mean,0,2018-05-08T20:50:00Z,2018-05-08T20:51:00Z,2018-05-08T20:50:40Z,east,C,52.62 '400': description: | Bad request. The response body contains detail about the error. #### InfluxDB OSS - Returns this error if `org` or `orgID` doesn't match an organization. content: application/json: schema: $ref: '#/components/schemas/Error' examples: orgNotFound: summary: Organization not found value: code: invalid message: 'failed to decode request body: organization not found' '401': $ref: '#/components/responses/AuthorizationError' '404': $ref: '#/components/responses/ResourceNotFoundError' '429': description: | #### InfluxDB Cloud: - returns this error if a **read** or **write** request exceeds your plan's [adjustable service quotas](https://docs.influxdata.com/influxdb/v2.3/account-management/limits/#adjustable-service-quotas) or if a **delete** request exceeds the maximum [global limit](https://docs.influxdata.com/influxdb/v2.3/account-management/limits/#global-limits) - returns `Retry-After` header that describes when to try the write again. #### InfluxDB OSS: - doesn't return this error. headers: Retry-After: description: Non-negative decimal integer indicating seconds to wait before retrying the request. schema: type: integer format: int32 '500': $ref: '#/components/responses/InternalServerError' default: $ref: '#/components/responses/GeneralServerError' /buckets: get: operationId: GetBuckets tags: - Buckets summary: List buckets description: | Retrieves a list of [buckets](https://docs.influxdata.com/influxdb/v2.3/reference/glossary/#bucket). To limit which buckets are returned, pass query parameters in your request. If no query parameters are passed, InfluxDB returns all buckets up to the default `limit`. #### Limitations - Paging with an `offset` greater than the number of records will result in an empty list of buckets--for example: The following request is paging to the 50th record, but the user only has 10 buckets. ```sh $ curl --request GET "INFLUX_URL/api/v2/scripts?limit=1&offset=50" $ { "links": { "prev": "/api/v2/buckets?descending=false\u0026limit=1\u0026offset=49\u0026orgID=ORG_ID", "self": "/api/v2/buckets?descending=false\u0026limit=1\u0026offset=50\u0026orgID=ORG_ID" }, "buckets": [] } ``` #### Related Guides - [Manage buckets](https://docs.influxdata.com/influxdb/v2.3/organizations/buckets/) parameters: - $ref: '#/components/parameters/TraceSpan' - $ref: '#/components/parameters/Offset' - $ref: '#/components/parameters/Limit' - $ref: '#/components/parameters/After' - in: query name: org description: | Organization name. The name of the organization. #### InfluxDB Cloud - Doesn't use `org` or `orgID`. - Creates a bucket in the organization associated with the authorization (API token). #### InfluxDB OSS - Accepts either `org` or `orgID`. - InfluxDB creates the bucket within this organization. schema: type: string - in: query name: orgID description: | Organization ID. The organization ID. #### InfluxDB Cloud - Doesn't use `org` or `orgID`. - Creates a bucket in the organization associated with the authorization (API token). #### InfluxDB OSS - Accepts either `org` or `orgID`. - InfluxDB creates the bucket within this organization. schema: type: string - in: query name: name description: | Bucket name. Only returns buckets with this specific name. schema: type: string - in: query name: id description: | Bucket ID. Only returns the bucket with this ID. schema: type: string responses: '200': description: | Success. The response body contains a list of buckets. content: application/json: schema: $ref: '#/components/schemas/Buckets' examples: successResponse: value: links: self: /api/v2/buckets?descending=false&limit=20&name=_monitoring&offset=0&orgID=ORG_ID buckets: - id: 77ca9dace40a9bfc orgID: INFLUX_ORG_ID type: system schemaType: implicit description: System bucket for monitoring logs name: _monitoring retentionRules: - type: expire everySeconds: 604800 createdAt: '2022-03-15T17:22:33.72617939Z' updatedAt: '2022-03-15T17:22:33.726179487Z' links: labels: /api/v2/buckets/77ca9dace40a9bfc/labels members: /api/v2/buckets/77ca9dace40a9bfc/members org: /api/v2/orgs/INFLUX_ORG_ID owners: /api/v2/buckets/77ca9dace40a9bfc/owners self: /api/v2/buckets/77ca9dace40a9bfc write: /api/v2/write?org=ORG_ID&bucket=77ca9dace40a9bfc labels: [] '401': $ref: '#/components/responses/AuthorizationError' '500': $ref: '#/components/responses/InternalServerError' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' x-codeSamples: - lang: Shell label: cURL source: | curl --request GET "http://localhost:8086/api/v2/buckets?name=_monitoring" \ --header "Authorization: Token INFLUX_TOKEN" \ --header "Accept: application/json" \ --header "Content-Type: application/json" post: operationId: PostBuckets tags: - Buckets summary: Create a bucket description: | Creates a [bucket](https://docs.influxdata.com/influxdb/v2.3/reference/glossary/#bucket) and returns the created bucket along with metadata. The default data [retention period](https://docs.influxdata.com/influxdb/v2.3/reference/glossary/#retention-period) is 30 days. #### InfluxDB OSS - A single InfluxDB OSS instance supports active writes or queries for approximately 20 buckets across all organizations at a given time. Reading or writing to more than 20 buckets at a time can adversely affect performance. #### Limitations - InfluxDB Cloud Free Plan allows users to create up to two buckets. Exceeding the bucket quota will result in an HTTP `403` status code. For additional information regarding InfluxDB Cloud offerings, see [InfluxDB Cloud Pricing](https://www.influxdata.com/influxdb-cloud-pricing/). #### Related Guides - [Create bucket](https://docs.influxdata.com/influxdb/v2.3/organizations/buckets/create-bucket/) - [Create bucket CLI reference](https://docs.influxdata.com/influxdb/v2.3/reference/cli/influx/bucket/create) parameters: - $ref: '#/components/parameters/TraceSpan' requestBody: description: Bucket to create required: true content: application/json: schema: $ref: '#/components/schemas/PostBucketRequest' responses: '201': description: | Success. The bucket was created. content: application/json: schema: $ref: '#/components/schemas/Bucket' examples: successResponse: value: id: 37407e232b3911d8 orgID: INFLUX_ORG_ID type: user schemaType: implicit description: bucket holding air sensor data name: air_sensor retentionRules: - type: expire everySeconds: 2592000 createdAt: '2022-08-03T23:04:41.073704121Z' updatedAt: '2022-08-03T23:04:41.073704228Z' links: labels: /api/v2/buckets/37407e232b3911d8/labels members: /api/v2/buckets/37407e232b3911d8/members org: /api/v2/orgs/INFLUX_ORG_ID owners: /api/v2/buckets/37407e232b3911d8/owners self: /api/v2/buckets/37407e232b3911d8 write: /api/v2/write?org=INFLUX_ORG_ID&bucket=37407e232b3911d8 labels: [] '400': description: | Bad request. content: application/json: schema: $ref: '#/components/schemas/Error' '401': $ref: '#/components/responses/AuthorizationError' '403': description: | Forbidden. The bucket quota is exceeded. headers: X-Platform-Error-Code: description: | The reason for the error. schema: type: string example: forbidden content: application/json: schema: $ref: '#/components/schemas/Error' examples: quotaExceeded: summary: Bucket quota exceeded value: code: forbidden message: creating bucket would exceed quota '422': description: | Unprocessable Entity. The request body failed validation. content: application/json: schema: $ref: '#/components/schemas/Error' '500': $ref: '#/components/responses/InternalServerError' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' x-codeSamples: - lang: Shell label: cURL source: | curl --request POST "http://localhost:8086/api/v2/buckets \ --header "Authorization: Token INFLUX_TOKEN" \ --header "Accept: application/json" \ --header "Content-Type: application/json" \ --data '{ "name": "air_sensor", "description": "bucket holding air sensor data", "orgID": "INFLUX_ORG_ID", "retentionRules": [ { "type": "expire", "everySeconds": 2592000, } ] }' '/buckets/{bucketID}': get: operationId: GetBucketsID tags: - Buckets summary: Retrieve a bucket description: | Retrieves a bucket. Use this endpoint to retrieve information for a specific bucket. parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: bucketID schema: type: string required: true description: | The ID of the bucket to retrieve. responses: '200': description: | Success. The response body contains the bucket information. content: application/json: schema: $ref: '#/components/schemas/Bucket' examples: successResponse: value: id: 37407e232b3911d8 orgID: bea7ea952287f70d type: user schemaType: implicit description: bucket for air sensor data name: air-sensor retentionRules: - type: expire everySeconds: 2592000 createdAt: '2022-08-03T23:04:41.073704121Z' updatedAt: '2022-08-03T23:04:41.073704228Z' links: labels: /api/v2/buckets/37407e232b3911d8/labels members: /api/v2/buckets/37407e232b3911d8/members org: /api/v2/orgs/INFLUX_ORG_ID owners: /api/v2/buckets/37407e232b3911d8/owners self: /api/v2/buckets/37407e232b3911d8 write: /api/v2/write?org=INFLUX_ORG_ID&bucket=37407e232b3911d8 labels: [] '401': $ref: '#/components/responses/AuthorizationError' '404': description: | Not found. Bucket not found. content: application/json: schema: $ref: '#/components/schemas/Error' examples: notFound: summary: | The requested bucket wasn't found. value: code: not found message: bucket not found '500': $ref: '#/components/responses/InternalServerError' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' patch: operationId: PatchBucketsID tags: - Buckets summary: Update a bucket description: | Updates a bucket. Use this endpoint to update properties (`name`, `description`, and `retentionRules`) of a bucket. #### InfluxDB Cloud - Requires the `retentionRules` property in the request body. If you don't provide `retentionRules`, InfluxDB responds with an HTTP `403` status code. #### InfluxDB OSS - Doesn't require `retentionRules`. #### Related Guides - [Update a bucket](https://docs.influxdata.com/influxdb/v2.3/organizations/buckets/update-bucket/) requestBody: description: The bucket update to apply. required: true content: application/json: schema: $ref: '#/components/schemas/PatchBucketRequest' parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: bucketID schema: type: string required: true description: The bucket ID. responses: '200': description: An updated bucket content: application/json: schema: $ref: '#/components/schemas/Bucket' examples: successResponse: value: id: 37407e232b3911d8 orgID: INFLUX_ORG_ID type: user schemaType: implicit description: bucket holding air sensor data name: air_sensor retentionRules: - type: expire everySeconds: 2592000 createdAt: '2022-08-03T23:04:41.073704121Z' updatedAt: '2022-08-07T22:49:49.422962913Z' links: labels: /api/v2/buckets/37407e232b3911d8/labels members: /api/v2/buckets/37407e232b3911d8/members org: /api/v2/orgs/INFLUX_ORG_ID owners: /api/v2/buckets/37407e232b3911d8/owners self: /api/v2/buckets/37407e232b3911d8 write: /api/v2/write?org=INFLUX_ORG_ID&bucket=37407e232b3911d8 labels: [] '400': description: | Bad Request. content: application/json: schema: $ref: '#/components/schemas/Error' examples: invalidJSONStringValue: summary: Invalid JSON description: | If the request body contains invalid JSON, InfluxDB returns `invalid` with detail about the problem. value: code: invalid message: 'invalid json: invalid character ''\'''' looking for beginning of value' '401': $ref: '#/components/responses/AuthorizationError' '403': description: | Forbidden. content: application/json: schema: $ref: '#/components/schemas/Error' examples: invalidRetention: summary: | The retention policy provided exceeds the max retention for the organization. value: code: forbidden message: provided retention exceeds orgs maximum retention duration '404': description: | Not found. Bucket not found. content: application/json: schema: $ref: '#/components/schemas/Error' examples: notFound: summary: | The requested bucket wasn't found. value: code: not found message: bucket not found '500': $ref: '#/components/responses/InternalServerError' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' x-codeSamples: - lang: Shell label: cURL source: | curl --request PATCH "http://localhost:8086/api/v2/buckets/BUCKET_ID \ --header "Authorization: Token INFLUX_TOKEN" \ --header "Accept: application/json" \ --header "Content-Type: application/json" \ --data '{ "name": "air_sensor", "description": "bucket holding air sensor data", "retentionRules": [ { "type": "expire", "everySeconds": 2592000 } ] }' delete: operationId: DeleteBucketsID tags: - Buckets summary: Delete a bucket description: | Deletes a bucket and all associated records. #### InfluxDB Cloud - Does the following when you send a delete request: 1. Validates the request and queues the delete. 2. Returns an HTTP `204` status code if queued; _error_ otherwise. 3. Handles the delete asynchronously. #### InfluxDB OSS - Validates the request, handles the delete synchronously, and then responds with success or failure. #### Limitations - Only one bucket can be deleted per request. #### Related Guides - [Delete a bucket](https://docs.influxdata.com/influxdb/v2.3/organizations/buckets/delete-bucket/#delete-a-bucket-in-the-influxdb-ui) parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: bucketID schema: type: string required: true description: | Bucket ID. The ID of the bucket to delete. responses: '204': description: | Success. #### InfluxDB Cloud - The bucket is queued for deletion. #### InfluxDB OSS - The bucket is deleted. '400': description: | Bad Request. content: application/json: schema: $ref: '#/components/schemas/Error' examples: invalidID: summary: | Invalid ID. value: code: invalid message: id must have a length of 16 bytes '401': $ref: '#/components/responses/AuthorizationError' '404': description: | Not found. Bucket not found. content: application/json: schema: $ref: '#/components/schemas/Error' examples: notFound: summary: | The requested bucket was not found. value: code: not found message: bucket not found '500': $ref: '#/components/responses/InternalServerError' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' x-codeSamples: - lang: Shell label: cURL source: | curl --request DELETE "http://localhost:8086/api/v2/buckets/BUCKET_ID" \ --header "Authorization: Token INFLUX_TOKEN" \ --header 'Accept: application/json' '/buckets/{bucketID}/labels': get: operationId: GetBucketsIDLabels tags: - Buckets summary: List all labels for a bucket description: | Retrieves a list of all labels for a bucket. Labels are objects that contain `labelID`, `name`, `description`, and `color` key-value pairs. They may be used for grouping and filtering InfluxDB resources. Labels are also capable of grouping across different resources--for example, you can apply a label named `air_sensor` to a bucket and a task to quickly organize resources. #### Related guides - Use the [`/api/v2/labels` InfluxDB API endpoint](#tag/Labels) to retrieve and manage labels. - [Manage labels in the InfluxDB UI](https://docs.influxdata.com/influxdb/v2.3/visualize-data/labels/) parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: bucketID schema: type: string required: true description: | The ID of the bucket to retrieve labels for. responses: '200': description: | Success. The response body contains a list of all labels for the bucket. content: application/json: schema: $ref: '#/components/schemas/LabelsResponse' examples: successResponse: value: links: self: /api/v2/labels labels: - id: 09cbd068e7ebb000 orgID: INFLUX_ORG_ID name: production_buckets '400': $ref: '#/components/responses/BadRequestError' '401': $ref: '#/components/responses/AuthorizationError' '404': $ref: '#/components/responses/ResourceNotFoundError' '500': $ref: '#/components/responses/InternalServerError' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' post: operationId: PostBucketsIDLabels tags: - Buckets summary: Add a label to a bucket description: | Adds a label to a bucket and returns the new label information. Labels are objects that contain `labelID`, `name`, `description`, and `color` key-value pairs. They may be used for grouping and filtering across one or more kinds of **resources**--for example, you can apply a label named `air_sensor` to a bucket and a task to quickly organize resources. #### Limitations - Before adding a label to a bucket, you must create the label if you haven't already. To create a label with the InfluxDB API, send a `POST` request to the [`/api/v2/labels` endpoint](#operation/PostLabels)). #### Related guides - Use the [`/api/v2/labels` InfluxDB API endpoint](#tag/Labels) to retrieve and manage labels. - [Manage labels in the InfluxDB UI](https://docs.influxdata.com/influxdb/v2.3/visualize-data/labels/) parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: bucketID schema: type: string required: true description: | Bucket ID. The ID of the bucket to label. requestBody: description: An object that contains a _`labelID`_ to add to the bucket. required: true content: application/json: schema: $ref: '#/components/schemas/LabelMapping' responses: '201': description: | Success. The response body contains the label information. content: application/json: schema: $ref: '#/components/schemas/LabelResponse' examples: successResponse: value: links: self: /api/v2/labels label: id: 09cbd068e7ebb000 orgID: INFLUX_ORG_ID name: production_buckets '400': $ref: '#/components/responses/BadRequestError' examples: invalidRequest: summary: The `labelID` is missing from the request body. value: code: invalid message: label id is required '401': $ref: '#/components/responses/AuthorizationError' '404': $ref: '#/components/responses/ResourceNotFoundError' '422': description: | Unprocessable entity. Label already exists on the resource. content: application/json: schema: $ref: '#/components/schemas/Error' examples: conflictingResource: summary: | Label already exists on the resource. value: code: conflict message: 'Cannot add label, label already exists on resource' '500': $ref: '#/components/responses/InternalServerError' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' x-codeSamples: - lang: Shell label: cURL source: | curl --request POST "http://localhost:8086/api/v2/buckets/BUCKETS_ID/labels \ --header "Authorization: Token INFLUX_TOKEN" \ --header "Accept: application/json" \ --header "Content-Type: application/json" \ --data '{ "labelID": "09cbd068e7ebb000" }' '/buckets/{bucketID}/labels/{labelID}': delete: operationId: DeleteBucketsIDLabelsID tags: - Buckets summary: Delete a label from a bucket parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: bucketID schema: type: string required: true description: The bucket ID. - in: path name: labelID schema: type: string required: true description: The ID of the label to delete. responses: '204': description: Delete has been accepted '404': description: Bucket not found content: application/json: schema: $ref: '#/components/schemas/Error' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' '/buckets/{bucketID}/members': get: operationId: GetBucketsIDMembers tags: - Buckets summary: List all users with member privileges for a bucket description: | Retrieves a list of all users for a bucket. InfluxDB [users](https://docs.influxdata.com/influxdb/v2.3/reference/glossary/#user) have permission to access InfluxDB. [Members](https://docs.influxdata.com/influxdb/v2.3/reference/glossary/#member) are users in an organization with access to the specified resource. Use this endpoint to retrieve all users with access to a bucket. #### Related guides - [Manage users](https://docs.influxdata.com/influxdb/v2.3/users/) - [Manage members](https://docs.influxdata.com/influxdb/v2.3/organizations/members/) parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: bucketID schema: type: string required: true description: | The ID of the bucket to retrieve users for. responses: '200': description: | Success. The response body contains a list of all users for the bucket. content: application/json: schema: $ref: '#/components/schemas/ResourceMembers' examples: successResponse: value: links: self: /api/v2/buckets/37407e232b3911d8/members users: - role: member links: self: /api/v2/users/791df274afd48a83 id: 791df274afd48a83 name: example_user_1 status: active - role: owner links: self: /api/v2/users/09cfb87051cbe000 id: 09cfb87051cbe000 name: example_user_2 status: active '400': $ref: '#/components/responses/BadRequestError' '401': $ref: '#/components/responses/AuthorizationError' '404': $ref: '#/components/responses/ResourceNotFoundError' '500': $ref: '#/components/responses/InternalServerError' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' post: operationId: PostBucketsIDMembers tags: - Buckets summary: Add a member to a bucket description: | Add a user to a bucket and return the new user information. InfluxDB [users](https://docs.influxdata.com/influxdb/v2.3/reference/glossary/#user) have permission to access InfluxDB. [Members](https://docs.influxdata.com/influxdb/v2.3/reference/glossary/#member) are users in an organization. Use this endpoint to give a user member privileges to a bucket. #### Related guides - [Manage users](https://docs.influxdata.com/influxdb/v2.3/users/) - [Manage members](https://docs.influxdata.com/influxdb/v2.3/organizations/members/) parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: bucketID schema: type: string required: true description: | The ID of the bucket to retrieve users for. requestBody: description: A user to add as a member to the bucket. required: true content: application/json: schema: $ref: '#/components/schemas/AddResourceMemberRequestBody' responses: '201': description: | Success. The response body contains the user information. content: application/json: schema: $ref: '#/components/schemas/ResourceMember' examples: successResponse: value: role: member links: self: /api/v2/users/09cfb87051cbe000 id: 09cfb87051cbe000 name: example_user_1 status: active '400': $ref: '#/components/responses/BadRequestError' examples: invalidRequest: summary: The `userID` is missing from the request body. value: code: invalid message: user id missing or invalid '401': $ref: '#/components/responses/AuthorizationError' '404': $ref: '#/components/responses/ResourceNotFoundError' '500': $ref: '#/components/responses/InternalServerError' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' x-codeSamples: - lang: Shell label: cURL source: | curl --request POST "http://localhost:8086/api/v2/buckets/BUCKET_ID/members \ --header "Authorization: Token INFLUX_TOKEN" \ --header "Accept: application/json" \ --header "Content-Type: application/json" \ --data '{ "id": "09cfb87051cbe000" } '/buckets/{bucketID}/members/{userID}': delete: operationId: DeleteBucketsIDMembersID tags: - Buckets summary: Remove a member from a bucket description: | Removes a member from a bucket. Use this endpoint to remove a user's member privileges from a bucket. This removes the user's `read` and `write` permissions for the bucket. #### Related guides - [Manage users](https://docs.influxdata.com/influxdb/v2.3/users/) - [Manage members](https://docs.influxdata.com/influxdb/v2.3/organizations/members/) parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: userID schema: type: string required: true description: | The ID of the user to remove. - in: path name: bucketID schema: type: string required: true description: | The ID of the bucket to remove a user from. responses: '204': description: | Success. The user is no longer a member of the bucket. '401': $ref: '#/components/responses/AuthorizationError' '404': $ref: '#/components/responses/ResourceNotFoundError' '500': $ref: '#/components/responses/InternalServerError' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' '/buckets/{bucketID}/owners': get: operationId: GetBucketsIDOwners tags: - Buckets summary: List all owners of a bucket parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: bucketID schema: type: string required: true description: The bucket ID. responses: '200': description: A list of bucket owners content: application/json: schema: $ref: '#/components/schemas/ResourceOwners' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' post: operationId: PostBucketsIDOwners tags: - Buckets summary: Add an owner to a bucket parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: bucketID schema: type: string required: true description: The bucket ID. requestBody: description: User to add as owner required: true content: application/json: schema: $ref: '#/components/schemas/AddResourceMemberRequestBody' responses: '201': description: Success. The user is an owner of the bucket content: application/json: schema: $ref: '#/components/schemas/ResourceOwner' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' '/buckets/{bucketID}/owners/{userID}': delete: operationId: DeleteBucketsIDOwnersID tags: - Buckets summary: Remove an owner from a bucket parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: userID schema: type: string required: true description: The ID of the owner to remove. - in: path name: bucketID schema: type: string required: true description: The bucket ID. responses: '204': description: Owner removed default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /orgs: get: operationId: GetOrgs tags: - Organizations - Security and access endpoints summary: List organizations description: | Retrieves a list of [organizations](https://docs.influxdata.com/influxdb/v2.3/reference/glossary/#organization/). To limit which organizations are returned, pass query parameters in your request. If no query parameters are passed, InfluxDB returns all organizations up to the default `limit`. #### InfluxDB Cloud - Only returns the organization that owns the token passed in the request. #### Related guides - [View organizations](https://docs.influxdata.com/influxdb/v2.3/organizations/view-orgs/). parameters: - $ref: '#/components/parameters/TraceSpan' - $ref: '#/components/parameters/Offset' - $ref: '#/components/parameters/Limit' - $ref: '#/components/parameters/Descending' - in: query name: org schema: type: string description: | An organization name. Only returns organizations with this name. - in: query name: orgID schema: type: string description: | An organization ID. Only returns the organization with this ID. - in: query name: userID schema: type: string description: | A user ID. Only returns organizations where this user is a member or owner. responses: '200': description: Success. The response body contains a list of organizations. content: application/json: schema: $ref: '#/components/schemas/Organizations' '400': $ref: '#/components/responses/BadRequestError' '401': $ref: '#/components/responses/AuthorizationError' '404': $ref: '#/components/responses/ResourceNotFoundError' '500': $ref: '#/components/responses/InternalServerError' default: $ref: '#/components/responses/GeneralServerError' post: operationId: PostOrgs tags: - Organizations summary: Create an organization description: | Creates an organization and returns the newly created organization. #### InfluxDB Cloud - Doesn't allow you to use this endpoint to create organizations. parameters: - $ref: '#/components/parameters/TraceSpan' requestBody: description: The organization to create. required: true content: application/json: schema: $ref: '#/components/schemas/PostOrganizationRequest' responses: '201': description: | Success. The organization is created. The response body contains the new organization. content: application/json: schema: $ref: '#/components/schemas/Organization' '400': $ref: '#/components/responses/BadRequestError' '401': $ref: '#/components/responses/AuthorizationError' '404': $ref: '#/components/responses/ResourceNotFoundError' '500': $ref: '#/components/responses/InternalServerError' default: $ref: '#/components/responses/GeneralServerError' '/orgs/{orgID}': get: operationId: GetOrgsID tags: - Organizations - Security and access endpoints summary: Retrieve an organization parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: orgID schema: type: string required: true description: The ID of the organization to get. responses: '200': description: Organization details content: application/json: schema: $ref: '#/components/schemas/Organization' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' patch: operationId: PatchOrgsID tags: - Organizations summary: Update an organization requestBody: description: Organization update to apply required: true content: application/json: schema: $ref: '#/components/schemas/PatchOrganizationRequest' parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: orgID schema: type: string required: true description: The ID of the organization to get. responses: '200': description: Organization updated content: application/json: schema: $ref: '#/components/schemas/Organization' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' delete: operationId: DeleteOrgsID tags: - Organizations summary: Delete an organization parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: orgID schema: type: string required: true description: The ID of the organization to delete. responses: '204': description: Delete has been accepted '404': description: Organization not found content: application/json: schema: $ref: '#/components/schemas/Error' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' '/orgs/{orgID}/secrets': get: operationId: GetOrgsIDSecrets tags: - Secrets - Security and access endpoints summary: List all secret keys for an organization parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: orgID schema: type: string required: true description: The organization ID. responses: '200': description: A list of all secret keys content: application/json: schema: $ref: '#/components/schemas/SecretKeysResponse' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' patch: operationId: PatchOrgsIDSecrets tags: - Secrets summary: Update secrets in an organization parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: orgID schema: type: string required: true description: The organization ID. requestBody: description: Secret key value pairs to update/add required: true content: application/json: schema: $ref: '#/components/schemas/Secrets' responses: '204': description: Keys successfully patched default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' '/orgs/{orgID}/members': get: operationId: GetOrgsIDMembers tags: - Organizations - Security and access endpoints summary: List all members of an organization parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: orgID schema: type: string required: true description: The organization ID. responses: '200': description: A list of organization members content: application/json: schema: $ref: '#/components/schemas/ResourceMembers' '404': description: Organization not found content: application/json: schema: $ref: '#/components/schemas/Error' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' post: operationId: PostOrgsIDMembers tags: - Organizations summary: Add a member to an organization parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: orgID schema: type: string required: true description: The organization ID. requestBody: description: User to add as member required: true content: application/json: schema: $ref: '#/components/schemas/AddResourceMemberRequestBody' responses: '201': description: Added to organization created content: application/json: schema: $ref: '#/components/schemas/ResourceMember' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' '/orgs/{orgID}/members/{userID}': delete: operationId: DeleteOrgsIDMembersID tags: - Organizations - Security and access endpoints summary: Remove a member from an organization parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: userID schema: type: string required: true description: The ID of the member to remove. - in: path name: orgID schema: type: string required: true description: The organization ID. responses: '204': description: Member removed default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' '/orgs/{orgID}/owners': get: operationId: GetOrgsIDOwners tags: - Organizations - Security and access endpoints summary: List all owners of an organization description: | Retrieves a list of all owners of an organization. parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: orgID schema: type: string required: true description: | The ID of the organization to list owners for. responses: '200': description: A list of organization owners content: application/json: schema: $ref: '#/components/schemas/ResourceOwners' '404': description: Organization not found content: application/json: schema: $ref: '#/components/schemas/Error' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' post: operationId: PostOrgsIDOwners tags: - Organizations summary: Add an owner to an organization description: | Adds an owner to an organization. Use this endpoint to assign the organization `owner` role to a user. #### InfluxDB Cloud - Doesn't use `owner` and `member` roles. Use [`/api/v2/authorizations`](#tag/Authorizations) to assign user permissions. #### Required permissions - `write-orgs INFLUX_ORG_ID` `INFLUX_ORG_ID` is the ID of the organization that you want add an owner for. #### Related endpoints - [Authorizations](#tag/Authorizations) parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: orgID schema: type: string required: true description: The ID of the organization that you want to add an owner for. requestBody: description: The user to add as an owner of the organization. required: true content: application/json: schema: $ref: '#/components/schemas/AddResourceMemberRequestBody' responses: '201': description: | Success. The user is an owner of the organization. The response body contains the owner with role and user detail. content: application/json: schema: $ref: '#/components/schemas/ResourceOwner' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' '/orgs/{orgID}/owners/{userID}': delete: operationId: DeleteOrgsIDOwnersID tags: - Organizations - Security and access endpoints summary: Remove an owner from an organization parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: userID schema: type: string required: true description: The ID of the owner to remove. - in: path name: orgID schema: type: string required: true description: The organization ID. responses: '204': description: Owner removed default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' '/orgs/{orgID}/secrets/delete': post: deprecated: true operationId: PostOrgsIDSecrets tags: - Secrets - Security and access endpoints summary: Delete secrets from an organization parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: orgID schema: type: string required: true description: The organization ID. requestBody: description: Secret key to delete required: true content: application/json: schema: $ref: '#/components/schemas/SecretKeys' responses: '204': description: Keys successfully patched default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' '/orgs/{orgID}/secrets/{secretID}': delete: operationId: DeleteOrgsIDSecretsID tags: - Secrets - Security and access endpoints summary: Delete a secret from an organization parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: orgID schema: type: string required: true description: The organization ID. - in: path name: secretID schema: type: string required: true description: The secret ID. responses: '204': description: Keys successfully deleted default: description: Unexpected error $ref: '#/components/responses/GeneralServerError' /resources: get: operationId: GetResources tags: - Resources - System information endpoints summary: List all known resources parameters: - $ref: '#/components/parameters/TraceSpan' responses: '200': description: All resources targets content: application/json: schema: type: array items: type: string default: description: Internal server error content: application/json: schema: $ref: '#/components/schemas/Error' /stacks: get: operationId: ListStacks tags: - Templates summary: List installed stacks description: | Retrieves a list of installed InfluxDB stacks. To limit stacks in the response, pass query parameters in your request. If no query parameters are passed, InfluxDB returns all installed stacks for the organization. parameters: - in: query name: orgID required: true schema: type: string description: | The ID of the organization that owns the stacks. Only returns stacks owned by this organization. #### InfluxDB Cloud - Doesn't require this parameter; InfluxDB only returns resources allowed by the API token. - in: query name: name schema: type: string description: | The stack name. Finds stack `events` with this name and returns the stacks. Repeatable. To filter for more than one stack name, repeat this parameter with each name--for example: - `http://localhost:8086/api/v2/stacks?&orgID=INFLUX_ORG_ID&name=project-stack-0&name=project-stack-1` examples: findStackByName: summary: Find stacks with the event name value: project-stack-0 - in: query name: stackID schema: type: string description: | The stack ID. Only returns stacks with this ID. Repeatable. To filter for more than one stack ID, repeat this parameter with each ID--for example: - `http://localhost:8086/api/v2/stacks?&orgID=INFLUX_ORG_ID&stackID=09bd87cd33be3000&stackID=09bef35081fe3000` examples: findStackByID: summary: Find a stack with the ID value: 09bd87cd33be3000 responses: '200': description: Success. The response body contains the list of stacks. content: application/json: schema: type: object properties: stacks: type: array items: $ref: '#/components/schemas/Stack' '400': description: | Bad request. The response body contains detail about the error. #### InfluxDB OSS - Returns this error if an incorrect value is passed for `org` or `orgID`. content: application/json: schema: $ref: '#/components/schemas/Error' examples: orgIdMissing: summary: The orgID query parameter is missing value: code: invalid message: 'organization id[""] is invalid: id must have a length of 16 bytes' orgProvidedNotFound: summary: The org or orgID passed doesn't own the token passed in the header value: code: invalid message: 'failed to decode request body: organization not found' '401': $ref: '#/components/responses/AuthorizationError' '500': $ref: '#/components/responses/InternalServerError' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' post: operationId: CreateStack tags: - Templates summary: Create a stack description: | Creates or initializes a stack. Use this endpoint to _manually_ initialize a new stack with the following optional information: - Stack name - Stack description - URLs for template manifest files To automatically create a stack when applying templates, use the [/api/v2/templates/apply endpoint](#operation/ApplyTemplate). #### Required permissions - `write` permission for the organization #### Related guides - [InfluxDB stacks](https://docs.influxdata.com/influxdb/v2.3/influxdb-templates/stacks/) - [Use InfluxDB templates](https://docs.influxdata.com/influxdb/v2.3/influxdb-templates/use/#apply-templates-to-an-influxdb-instance) requestBody: description: The stack to create. required: true content: application/json: schema: type: object title: PostStackRequest properties: orgID: type: string name: type: string description: type: string urls: type: array items: type: string responses: '201': description: Success. Returns the newly created stack. content: application/json: schema: $ref: '#/components/schemas/Stack' '401': $ref: '#/components/responses/AuthorizationError' '422': description: | Unprocessable entity. The error may indicate one of the following problems: - The request body isn't valid--the request is well-formed, but InfluxDB can't process it due to semantic errors. - You passed a parameter combination that InfluxDB doesn't support. content: application/json: schema: $ref: '#/components/schemas/Error' '500': $ref: '#/components/responses/InternalServerError' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' '/stacks/{stack_id}': get: operationId: ReadStack tags: - Templates summary: Retrieve a stack parameters: - in: path name: stack_id required: true schema: type: string description: The identifier of the stack. responses: '200': description: Returns the stack. content: application/json: schema: $ref: '#/components/schemas/Stack' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' patch: operationId: UpdateStack tags: - Templates summary: Update a stack parameters: - in: path name: stack_id required: true schema: type: string description: The identifier of the stack. requestBody: description: The stack to update. required: true content: application/json: schema: type: object title: PatchStackRequest properties: name: type: string nullable: true description: type: string nullable: true templateURLs: type: array items: type: string nullable: true additionalResources: type: array items: type: object properties: resourceID: type: string kind: type: string templateMetaName: type: string required: - kind - resourceID responses: '200': description: Returns the updated stack. content: application/json: schema: $ref: '#/components/schemas/Stack' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' delete: operationId: DeleteStack tags: - Templates summary: Delete a stack and associated resources parameters: - in: path name: stack_id required: true schema: type: string description: The identifier of the stack. - in: query name: orgID required: true schema: type: string description: The identifier of the organization. responses: '204': description: The stack and its associated resources were deleted. default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' '/stacks/{stack_id}/uninstall': post: operationId: UninstallStack tags: - Templates summary: Uninstall a stack parameters: - in: path name: stack_id required: true schema: type: string description: The identifier of the stack. responses: '200': description: Returns the uninstalled stack. content: application/json: schema: $ref: '#/components/schemas/Stack' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /templates/apply: post: operationId: ApplyTemplate tags: - Templates summary: Apply or dry-run a template description: | Applies a template to create or update a [stack](https://docs.influxdata.com/influxdb/v2.3/influxdb-templates/stacks/) of InfluxDB [resources](https://docs.influxdata.com/influxdb/v2.3/reference/cli/influx/export/all/#resources). The response contains the diff of changes and the stack ID. Use this endpoint to install an InfluxDB template to an organization. Provide template URLs or template objects in your request. To customize which template resources are installed, use the `actions` parameter. By default, when you apply a template, InfluxDB installs the template to create and update stack resources and then generates a diff of the changes. If you pass `dryRun: true` in the request body, InfluxDB validates the template and generates the resource diff, but doesn’t make any changes to your instance. #### Custom values for templates - Some templates may contain [environment references](https://docs.influxdata.com/influxdb/v2.3/influxdb-templates/create/#include-user-definable-resource-names) for custom metadata. To provide custom values for environment references, pass the _`envRefs`_ property in the request body. For more information and examples, see how to [define environment references](https://docs.influxdata.com/influxdb/v2.3/influxdb-templates/use/#define-environment-references). - Some templates may contain queries that use [secrets](https://docs.influxdata.com/influxdb/v2.3/security/secrets/). To provide custom secret values, pass the _`secrets`_ property in the request body. Don't expose secret values in templates. For more information, see [how to pass secrets when installing a template](https://docs.influxdata.com/influxdb/v2.3/influxdb-templates/use/#pass-secrets-when-installing-a-template). #### Required permissions - `write` permissions for resource types in the template. #### Rate limits (with InfluxDB Cloud) - Adjustable service quotas apply. For more information, see [limits and adjustable quotas](https://docs.influxdata.com/influxdb/cloud/account-management/limits/). #### Related guides - [Use templates](https://docs.influxdata.com/influxdb/v2.3/influxdb-templates/use/) - [Stacks](https://docs.influxdata.com/influxdb/v2.3/influxdb-templates/stacks/) requestBody: required: true description: | Parameters for applying templates. content: application/json: schema: $ref: '#/components/schemas/TemplateApply' examples: skipKindAction: summary: Skip all bucket and task resources in the provided templates value: orgID: INFLUX_ORG_ID actions: - action: skipKind properties: kind: Bucket - action: skipKind properties: kind: Task templates: - contents: - '[object Object]': null skipResourceAction: summary: Skip specific resources in the provided templates value: orgID: INFLUX_ORG_ID actions: - action: skipResource properties: kind: Label resourceTemplateName: foo-001 - action: skipResource properties: kind: Bucket resourceTemplateName: bar-020 - action: skipResource properties: kind: Bucket resourceTemplateName: baz-500 templates: - contents: - apiVersion: influxdata.com/v2alpha1 kind: Bucket metadata: name: baz-500 templateObjectEnvRefs: summary: envRefs for template objects value: orgID: INFLUX_ORG_ID envRefs: linux-cpu-label: MY_CPU_LABEL docker-bucket: MY_DOCKER_BUCKET docker-spec-1: MY_DOCKER_SPEC templates: - contents: - apiVersion: influxdata.com/v2alpha1 kind: Label metadata: name: envRef: key: linux-cpu-label spec: color: '#326BBA' name: inputs.cpu - contents: - apiVersion: influxdata.com/v2alpha1 kind: Bucket metadata: name: envRef: key: docker-bucket application/x-jsonnet: schema: $ref: '#/components/schemas/TemplateApply' text/yml: schema: $ref: '#/components/schemas/TemplateApply' x-codeSamples: - lang: Shell label: 'cURL: Dry run with a remote template' source: | curl --request POST "http://localhost:8086/api/v2/templates/apply" \ --header "Authorization: Token INFLUX_API_TOKEN" \ --data @- << EOF { "dryRun": true, "orgID": "INFLUX_ORG_ID", "remotes": [ { "url": "https://raw.githubusercontent.com/influxdata/community-templates/master/linux_system/linux_system.yml" } ] } EOF - lang: Shell label: 'cURL: Apply with secret values' source: | curl "http://localhost:8086/api/v2/templates/apply" \ --header "Authorization: Token INFLUX_API_TOKEN" \ --data @- << EOF | jq . { "orgID": "INFLUX_ORG_ID", "secrets": { "SLACK_WEBHOOK": "YOUR_SECRET_WEBHOOK_URL" }, "remotes": [ { "url": "https://raw.githubusercontent.com/influxdata/community-templates/master/fortnite/fn-template.yml" } ] } EOF - lang: Shell label: 'cURL: Apply template objects with environment references' source: | curl --request POST "http://localhost:8086/api/v2/templates/apply" \ --header "Authorization: Token INFLUX_API_TOKEN" \ --data @- << EOF { "orgID": "INFLUX_ORG_ID", "envRefs": { "linux-cpu-label": "MY_CPU_LABEL", "docker-bucket": "MY_DOCKER_BUCKET", "docker-spec-1": "MY_DOCKER_SPEC" }, "templates": [ { "contents": [{ "apiVersion": "influxdata.com/v2alpha1", "kind": "Label", "metadata": { "name": { "envRef": { "key": "linux-cpu-label" } } }, "spec": { "color": "#326BBA", "name": "inputs.cpu" } }] }, "templates": [ { "contents": [{ "apiVersion": "influxdata.com/v2alpha1", "kind": "Label", "metadata": { "name": { "envRef": { "key": "linux-cpu-label" } } }, "spec": { "color": "#326BBA", "name": "inputs.cpu" } }] }, { "contents": [{ "apiVersion": "influxdata.com/v2alpha1", "kind": "Bucket", "metadata": { "name": { "envRef": { "key": "docker-bucket" } } } }] } ] } EOF responses: '200': description: | Success. The template dry run succeeded. The response body contains a resource diff of changes that the template would have made if installed. No resources were created or updated. The diff and summary won't contain IDs for resources that didn't exist at the time of the dry run. content: application/json: schema: $ref: '#/components/schemas/TemplateSummary' '201': description: | Success. The template applied successfully. The response body contains the stack ID, a diff, and a summary. The diff compares the initial state to the state after the template installation. The summary contains newly created resources. content: application/json: schema: $ref: '#/components/schemas/TemplateSummary' '422': description: | Unprocessable entity. The error may indicate one of the following problems: - The template failed validation. - You passed a parameter combination that InfluxDB doesn't support. content: application/json: schema: allOf: - $ref: '#/components/schemas/TemplateSummary' - type: object required: - message - code properties: message: type: string code: type: string '500': description: | Internal server error. #### InfluxDB Cloud - Returns this error if creating one of the template resources (bucket, dashboard, task, user) exceeds your plan’s adjustable service quotas. content: application/json: schema: $ref: '#/components/schemas/Error' examples: createExceedsQuota: summary: 'InfluxDB Cloud: Creating resource would exceed quota.' value: code: internal error message: "resource_type=\"tasks\" err=\"failed to apply resource\"\n\tmetadata_name=\"alerting-gates-b84003\" err_msg=\"failed to create tasks[\\\"alerting-gates-b84003\\\"]: creating task would exceed quota\"" default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /templates/export: post: operationId: ExportTemplate tags: - Templates summary: Export a new template requestBody: description: Export resources as an InfluxDB template. required: false content: application/json: schema: oneOf: - $ref: '#/components/schemas/TemplateExportByID' - $ref: '#/components/schemas/TemplateExportByName' responses: '200': description: The template was created successfully. Returns the newly created template. content: application/json: schema: $ref: '#/components/schemas/Template' application/x-yaml: schema: $ref: '#/components/schemas/Template' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' '/tasks/{taskID}/runs': get: operationId: GetTasksIDRuns tags: - Tasks summary: List runs for a task description: | Retrieves a list of runs for a [task](https://docs.influxdata.com/influxdb/v2.3/process-data/). To limit which task runs are returned, pass query parameters in your request. If no query parameters are passed, InfluxDB returns all task runs up to the default `limit`. parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: taskID schema: type: string required: true description: | The ID of the task to get runs for. Only returns runs for this task. - in: query name: after schema: type: string description: A task run ID. Only returns runs created after this run. - in: query name: limit schema: type: integer minimum: 1 maximum: 500 default: 100 description: | Limits the number of task runs returned. Default is `100`. - in: query name: afterTime schema: type: string format: date-time description: | A timestamp ([RFC3339 date/time format](https://docs.influxdata.com/influxdb/v2.3/reference/glossary/#rfc3339-timestamp)). Only returns runs scheduled after this time. - in: query name: beforeTime schema: type: string format: date-time description: | A timestamp ([RFC3339 date/time format](https://docs.influxdata.com/influxdb/v2.3/reference/glossary/#rfc3339-timestamp)). Only returns runs scheduled before this time. responses: '200': description: Success. The response body contains the list of task runs. content: application/json: schema: $ref: '#/components/schemas/Runs' '401': $ref: '#/components/responses/AuthorizationError' '500': $ref: '#/components/responses/InternalServerError' default: $ref: '#/components/responses/GeneralServerError' post: operationId: PostTasksIDRuns tags: - Data I/O endpoints - Tasks summary: 'Start a task run, overriding the schedule' description: | Schedules a task run to start immediately, ignoring scheduled runs. Use this endpoint to manually start a task run. Scheduled runs will continue to run as scheduled. This may result in concurrently running tasks. To _retry_ a previous run (and avoid creating a new run), use the [`POST /api/v2/tasks/{taskID}/runs/{runID}/retry`](#operation/PostTasksIDRunsIDRetry) endpoint. parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: taskID schema: type: string required: true requestBody: content: application/json: schema: $ref: '#/components/schemas/RunManually' responses: '201': description: Success. The run is scheduled to start. content: application/json: schema: $ref: '#/components/schemas/Run' '401': $ref: '#/components/responses/AuthorizationError' '500': $ref: '#/components/responses/InternalServerError' default: $ref: '#/components/responses/GeneralServerError' '/tasks/{taskID}/runs/{runID}': get: operationId: GetTasksIDRunsID tags: - Tasks summary: Retrieve a run for a task. description: | Retrieves a specific run for a [task](https://docs.influxdata.com/influxdb/v2.3/reference/glossary/#task). Use this endpoint to retrieve detail and logs for a specific task run. parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: taskID schema: type: string required: true description: The ID of the task to retrieve runs for. - in: path name: runID schema: type: string required: true description: The ID of the run to retrieve. responses: '200': description: Success. The response body contains the task run. content: application/json: schema: $ref: '#/components/schemas/Run' examples: runSuccess: summary: A successful task run. value: links: logs: /api/v2/tasks/0996e56b2f378000/runs/09b070dadaa7d000/logs retry: /api/v2/tasks/0996e56b2f378000/runs/09b070dadaa7d000/retry self: /api/v2/tasks/0996e56b2f378000/runs/09b070dadaa7d000 task: /api/v2/tasks/0996e56b2f378000 id: 09b070dadaa7d000 taskID: 0996e56b2f378000 status: success scheduledFor: '2022-07-18T14:46:06Z' startedAt: '2022-07-18T14:46:07.16222Z' finishedAt: '2022-07-18T14:46:07.308254Z' requestedAt: '2022-07-18T14:46:06Z' log: - runID: 09b070dadaa7d000 time: '2022-07-18T14:46:07.101231Z' message: 'Started task from script: "option task = {name: \"task1\", every: 30m} from(bucket: \"iot_center\") |> range(start: -90d) |> filter(fn: (r) => r._measurement == \"environment\") |> aggregateWindow(every: 1h, fn: mean)"' - runID: 09b070dadaa7d000 time: '2022-07-18T14:46:07.242859Z' message: Completed(success) '400': $ref: '#/components/responses/BadRequestError' '401': $ref: '#/components/responses/AuthorizationError' '404': $ref: '#/components/responses/ResourceNotFoundError' '500': $ref: '#/components/responses/InternalServerError' default: $ref: '#/components/responses/GeneralServerError' delete: operationId: DeleteTasksIDRunsID tags: - Tasks summary: Cancel a running task description: | Cancels a running [task](https://docs.influxdata.com/influxdb/v2.3/reference/glossary/#task). Use this endpoint with InfluxDB OSS to cancel a running task. #### InfluxDB Cloud - Doesn't support this operation. parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: taskID schema: type: string required: true description: The ID of the task to cancel. - in: path name: runID schema: type: string required: true description: The ID of the task run to cancel. responses: '204': description: | Success. The `DELETE` is accepted and the run will be cancelled. #### InfluxDB Cloud - Doesn't support this operation. - Doesn't return this status. '400': $ref: '#/components/responses/BadRequestError' '401': $ref: '#/components/responses/AuthorizationError' '404': $ref: '#/components/responses/ResourceNotFoundError' '405': description: | Method not allowed. #### InfluxDB Cloud - Always returns this error; doesn't support cancelling tasks. #### InfluxDB OSS - Doesn't return this error. content: application/json: schema: $ref: '#/components/schemas/Error' '500': $ref: '#/components/responses/InternalServerError' default: $ref: '#/components/responses/GeneralServerError' '/tasks/{taskID}/runs/{runID}/retry': post: operationId: PostTasksIDRunsIDRetry tags: - Tasks summary: Retry a task run description: | Queues a task run to retry and returns the newly scheduled run. To manually start a _new_ task run, use the [`POST /api/v2/tasks/{taskID}/runs`](#operation/PostTasksIDRuns) endpoint. #### Limitations - The task must be _active_ (`status: "active"`). requestBody: content: application/json; charset=utf-8: schema: type: object parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: taskID schema: type: string required: true description: The ID of the task to retry. - in: path name: runID schema: type: string required: true description: The ID of the task run to retry. responses: '200': description: Success. The response body contains the queued run. content: application/json: schema: $ref: '#/components/schemas/Run' examples: retryTaskRun: summary: A task run scheduled to retry value: links: logs: /api/v2/tasks/09a776832f381000/runs/09d60ffe08738000/logs retry: /api/v2/tasks/09a776832f381000/runs/09d60ffe08738000/retry self: /api/v2/tasks/09a776832f381000/runs/09d60ffe08738000 task: /api/v2/tasks/09a776832f381000 id: 09d60ffe08738000 taskID: 09a776832f381000 status: scheduled scheduledFor: '2022-08-15T00:00:00Z' requestedAt: '2022-08-16T20:05:11.84145Z' '400': description: | Bad request. The response body contains detail about the error. InfluxDB may return this error for the following reasons: - The task has `status: inactive`. content: application/json: schema: $ref: '#/components/schemas/Error' examples: inactiveTask: summary: Can't retry an inactive task value: code: invalid message: 'failed to retry run: inactive task' '401': $ref: '#/components/responses/AuthorizationError' '404': $ref: '#/components/responses/ResourceNotFoundError' '500': $ref: '#/components/responses/InternalServerError' default: $ref: '#/components/responses/GeneralServerError' '/tasks/{taskID}/logs': get: operationId: GetTasksIDLogs tags: - Tasks summary: Retrieve all logs for a task description: | Retrieves a list of all logs for a [task](https://docs.influxdata.com/influxdb/v2.3/reference/glossary/#task). When an InfluxDB task runs, a “run” record is created in the task’s history. Logs associated with each run provide relevant log messages, timestamps, and the exit status of the run attempt. Use this endpoint to retrieve only the log events for a task, without additional task metadata. parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: taskID schema: type: string required: true description: The task ID. responses: '200': description: | Success. The response body contains an `events` list with logs for the task. Each log event `message` contains detail about the event. If a task run fails, InfluxDB logs an event with the reason for the failure. content: application/json: schema: $ref: '#/components/schemas/Logs' examples: taskSuccess: summary: Events for a successful task run. value: events: - runID: 09b070dadaa7d000 time: '2022-07-18T14:46:07.101231Z' message: 'Started task from script: "option task = {name: \"task1\", every: 30m} from(bucket: \"iot_center\") |> range(start: -90d) |> filter(fn: (r) => r._measurement == \"environment\") |> aggregateWindow(every: 1h, fn: mean)"' - runID: 09b070dadaa7d000 time: '2022-07-18T14:46:07.242859Z' message: Completed(success) taskFailure: summary: Events for a failed task run. value: events: - runID: 09a946fc3167d000 time: '2022-07-13T07:06:54.198167Z' message: 'Started task from script: "option task = {name: \"test task\", every: 3d, offset: 0s}"' - runID: 09a946fc3167d000 time: '2022-07-13T07:07:13.104037Z' message: Completed(failed) - runID: 09a946fc3167d000 time: '2022-07-13T08:24:37.115323Z' message: 'error exhausting result iterator: error in query specification while starting program: this Flux script returns no streaming data. Consider adding a "yield" or invoking streaming functions directly, without performing an assignment' '400': $ref: '#/components/responses/BadRequestError' '401': $ref: '#/components/responses/AuthorizationError' '404': $ref: '#/components/responses/ResourceNotFoundError' '500': $ref: '#/components/responses/InternalServerError' default: $ref: '#/components/responses/GeneralServerError' '/tasks/{taskID}/runs/{runID}/logs': get: operationId: GetTasksIDRunsIDLogs tags: - Tasks summary: Retrieve all logs for a run description: | Retrieves all logs for a task run. A log is a list of run events with `runID`, `time`, and `message` properties. Use this endpoint to help analyze task performance and troubleshoot failed task runs. parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: taskID schema: type: string required: true description: The ID of the task to get logs for. - in: path name: runID schema: type: string required: true description: The ID of the run to get logs for. responses: '200': description: | Success. The response body contains an `events` list with logs for the task run. Each log event `message` contains detail about the event. If a run fails, InfluxDB logs an event with the reason for the failure. content: application/json: schema: $ref: '#/components/schemas/Logs' examples: taskSuccess: summary: Events for a successful task run. value: events: - runID: 09b070dadaa7d000 time: '2022-07-18T14:46:07.101231Z' message: 'Started task from script: "option task = {name: \"task1\", every: 30m} from(bucket: \"iot_center\") |> range(start: -90d) |> filter(fn: (r) => r._measurement == \"environment\") |> aggregateWindow(every: 1h, fn: mean)"' - runID: 09b070dadaa7d000 time: '2022-07-18T14:46:07.242859Z' message: Completed(success) taskFailure: summary: Events for a failed task. value: events: - runID: 09a946fc3167d000 time: '2022-07-13T07:06:54.198167Z' message: 'Started task from script: "option task = {name: \"test task\", every: 3d, offset: 0s}"' - runID: 09a946fc3167d000 time: '2022-07-13T07:07:13.104037Z' message: Completed(failed) - runID: 09a946fc3167d000 time: '2022-07-13T08:24:37.115323Z' message: 'error exhausting result iterator: error in query specification while starting program: this Flux script returns no streaming data. Consider adding a "yield" or invoking streaming functions directly, without performing an assignment' '400': $ref: '#/components/responses/BadRequestError' '401': $ref: '#/components/responses/AuthorizationError' '404': $ref: '#/components/responses/ResourceNotFoundError' '500': $ref: '#/components/responses/InternalServerError' default: $ref: '#/components/responses/GeneralServerError' '/tasks/{taskID}/labels': get: operationId: GetTasksIDLabels tags: - Tasks summary: List labels for a task description: | Retrieves a list of all labels for a task. Labels may be used for grouping and filtering tasks. parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: taskID schema: type: string required: true description: The ID of the task to retrieve labels for. responses: '200': description: Success. The response body contains a list of all labels for the task. content: application/json: schema: $ref: '#/components/schemas/LabelsResponse' '400': $ref: '#/components/responses/BadRequestError' '401': $ref: '#/components/responses/AuthorizationError' '404': $ref: '#/components/responses/ResourceNotFoundError' '500': $ref: '#/components/responses/InternalServerError' default: $ref: '#/components/responses/GeneralServerError' post: operationId: PostTasksIDLabels tags: - Tasks summary: Add a label to a task description: | Adds a label to a task. Use this endpoint to add a label that you can use to filter tasks in the InfluxDB UI. parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: taskID schema: type: string required: true description: The ID of the task to label. requestBody: description: An object that contains a _`labelID`_ to add to the task. required: true content: application/json: schema: $ref: '#/components/schemas/LabelMapping' responses: '201': description: Success. The response body contains a list of all labels for the task. content: application/json: schema: $ref: '#/components/schemas/LabelResponse' '400': $ref: '#/components/responses/BadRequestError' '401': $ref: '#/components/responses/AuthorizationError' '404': $ref: '#/components/responses/ResourceNotFoundError' '500': $ref: '#/components/responses/InternalServerError' default: $ref: '#/components/responses/GeneralServerError' '/tasks/{taskID}/labels/{labelID}': delete: operationId: DeleteTasksIDLabelsID tags: - Tasks summary: Delete a label from a task description: | Deletes a label from a task. parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: taskID schema: type: string required: true description: The ID of the task to delete the label from. - in: path name: labelID schema: type: string required: true description: The ID of the label to delete. responses: '204': description: Success. The label is deleted. '400': $ref: '#/components/responses/BadRequestError' '401': $ref: '#/components/responses/AuthorizationError' '404': $ref: '#/components/responses/ResourceNotFoundError' '500': $ref: '#/components/responses/InternalServerError' default: $ref: '#/components/responses/GeneralServerError' /flags: get: operationId: GetFlags tags: - Users summary: Return the feature flags for the currently authenticated user parameters: - $ref: '#/components/parameters/TraceSpan' responses: '200': description: Feature flags for the currently authenticated user content: application/json: schema: $ref: '#/components/schemas/Flags' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /me: get: operationId: GetMe tags: - Users summary: Retrieve the currently authenticated user parameters: - $ref: '#/components/parameters/TraceSpan' responses: '200': description: Success. The response body contains the currently authenticated user. content: application/json: schema: $ref: '#/components/schemas/UserResponse' '401': $ref: '#/components/responses/AuthorizationError' '500': $ref: '#/components/responses/InternalServerError' default: $ref: '#/components/responses/GeneralServerError' /me/password: put: operationId: PutMePassword tags: - Users summary: Update a password description: | #### InfluxDB Cloud InfluxDB Cloud doesn't support changing user passwords through the API. Use the InfluxDB Cloud user interface to update your password. security: - BasicAuthentication: [] parameters: - $ref: '#/components/parameters/TraceSpan' requestBody: description: The new password. required: true content: application/json: schema: $ref: '#/components/schemas/PasswordResetBody' responses: '204': description: Success. The password was updated. '400': description: | Bad request. InfluxDB Cloud doesn't support changing passwords through the API and always responds with this status. default: description: Unsuccessful authentication content: application/json: schema: $ref: '#/components/schemas/Error' '/tasks/{taskID}/members': get: operationId: GetTasksIDMembers deprecated: true tags: - Tasks summary: List all task members description: | **Deprecated**: Tasks don't use `owner` and `member` roles. Use [`/api/v2/authorizations`](#tag/Authorizations) to assign user permissions. parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: taskID schema: type: string required: true description: The task ID. responses: '200': description: | Success. The response body contains a list of `users` that have the `member` role for a task. content: application/json: schema: $ref: '#/components/schemas/ResourceMembers' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' post: operationId: PostTasksIDMembers deprecated: true tags: - Tasks summary: Add a member to a task description: | **Deprecated**: Tasks don't use `owner` and `member` roles. Use [`/api/v2/authorizations`](#tag/Authorizations) to assign user permissions. Adds a user to members of a task and returns the newly created member with role and user detail. parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: taskID schema: type: string required: true description: The task ID. requestBody: description: A user to add as a member of the task. required: true content: application/json: schema: $ref: '#/components/schemas/AddResourceMemberRequestBody' responses: '201': description: Created. The user is added to task members. content: application/json: schema: $ref: '#/components/schemas/ResourceMember' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' '/tasks/{taskID}/members/{userID}': delete: operationId: DeleteTasksIDMembersID deprecated: true tags: - Tasks summary: Remove a member from a task description: | **Deprecated**: Tasks don't use `owner` and `member` roles. Use [`/api/v2/authorizations`](#tag/Authorizations) to assign user permissions. parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: userID schema: type: string required: true description: The ID of the member to remove. - in: path name: taskID schema: type: string required: true description: The task ID. responses: '204': description: Member removed default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' '/tasks/{taskID}/owners': get: operationId: GetTasksIDOwners deprecated: true tags: - Tasks summary: List all owners of a task description: | **Deprecated**: Tasks don't use `owner` and `member` roles. Use [`/api/v2/authorizations`](#tag/Authorizations) to assign user permissions. Retrieves all users that have owner permission for a task. parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: taskID schema: type: string required: true description: The ID of the task to retrieve owners for. responses: '200': description: | Success. The response contains a list of `users` that have the `owner` role for the task. If the task has no owners, the response contains an empty `users` array. content: application/json: schema: $ref: '#/components/schemas/ResourceOwners' '401': $ref: '#/components/responses/AuthorizationError' '422': description: | Unprocessable entity. The error may indicate one of the following problems: - The request body isn't valid--the request is well-formed, but InfluxDB can't process it due to semantic errors. - You passed a parameter combination that InfluxDB doesn't support. content: application/json: schema: $ref: '#/components/schemas/Error' '500': $ref: '#/components/responses/InternalServerError' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' post: operationId: PostTasksIDOwners deprecated: true tags: - Tasks summary: Add an owner for a task description: | **Deprecated**: Tasks don't use `owner` and `member` roles. Use [`/api/v2/authorizations`](#tag/Authorizations) to assign user permissions. Assigns a task `owner` role to a user. Use this endpoint to create a _resource owner_ for the task. A _resource owner_ is a user with `role: owner` for a specific resource. parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: taskID schema: type: string required: true description: The task ID. requestBody: description: A user to add as an owner of the task. required: true content: application/json: schema: $ref: '#/components/schemas/AddResourceMemberRequestBody' responses: '201': description: | Created. The task `owner` role is assigned to the user. The response body contains the resource owner with role and user detail. content: application/json: schema: $ref: '#/components/schemas/ResourceOwner' examples: createdOwner: summary: User has the owner role for the resource value: role: owner links: logs: /api/v2/users/0772396d1f411000/logs self: /api/v2/users/0772396d1f411000 id: 0772396d1f411000 name: USER_NAME status: active '401': $ref: '#/components/responses/AuthorizationError' '422': description: | Unprocessable entity. The error may indicate one of the following problems: - The request body isn't valid--the request is well-formed, but InfluxDB can't process it due to semantic errors. - You passed a parameter combination that InfluxDB doesn't support. content: application/json: schema: $ref: '#/components/schemas/Error' '500': $ref: '#/components/responses/InternalServerError' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' '/tasks/{taskID}/owners/{userID}': delete: operationId: DeleteTasksIDOwnersID deprecated: true tags: - Tasks summary: Remove an owner from a task description: | **Deprecated**: Tasks don't use `owner` and `member` roles. Use [`/api/v2/authorizations`](#tag/Authorizations) to assign user permissions. parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: userID schema: type: string required: true description: The ID of the owner to remove. - in: path name: taskID schema: type: string required: true description: The task ID. responses: '204': description: Owner removed default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' '/users/{userID}/password': post: operationId: PostUsersIDPassword tags: - Security and access endpoints - Users summary: Update a password description: | #### InfluxDB Cloud InfluxDB Cloud doesn't support changing user passwords through the API. Use the InfluxDB Cloud user interface to update your password. security: - BasicAuthentication: [] parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: userID schema: type: string required: true description: The user ID. requestBody: description: New password required: true content: application/json: schema: $ref: '#/components/schemas/PasswordResetBody' responses: '204': description: Password successfully updated '400': description: | Bad request. InfluxDB Cloud doesn't support changing passwords through the API and always responds with this status. default: description: Unsuccessful authentication content: application/json: schema: $ref: '#/components/schemas/Error' /checks: get: operationId: GetChecks tags: - Checks summary: List all checks parameters: - $ref: '#/components/parameters/TraceSpan' - $ref: '#/components/parameters/Offset' - $ref: '#/components/parameters/Limit' - in: query name: orgID required: true description: Only show checks that belong to a specific organization ID. schema: type: string responses: '200': description: A list of checks content: application/json: schema: $ref: '#/components/schemas/Checks' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' post: operationId: CreateCheck tags: - Checks summary: Add new check requestBody: description: Check to create required: true content: application/json: schema: $ref: '#/components/schemas/PostCheck' responses: '201': description: Check created content: application/json: schema: $ref: '#/components/schemas/Check' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' '/checks/{checkID}': get: operationId: GetChecksID tags: - Checks summary: Retrieve a check parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: checkID schema: type: string required: true description: The check ID. responses: '200': description: The check requested content: application/json: schema: $ref: '#/components/schemas/Check' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' put: operationId: PutChecksID tags: - Checks summary: Update a check requestBody: description: Check update to apply required: true content: application/json: schema: $ref: '#/components/schemas/Check' parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: checkID schema: type: string required: true description: The check ID. responses: '200': description: An updated check content: application/json: schema: $ref: '#/components/schemas/Check' '404': description: The check was not found content: application/json: schema: $ref: '#/components/schemas/Error' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' patch: operationId: PatchChecksID tags: - Checks summary: Update a check requestBody: description: Check update to apply required: true content: application/json: schema: $ref: '#/components/schemas/CheckPatch' parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: checkID schema: type: string required: true description: The check ID. responses: '200': description: An updated check content: application/json: schema: $ref: '#/components/schemas/Check' '404': description: The check was not found content: application/json: schema: $ref: '#/components/schemas/Error' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' delete: operationId: DeleteChecksID tags: - Checks summary: Delete a check parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: checkID schema: type: string required: true description: The check ID. responses: '204': description: Delete has been accepted '404': description: The check was not found content: application/json: schema: $ref: '#/components/schemas/Error' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' '/checks/{checkID}/labels': get: operationId: GetChecksIDLabels tags: - Checks summary: List all labels for a check parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: checkID schema: type: string required: true description: The check ID. responses: '200': description: A list of all labels for a check content: application/json: schema: $ref: '#/components/schemas/LabelsResponse' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' post: operationId: PostChecksIDLabels tags: - Checks summary: Add a label to a check parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: checkID schema: type: string required: true description: The check ID. requestBody: description: Label to add required: true content: application/json: schema: $ref: '#/components/schemas/LabelMapping' responses: '201': description: The label was added to the check content: application/json: schema: $ref: '#/components/schemas/LabelResponse' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' '/checks/{checkID}/labels/{labelID}': delete: operationId: DeleteChecksIDLabelsID tags: - Checks summary: Delete label from a check parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: checkID schema: type: string required: true description: The check ID. - in: path name: labelID schema: type: string required: true description: The ID of the label to delete. responses: '204': description: Delete has been accepted '404': description: Check or label not found content: application/json: schema: $ref: '#/components/schemas/Error' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /notificationRules: get: operationId: GetNotificationRules tags: - NotificationRules summary: List all notification rules parameters: - $ref: '#/components/parameters/TraceSpan' - $ref: '#/components/parameters/Offset' - $ref: '#/components/parameters/Limit' - in: query name: orgID required: true description: Only show notification rules that belong to a specific organization ID. schema: type: string - in: query name: checkID description: Only show notifications that belong to the specific check ID. schema: type: string - in: query name: tag description: Only return notification rules that "would match" statuses which contain the tag key value pairs provided. schema: type: string pattern: '^[a-zA-Z0-9_]+:[a-zA-Z0-9_]+$' example: 'env:prod' responses: '200': description: A list of notification rules content: application/json: schema: $ref: '#/components/schemas/NotificationRules' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' post: operationId: CreateNotificationRule tags: - NotificationRules summary: Add a notification rule requestBody: description: Notification rule to create required: true content: application/json: schema: $ref: '#/components/schemas/PostNotificationRule' responses: '201': description: Notification rule created content: application/json: schema: $ref: '#/components/schemas/NotificationRule' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' '/checks/{checkID}/query': get: operationId: GetChecksIDQuery tags: - Checks summary: Retrieve a check query parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: checkID schema: type: string required: true description: The check ID. responses: '200': description: The check query requested content: application/json: schema: $ref: '#/components/schemas/FluxResponse' '400': description: Invalid request content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Check not found content: application/json: schema: $ref: '#/components/schemas/Error' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' '/notificationRules/{ruleID}': get: operationId: GetNotificationRulesID tags: - NotificationRules summary: Retrieve a notification rule parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: ruleID schema: type: string required: true description: The notification rule ID. responses: '200': description: The notification rule requested content: application/json: schema: $ref: '#/components/schemas/NotificationRule' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' put: operationId: PutNotificationRulesID tags: - NotificationRules summary: Update a notification rule requestBody: description: Notification rule update to apply required: true content: application/json: schema: $ref: '#/components/schemas/NotificationRule' parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: ruleID schema: type: string required: true description: The notification rule ID. responses: '200': description: An updated notification rule content: application/json: schema: $ref: '#/components/schemas/NotificationRule' '404': description: The notification rule was not found content: application/json: schema: $ref: '#/components/schemas/Error' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' patch: operationId: PatchNotificationRulesID tags: - NotificationRules summary: Update a notification rule requestBody: description: Notification rule update to apply required: true content: application/json: schema: $ref: '#/components/schemas/NotificationRuleUpdate' parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: ruleID schema: type: string required: true description: The notification rule ID. responses: '200': description: An updated notification rule content: application/json: schema: $ref: '#/components/schemas/NotificationRule' '404': description: The notification rule was not found content: application/json: schema: $ref: '#/components/schemas/Error' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' delete: operationId: DeleteNotificationRulesID tags: - NotificationRules summary: Delete a notification rule parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: ruleID schema: type: string required: true description: The notification rule ID. responses: '204': description: Delete has been accepted '404': description: The check was not found content: application/json: schema: $ref: '#/components/schemas/Error' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' '/notificationRules/{ruleID}/labels': get: operationId: GetNotificationRulesIDLabels tags: - NotificationRules summary: List all labels for a notification rule parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: ruleID schema: type: string required: true description: The notification rule ID. responses: '200': description: A list of all labels for a notification rule content: application/json: schema: $ref: '#/components/schemas/LabelsResponse' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' post: operationId: PostNotificationRuleIDLabels tags: - NotificationRules summary: Add a label to a notification rule parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: ruleID schema: type: string required: true description: The notification rule ID. requestBody: description: Label to add required: true content: application/json: schema: $ref: '#/components/schemas/LabelMapping' responses: '201': description: The label was added to the notification rule content: application/json: schema: $ref: '#/components/schemas/LabelResponse' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' '/notificationRules/{ruleID}/labels/{labelID}': delete: operationId: DeleteNotificationRulesIDLabelsID tags: - NotificationRules summary: Delete label from a notification rule parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: ruleID schema: type: string required: true description: The notification rule ID. - in: path name: labelID schema: type: string required: true description: The ID of the label to delete. responses: '204': description: Delete has been accepted '404': description: Rule or label not found content: application/json: schema: $ref: '#/components/schemas/Error' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' '/notificationRules/{ruleID}/query': get: operationId: GetNotificationRulesIDQuery tags: - Rules summary: Retrieve a notification rule query parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: ruleID schema: type: string required: true description: The notification rule ID. responses: '200': description: The notification rule query requested content: application/json: schema: $ref: '#/components/schemas/FluxResponse' '400': description: Invalid request content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Notification rule not found content: application/json: schema: $ref: '#/components/schemas/Error' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /notificationEndpoints: get: operationId: GetNotificationEndpoints tags: - NotificationEndpoints summary: List all notification endpoints parameters: - $ref: '#/components/parameters/TraceSpan' - $ref: '#/components/parameters/Offset' - $ref: '#/components/parameters/Limit' - in: query name: orgID required: true description: Only show notification endpoints that belong to specific organization ID. schema: type: string responses: '200': description: A list of notification endpoints content: application/json: schema: $ref: '#/components/schemas/NotificationEndpoints' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' post: operationId: CreateNotificationEndpoint tags: - NotificationEndpoints summary: Add a notification endpoint requestBody: description: Notification endpoint to create required: true content: application/json: schema: $ref: '#/components/schemas/PostNotificationEndpoint' responses: '201': description: Notification endpoint created content: application/json: schema: $ref: '#/components/schemas/NotificationEndpoint' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' '/notificationEndpoints/{endpointID}': get: operationId: GetNotificationEndpointsID tags: - NotificationEndpoints summary: Retrieve a notification endpoint parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: endpointID schema: type: string required: true description: The notification endpoint ID. responses: '200': description: The notification endpoint requested content: application/json: schema: $ref: '#/components/schemas/NotificationEndpoint' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' put: operationId: PutNotificationEndpointsID tags: - NotificationEndpoints summary: Update a notification endpoint requestBody: description: A new notification endpoint to replace the existing endpoint with required: true content: application/json: schema: $ref: '#/components/schemas/NotificationEndpoint' parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: endpointID schema: type: string required: true description: The notification endpoint ID. responses: '200': description: An updated notification endpoint content: application/json: schema: $ref: '#/components/schemas/NotificationEndpoint' '404': description: The notification endpoint was not found content: application/json: schema: $ref: '#/components/schemas/Error' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' patch: operationId: PatchNotificationEndpointsID tags: - NotificationEndpoints summary: Update a notification endpoint requestBody: description: Check update to apply required: true content: application/json: schema: $ref: '#/components/schemas/NotificationEndpointUpdate' parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: endpointID schema: type: string required: true description: The notification endpoint ID. responses: '200': description: An updated notification endpoint content: application/json: schema: $ref: '#/components/schemas/NotificationEndpoint' '404': description: The notification endpoint was not found content: application/json: schema: $ref: '#/components/schemas/Error' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' delete: operationId: DeleteNotificationEndpointsID tags: - NotificationEndpoints summary: Delete a notification endpoint parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: endpointID schema: type: string required: true description: The notification endpoint ID. responses: '204': description: Delete has been accepted '404': description: The endpoint was not found content: application/json: schema: $ref: '#/components/schemas/Error' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' '/notificationEndpoints/{endpointID}/labels': get: operationId: GetNotificationEndpointsIDLabels tags: - NotificationEndpoints summary: List all labels for a notification endpoint parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: endpointID schema: type: string required: true description: The notification endpoint ID. responses: '200': description: A list of all labels for a notification endpoint content: application/json: schema: $ref: '#/components/schemas/LabelsResponse' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' post: operationId: PostNotificationEndpointIDLabels tags: - NotificationEndpoints summary: Add a label to a notification endpoint parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: endpointID schema: type: string required: true description: The notification endpoint ID. requestBody: description: Label to add required: true content: application/json: schema: $ref: '#/components/schemas/LabelMapping' responses: '201': description: The label was added to the notification endpoint content: application/json: schema: $ref: '#/components/schemas/LabelResponse' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' '/notificationEndpoints/{endpointID}/labels/{labelID}': delete: operationId: DeleteNotificationEndpointsIDLabelsID tags: - NotificationEndpoints summary: Delete a label from a notification endpoint parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: endpointID schema: type: string required: true description: The notification endpoint ID. - in: path name: labelID schema: type: string required: true description: The ID of the label to delete. responses: '204': description: Delete has been accepted '404': description: Endpoint or label not found content: application/json: schema: $ref: '#/components/schemas/Error' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /debug/pprof/all: get: operationId: GetDebugPprofAllProfiles tags: - Debug - System information endpoints summary: Retrieve all runtime profiles description: | Collects samples and returns reports for the following [Go runtime profiles](https://pkg.go.dev/runtime/pprof): - **allocs**: All past memory allocations - **block**: Stack traces that led to blocking on synchronization primitives - **cpu**: (Optional) Program counters sampled from the executing stack. Include by passing the `cpu` query parameter with a [duration](https://docs.influxdata.com/influxdb/v2.3/reference/glossary/#duration) value. Equivalent to the report from [`GET /debug/pprof/profile?seconds=NUMBER_OF_SECONDS`](#operation/GetDebugPprofProfile). - **goroutine**: All current goroutines - **heap**: Memory allocations for live objects - **mutex**: Holders of contended mutexes - **threadcreate**: Stack traces that led to the creation of new OS threads x-codeSamples: - lang: Shell label: 'Shell: Get all profiles' source: | # Download and extract a `tar.gz` of all profiles after 10 seconds of CPU sampling. curl "http://localhost:8086/debug/pprof/all?cpu=10s" | tar -xz # x profiles/cpu.pb.gz # x profiles/goroutine.pb.gz # x profiles/block.pb.gz # x profiles/mutex.pb.gz # x profiles/heap.pb.gz # x profiles/allocs.pb.gz # x profiles/threadcreate.pb.gz # Analyze a profile. go tool pprof profiles/heap.pb.gz - lang: Shell label: 'Shell: Get all profiles except CPU' source: | # Download and extract a `tar.gz` of all profiles except CPU. curl http://localhost:8086/debug/pprof/all | tar -xz # x profiles/goroutine.pb.gz # x profiles/block.pb.gz # x profiles/mutex.pb.gz # x profiles/heap.pb.gz # x profiles/allocs.pb.gz # x profiles/threadcreate.pb.gz # Analyze a profile. go tool pprof profiles/heap.pb.gz servers: - url: '' parameters: - $ref: '#/components/parameters/TraceSpan' - in: query name: cpu description: | Collects and returns CPU profiling data for the specified [duration](https://docs.influxdata.com/influxdb/v2.3/reference/glossary/#duration). schema: type: string format: duration externalDocs: description: InfluxDB duration url: 'https://docs.influxdata.com/influxdb/latest/reference/glossary/#duration' responses: '200': description: | [Go runtime profile](https://pkg.go.dev/runtime/pprof) reports. content: application/octet-stream: schema: description: | GZIP compressed TAR file (`.tar.gz`) that contains [Go runtime profile](https://pkg.go.dev/runtime/pprof) reports. type: string format: binary externalDocs: description: Golang pprof package url: 'https://pkg.go.dev/net/http/pprof' default: description: Unexpected error $ref: '#/components/responses/GeneralServerError' /debug/pprof/allocs: get: operationId: GetDebugPprofAllocs tags: - Debug - System information endpoints summary: Retrieve the memory allocations runtime profile description: | Returns a [Go runtime profile](https://pkg.go.dev/runtime/pprof) report of all past memory allocations. **allocs** is the same as the **heap** profile, but changes the default [pprof](https://pkg.go.dev/runtime/pprof) display to __-alloc_space__, the total number of bytes allocated since the program began (including garbage-collected bytes). x-codeSamples: - lang: Shell label: 'Shell: go tool pprof' source: | # Analyze the profile in interactive mode. go tool pprof http://localhost:8086/debug/pprof/allocs # `pprof` returns the following prompt: # Entering interactive mode (type "help" for commands, "o" for options) # (pprof) # At the prompt, get the top N memory allocations. (pprof) top10 servers: - url: '' parameters: - $ref: '#/components/parameters/TraceSpan' - in: query name: debug description: | - `0`: (Default) Return the report as a gzip-compressed protocol buffer. - `1`: Return a response body with the report formatted as human-readable text. The report contains comments that translate addresses to function names and line numbers for debugging. `debug=1` is mutually exclusive with the `seconds` query parameter. schema: type: integer format: int64 enum: - 0 - 1 - in: query name: seconds description: | Number of seconds to collect statistics. `seconds` is mutually exclusive with `debug=1`. schema: type: string format: int64 responses: '200': description: | [Go runtime profile](https://pkg.go.dev/runtime/pprof) report compatible with [pprof](https://github.com/google/pprof) analysis and visualization tools. If debug is enabled (`?debug=1`), response body contains a human-readable profile. content: application/octet-stream: schema: description: | [Go runtime profile](https://pkg.go.dev/runtime/pprof) report in protocol buffer format. type: string format: binary externalDocs: description: Golang pprof package url: 'https://pkg.go.dev/net/http/pprof' text/plain: schema: description: | Response body contains a report formatted in plain text. The report contains comments that translate addresses to function names and line numbers for debugging. type: string format: Go runtime profile externalDocs: description: Golang pprof package url: 'https://pkg.go.dev/net/http/pprof' default: description: Unexpected error $ref: '#/components/responses/GeneralServerError' /debug/pprof/block: get: operationId: GetDebugPprofBlock tags: - Debug - System information endpoints summary: Retrieve the block runtime profile description: | Collects samples and returns a [Go runtime profile](https://pkg.go.dev/runtime/pprof) report of stack traces that led to blocking on synchronization primitives. x-codeSamples: - lang: Shell label: 'Shell: go tool pprof' source: | # Analyze the profile in interactive mode. go tool pprof http://localhost:8086/debug/pprof/block # `pprof` returns the following prompt: # Entering interactive mode (type "help" for commands, "o" for options) # (pprof) # At the prompt, get the top N entries. (pprof) top10 servers: - url: '' parameters: - $ref: '#/components/parameters/TraceSpan' - in: query name: debug description: | - `0`: (Default) Return the report as a gzip-compressed protocol buffer. - `1`: Return a response body with the report formatted as human-readable text. The report contains comments that translate addresses to function names and line numbers for debugging. `debug=1` is mutually exclusive with the `seconds` query parameter. schema: type: integer format: int64 enum: - 0 - 1 - in: query name: seconds description: | Number of seconds to collect statistics. `seconds` is mutually exclusive with `debug=1`. schema: type: string format: int64 responses: '200': description: | [Go runtime profile](https://pkg.go.dev/runtime/pprof) report compatible with [pprof](https://github.com/google/pprof) analysis and visualization tools. If debug is enabled (`?debug=1`), response body contains a human-readable profile. content: application/octet-stream: schema: description: | [Go runtime profile](https://pkg.go.dev/runtime/pprof) report in protocol buffer format. type: string format: binary externalDocs: description: Golang pprof package url: 'https://pkg.go.dev/net/http/pprof' text/plain: schema: description: | Response body contains a report formatted in plain text. The report contains comments that translate addresses to function names and line numbers for debugging. type: string format: Go runtime profile externalDocs: description: Golang pprof package url: 'https://pkg.go.dev/net/http/pprof' default: description: Unexpected error $ref: '#/components/responses/GeneralServerError' /debug/pprof/cmdline: get: operationId: GetDebugPprofCmdline tags: - Debug - System information endpoints summary: Retrieve the command line invocation description: | Returns the command line that invoked InfluxDB. servers: - url: '' parameters: - $ref: '#/components/parameters/TraceSpan' responses: '200': description: Command line invocation. content: text/plain: schema: type: string format: Command line default: description: Unexpected error $ref: '#/components/responses/GeneralServerError' /debug/pprof/goroutine: get: operationId: GetDebugPprofGoroutine tags: - Debug - System information endpoints summary: Retrieve the goroutines runtime profile description: | Collects statistics and returns a [Go runtime profile](https://pkg.go.dev/runtime/pprof) report of all current goroutines. x-codeSamples: - lang: Shell label: 'Shell: go tool pprof' source: | # Analyze the profile in interactive mode. go tool pprof http://localhost:8086/debug/pprof/goroutine # `pprof` returns the following prompt: # Entering interactive mode (type "help" for commands, "o" for options) # (pprof) # At the prompt, get the top N entries. (pprof) top10 servers: - url: '' parameters: - $ref: '#/components/parameters/TraceSpan' - in: query name: debug description: | - `0`: (Default) Return the report as a gzip-compressed protocol buffer. - `1`: Return a response body with the report formatted as human-readable text with comments that translate addresses to function names and line numbers for debugging. `debug=1` is mutually exclusive with the `seconds` query parameter. schema: type: integer format: int64 enum: - 0 - 1 - in: query name: seconds description: | Number of seconds to collect statistics. `seconds` is mutually exclusive with `debug=1`. schema: type: string format: int64 responses: '200': description: | [Go runtime profile](https://pkg.go.dev/runtime/pprof) report compatible with [pprof](https://github.com/google/pprof) analysis and visualization tools. If debug is enabled (`?debug=1`), response body contains a human-readable profile. content: application/octet-stream: schema: description: | [Go runtime profile](https://pkg.go.dev/runtime/pprof) report in protocol buffer format. type: string format: binary externalDocs: description: Golang pprof package url: 'https://pkg.go.dev/net/http/pprof' text/plain: schema: description: | Response body contains a report formatted in plain text. The report contains comments that translate addresses to function names and line numbers for debugging. type: string format: Go runtime profile externalDocs: description: Golang pprof package url: 'https://pkg.go.dev/net/http/pprof' default: description: Unexpected error $ref: '#/components/responses/GeneralServerError' /debug/pprof/heap: get: operationId: GetDebugPprofHeap tags: - Debug - System information endpoints summary: Retrieve the heap runtime profile description: | Collects statistics and returns a [Go runtime profile](https://pkg.go.dev/runtime/pprof) report of memory allocations for live objects. To run **garbage collection** before sampling, pass the `gc` query parameter with a value of `1`. x-codeSamples: - lang: Shell label: 'Shell: go tool pprof' source: | # Analyze the profile in interactive mode. go tool pprof http://localhost:8086/debug/pprof/heap # `pprof` returns the following prompt: # Entering interactive mode (type "help" for commands, "o" for options) # (pprof) # At the prompt, get the top N memory-intensive nodes. (pprof) top10 # pprof displays the list: # Showing nodes accounting for 142.46MB, 85.43% of 166.75MB total # Dropped 895 nodes (cum <= 0.83MB) # Showing top 10 nodes out of 143 servers: - url: '' parameters: - $ref: '#/components/parameters/TraceSpan' - in: query name: debug description: | - `0`: (Default) Return the report as a gzip-compressed protocol buffer. - `1`: Return a response body with the report formatted as human-readable text. The report contains comments that translate addresses to function names and line numbers for debugging. `debug=1` is mutually exclusive with the `seconds` query parameter. schema: type: integer format: int64 enum: - 0 - 1 - in: query name: seconds description: | Number of seconds to collect statistics. `seconds` is mutually exclusive with `debug=1`. schema: type: string format: int64 - in: query name: gc description: | - `0`: (Default) don't force garbage collection before sampling. - `1`: Force garbage collection before sampling. schema: type: integer format: int64 enum: - 0 - 1 responses: '200': description: | [Go runtime profile](https://pkg.go.dev/runtime/pprof) report compatible with [pprof](https://github.com/google/pprof) analysis and visualization tools. If debug is enabled (`?debug=1`), response body contains a human-readable profile. content: application/octet-stream: schema: description: | [Go runtime profile](https://pkg.go.dev/runtime/pprof) report in protocol buffer format. type: string format: binary externalDocs: description: Golang pprof package url: 'https://pkg.go.dev/net/http/pprof' text/plain: schema: description: | Response body contains a report formatted in plain text. The report contains comments that translate addresses to function names and line numbers for debugging. type: string format: Go runtime profile externalDocs: description: Golang pprof package url: 'https://pkg.go.dev/net/http/pprof' examples: profileDebugResponse: summary: Profile in plain text value: "heap profile: 12431: 137356528 [149885081: 846795139976] @ heap/8192\n23: 17711104 [46: 35422208] @ 0x4c6df65 0x4ce03ec 0x4cdf3c5 0x4c6f4db 0x4c9edbc 0x4bdefb3 0x4bf822a 0x567d158 0x567ced9 0x406c0a1\n#\t0x4c6df64\tgithub.com/influxdata/influxdb/v2/tsdb/engine/tsm1.(*entry).add+0x1a4\t\t\t\t\t/Users/me/github/influxdb/tsdb/engine/tsm1/cache.go:97\n#\t0x4ce03eb\tgithub.com/influxdata/influxdb/v2/tsdb/engine/tsm1.(*partition).write+0x2ab\t\t\t\t/Users/me/github/influxdb/tsdb/engine/tsm1/ring.go:229\n#\t0x4cdf3c4\tgithub.com/influxdata/influxdb/v2/tsdb/engine/tsm1.(*ring).write+0xa4\t\t\t\t\t/Users/me/github/influxdb/tsdb/engine/tsm1/ring.go:95\n#\t0x4c6f4da\tgithub.com/influxdata/influxdb/v2/tsdb/engine/tsm1.(*Cache).WriteMulti+0x31a\t\t\t\t/Users/me/github/influxdb/tsdb/engine/tsm1/cache.go:343\n" default: description: Unexpected error $ref: '#/components/responses/GeneralServerError' /debug/pprof/mutex: get: operationId: GetDebugPprofMutex tags: - Debug - System information endpoints summary: Retrieve the mutual exclusion (mutex) runtime profile description: | Collects statistics and returns a [Go runtime profile](https://pkg.go.dev/runtime/pprof) report of lock contentions. The profile contains stack traces of holders of contended mutual exclusions (mutexes). x-codeSamples: - lang: Shell label: 'Shell: go tool pprof' source: | # Analyze the profile in interactive mode. go tool pprof http://localhost:8086/debug/pprof/mutex # `pprof` returns the following prompt: # Entering interactive mode (type "help" for commands, "o" for options) # (pprof) # At the prompt, get the top N entries. (pprof) top10 servers: - url: '' parameters: - $ref: '#/components/parameters/TraceSpan' - in: query name: debug description: | - `0`: (Default) Return the report as a gzip-compressed protocol buffer. - `1`: Return a response body with the report formatted as human-readable text. The report contains comments that translate addresses to function names and line numbers for debugging. `debug=1` is mutually exclusive with the `seconds` query parameter. schema: type: integer format: int64 enum: - 0 - 1 - in: query name: seconds description: | Number of seconds to collect statistics. `seconds` is mutually exclusive with `debug=1`. schema: type: string format: int64 responses: '200': description: | [Go runtime profile](https://pkg.go.dev/runtime/pprof) report compatible with [pprof](https://github.com/google/pprof) analysis and visualization tools. If debug is enabled (`?debug=1`), response body contains a human-readable profile. content: application/octet-stream: schema: description: | [Go runtime profile](https://pkg.go.dev/runtime/pprof) report in protocol buffer format. type: string format: binary externalDocs: description: Golang pprof package url: 'https://pkg.go.dev/net/http/pprof' text/plain: schema: description: | Response body contains a report formatted in plain text. The report contains comments that translate addresses to function names and line numbers for debugging. type: string format: Go runtime profile externalDocs: description: Golang pprof package url: 'https://pkg.go.dev/net/http/pprof' default: description: Unexpected error $ref: '#/components/responses/GeneralServerError' /debug/pprof/profile: get: operationId: GetDebugPprofProfile tags: - Debug - System information endpoints summary: Retrieve the CPU runtime profile description: | Collects statistics and returns a [Go runtime profile](https://pkg.go.dev/runtime/pprof) report of program counters on the executing stack. x-codeSamples: - lang: Shell label: 'Shell: go tool pprof' source: | # Download the profile report. curl http://localhost:8086/debug/pprof/profile -o cpu # Analyze the profile in interactive mode. go tool pprof ./cpu # At the prompt, get the top N functions most often running # or waiting during the sample period. (pprof) top10 servers: - url: '' parameters: - $ref: '#/components/parameters/TraceSpan' - in: query name: seconds description: Number of seconds to collect profile data. Default is `30` seconds. schema: type: string format: int64 responses: '200': description: | [Go runtime profile](https://pkg.go.dev/runtime/pprof) report compatible with [pprof](https://github.com/google/pprof) analysis and visualization tools. content: application/octet-stream: schema: description: | [Go runtime profile](https://pkg.go.dev/runtime/pprof) report in protocol buffer format. type: string format: binary externalDocs: description: Golang pprof package url: 'https://pkg.go.dev/net/http/pprof' default: description: Unexpected error $ref: '#/components/responses/GeneralServerError' /debug/pprof/threadcreate: get: operationId: GetDebugPprofThreadCreate tags: - Debug - System information endpoints summary: Retrieve the threadcreate runtime profile description: | Collects statistics and returns a [Go runtime profile](https://pkg.go.dev/runtime/pprof) report of stack traces that led to the creation of new OS threads. x-codeSamples: - lang: Shell label: 'Shell: go tool pprof' source: | # Analyze the profile in interactive mode. go tool pprof http://localhost:8086/debug/pprof/threadcreate # `pprof` returns the following prompt: # Entering interactive mode (type "help" for commands, "o" for options) # (pprof) # At the prompt, get the top N entries. (pprof) top10 servers: - url: '' parameters: - $ref: '#/components/parameters/TraceSpan' - in: query name: debug description: | - `0`: (Default) Return the report as a gzip-compressed protocol buffer. - `1`: Return a response body with the report formatted as human-readable text. The report contains comments that translate addresses to function names and line numbers for debugging. `debug=1` is mutually exclusive with the `seconds` query parameter. schema: type: integer format: int64 enum: - 0 - 1 - in: query name: seconds description: | Number of seconds to collect statistics. `seconds` is mutually exclusive with `debug=1`. schema: type: string format: int64 responses: '200': description: | [Go runtime profile](https://pkg.go.dev/runtime/pprof) report compatible with [pprof](https://github.com/google/pprof) analysis and visualization tools. If debug is enabled (`?debug=1`), response body contains a human-readable profile. content: application/octet-stream: schema: description: | [Go runtime profile](https://pkg.go.dev/runtime/pprof) report in protocol buffer format. type: string format: binary externalDocs: description: Golang pprof package url: 'https://pkg.go.dev/net/http/pprof' text/plain: schema: description: | Response body contains a report formatted in plain text. The report contains comments that translate addresses to function names and line numbers for debugging. type: string format: Go runtime profile externalDocs: description: Golang pprof package url: 'https://pkg.go.dev/net/http/pprof' examples: profileDebugResponse: summary: Profile in plain text value: "threadcreate profile: total 26\n25 @\n#\t0x0\n\n1 @ 0x403dda8 0x403e54b 0x403e810 0x403a90c 0x406c0a1\n#\t0x403dda7\truntime.allocm+0xc7\t\t\t/Users/me/.gvm/gos/go1.17/src/runtime/proc.go:1877\n#\t0x403e54a\truntime.newm+0x2a\t\t\t/Users/me/.gvm/gos/go1.17/src/runtime/proc.go:2201\n#\t0x403e80f\truntime.startTemplateThread+0x8f\t/Users/me/.gvm/gos/go1.17/src/runtime/proc.go:2271\n#\t0x403a90b\truntime.main+0x1cb\t\t\t/Users/me/.gvm/gos/go1.17/src/runtime/proc.go:234\n" default: description: Unexpected error $ref: '#/components/responses/GeneralServerError' /debug/pprof/trace: get: operationId: GetDebugPprofTrace tags: - Debug - System information endpoints summary: Retrieve the runtime execution trace description: | Collects profile data and returns trace execution events for the current program. x-codeSamples: - lang: Shell label: 'Shell: go tool trace' source: | # Download the trace file. curl http://localhost:8086/debug/pprof/trace -o trace # Analyze the trace. go tool trace ./trace servers: - url: '' parameters: - $ref: '#/components/parameters/TraceSpan' - in: query name: seconds description: Number of seconds to collect profile data. schema: type: string format: int64 responses: '200': description: | [Trace file](https://pkg.go.dev/runtime/trace) compatible with the [Golang `trace` command](https://pkg.go.dev/cmd/trace). content: application/octet-stream: schema: type: string format: binary externalDocs: description: Golang trace package url: 'https://pkg.go.dev/runtime/trace' default: description: Unexpected error $ref: '#/components/responses/GeneralServerError' /health: get: operationId: GetHealth tags: - Health - System information endpoints summary: Retrieve the health of the instance description: Returns the health of the instance. servers: - url: '' parameters: - $ref: '#/components/parameters/TraceSpan' responses: '200': description: | The instance is healthy. The response body contains the health check items and status. content: application/json: schema: $ref: '#/components/schemas/HealthCheck' '503': description: The instance is unhealthy. content: application/json: schema: $ref: '#/components/schemas/HealthCheck' default: description: Unexpected error $ref: '#/components/responses/GeneralServerError' /metrics: get: operationId: GetMetrics tags: - Metrics - System information endpoints summary: Retrieve workload performance metrics description: | Returns metrics about the workload performance of an InfluxDB instance. Use this endpoint to get performance, resource, and usage metrics. #### Related guides - For the list of metrics categories, see [InfluxDB OSS metrics](https://docs.influxdata.com/influxdb/v2.3/reference/internals/metrics/). - Learn how to use InfluxDB to [scrape Prometheus metrics](https://docs.influxdata.com/influxdb/v2.3/write-data/developer-tools/scrape-prometheus-metrics/). - Learn how InfluxDB [parses the Prometheus exposition format](https://docs.influxdata.com/influxdb/v2.3/reference/prometheus-metrics/). servers: - url: '' parameters: - $ref: '#/components/parameters/TraceSpan' responses: '200': description: | Success. The response body contains metrics in [Prometheus plain-text exposition format](https://prometheus.io/docs/instrumenting/exposition_formats) Metrics contain a name, an optional set of key-value pairs, and a value. The following descriptors precede each metric: - `HELP`: description of the metric - `TYPE`: [Prometheus metric type](https://prometheus.io/docs/concepts/metric_types/) (`counter`, `gauge`, `histogram`, or `summary`) content: text/plain: schema: type: string format: Prometheus text-based exposition externalDocs: description: Prometheus exposition formats url: 'https://prometheus.io/docs/instrumenting/exposition_formats' examples: expositionResponse: summary: Metrics in plain text value: | # HELP go_threads Number of OS threads created. # TYPE go_threads gauge go_threads 19 # HELP http_api_request_duration_seconds Time taken to respond to HTTP request # TYPE http_api_request_duration_seconds histogram http_api_request_duration_seconds_bucket{handler="platform",method="GET",path="/:fallback_path",response_code="200",status="2XX",user_agent="curl",le="0.005"} 4 http_api_request_duration_seconds_bucket{handler="platform",method="GET",path="/:fallback_path",response_code="200",status="2XX",user_agent="curl",le="0.01"} 4 http_api_request_duration_seconds_bucket{handler="platform",method="GET",path="/:fallback_path",response_code="200",status="2XX",user_agent="curl",le="0.025"} 5 default: description: Unexpected error $ref: '#/components/responses/GeneralServerError' /ready: get: operationId: GetReady tags: - Ready - System information endpoints summary: Get the readiness of an instance at startup servers: - url: '' parameters: - $ref: '#/components/parameters/TraceSpan' responses: '200': description: The instance is ready content: application/json: schema: $ref: '#/components/schemas/Ready' default: description: Unexpected error $ref: '#/components/responses/GeneralServerError' /users: get: operationId: GetUsers tags: - Security and access endpoints - Users summary: List users description: | Retrieves a list of users. Default limit is `20`. To limit which users are returned, pass query parameters in your request. #### Required permissions - `read-user USER_ID` permission. `USER_ID` is the ID of the user that you want to list. - InfluxDB OSS requires an _[operator token](https://docs.influxdata.com/influxdb/latest/security/tokens/#operator-token))_ to list all users. parameters: - $ref: '#/components/parameters/TraceSpan' - $ref: '#/components/parameters/Offset' - $ref: '#/components/parameters/Limit' - $ref: '#/components/parameters/After' - in: query name: name schema: type: string - in: query name: id schema: type: string responses: '200': description: Success. The response contains a list of `users`. content: application/json: schema: $ref: '#/components/schemas/Users' '401': description: | Unauthorized. content: application/json: schema: $ref: '#/components/schemas/Error' examples: tokenNotAuthorized: summary: 'API token doesn''t have `write:users` permission' value: code: unauthorized message: 'write:users/09d8462ce0764000 is unauthorized' '422': description: | Unprocessable entity. The error may indicate one of the following problems: - The request body isn't valid--the request is well-formed, but InfluxDB can't process it due to semantic errors. - You passed a parameter combination that InfluxDB doesn't support. content: application/json: schema: $ref: '#/components/schemas/Error' '500': $ref: '#/components/responses/InternalServerError' default: description: Unexpected error $ref: '#/components/responses/GeneralServerError' post: operationId: PostUsers tags: - Users summary: Create a user description: | Creates a user and returns the newly created user. #### Required permissions - `write-users`. Requires an InfluxDB API **Op** token. parameters: - $ref: '#/components/parameters/TraceSpan' requestBody: description: The user to create. required: true content: application/json: schema: $ref: '#/components/schemas/User' responses: '201': description: | Success. The response contains the newly created user. content: application/json: schema: $ref: '#/components/schemas/UserResponse' '401': description: | Unauthorized. content: application/json: schema: $ref: '#/components/schemas/Error' examples: tokenNotAuthorized: summary: 'API token doesn''t have `write:users` permission' value: code: unauthorized message: 'write:users/09d8462ce0764000 is unauthorized' '422': description: | Unprocessable entity. The error may indicate one of the following problems: - The request body isn't valid--the request is well-formed, but InfluxDB can't process it due to semantic errors. - You passed a parameter combination that InfluxDB doesn't support. content: application/json: schema: $ref: '#/components/schemas/Error' '500': $ref: '#/components/responses/InternalServerError' default: description: Unexpected error $ref: '#/components/responses/GeneralServerError' x-codeSamples: - label: 'cURL: create a user and set a password' lang: Shell source: | # Create the user and assign the user ID to a variable. USER_ID=$(curl --request POST \ "http://localhost:8086/api/v2/users/" \ --header "Authorization: Token INFLUX_OP_TOKEN" \ --header 'Content-type: application/json' \ --data-binary @- << EOF | jq -r '.id' { "name": "USER_NAME", "status": "active" } EOF ) # Pass the user ID and a password to set the password for the user. curl request POST "http://localhost:8086/api/v2/users/$USER_ID/password/" \ --header "Authorization: Token INFLUX_OP_TOKEN" \ --header 'Content-type: application/json' \ --data '{ "password": "USER_PASSWORD" }' '/users/{userID}': get: operationId: GetUsersID tags: - Security and access endpoints - Users summary: Retrieve a user parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: userID schema: type: string required: true description: The user ID. responses: '200': description: User details content: application/json: schema: $ref: '#/components/schemas/UserResponse' default: description: Unexpected error $ref: '#/components/responses/GeneralServerError' patch: operationId: PatchUsersID tags: - Users summary: Update a user requestBody: description: User update to apply required: true content: application/json: schema: $ref: '#/components/schemas/User' parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: userID schema: type: string required: true description: The ID of the user to update. responses: '200': description: User updated content: application/json: schema: $ref: '#/components/schemas/UserResponse' default: description: Unexpected error $ref: '#/components/responses/GeneralServerError' delete: operationId: DeleteUsersID tags: - Users summary: Delete a user parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: userID schema: type: string required: true description: The ID of the user to delete. responses: '204': description: User deleted default: description: Unexpected error $ref: '#/components/responses/GeneralServerError' /setup: get: operationId: GetSetup tags: - Setup summary: 'Check if database has default user, org, bucket' description: 'Returns `true` if no default user, organization, or bucket has been created.' parameters: - $ref: '#/components/parameters/TraceSpan' responses: '200': description: allowed true or false content: application/json: schema: $ref: '#/components/schemas/IsOnboarding' post: operationId: PostSetup tags: - Setup summary: 'Set up initial user, org and bucket' description: 'Post an onboarding request to set up initial user, org and bucket.' parameters: - $ref: '#/components/parameters/TraceSpan' requestBody: description: Source to create required: true content: application/json: schema: $ref: '#/components/schemas/OnboardingRequest' responses: '201': description: 'Created default user, bucket, org' content: application/json: schema: $ref: '#/components/schemas/OnboardingResponse' default: description: Unexpected error $ref: '#/components/responses/GeneralServerError' /authorizations: get: operationId: GetAuthorizations tags: - Authorizations - Security and access endpoints summary: List authorizations description: | Retrieves a list of authorizations. To limit which authorizations are returned, pass query parameters in your request. If no query parameters are passed, InfluxDB returns all authorizations. #### InfluxDB Cloud - Doesn't expose [API token](https://docs.influxdata.com/influxdb/v2.3/reference/glossary/#token) values in `GET /api/v2/authorizations` responses; returns `token: redacted` for all authorizations. #### InfluxDB OSS - Returns [API token](https://docs.influxdata.com/influxdb/v2.3/reference/glossary/#token) values in authorizations. - Requires an _[operator token](https://docs.influxdata.com/influxdb/latest/security/tokens/#operator-token))_ to view authorizations. #### Related guides - [View tokens](https://docs.influxdata.com/influxdb/v2.3/security/tokens/view-tokens/). parameters: - $ref: '#/components/parameters/TraceSpan' - in: query name: userID schema: type: string description: | A user ID. Only returns authorizations scoped to this user. - in: query name: user schema: type: string description: | A user name. Only returns authorizations scoped to this user. - in: query name: orgID schema: type: string description: An organization ID. Only returns authorizations that belong to this organization. - in: query name: org schema: type: string description: | An organization name. Only returns authorizations that belong to this organization. responses: '200': description: Success. The response body contains a list of authorizations. content: application/json: schema: $ref: '#/components/schemas/Authorizations' '400': description: Invalid request $ref: '#/components/responses/GeneralServerError' '401': $ref: '#/components/responses/AuthorizationError' '500': $ref: '#/components/responses/InternalServerError' default: description: Unexpected error $ref: '#/components/responses/GeneralServerError' post: operationId: PostAuthorizations tags: - Authorizations summary: Create an authorization description: | Creates an authorization and returns the newly created authorization. Use this endpoint to generate an API token with resource permissions. A permission sets `read` or `write` access to a `type` of resource. Keep the following in mind when creating and updating authorizations: - A permission with a resource `id` applies only to the resource specified by the ID. - A permission that doesn't have a resource `id` applies to all resources of resource `type`. - To scope an authorization to a specific user, provide the `userID` property. #### Related guides - [Create a token](https://docs.influxdata.com/influxdb/v2.3/security/tokens/create-token/). parameters: - $ref: '#/components/parameters/TraceSpan' requestBody: description: The authorization to create. required: true content: application/json: schema: $ref: '#/components/schemas/AuthorizationPostRequest' responses: '201': description: Created. The response body contains the newly created authorization. content: application/json: schema: $ref: '#/components/schemas/Authorization' '400': description: Invalid request $ref: '#/components/responses/GeneralServerError' '401': $ref: '#/components/responses/AuthorizationError' '500': $ref: '#/components/responses/InternalServerError' default: description: Unexpected error $ref: '#/components/responses/GeneralServerError' x-codeSample: - lang: Shell label: 'cURL: Create auth to read all buckets' source: | curl --request POST \ "http://localhost:8086/api/v2/authorizations" \ --header "Authorization: Token INFLUX_TOKEN" \ --header 'Content-Type: application/json' \ --data @- << EOF { "orgID": "INFLUX_ORG_ID", "description": "iot_users read buckets", "permissions": [ {"action": "read", "resource": {"type": "buckets"}} ] } EOF - lang: Shell - label: 'cURL: Create auth scoped to a user' - source: | curl --request POST \ "http://localhost:8086/api/v2/authorizations" \ --header "Authorization: Token INFLUX_TOKEN" \ --header 'Content-Type: application/json' \ --data @- << EOF { "orgID": "INFLUX_ORG_ID", "userID": "INFLUX_USER_ID", "description": "iot_user write to bucket", "permissions": [ {"action": "write", "resource": {"type": "buckets", "id: "INFLUX_BUCKET_ID"}} ] } EOF '/authorizations/{authID}': get: operationId: GetAuthorizationsID tags: - Authorizations - Security and access endpoints summary: Retrieve an authorization parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: authID schema: type: string required: true description: The ID of the authorization to get. responses: '200': description: Authorization details content: application/json: schema: $ref: '#/components/schemas/Authorization' default: description: Unexpected error $ref: '#/components/responses/GeneralServerError' patch: operationId: PatchAuthorizationsID tags: - Authorizations summary: Update an authorization to be active or inactive requestBody: description: Authorization to update required: true content: application/json: schema: $ref: '#/components/schemas/AuthorizationUpdateRequest' parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: authID schema: type: string required: true description: The ID of the authorization to update. responses: '200': description: The active or inactive authorization content: application/json: schema: $ref: '#/components/schemas/Authorization' default: description: Unexpected error $ref: '#/components/responses/GeneralServerError' delete: operationId: DeleteAuthorizationsID tags: - Authorizations summary: Delete an authorization parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: authID schema: type: string required: true description: The ID of the authorization to delete. responses: '204': description: Authorization deleted default: description: Unexpected error $ref: '#/components/responses/GeneralServerError' /variables: get: operationId: GetVariables tags: - Variables summary: List all variables parameters: - $ref: '#/components/parameters/TraceSpan' - in: query name: org description: The name of the organization. schema: type: string - in: query name: orgID description: The organization ID. schema: type: string responses: '200': description: A list of variables for an organization content: application/json: schema: $ref: '#/components/schemas/Variables' '400': description: Invalid request $ref: '#/components/responses/GeneralServerError' default: description: Internal server error $ref: '#/components/responses/GeneralServerError' post: operationId: PostVariables summary: Create a variable tags: - Variables parameters: - $ref: '#/components/parameters/TraceSpan' requestBody: description: Variable to create required: true content: application/json: schema: $ref: '#/components/schemas/Variable' responses: '201': description: Variable created content: application/json: schema: $ref: '#/components/schemas/Variable' default: description: Internal server error $ref: '#/components/responses/GeneralServerError' '/variables/{variableID}': get: operationId: GetVariablesID tags: - Variables summary: Retrieve a variable parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: variableID required: true schema: type: string description: The variable ID. responses: '200': description: Variable found content: application/json: schema: $ref: '#/components/schemas/Variable' '404': description: Variable not found $ref: '#/components/responses/GeneralServerError' default: description: Internal server error $ref: '#/components/responses/GeneralServerError' delete: operationId: DeleteVariablesID tags: - Variables summary: Delete a variable parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: variableID required: true schema: type: string description: The variable ID. responses: '204': description: Variable deleted default: description: Internal server error $ref: '#/components/responses/GeneralServerError' patch: operationId: PatchVariablesID summary: Update a variable tags: - Variables parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: variableID required: true schema: type: string description: The variable ID. requestBody: description: Variable update to apply required: true content: application/json: schema: $ref: '#/components/schemas/Variable' responses: '200': description: Variable updated content: application/json: schema: $ref: '#/components/schemas/Variable' default: description: Internal server error $ref: '#/components/responses/GeneralServerError' put: operationId: PutVariablesID summary: Replace a variable tags: - Variables parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: variableID required: true schema: type: string description: The variable ID. requestBody: description: Variable to replace required: true content: application/json: schema: $ref: '#/components/schemas/Variable' responses: '200': description: Variable updated content: application/json: schema: $ref: '#/components/schemas/Variable' default: description: Internal server error $ref: '#/components/responses/GeneralServerError' /sources: post: operationId: PostSources tags: - Sources summary: Create a source parameters: - $ref: '#/components/parameters/TraceSpan' requestBody: description: Source to create required: true content: application/json: schema: $ref: '#/components/schemas/Source' responses: '201': description: Created Source content: application/json: schema: $ref: '#/components/schemas/Source' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' get: operationId: GetSources tags: - Sources summary: List all sources parameters: - $ref: '#/components/parameters/TraceSpan' - in: query name: org description: The name of the organization. schema: type: string responses: '200': description: A list of sources content: application/json: schema: $ref: '#/components/schemas/Sources' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' '/sources/{sourceID}': delete: operationId: DeleteSourcesID tags: - Sources summary: Delete a source parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: sourceID schema: type: string required: true description: The source ID. responses: '204': description: Delete has been accepted '404': description: View not found content: application/json: schema: $ref: '#/components/schemas/Error' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' patch: operationId: PatchSourcesID tags: - Sources summary: Update a Source parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: sourceID schema: type: string required: true description: The source ID. requestBody: description: Source update required: true content: application/json: schema: $ref: '#/components/schemas/Source' responses: '200': description: Created Source content: application/json: schema: $ref: '#/components/schemas/Source' '404': description: Source not found content: application/json: schema: $ref: '#/components/schemas/Error' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' get: operationId: GetSourcesID tags: - Sources summary: Retrieve a source parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: sourceID schema: type: string required: true description: The source ID. responses: '200': description: A source content: application/json: schema: $ref: '#/components/schemas/Source' '404': description: Source not found content: application/json: schema: $ref: '#/components/schemas/Error' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' '/sources/{sourceID}/health': get: operationId: GetSourcesIDHealth tags: - Sources summary: Get the health of a source parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: sourceID schema: type: string required: true description: The source ID. responses: '200': description: The source is healthy content: application/json: schema: $ref: '#/components/schemas/HealthCheck' '503': description: The source is not healthy content: application/json: schema: $ref: '#/components/schemas/HealthCheck' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' '/sources/{sourceID}/buckets': get: operationId: GetSourcesIDBuckets tags: - Sources - Buckets summary: Get buckets in a source parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: sourceID schema: type: string required: true description: The source ID. - in: query name: org description: The name of the organization. schema: type: string responses: '200': description: A source content: application/json: schema: $ref: '#/components/schemas/Buckets' '404': description: Source not found content: application/json: schema: $ref: '#/components/schemas/Error' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /scrapers: get: operationId: GetScrapers tags: - Scraper Targets summary: List all scraper targets parameters: - $ref: '#/components/parameters/TraceSpan' - in: query name: name description: Specifies the name of the scraper target. schema: type: string - in: query name: id description: 'List of scraper target IDs to return. If both `id` and `owner` are specified, only `id` is used.' schema: type: array items: type: string - in: query name: orgID description: Specifies the organization ID of the scraper target. schema: type: string - in: query name: org description: Specifies the organization name of the scraper target. schema: type: string responses: '200': description: All scraper targets content: application/json: schema: $ref: '#/components/schemas/ScraperTargetResponses' post: operationId: PostScrapers summary: Create a scraper target tags: - Scraper Targets parameters: - $ref: '#/components/parameters/TraceSpan' requestBody: description: Scraper target to create required: true content: application/json: schema: $ref: '#/components/schemas/ScraperTargetRequest' responses: '201': description: Scraper target created content: application/json: schema: $ref: '#/components/schemas/ScraperTargetResponse' default: description: Internal server error content: application/json: schema: $ref: '#/components/schemas/Error' '/scrapers/{scraperTargetID}': get: operationId: GetScrapersID tags: - Scraper Targets summary: Retrieve a scraper target parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: scraperTargetID required: true schema: type: string description: The identifier of the scraper target. responses: '200': description: The scraper target content: application/json: schema: $ref: '#/components/schemas/ScraperTargetResponse' default: description: Internal server error content: application/json: schema: $ref: '#/components/schemas/Error' delete: operationId: DeleteScrapersID tags: - Scraper Targets summary: Delete a scraper target parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: scraperTargetID required: true schema: type: string description: The identifier of the scraper target. responses: '204': description: Scraper target deleted default: description: Internal server error content: application/json: schema: $ref: '#/components/schemas/Error' patch: operationId: PatchScrapersID summary: Update a scraper target tags: - Scraper Targets parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: scraperTargetID required: true schema: type: string description: The identifier of the scraper target. requestBody: description: Scraper target update to apply required: true content: application/json: schema: $ref: '#/components/schemas/ScraperTargetRequest' responses: '200': description: Scraper target updated content: application/json: schema: $ref: '#/components/schemas/ScraperTargetResponse' default: description: Internal server error content: application/json: schema: $ref: '#/components/schemas/Error' '/scrapers/{scraperTargetID}/labels': get: operationId: GetScrapersIDLabels tags: - Scraper Targets summary: List all labels for a scraper target parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: scraperTargetID schema: type: string required: true description: The scraper target ID. responses: '200': description: A list of labels for a scraper target. content: application/json: schema: $ref: '#/components/schemas/LabelsResponse' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' post: operationId: PostScrapersIDLabels tags: - Scraper Targets summary: Add a label to a scraper target parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: scraperTargetID schema: type: string required: true description: The scraper target ID. requestBody: description: Label to add required: true content: application/json: schema: $ref: '#/components/schemas/LabelMapping' responses: '201': description: The newly added label content: application/json: schema: $ref: '#/components/schemas/LabelResponse' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' '/scrapers/{scraperTargetID}/labels/{labelID}': delete: operationId: DeleteScrapersIDLabelsID tags: - Scraper Targets summary: Delete a label from a scraper target parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: scraperTargetID schema: type: string required: true description: The scraper target ID. - in: path name: labelID schema: type: string required: true description: The label ID. responses: '204': description: Delete has been accepted '404': description: Scraper target not found content: application/json: schema: $ref: '#/components/schemas/Error' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' '/scrapers/{scraperTargetID}/members': get: operationId: GetScrapersIDMembers tags: - Scraper Targets summary: List all users with member privileges for a scraper target parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: scraperTargetID schema: type: string required: true description: The scraper target ID. responses: '200': description: A list of scraper target members content: application/json: schema: $ref: '#/components/schemas/ResourceMembers' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' post: operationId: PostScrapersIDMembers tags: - Scraper Targets summary: Add a member to a scraper target parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: scraperTargetID schema: type: string required: true description: The scraper target ID. requestBody: description: User to add as member required: true content: application/json: schema: $ref: '#/components/schemas/AddResourceMemberRequestBody' responses: '201': description: Member added to scraper targets content: application/json: schema: $ref: '#/components/schemas/ResourceMember' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' '/scrapers/{scraperTargetID}/members/{userID}': delete: operationId: DeleteScrapersIDMembersID tags: - Scraper Targets summary: Remove a member from a scraper target parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: userID schema: type: string required: true description: The ID of member to remove. - in: path name: scraperTargetID schema: type: string required: true description: The scraper target ID. responses: '204': description: Member removed default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' '/scrapers/{scraperTargetID}/owners': get: operationId: GetScrapersIDOwners tags: - Scraper Targets summary: List all owners of a scraper target parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: scraperTargetID schema: type: string required: true description: The scraper target ID. responses: '200': description: A list of scraper target owners content: application/json: schema: $ref: '#/components/schemas/ResourceOwners' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' post: operationId: PostScrapersIDOwners tags: - Scraper Targets summary: Add an owner to a scraper target parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: scraperTargetID schema: type: string required: true description: The scraper target ID. requestBody: description: User to add as owner required: true content: application/json: schema: $ref: '#/components/schemas/AddResourceMemberRequestBody' responses: '201': description: Scraper target owner added content: application/json: schema: $ref: '#/components/schemas/ResourceOwner' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' '/scrapers/{scraperTargetID}/owners/{userID}': delete: operationId: DeleteScrapersIDOwnersID tags: - Scraper Targets summary: Remove an owner from a scraper target parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: userID schema: type: string required: true description: The ID of owner to remove. - in: path name: scraperTargetID schema: type: string required: true description: The scraper target ID. responses: '204': description: Owner removed default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /backup/kv: get: operationId: GetBackupKV tags: - Backup summary: Download snapshot of metadata stored in the server's embedded KV store. Don't use with InfluxDB versions greater than InfluxDB 2.1.x. description: | Retrieves a snapshot of metadata stored in the server's embedded KV store. InfluxDB versions greater than 2.1.x don't include metadata stored in embedded SQL; avoid using this endpoint with versions greater than 2.1.x. deprecated: true parameters: - $ref: '#/components/parameters/TraceSpan' responses: '200': description: Success. The response contains a snapshot of KV metadata. content: application/octet-stream: schema: type: string format: binary default: description: Unexpected error $ref: '#/components/responses/GeneralServerError' /backup/metadata: get: operationId: GetBackupMetadata tags: - Backup summary: Download snapshot of all metadata in the server parameters: - $ref: '#/components/parameters/TraceSpan' - in: header name: Accept-Encoding description: Indicates the content encoding (usually a compression algorithm) that the client can understand. schema: type: string description: 'The content coding. Use `gzip` for compressed data or `identity` for unmodified, uncompressed data.' default: identity enum: - gzip - identity responses: '200': description: Snapshot of metadata headers: Content-Encoding: description: Lists any encodings (usually compression algorithms) that have been applied to the response payload. schema: type: string description: | The content coding: `gzip` for compressed data or `identity` for unmodified, uncompressed data. default: identity enum: - gzip - identity content: multipart/mixed: schema: $ref: '#/components/schemas/MetadataBackup' default: description: Unexpected error $ref: '#/components/responses/GeneralServerError' '/backup/shards/{shardID}': get: operationId: GetBackupShardId tags: - Backup summary: Download snapshot of all TSM data in a shard parameters: - $ref: '#/components/parameters/TraceSpan' - in: header name: Accept-Encoding description: Indicates the content encoding (usually a compression algorithm) that the client can understand. schema: type: string description: 'The content coding. Use `gzip` for compressed data or `identity` for unmodified, uncompressed data.' default: identity enum: - gzip - identity - in: path name: shardID schema: type: integer format: int64 required: true description: The shard ID. - in: query name: since description: 'The earliest time [RFC3339 date/time format](https://docs.influxdata.com/influxdb/v2.3/reference/glossary/#rfc3339-timestamp) to include in the snapshot.' schema: type: string format: date-time examples: RFC3339: summary: RFC3339 date/time format value: '2006-01-02T15:04:05Z07:00' responses: '200': description: TSM snapshot. headers: Content-Encoding: description: Lists any encodings (usually compression algorithms) that have been applied to the response payload. schema: type: string description: | The content coding: `gzip` for compressed data or `identity` for unmodified, uncompressed data. default: identity enum: - gzip - identity content: application/octet-stream: schema: type: string format: binary '404': description: Shard not found. content: application/json: schema: $ref: '#/components/schemas/Error' default: description: Unexpected error $ref: '#/components/responses/GeneralServerError' /restore/kv: post: operationId: PostRestoreKV tags: - Restore summary: Overwrite the embedded KV store on the server with a backed-up snapshot. parameters: - $ref: '#/components/parameters/TraceSpan' - in: header name: Content-Encoding description: | The value tells InfluxDB what compression is applied to the line protocol in the request payload. To make an API request with a GZIP payload, send `Content-Encoding: gzip` as a request header. schema: type: string description: 'The content coding. Use `gzip` for compressed data or `identity` for unmodified, uncompressed data.' default: identity enum: - gzip - identity - in: header name: Content-Type schema: type: string default: application/octet-stream enum: - application/octet-stream requestBody: description: Full KV snapshot. required: true content: text/plain: schema: type: string format: binary responses: '200': description: KV store successfully overwritten. content: application/json: schema: type: object properties: token: description: token is the root token for the instance after restore (this is overwritten during the restore) type: string '204': description: KV store successfully overwritten. default: description: Unexpected error $ref: '#/components/responses/GeneralServerError' /restore/sql: post: operationId: PostRestoreSQL tags: - Restore summary: Overwrite the embedded SQL store on the server with a backed-up snapshot. parameters: - $ref: '#/components/parameters/TraceSpan' - in: header name: Content-Encoding description: | The value tells InfluxDB what compression is applied to the line protocol in the request payload. To make an API request with a GZIP payload, send `Content-Encoding: gzip` as a request header. schema: type: string description: Specifies that the line protocol in the body is encoded with gzip or not encoded with identity. default: identity enum: - gzip - identity - in: header name: Content-Type schema: type: string default: application/octet-stream enum: - application/octet-stream requestBody: description: Full SQL snapshot. required: true content: text/plain: schema: type: string format: binary responses: '204': description: SQL store successfully overwritten. default: description: Unexpected error $ref: '#/components/responses/GeneralServerError' '/restore/bucket/{bucketID}': post: operationId: PostRestoreBucketID tags: - Restore summary: Overwrite storage metadata for a bucket with shard info from a backup. deprecated: true parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: bucketID schema: type: string required: true description: The bucket ID. - in: header name: Content-Type schema: type: string default: application/octet-stream enum: - application/octet-stream requestBody: description: Database info serialized as protobuf. required: true content: text/plain: schema: type: string format: byte responses: '200': description: ID mappings for shards in bucket. content: application/json: schema: type: string format: byte default: description: Unexpected error $ref: '#/components/responses/GeneralServerError' /restore/bucketMetadata: post: operationId: PostRestoreBucketMetadata tags: - Restore summary: Create a new bucket pre-seeded with shard info from a backup. parameters: - $ref: '#/components/parameters/TraceSpan' requestBody: description: Metadata manifest for a bucket. required: true content: application/json: schema: $ref: '#/components/schemas/BucketMetadataManifest' responses: '201': description: ID mappings for shards in new bucket. content: application/json: schema: $ref: '#/components/schemas/RestoredBucketMappings' default: description: Unexpected error $ref: '#/components/responses/GeneralServerError' '/restore/shards/{shardID}': post: operationId: PostRestoreShardId tags: - Restore summary: Restore a TSM snapshot into a shard. parameters: - $ref: '#/components/parameters/TraceSpan' - in: header name: Content-Encoding description: | The value tells InfluxDB what compression is applied to the line protocol in the request payload. To make an API request with a GZIP payload, send `Content-Encoding: gzip` as a request header. schema: type: string description: Specifies that the line protocol in the body is encoded with gzip or not encoded with identity. default: identity enum: - gzip - identity - in: header name: Content-Type schema: type: string default: application/octet-stream enum: - application/octet-stream - in: path name: shardID schema: type: string required: true description: The shard ID. requestBody: description: TSM snapshot. required: true content: text/plain: schema: type: string format: binary responses: '204': description: TSM snapshot successfully restored. default: description: Unexpected error $ref: '#/components/responses/GeneralServerError' /config: get: operationId: GetConfig tags: - Config - System information endpoints summary: Retrieve runtime configuration description: | Returns the active runtime configuration of the InfluxDB instance. In InfluxDB v2.2+, use this endpoint to view your active runtime configuration, including flags and environment variables. #### Related guides - [View your runtime server configuration](https://docs.influxdata.com/influxdb/v2.3/reference/config-options/#view-your-runtime-server-configuration) parameters: - $ref: '#/components/parameters/TraceSpan' responses: '200': description: | Success. The response body contains the active runtime configuration of the InfluxDB instance. content: application/json: schema: $ref: '#/components/schemas/Config' '401': $ref: '#/components/responses/GeneralServerError' default: $ref: '#/components/responses/GeneralServerError' /remotes: get: operationId: GetRemoteConnections tags: - RemoteConnections summary: List all remote connections parameters: - $ref: '#/components/parameters/TraceSpan' - in: query name: orgID description: The organization ID. required: true schema: type: string - in: query name: name schema: type: string - in: query name: remoteURL schema: type: string format: uri responses: '200': description: List of remote connections content: application/json: schema: $ref: '#/components/schemas/RemoteConnections' '404': $ref: '#/components/responses/GeneralServerError' default: $ref: '#/components/responses/GeneralServerError' post: operationId: PostRemoteConnection tags: - RemoteConnections summary: Register a new remote connection requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/RemoteConnectionCreationRequest' responses: '201': description: Remote connection saved content: application/json: schema: $ref: '#/components/schemas/RemoteConnection' '400': $ref: '#/components/responses/GeneralServerError' default: $ref: '#/components/responses/GeneralServerError' '/remotes/{remoteID}': get: operationId: GetRemoteConnectionByID tags: - RemoteConnections summary: Retrieve a remote connection parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: remoteID schema: type: string required: true responses: '200': description: Remote connection content: application/json: schema: $ref: '#/components/schemas/RemoteConnection' '404': $ref: '#/components/responses/GeneralServerError' default: $ref: '#/components/responses/GeneralServerError' patch: operationId: PatchRemoteConnectionByID tags: - RemoteConnections summary: Update a remote connection parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: remoteID schema: type: string required: true requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/RemoteConnectionUpdateRequest' responses: '200': description: Updated information saved content: application/json: schema: $ref: '#/components/schemas/RemoteConnection' '400': $ref: '#/components/responses/GeneralServerError' '404': $ref: '#/components/responses/GeneralServerError' default: $ref: '#/components/responses/GeneralServerError' delete: operationId: DeleteRemoteConnectionByID tags: - RemoteConnections summary: Delete a remote connection parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: remoteID schema: type: string required: true responses: '204': description: Remote connection info deleted. '404': $ref: '#/components/responses/GeneralServerError' default: $ref: '#/components/responses/GeneralServerError' /replications: get: operationId: GetReplications tags: - Replications summary: List all replications parameters: - $ref: '#/components/parameters/TraceSpan' - in: query name: orgID description: The organization ID. required: true schema: type: string - in: query name: name schema: type: string - in: query name: remoteID schema: type: string - in: query name: localBucketID schema: type: string responses: '200': description: List of replications content: application/json: schema: $ref: '#/components/schemas/Replications' '404': $ref: '#/components/responses/GeneralServerError' default: $ref: '#/components/responses/GeneralServerError' post: operationId: PostReplication tags: - Replications summary: Register a new replication parameters: - $ref: '#/components/parameters/TraceSpan' - in: query name: validate description: 'If true, validate the replication, but don''t save it.' schema: type: boolean default: false requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ReplicationCreationRequest' responses: '201': description: Replication saved content: application/json: schema: $ref: '#/components/schemas/Replication' '204': description: 'Replication validated, but not saved' '400': $ref: '#/components/responses/GeneralServerError' default: $ref: '#/components/responses/GeneralServerError' '/replications/{replicationID}': get: operationId: GetReplicationByID tags: - Replications summary: Retrieve a replication parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: replicationID schema: type: string required: true responses: '200': description: Replication content: application/json: schema: $ref: '#/components/schemas/Replication' '404': $ref: '#/components/responses/GeneralServerError' default: $ref: '#/components/responses/GeneralServerError' patch: operationId: PatchReplicationByID tags: - Replications summary: Update a replication parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: replicationID schema: type: string required: true - in: query name: validate description: 'If true, validate the updated information, but don''t save it.' schema: type: boolean default: false requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ReplicationUpdateRequest' responses: '200': description: Updated information saved content: application/json: schema: $ref: '#/components/schemas/Replication' '204': description: 'Updated replication validated, but not saved' '400': $ref: '#/components/responses/GeneralServerError' '404': $ref: '#/components/responses/GeneralServerError' default: $ref: '#/components/responses/GeneralServerError' delete: operationId: DeleteReplicationByID tags: - Replications summary: Delete a replication parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: replicationID schema: type: string required: true responses: '204': description: Replication deleted. '404': $ref: '#/components/responses/GeneralServerError' default: $ref: '#/components/responses/GeneralServerError' '/replications/{replicationID}/validate': post: operationId: PostValidateReplicationByID tags: - Replications summary: Validate a replication parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: replicationID schema: type: string required: true responses: '204': description: Replication is valid '400': description: Replication failed validation $ref: '#/components/responses/GeneralServerError' default: $ref: '#/components/responses/GeneralServerError' /dashboards: post: operationId: PostDashboards tags: - Dashboards summary: Create a dashboard parameters: - $ref: '#/components/parameters/TraceSpan' requestBody: description: Dashboard to create required: true content: application/json: schema: $ref: '#/components/schemas/CreateDashboardRequest' responses: '201': description: Added dashboard content: application/json: schema: oneOf: - $ref: '#/components/schemas/Dashboard' - $ref: '#/components/schemas/DashboardWithViewProperties' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' get: operationId: GetDashboards tags: - Dashboards summary: List all dashboards parameters: - $ref: '#/components/parameters/TraceSpan' - $ref: '#/components/parameters/Offset' - $ref: '#/components/parameters/Limit' - $ref: '#/components/parameters/Descending' - in: query name: owner description: A user identifier. Returns only dashboards where this user has the `owner` role. schema: type: string - in: query name: sortBy description: The column to sort by. schema: type: string enum: - ID - CreatedAt - UpdatedAt - in: query name: id description: 'A list of dashboard identifiers. Returns only the listed dashboards. If both `id` and `owner` are specified, only `id` is used.' schema: type: array items: type: string - in: query name: orgID description: The identifier of the organization. schema: type: string - in: query name: org description: The name of the organization. schema: type: string responses: '200': description: All dashboards content: application/json: schema: $ref: '#/components/schemas/Dashboards' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /tasks: get: operationId: GetTasks tags: - Data I/O endpoints - Tasks summary: List tasks description: | Retrieves a list of [tasks](https://docs.influxdata.com/influxdb/v2.3/process-data/). To limit which tasks are returned, pass query parameters in your request. If no query parameters are passed, InfluxDB returns all tasks up to the default `limit`. parameters: - $ref: '#/components/parameters/TraceSpan' - in: query name: name description: | Task name. Only returns tasks with this name. Different tasks may have the same name. schema: type: string - in: query name: after schema: type: string description: | Task ID. Only returns tasks created after this task. - in: query name: user schema: type: string description: | User ID. Only returns tasks owned by this user. - in: query name: org schema: type: string description: | Organization name. Only returns tasks owned by this organization. - in: query name: orgID schema: type: string description: | Organization ID. Only returns tasks owned by this organization. - in: query name: status schema: type: string enum: - active - inactive description: | Task status (`active` or `inactive`). Only returns tasks with this status. - in: query name: limit schema: type: integer minimum: 1 maximum: 500 default: 100 description: | Limits the number of tasks returned. The minimum is `1`, the maximum is `500`, and the default is `100`. - in: query name: type description: | Task type (`basic` or `system`). The default (`system`) response contains all the metadata properties for tasks. To reduce the payload size, pass `basic` to omit some task properties (`flux`, `createdAt`, `updatedAt`) from the response. required: false schema: default: '' type: string enum: - basic - system responses: '200': description: | Success. The response body contains the list of tasks. content: application/json: schema: $ref: '#/components/schemas/Tasks' examples: basicTypeTaskOutput: summary: Basic output description: Task fields returned with `?type=basic` value: links: self: /api/v2/tasks?limit=100 tasks: - links: labels: /api/v2/tasks/09956cbb6d378000/labels logs: /api/v2/tasks/09956cbb6d378000/logs members: /api/v2/tasks/09956cbb6d378000/members owners: /api/v2/tasks/09956cbb6d378000/owners runs: /api/v2/tasks/09956cbb6d378000/runs self: /api/v2/tasks/09956cbb6d378000 labels: [] id: 09956cbb6d378000 orgID: 48c88459ee424a04 org: '' ownerID: 0772396d1f411000 name: task1 status: active flux: '' every: 30m latestCompleted: '2022-06-30T15:00:00Z' lastRunStatus: success systemTypeTaskOutput: summary: System output description: Task fields returned with `?type=system` value: links: self: /api/v2/tasks?limit=100 tasks: - links: labels: /api/v2/tasks/09956cbb6d378000/labels logs: /api/v2/tasks/09956cbb6d378000/logs members: /api/v2/tasks/09956cbb6d378000/members owners: /api/v2/tasks/09956cbb6d378000/owners runs: /api/v2/tasks/09956cbb6d378000/runs self: /api/v2/tasks/09956cbb6d378000 labels: [] id: 09956cbb6d378000 orgID: 48c88459ee424a04 org: my-iot-center ownerID: 0772396d1f411000 name: task1 description: IoT Center 90-day environment average. status: active flux: |- option task = {name: "task1", every: 30m} from(bucket: "iot_center") |> range(start: -90d) |> filter(fn: (r) => r._measurement == "environment") |> aggregateWindow(every: 1h, fn: mean) every: 30m latestCompleted: '2022-06-30T15:00:00Z' lastRunStatus: success createdAt: '2022-06-27T15:09:06Z' updatedAt: '2022-06-28T18:10:15Z' '401': $ref: '#/components/responses/AuthorizationError' '500': $ref: '#/components/responses/InternalServerError' default: $ref: '#/components/responses/GeneralServerError' x-codeSamples: - lang: Shell label: 'cURL: all tasks, basic output' source: | curl https://localhost:8086/api/v2/tasks/?limit=-1&type=basic \ --header 'Content-Type: application/json' \ --header 'Authorization: Token INFLUX_API_TOKEN' post: operationId: PostTasks tags: - Data I/O endpoints - Tasks summary: Create a task description: | Creates a [task](https://docs.influxdata.com/influxdb/v2.3/process-data/) and returns the created task. #### Related guides - [Get started with tasks](https://docs.influxdata.com/influxdb/v2.3/process-data/get-started/) - [Create a task](https://docs.influxdata.com/influxdb/v2.3/process-data/manage-tasks/create-task/) - [Common tasks](https://docs.influxdata.com/influxdb/v2.3/process-data/common-tasks/) - [Task configuration options](https://docs.influxdata.com/influxdb/v2.3/process-data/task-options/) parameters: - $ref: '#/components/parameters/TraceSpan' requestBody: description: The task to create. required: true content: application/json: schema: $ref: '#/components/schemas/TaskCreateRequest' responses: '201': description: Success. The response body contains a `tasks` list with the new task. content: application/json: schema: $ref: '#/components/schemas/Task' '400': description: | Bad request. The response body contains detail about the error. #### InfluxDB OSS - Returns this error if an incorrect value is passed for `org` or `orgID`. content: application/json: schema: $ref: '#/components/schemas/Error' examples: orgProvidedNotFound: summary: The org or orgID passed doesn't own the token passed in the header value: code: invalid message: 'failed to decode request body: organization not found' missingFluxError: summary: Task in request body is missing Flux query value: code: invalid message: 'failed to decode request: missing flux' '401': $ref: '#/components/responses/AuthorizationError' '500': $ref: '#/components/responses/InternalServerError' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' x-codeSamples: - lang: Shell label: 'cURL: create a task' source: | curl http://localhost:8086/api/v2/tasks \ --header "Content-type: application/json" \ --header "Authorization: Token INFLUX_API_TOKEN" \ --data-binary @- << EOF { "orgID": "INFLUX_ORG_ID", "description": "IoT Center 30d environment average.", "flux": "option task = {name: \"iot-center-task-1\", every: 30m}\ from(bucket: \"iot_center\")\ |> range(start: -30d)\ |> filter(fn: (r) => r._measurement == \"environment\")\ |> aggregateWindow(every: 1h, fn: mean)" } EOF '/tasks/{taskID}': get: operationId: GetTasksID tags: - Data I/O endpoints - Tasks summary: Retrieve a task description: | Retrieves a [task](https://docs.influxdata.com/influxdb/v2.3/reference/glossary/#task). parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: taskID schema: type: string required: true description: The ID of the task to retrieve. responses: '200': description: Success. The response body contains the task. content: application/json: schema: $ref: '#/components/schemas/Task' '400': $ref: '#/components/responses/BadRequestError' '401': $ref: '#/components/responses/AuthorizationError' '404': $ref: '#/components/responses/ResourceNotFoundError' '500': $ref: '#/components/responses/InternalServerError' default: $ref: '#/components/responses/GeneralServerError' patch: operationId: PatchTasksID tags: - Tasks summary: Update a task description: | Updates a task and then cancels all scheduled runs of the task. Use this endpoint to set, modify, and clear task properties (for example: `cron`, `name`, `flux`, `status`). Once InfluxDB applies the update, it cancels all previously scheduled runs of the task. To update a task, pass an object that contains the updated key-value pairs. To activate or inactivate a task, set the `status` property. _`"status": "inactive"`_ cancels scheduled runs and prevents manual runs of the task. requestBody: description: An object that contains updated task properties to apply. required: true content: application/json: schema: $ref: '#/components/schemas/TaskUpdateRequest' parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: taskID schema: type: string required: true description: The ID of the task to update. responses: '200': description: Success. The response body contains the updated task. content: application/json: schema: $ref: '#/components/schemas/Task' '400': $ref: '#/components/responses/BadRequestError' '401': $ref: '#/components/responses/AuthorizationError' '404': $ref: '#/components/responses/ResourceNotFoundError' '500': $ref: '#/components/responses/InternalServerError' default: $ref: '#/components/responses/GeneralServerError' delete: operationId: DeleteTasksID tags: - Tasks summary: Delete a task description: | Deletes a task and associated records. Use this endpoint to delete a task and all associated records (task runs, logs, and labels). Once the task is deleted, InfluxDB cancels all scheduled runs of the task. If you want to disable a task instead of delete it, [update the task status to `inactive`](#operation/PatchTasksID). parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: taskID schema: type: string required: true description: The ID of the task to delete. responses: '204': description: Success. The task and runs are deleted. Scheduled runs are canceled. '400': $ref: '#/components/responses/BadRequestError' '401': $ref: '#/components/responses/AuthorizationError' '404': $ref: '#/components/responses/ResourceNotFoundError' '500': $ref: '#/components/responses/InternalServerError' default: $ref: '#/components/responses/GeneralServerError' components: parameters: TraceSpan: in: header name: Zap-Trace-Span description: OpenTracing span context example: trace_id: '1' span_id: '1' baggage: key: value required: false schema: type: string Offset: in: query name: offset required: false description: | The offset for pagination. The number of records to skip. schema: type: integer minimum: 0 Limit: in: query name: limit required: false description: | Limits the number of records returned. Default is `20`. schema: type: integer minimum: 1 maximum: 100 default: 20 Descending: in: query name: descending required: false schema: type: boolean default: false SortBy: in: query name: sortBy required: false schema: type: string After: in: query name: after required: false schema: type: string description: | Resource ID to seek from. Results are not inclusive of this ID. Use `after` instead of `offset`. schemas: LanguageRequest: description: Flux query to be analyzed. type: object required: - query properties: query: description: | The Flux query script to be analyzed. type: string Query: description: Query InfluxDB with the Flux language type: object required: - query properties: extern: $ref: '#/components/schemas/File' query: description: The query script to execute. type: string type: description: The type of query. Must be "flux". type: string enum: - flux params: type: object additionalProperties: true description: | Key-value pairs passed as parameters during query execution. To use parameters in your query, pass a _`query`_ with `params` references (in dot notation)--for example: ```json query: "from(bucket: params.mybucket) |> range(start: params.rangeStart) |> limit(n:1)" ``` and pass _`params`_ with the key-value pairs--for example: ```json params: { "mybucket": "environment", "rangeStart": "-30d" } ``` During query execution, InfluxDB passes _`params`_ to your script and substitutes the values. #### Limitations - If you use _`params`_, you can't use _`extern`_. dialect: $ref: '#/components/schemas/Dialect' now: description: | Specifies the time that should be reported as `now` in the query. Default is the server `now` time. type: string format: date-time Package: description: Represents a complete package source tree. type: object properties: type: $ref: '#/components/schemas/NodeType' path: description: Package import path type: string package: description: Package name type: string files: description: Package files type: array items: $ref: '#/components/schemas/File' File: description: Represents a source from a single file type: object properties: type: $ref: '#/components/schemas/NodeType' name: description: The name of the file. type: string package: $ref: '#/components/schemas/PackageClause' imports: description: A list of package imports type: array items: $ref: '#/components/schemas/ImportDeclaration' body: description: List of Flux statements type: array items: $ref: '#/components/schemas/Statement' PackageClause: description: Defines a package identifier type: object properties: type: $ref: '#/components/schemas/NodeType' name: $ref: '#/components/schemas/Identifier' ImportDeclaration: description: Declares a package import type: object properties: type: $ref: '#/components/schemas/NodeType' as: $ref: '#/components/schemas/Identifier' path: $ref: '#/components/schemas/StringLiteral' DeletePredicateRequest: description: The delete predicate request. type: object required: - start - stop properties: start: description: | A timestamp ([RFC3339 date/time format](https://docs.influxdata.com/influxdb/v2.3/reference/glossary/#rfc3339-timestamp)). The earliest time to delete from. type: string format: date-time stop: description: | A timestamp ([RFC3339 date/time format](https://docs.influxdata.com/influxdb/v2.3/reference/glossary/#rfc3339-timestamp)). The latest time to delete from. type: string format: date-time predicate: description: | An expression in [delete predicate syntax](https://docs.influxdata.com/influxdb/v2.3/reference/syntax/delete-predicate/). example: tag1="value1" and (tag2="value2" and tag3!="value3") type: string Node: oneOf: - $ref: '#/components/schemas/Expression' - $ref: '#/components/schemas/Block' NodeType: description: Type of AST node type: string Block: description: A set of statements type: object properties: type: $ref: '#/components/schemas/NodeType' body: description: Block body type: array items: $ref: '#/components/schemas/Statement' Statement: oneOf: - $ref: '#/components/schemas/BadStatement' - $ref: '#/components/schemas/VariableAssignment' - $ref: '#/components/schemas/MemberAssignment' - $ref: '#/components/schemas/ExpressionStatement' - $ref: '#/components/schemas/ReturnStatement' - $ref: '#/components/schemas/OptionStatement' - $ref: '#/components/schemas/BuiltinStatement' - $ref: '#/components/schemas/TestStatement' BadStatement: description: A placeholder for statements for which no correct statement nodes can be created type: object properties: type: $ref: '#/components/schemas/NodeType' text: description: Raw source text type: string VariableAssignment: description: Represents the declaration of a variable type: object properties: type: $ref: '#/components/schemas/NodeType' id: $ref: '#/components/schemas/Identifier' init: $ref: '#/components/schemas/Expression' MemberAssignment: description: Object property assignment type: object properties: type: $ref: '#/components/schemas/NodeType' member: $ref: '#/components/schemas/MemberExpression' init: $ref: '#/components/schemas/Expression' ExpressionStatement: description: May consist of an expression that doesn't return a value and is executed solely for its side-effects type: object properties: type: $ref: '#/components/schemas/NodeType' expression: $ref: '#/components/schemas/Expression' ReturnStatement: description: Defines an expression to return type: object properties: type: $ref: '#/components/schemas/NodeType' argument: $ref: '#/components/schemas/Expression' OptionStatement: description: A single variable declaration type: object properties: type: $ref: '#/components/schemas/NodeType' assignment: oneOf: - $ref: '#/components/schemas/VariableAssignment' - $ref: '#/components/schemas/MemberAssignment' BuiltinStatement: description: Declares a builtin identifier and its type type: object properties: type: $ref: '#/components/schemas/NodeType' id: $ref: '#/components/schemas/Identifier' TestStatement: description: Declares a Flux test case type: object properties: type: $ref: '#/components/schemas/NodeType' assignment: $ref: '#/components/schemas/VariableAssignment' Expression: oneOf: - $ref: '#/components/schemas/ArrayExpression' - $ref: '#/components/schemas/DictExpression' - $ref: '#/components/schemas/FunctionExpression' - $ref: '#/components/schemas/BinaryExpression' - $ref: '#/components/schemas/CallExpression' - $ref: '#/components/schemas/ConditionalExpression' - $ref: '#/components/schemas/LogicalExpression' - $ref: '#/components/schemas/MemberExpression' - $ref: '#/components/schemas/IndexExpression' - $ref: '#/components/schemas/ObjectExpression' - $ref: '#/components/schemas/ParenExpression' - $ref: '#/components/schemas/PipeExpression' - $ref: '#/components/schemas/UnaryExpression' - $ref: '#/components/schemas/BooleanLiteral' - $ref: '#/components/schemas/DateTimeLiteral' - $ref: '#/components/schemas/DurationLiteral' - $ref: '#/components/schemas/FloatLiteral' - $ref: '#/components/schemas/IntegerLiteral' - $ref: '#/components/schemas/PipeLiteral' - $ref: '#/components/schemas/RegexpLiteral' - $ref: '#/components/schemas/StringLiteral' - $ref: '#/components/schemas/UnsignedIntegerLiteral' - $ref: '#/components/schemas/Identifier' ArrayExpression: description: Used to create and directly specify the elements of an array object type: object properties: type: $ref: '#/components/schemas/NodeType' elements: description: Elements of the array type: array items: $ref: '#/components/schemas/Expression' DictExpression: description: Used to create and directly specify the elements of a dictionary type: object properties: type: $ref: '#/components/schemas/NodeType' elements: description: Elements of the dictionary type: array items: $ref: '#/components/schemas/DictItem' DictItem: description: A key-value pair in a dictionary. type: object properties: type: $ref: '#/components/schemas/NodeType' key: $ref: '#/components/schemas/Expression' val: $ref: '#/components/schemas/Expression' FunctionExpression: description: Function expression type: object properties: type: $ref: '#/components/schemas/NodeType' params: description: Function parameters type: array items: $ref: '#/components/schemas/Property' body: $ref: '#/components/schemas/Node' BinaryExpression: description: uses binary operators to act on two operands in an expression type: object properties: type: $ref: '#/components/schemas/NodeType' operator: type: string left: $ref: '#/components/schemas/Expression' right: $ref: '#/components/schemas/Expression' CallExpression: description: Represents a function call type: object properties: type: $ref: '#/components/schemas/NodeType' callee: $ref: '#/components/schemas/Expression' arguments: description: Function arguments type: array items: $ref: '#/components/schemas/Expression' ConditionalExpression: description: 'Selects one of two expressions, `Alternate` or `Consequent`, depending on a third boolean expression, `Test`' type: object properties: type: $ref: '#/components/schemas/NodeType' test: $ref: '#/components/schemas/Expression' alternate: $ref: '#/components/schemas/Expression' consequent: $ref: '#/components/schemas/Expression' LogicalExpression: description: Represents the rule conditions that collectively evaluate to either true or false type: object properties: type: $ref: '#/components/schemas/NodeType' operator: type: string left: $ref: '#/components/schemas/Expression' right: $ref: '#/components/schemas/Expression' MemberExpression: description: Represents accessing a property of an object type: object properties: type: $ref: '#/components/schemas/NodeType' object: $ref: '#/components/schemas/Expression' property: $ref: '#/components/schemas/PropertyKey' IndexExpression: description: Represents indexing into an array type: object properties: type: $ref: '#/components/schemas/NodeType' array: $ref: '#/components/schemas/Expression' index: $ref: '#/components/schemas/Expression' ObjectExpression: description: Allows the declaration of an anonymous object within a declaration type: object properties: type: $ref: '#/components/schemas/NodeType' properties: description: Object properties type: array items: $ref: '#/components/schemas/Property' ParenExpression: description: Represents an expression wrapped in parenthesis type: object properties: type: $ref: '#/components/schemas/NodeType' expression: $ref: '#/components/schemas/Expression' PipeExpression: description: Call expression with pipe argument type: object properties: type: $ref: '#/components/schemas/NodeType' argument: $ref: '#/components/schemas/Expression' call: $ref: '#/components/schemas/CallExpression' UnaryExpression: description: Uses operators to act on a single operand in an expression type: object properties: type: $ref: '#/components/schemas/NodeType' operator: type: string argument: $ref: '#/components/schemas/Expression' BooleanLiteral: description: Represents boolean values type: object properties: type: $ref: '#/components/schemas/NodeType' value: type: boolean DateTimeLiteral: description: 'Represents an instant in time with nanosecond precision in [RFC3339Nano date/time format](https://docs.influxdata.com/influxdb/v2.3/reference/glossary/#rfc3339nano-timestamp).' type: object properties: type: $ref: '#/components/schemas/NodeType' value: type: string format: date-time DurationLiteral: description: Represents the elapsed time between two instants as an int64 nanosecond count with syntax of golang's time.Duration type: object properties: type: $ref: '#/components/schemas/NodeType' values: description: Duration values type: array items: $ref: '#/components/schemas/Duration' FloatLiteral: description: Represents floating point numbers according to the double representations defined by the IEEE-754-1985 type: object properties: type: $ref: '#/components/schemas/NodeType' value: type: number IntegerLiteral: description: Represents integer numbers type: object properties: type: $ref: '#/components/schemas/NodeType' value: type: string PipeLiteral: description: 'Represents a specialized literal value, indicating the left hand value of a pipe expression' type: object properties: type: $ref: '#/components/schemas/NodeType' RegexpLiteral: description: Expressions begin and end with `/` and are regular expressions with syntax accepted by RE2 type: object properties: type: $ref: '#/components/schemas/NodeType' value: type: string StringLiteral: description: Expressions begin and end with double quote marks type: object properties: type: $ref: '#/components/schemas/NodeType' value: type: string UnsignedIntegerLiteral: description: Represents integer numbers type: object properties: type: $ref: '#/components/schemas/NodeType' value: type: string Duration: description: A pair consisting of length of time and the unit of time measured. It is the atomic unit from which all duration literals are composed. type: object properties: type: $ref: '#/components/schemas/NodeType' magnitude: type: integer unit: type: string Property: description: The value associated with a key type: object properties: type: $ref: '#/components/schemas/NodeType' key: $ref: '#/components/schemas/PropertyKey' value: $ref: '#/components/schemas/Expression' PropertyKey: oneOf: - $ref: '#/components/schemas/Identifier' - $ref: '#/components/schemas/StringLiteral' Identifier: description: A valid Flux identifier type: object properties: type: $ref: '#/components/schemas/NodeType' name: type: string Dialect: description: | Options for tabular data output. Default output is [annotated CSV](https://docs.influxdata.com/influxdb/v2.3/reference/syntax/annotated-csv/#csv-response-format) with headers. For more information about tabular data **dialect**, see [W3 metadata vocabulary for tabular data](https://www.w3.org/TR/2015/REC-tabular-metadata-20151217/#dialect-descriptions). type: object properties: header: description: 'If true, the results contain a header row.' type: boolean default: true delimiter: description: 'The separator used between cells. Default is a comma (`,`).' type: string default: ',' maxLength: 1 minLength: 1 annotations: description: | Annotation rows to include in the results. An _annotation_ is metadata associated with an object (column) in the data model. #### Related guides - See [Annotated CSV annotations](https://docs.influxdata.com/influxdb/v2.3/reference/syntax/annotated-csv/#annotations) for examples and more information. For more information about **annotations** in tabular data, see [W3 metadata vocabulary for tabular data](https://www.w3.org/TR/2015/REC-tabular-data-model-20151217/#columns). type: array uniqueItems: true items: type: string enum: - group - datatype - default commentPrefix: description: The character prefixed to comment strings. Default is a number sign (`#`). type: string default: '#' maxLength: 1 minLength: 0 dateTimeFormat: description: | The format for timestamps in results. Default is [`RFC3339` date/time format](https://docs.influxdata.com/influxdb/v2.3/reference/glossary/#rfc3339-timestamp). To include nanoseconds in timestamps, use `RFC3339Nano`. #### Example formatted date/time values | Format | Value | |:------------|:----------------------------| | `RFC3339` | `"2006-01-02T15:04:05Z07:00"` | | `RFC3339Nano` | `"2006-01-02T15:04:05.999999999Z07:00"` | type: string default: RFC3339 enum: - RFC3339 - RFC3339Nano AuthorizationUpdateRequest: properties: status: description: 'Status of the token. If `inactive`, requests using the token will be rejected.' default: active type: string enum: - active - inactive description: type: string description: A description of the token. PostBucketRequest: properties: orgID: description: | Organization ID. The ID of the organization. type: string name: description: | The name of the bucket. type: string description: description: | A description of the bucket. type: string rp: description: | Retention policy is an InfluxDB 1.x concept that represents the duration of time that each data point in the retention policy persists. Use `rp` for compatibility with InfluxDB 1.x. The InfluxDB 2.x and Cloud equivalent is [retention period](https://docs.influxdata.com/influxdb/v2.3/reference/glossary/#retention-period). type: string default: '0' retentionRules: $ref: '#/components/schemas/RetentionRules' schemaType: description: | Schema Type. Use `explicit` to enforce column names, tags, fields, and data types for your data. #### InfluxDB Cloud - Default is `implicit`. #### InfluxDB OSS - Doesn't support `schemaType`. $ref: '#/components/schemas/SchemaType' default: implicit required: - orgID - name Bucket: properties: links: type: object readOnly: true example: labels: /api/v2/buckets/1/labels members: /api/v2/buckets/1/members org: /api/v2/orgs/2 owners: /api/v2/buckets/1/owners self: /api/v2/buckets/1 write: /api/v2/write?org=2&bucket=1 properties: labels: description: URL to retrieve labels for this bucket. $ref: '#/components/schemas/Link' members: description: URL to retrieve members that can read this bucket. $ref: '#/components/schemas/Link' org: description: URL to retrieve parent organization for this bucket. $ref: '#/components/schemas/Link' owners: description: URL to retrieve owners that can read and write to this bucket. $ref: '#/components/schemas/Link' self: description: URL for this bucket. $ref: '#/components/schemas/Link' write: description: URL to write line protocol to this bucket. $ref: '#/components/schemas/Link' id: readOnly: true type: string type: readOnly: true type: string default: user enum: - user - system name: type: string description: type: string orgID: type: string rp: type: string schemaType: $ref: '#/components/schemas/SchemaType' default: implicit createdAt: type: string format: date-time readOnly: true updatedAt: type: string format: date-time readOnly: true retentionRules: $ref: '#/components/schemas/RetentionRules' labels: $ref: '#/components/schemas/Labels' required: - name - retentionRules Buckets: type: object properties: links: readOnly: true $ref: '#/components/schemas/Links' buckets: type: array items: $ref: '#/components/schemas/Bucket' RetentionRules: type: array description: | Retention rules to expire or retain data. #### InfluxDB Cloud - `retentionRules` is required. #### InfluxDB OSS - `retentionRules` isn't required. items: $ref: '#/components/schemas/RetentionRule' PatchBucketRequest: type: object description: | An object that contains updated bucket properties to apply. properties: name: type: string description: | The name of the bucket. description: description: | A description of the bucket. type: string retentionRules: $ref: '#/components/schemas/PatchRetentionRules' PatchRetentionRules: type: array description: Updates to rules to expire or retain data. No rules means no updates. items: $ref: '#/components/schemas/PatchRetentionRule' PatchRetentionRule: type: object properties: type: type: string default: expire enum: - expire everySeconds: type: integer format: int64 description: | The number of seconds to keep data. Default duration is `2592000` (30 days). `0` represents infinite retention. example: 86400 default: 2592000 minimum: 0 shardGroupDurationSeconds: type: integer format: int64 description: | The [shard group duration](https://docs.influxdata.com/influxdb/v2.3/reference/glossary/#shard). The number of seconds that each shard group covers. #### InfluxDB Cloud - Doesn't use `shardGroupDurationsSeconds`. #### InfluxDB OSS - Default value depends on the [bucket retention period](https://docs.influxdata.com/influxdb/v2.3/reference/internals/shards/#shard-group-duration). #### Related guides - InfluxDB [shards and shard groups](https://docs.influxdata.com/influxdb/v2.3/reference/internals/shards/) required: - everySeconds RetentionRule: type: object properties: type: type: string default: expire enum: - expire everySeconds: type: integer format: int64 description: | The duration in seconds for how long data will be kept in the database. The default duration is 2592000 (30 days). 0 represents infinite retention. example: 86400 default: 2592000 minimum: 0 shardGroupDurationSeconds: type: integer format: int64 description: | The shard group duration. The duration or interval (in seconds) that each shard group covers. #### InfluxDB Cloud - Does not use `shardGroupDurationsSeconds`. #### InfluxDB OSS - Default value depends on the [bucket retention period](https://docs.influxdata.com/influxdb/v2.3/v2.3/reference/internals/shards/#shard-group-duration). required: - everySeconds Link: type: string format: uri readOnly: true description: URI of resource. Links: type: object description: | URI pointers for additional paged results. properties: next: $ref: '#/components/schemas/Link' self: $ref: '#/components/schemas/Link' prev: $ref: '#/components/schemas/Link' required: - self Logs: type: object properties: events: readOnly: true type: array items: $ref: '#/components/schemas/LogEvent' LogEvent: type: object properties: time: readOnly: true description: 'The time ([RFC3339Nano date/time format](https://docs.influxdata.com/influxdb/v2.3/reference/glossary/#rfc3339nano-timestamp)) that the event occurred.' type: string format: date-time example: '2006-01-02T15:04:05.999999999Z07:00' message: readOnly: true description: A description of the event that occurred. type: string example: Halt and catch fire runID: readOnly: true description: The ID of the task run that generated the event. type: string Organization: properties: links: type: object readOnly: true example: self: /api/v2/orgs/1 members: /api/v2/orgs/1/members owners: /api/v2/orgs/1/owners labels: /api/v2/orgs/1/labels secrets: /api/v2/orgs/1/secrets buckets: /api/v2/buckets?org=myorg tasks: /api/v2/tasks?org=myorg dashboards: /api/v2/dashboards?org=myorg properties: self: $ref: '#/components/schemas/Link' members: $ref: '#/components/schemas/Link' owners: $ref: '#/components/schemas/Link' labels: $ref: '#/components/schemas/Link' secrets: $ref: '#/components/schemas/Link' buckets: $ref: '#/components/schemas/Link' tasks: $ref: '#/components/schemas/Link' dashboards: $ref: '#/components/schemas/Link' id: readOnly: true type: string name: type: string description: type: string createdAt: type: string format: date-time readOnly: true updatedAt: type: string format: date-time readOnly: true status: description: If inactive the organization is inactive. default: active type: string enum: - active - inactive required: - name Organizations: type: object properties: links: $ref: '#/components/schemas/Links' orgs: type: array items: $ref: '#/components/schemas/Organization' PostOrganizationRequest: type: object properties: name: type: string description: type: string required: - name PatchOrganizationRequest: type: object properties: name: type: string description: New name to set on the organization description: type: string description: New description to set on the organization TemplateApply: type: object properties: dryRun: type: boolean description: | Only applies a dry run of the templates passed in the request. - Validates the template and generates a resource diff and summary. - Doesn't install templates or make changes to the InfluxDB instance. orgID: type: string description: | Organization ID. InfluxDB applies templates to this organization. The organization owns all resources created by the template. To find your organization, see how to [view organizations](https://docs.influxdata.com/influxdb/v2.3/organizations/view-orgs/). stackID: type: string description: | ID of the stack to update. To apply templates to an existing stack in the organization, use the `stackID` parameter. If you apply templates without providing a stack ID, InfluxDB initializes a new stack with all new resources. To find a stack ID, use the InfluxDB [`/api/v2/stacks` API endpoint](#operation/ListStacks) to list stacks. #### Related guides - [Stacks](https://docs.influxdata.com/influxdb/v2.3/influxdb-templates/stacks/) - [View stacks](https://docs.influxdata.com/influxdb/v2.3/influxdb-templates/stacks/view/) template: type: object description: | A template object to apply. A template object has a `contents` property with an array of InfluxDB resource configurations. Pass `template` to apply only one template object. If you use `template`, you can't use the `templates` parameter. If you want to apply multiple template objects, use `templates` instead. properties: contentType: type: string sources: type: array items: type: string contents: $ref: '#/components/schemas/Template' templates: type: array description: | A list of template objects to apply. A template object has a `contents` property with an array of InfluxDB resource configurations. Use the `templates` parameter to apply multiple template objects. If you use `templates`, you can't use the `template` parameter. items: type: object properties: contentType: type: string sources: type: array items: type: string contents: $ref: '#/components/schemas/Template' envRefs: type: object description: | An object with key-value pairs that map to **environment references** in templates. Environment references in templates are `envRef` objects with an `envRef.key` property. To substitute a custom environment reference value when applying templates, pass `envRefs` with the `envRef.key` and the value. When you apply a template, InfluxDB replaces `envRef` objects in the template with the values that you provide in the `envRefs` parameter. For more examples, see how to [define environment references](https://docs.influxdata.com/influxdb/v2.3/influxdb-templates/use/#define-environment-references). The following template fields may use environment references: - `metadata.name` - `spec.endpointName` - `spec.associations.name` For more information about including environment references in template fields, see how to [include user-definable resource names](https://docs.influxdata.com/influxdb/v2.3/influxdb-templates/create/#include-user-definable-resource-names). additionalProperties: oneOf: - type: string - type: integer - type: number - type: boolean secrets: type: object description: | An object with key-value pairs that map to **secrets** in queries. Queries may reference secrets stored in InfluxDB--for example, the following Flux script retrieves `POSTGRES_USERNAME` and `POSTGRES_PASSWORD` secrets and then uses them to connect to a PostgreSQL database: ```js import "sql" import "influxdata/influxdb/secrets" username = secrets.get(key: "POSTGRES_USERNAME") password = secrets.get(key: "POSTGRES_PASSWORD") sql.from( driverName: "postgres", dataSourceName: "postgresql://${username}:${password}@localhost:5432", query: "SELECT * FROM example_table", ) ``` To define secret values in your `/api/v2/templates/apply` request, pass the `secrets` parameter with key-value pairs--for example: ```json { ... "secrets": { "POSTGRES_USERNAME": "pguser", "POSTGRES_PASSWORD": "foo" } ... } ``` InfluxDB stores the key-value pairs as secrets that you can access with `secrets.get()`. Once stored, you can't view secret values in InfluxDB. #### Related guides - [How to pass secrets when installing a template](https://docs.influxdata.com/influxdb/v2.3/influxdb-templates/use/#pass-secrets-when-installing-a-template) additionalProperties: type: string remotes: type: array description: | A list of URLs for template files. To apply a template manifest file located at a URL, pass `remotes` with an array that contains the URL. items: type: object properties: url: type: string contentType: type: string required: - url actions: type: array description: | A list of `action` objects. Actions let you customize how InfluxDB applies templates in the request. You can use the following actions to prevent creating or updating resources: - A `skipKind` action skips template resources of a specified `kind`. - A `skipResource` action skips template resources with a specified `metadata.name` and `kind`. items: oneOf: - type: object properties: action: type: string enum: - skipKind properties: type: object properties: kind: $ref: '#/components/schemas/TemplateKind' required: - kind - type: object properties: action: type: string enum: - skipResource properties: type: object properties: kind: $ref: '#/components/schemas/TemplateKind' resourceTemplateName: type: string required: - kind - resourceTemplateName TemplateKind: type: string enum: - Bucket - Check - CheckDeadman - CheckThreshold - Dashboard - Label - NotificationEndpoint - NotificationEndpointHTTP - NotificationEndpointPagerDuty - NotificationEndpointSlack - NotificationRule - Task - Telegraf - Variable TemplateExportByID: type: object properties: stackID: type: string orgIDs: type: array items: type: object properties: orgID: type: string resourceFilters: type: object properties: byLabel: type: array items: type: string byResourceKind: type: array items: $ref: '#/components/schemas/TemplateKind' resources: type: array items: type: object properties: id: type: string kind: $ref: '#/components/schemas/TemplateKind' name: type: string description: 'if defined with id, name is used for resource exported by id. if defined independently, resources strictly matching name are exported' required: - id - kind TemplateExportByName: type: object properties: stackID: type: string orgIDs: type: array items: type: object properties: orgID: type: string resourceFilters: type: object properties: byLabel: type: array items: type: string byResourceKind: type: array items: $ref: '#/components/schemas/TemplateKind' resources: type: array items: type: object properties: kind: $ref: '#/components/schemas/TemplateKind' name: type: string required: - name - kind Template: type: array items: type: object description: | A template entry. Defines an InfluxDB resource in a template. properties: apiVersion: type: string example: influxdata.com/v2alpha1 kind: $ref: '#/components/schemas/TemplateKind' metadata: type: object description: | Metadata properties used for the resource when the template is applied. properties: name: type: string spec: type: object description: | Configuration properties used for the resource when the template is applied. Key-value pairs map to the specification for the resource. The following code samples show `spec` configurations for template resources: - A bucket: ```json { "spec": { "name": "iot_center", "retentionRules": [{ "everySeconds": 2.592e+06, "type": "expire" }] } } ``` - A variable: ```json { "spec": { "language": "flux", "name": "Node_Service", "query": "import \"influxdata/influxdb/v1\"\r\nv1.tagValues(bucket: \"iot_center\", tag: \"service\")", "type": "query" } } ``` TemplateEnvReferences: type: array items: type: object properties: resourceField: type: string description: Field the environment reference corresponds too envRefKey: type: string description: Key identified as environment reference and is the key identified in the template value: description: Value provided to fulfill reference nullable: true oneOf: - type: string - type: integer - type: number - type: boolean defaultValue: description: Default value that will be provided for the reference when no value is provided nullable: true oneOf: - type: string - type: integer - type: number - type: boolean required: - resourceField - envRefKey TemplateSummary: type: object properties: sources: type: array items: type: string stackID: type: string summary: type: object properties: buckets: type: array items: type: object properties: id: type: string orgID: type: string kind: $ref: '#/components/schemas/TemplateKind' templateMetaName: type: string name: type: string description: type: string retentionPeriod: type: integer labelAssociations: type: array items: $ref: '#/components/schemas/TemplateSummaryLabel' envReferences: $ref: '#/components/schemas/TemplateEnvReferences' checks: type: array items: allOf: - $ref: '#/components/schemas/CheckDiscriminator' - type: object properties: kind: $ref: '#/components/schemas/TemplateKind' templateMetaName: type: string labelAssociations: type: array items: $ref: '#/components/schemas/TemplateSummaryLabel' envReferences: $ref: '#/components/schemas/TemplateEnvReferences' dashboards: type: array items: type: object properties: id: type: string orgID: type: string kind: $ref: '#/components/schemas/TemplateKind' templateMetaName: type: string name: type: string description: type: string labelAssociations: type: array items: $ref: '#/components/schemas/TemplateSummaryLabel' charts: type: array items: $ref: '#/components/schemas/TemplateChart' envReferences: $ref: '#/components/schemas/TemplateEnvReferences' labels: type: array items: $ref: '#/components/schemas/TemplateSummaryLabel' labelMappings: type: array items: type: object properties: status: type: string resourceTemplateMetaName: type: string resourceName: type: string resourceID: type: string resourceType: type: string labelTemplateMetaName: type: string labelName: type: string labelID: type: string missingEnvRefs: type: array items: type: string missingSecrets: type: array items: type: string notificationEndpoints: type: array items: allOf: - $ref: '#/components/schemas/NotificationEndpointDiscriminator' - type: object properties: kind: $ref: '#/components/schemas/TemplateKind' templateMetaName: type: string labelAssociations: type: array items: $ref: '#/components/schemas/TemplateSummaryLabel' envReferences: $ref: '#/components/schemas/TemplateEnvReferences' notificationRules: type: array items: type: object properties: kind: $ref: '#/components/schemas/TemplateKind' templateMetaName: type: string name: type: string description: type: string endpointTemplateMetaName: type: string endpointID: type: string endpointType: type: string every: type: string offset: type: string messageTemplate: type: string status: type: string statusRules: type: array items: type: object properties: currentLevel: type: string previousLevel: type: string tagRules: type: array items: type: object properties: key: type: string value: type: string operator: type: string labelAssociations: type: array items: $ref: '#/components/schemas/TemplateSummaryLabel' envReferences: $ref: '#/components/schemas/TemplateEnvReferences' tasks: type: array items: type: object properties: kind: $ref: '#/components/schemas/TemplateKind' templateMetaName: type: string id: type: string name: type: string cron: type: string description: type: string every: type: string offset: type: string query: type: string status: type: string envReferences: $ref: '#/components/schemas/TemplateEnvReferences' telegrafConfigs: type: array items: allOf: - $ref: '#/components/schemas/TelegrafRequest' - type: object properties: kind: $ref: '#/components/schemas/TemplateKind' templateMetaName: type: string labelAssociations: type: array items: $ref: '#/components/schemas/TemplateSummaryLabel' envReferences: $ref: '#/components/schemas/TemplateEnvReferences' variables: type: array items: type: object properties: kind: $ref: '#/components/schemas/TemplateKind' templateMetaName: type: string id: type: string orgID: type: string name: type: string description: type: string arguments: $ref: '#/components/schemas/VariableProperties' labelAssociations: type: array items: $ref: '#/components/schemas/TemplateSummaryLabel' envReferences: $ref: '#/components/schemas/TemplateEnvReferences' diff: type: object properties: buckets: type: array items: type: object properties: kind: $ref: '#/components/schemas/TemplateKind' stateStatus: type: string id: type: string templateMetaName: type: string new: type: object properties: name: type: string description: type: string retentionRules: $ref: '#/components/schemas/RetentionRules' old: type: object properties: name: type: string description: type: string retentionRules: $ref: '#/components/schemas/RetentionRules' checks: type: array items: type: object properties: kind: $ref: '#/components/schemas/TemplateKind' stateStatus: type: string id: type: string templateMetaName: type: string new: $ref: '#/components/schemas/CheckDiscriminator' old: $ref: '#/components/schemas/CheckDiscriminator' dashboards: type: array items: type: object properties: stateStatus: type: string id: type: string kind: $ref: '#/components/schemas/TemplateKind' templateMetaName: type: string new: type: object properties: name: type: string description: type: string charts: type: array items: $ref: '#/components/schemas/TemplateChart' old: type: object properties: name: type: string description: type: string charts: type: array items: $ref: '#/components/schemas/TemplateChart' labels: type: array items: type: object properties: stateStatus: type: string kind: $ref: '#/components/schemas/TemplateKind' id: type: string templateMetaName: type: string new: type: object properties: name: type: string color: type: string description: type: string old: type: object properties: name: type: string color: type: string description: type: string labelMappings: type: array items: type: object properties: status: type: string resourceType: type: string resourceID: type: string resourceTemplateMetaName: type: string resourceName: type: string labelID: type: string labelTemplateMetaName: type: string labelName: type: string notificationEndpoints: type: array items: type: object properties: kind: $ref: '#/components/schemas/TemplateKind' stateStatus: type: string id: type: string templateMetaName: type: string new: $ref: '#/components/schemas/NotificationEndpointDiscriminator' old: $ref: '#/components/schemas/NotificationEndpointDiscriminator' notificationRules: type: array items: type: object properties: kind: $ref: '#/components/schemas/TemplateKind' stateStatus: type: string id: type: string templateMetaName: type: string new: type: object properties: name: type: string description: type: string endpointName: type: string endpointID: type: string endpointType: type: string every: type: string offset: type: string messageTemplate: type: string status: type: string statusRules: type: array items: type: object properties: currentLevel: type: string previousLevel: type: string tagRules: type: array items: type: object properties: key: type: string value: type: string operator: type: string old: type: object properties: name: type: string description: type: string endpointName: type: string endpointID: type: string endpointType: type: string every: type: string offset: type: string messageTemplate: type: string status: type: string statusRules: type: array items: type: object properties: currentLevel: type: string previousLevel: type: string tagRules: type: array items: type: object properties: key: type: string value: type: string operator: type: string tasks: type: array items: type: object properties: kind: $ref: '#/components/schemas/TemplateKind' stateStatus: type: string id: type: string templateMetaName: type: string new: type: object properties: name: type: string cron: type: string description: type: string every: type: string offset: type: string query: type: string status: type: string old: type: object properties: name: type: string cron: type: string description: type: string every: type: string offset: type: string query: type: string status: type: string telegrafConfigs: type: array items: type: object properties: kind: $ref: '#/components/schemas/TemplateKind' stateStatus: type: string id: type: string templateMetaName: type: string new: $ref: '#/components/schemas/TelegrafRequest' old: $ref: '#/components/schemas/TelegrafRequest' variables: type: array items: type: object properties: kind: $ref: '#/components/schemas/TemplateKind' stateStatus: type: string id: type: string templateMetaName: type: string new: type: object properties: name: type: string description: type: string args: $ref: '#/components/schemas/VariableProperties' old: type: object properties: name: type: string description: type: string args: $ref: '#/components/schemas/VariableProperties' errors: type: array items: type: object properties: kind: $ref: '#/components/schemas/TemplateKind' reason: type: string fields: type: array items: type: string indexes: type: array items: type: integer TemplateSummaryLabel: type: object properties: id: type: string orgID: type: string kind: $ref: '#/components/schemas/TemplateKind' templateMetaName: type: string name: type: string properties: type: object properties: color: type: string description: type: string envReferences: $ref: '#/components/schemas/TemplateEnvReferences' TemplateChart: type: object properties: xPos: type: integer yPos: type: integer height: type: integer width: type: integer properties: $ref: '#/components/schemas/ViewProperties' Stack: type: object properties: id: type: string orgID: type: string createdAt: type: string format: date-time readOnly: true events: type: array items: type: object properties: eventType: type: string name: type: string description: type: string sources: type: array items: type: string resources: type: array items: type: object properties: apiVersion: type: string resourceID: type: string kind: $ref: '#/components/schemas/TemplateKind' templateMetaName: type: string associations: type: array items: type: object properties: kind: $ref: '#/components/schemas/TemplateKind' metaName: type: string links: type: object properties: self: type: string urls: type: array items: type: string updatedAt: type: string format: date-time readOnly: true Runs: type: object properties: links: $ref: '#/components/schemas/Links' runs: type: array items: $ref: '#/components/schemas/Run' Run: properties: id: readOnly: true type: string taskID: readOnly: true type: string status: readOnly: true type: string enum: - scheduled - started - failed - success - canceled scheduledFor: description: 'The time [RFC3339 date/time format](https://docs.influxdata.com/influxdb/v2.3/reference/glossary/#rfc3339-timestamp) used for the run''s `now` option.' type: string format: date-time log: description: An array of logs associated with the run. type: array readOnly: true items: $ref: '#/components/schemas/LogEvent' flux: description: Flux used for the task type: string readOnly: true startedAt: readOnly: true description: 'The time ([RFC3339Nano date/time format](https://go.dev/src/time/format.go)) the run started executing.' type: string format: date-time example: '2006-01-02T15:04:05.999999999Z07:00' finishedAt: readOnly: true description: 'The time ([RFC3339Nano date/time format](https://go.dev/src/time/format.go)) the run finished executing.' type: string format: date-time example: '2006-01-02T15:04:05.999999999Z07:00' requestedAt: readOnly: true description: 'The time ([RFC3339Nano date/time format](https://docs.influxdata.com/influxdb/v2.3/reference/glossary/#rfc3339nano-timestamp)) the run was manually requested.' type: string format: date-time example: '2006-01-02T15:04:05.999999999Z07:00' links: type: object readOnly: true example: self: /api/v2/tasks/1/runs/1 task: /api/v2/tasks/1 retry: /api/v2/tasks/1/runs/1/retry properties: self: type: string format: uri task: type: string format: uri retry: type: string format: uri RunManually: properties: scheduledFor: nullable: true description: | The time [RFC3339 date/time format](https://docs.influxdata.com/influxdb/v2.3/reference/glossary/#rfc3339-timestamp) used for the run's `now` option. Default is the server _now_ time. type: string format: date-time TaskStatusType: type: string enum: - active - inactive description: | `inactive` cancels scheduled runs and prevents manual runs of the task. UserResponse: properties: id: readOnly: true type: string description: | The ID of the user. name: type: string description: | The name of the user. status: description: | The status of a user. An inactive user won't have access to resources. default: active type: string enum: - active - inactive links: type: object readOnly: true example: self: /api/v2/users/1 properties: self: type: string format: uri required: - name Flags: type: object additionalProperties: true ResourceMember: allOf: - $ref: '#/components/schemas/UserResponse' - type: object properties: role: type: string default: member enum: - member ResourceMembers: type: object properties: links: type: object properties: self: type: string format: uri users: type: array items: $ref: '#/components/schemas/ResourceMember' ResourceOwner: allOf: - $ref: '#/components/schemas/UserResponse' - type: object properties: role: type: string default: owner enum: - owner ResourceOwners: type: object properties: links: type: object properties: self: type: string format: uri users: type: array items: $ref: '#/components/schemas/ResourceOwner' FluxSuggestions: type: object properties: funcs: type: array items: $ref: '#/components/schemas/FluxSuggestion' FluxSuggestion: type: object properties: name: type: string params: type: object additionalProperties: type: string Routes: properties: authorizations: type: string format: uri buckets: type: string format: uri dashboards: type: string format: uri external: type: object properties: statusFeed: type: string format: uri variables: type: string format: uri me: type: string format: uri flags: type: string format: uri orgs: type: string format: uri query: type: object properties: self: type: string format: uri ast: type: string format: uri analyze: type: string format: uri suggestions: type: string format: uri setup: type: string format: uri signin: type: string format: uri signout: type: string format: uri sources: type: string format: uri system: type: object properties: metrics: type: string format: uri debug: type: string format: uri health: type: string format: uri tasks: type: string format: uri telegrafs: type: string format: uri users: type: string format: uri write: type: string format: uri Error: properties: code: description: code is the machine-readable error code. readOnly: true type: string enum: - internal error - not found - conflict - invalid - unprocessable entity - empty value - unavailable - forbidden - too many requests - unauthorized - method not allowed - request too large - unsupported media type message: readOnly: true description: Human-readable message. type: string op: readOnly: true description: Describes the logical code operation when the error occurred. Useful for debugging. type: string err: readOnly: true description: Stack of errors that occurred during processing of the request. Useful for debugging. type: string required: - code LineProtocolError: properties: code: description: Code is the machine-readable error code. readOnly: true type: string enum: - internal error - not found - conflict - invalid - empty value - unavailable message: readOnly: true description: Human-readable message. type: string op: readOnly: true description: Describes the logical code operation when the error occurred. Useful for debugging. type: string err: readOnly: true description: Stack of errors that occurred during processing of the request. Useful for debugging. type: string line: readOnly: true description: First line in the request body that contains malformed data. type: integer format: int32 required: - code LineProtocolLengthError: properties: code: description: Code is the machine-readable error code. readOnly: true type: string enum: - invalid message: readOnly: true description: Human-readable message. type: string required: - code - message Field: type: object properties: value: description: value is the value of the field. Meaning of the value is implied by the `type` key type: string type: description: '`type` describes the field type. `func` is a function. `field` is a field reference.' type: string enum: - func - field - integer - number - regex - wildcard alias: description: Alias overrides the field name in the returned response. Applies only if type is `func` type: string args: description: Args are the arguments to the function type: array items: $ref: '#/components/schemas/Field' BuilderConfig: type: object properties: buckets: type: array items: type: string tags: type: array items: $ref: '#/components/schemas/BuilderTagsType' functions: type: array items: $ref: '#/components/schemas/BuilderFunctionsType' aggregateWindow: type: object properties: period: type: string fillValues: type: boolean BuilderTagsType: type: object properties: key: type: string values: type: array items: type: string aggregateFunctionType: $ref: '#/components/schemas/BuilderAggregateFunctionType' BuilderAggregateFunctionType: type: string enum: - filter - group BuilderFunctionsType: type: object properties: name: type: string DashboardQuery: type: object properties: text: type: string description: The text of the Flux query. editMode: $ref: '#/components/schemas/QueryEditMode' name: type: string builderConfig: $ref: '#/components/schemas/BuilderConfig' QueryEditMode: type: string enum: - builder - advanced Axis: type: object description: Axis used in a visualization. properties: bounds: type: array minItems: 0 maxItems: 2 description: 'The extents of the axis in the form [lower, upper]. Clients determine whether bounds are inclusive or exclusive of their limits.' items: type: string label: description: Description of the axis. type: string prefix: description: Label prefix for formatting axis values. type: string suffix: description: Label suffix for formatting axis values. type: string base: description: Radix for formatting axis values. type: string enum: - '' - '2' - '10' scale: $ref: '#/components/schemas/AxisScale' AxisScale: description: 'Scale is the axis formatting scale. Supported: "log", "linear"' type: string enum: - log - linear DashboardColor: type: object description: Defines an encoding of data value into color space. required: - id - type - hex - name - value properties: id: description: The unique ID of the view color. type: string type: description: Type is how the color is used. type: string enum: - min - max - threshold - scale - text - background hex: description: The hex number of the color type: string maxLength: 7 minLength: 7 name: description: The user-facing name of the hex color. type: string value: description: The data value mapped to this color. type: number format: float RenamableField: description: Describes a field that can be renamed and made visible or invisible. type: object properties: internalName: description: The calculated name of a field. readOnly: true type: string displayName: description: The name that a field is renamed to by the user. type: string visible: description: Indicates whether this field should be visible on the table. type: boolean XYViewProperties: type: object required: - type - geom - queries - shape - axes - colors - note - showNoteWhenEmpty - position properties: adaptiveZoomHide: type: boolean timeFormat: type: string type: type: string enum: - xy queries: type: array items: $ref: '#/components/schemas/DashboardQuery' colors: description: Colors define color encoding of data into a visualization type: array items: $ref: '#/components/schemas/DashboardColor' colorMapping: description: An object that contains information about the color mapping $ref: '#/components/schemas/ColorMapping' shape: type: string enum: - chronograf-v2 note: type: string showNoteWhenEmpty: description: 'If true, will display note when empty' type: boolean axes: $ref: '#/components/schemas/Axes' staticLegend: $ref: '#/components/schemas/StaticLegend' xColumn: type: string generateXAxisTicks: type: array items: type: string xTotalTicks: type: integer xTickStart: type: number format: float xTickStep: type: number format: float yColumn: type: string generateYAxisTicks: type: array items: type: string yTotalTicks: type: integer yTickStart: type: number format: float yTickStep: type: number format: float shadeBelow: type: boolean hoverDimension: type: string enum: - auto - x - 'y' - xy position: type: string enum: - overlaid - stacked geom: $ref: '#/components/schemas/XYGeom' legendColorizeRows: type: boolean legendHide: type: boolean legendOpacity: type: number format: float legendOrientationThreshold: type: integer XYGeom: type: string enum: - line - step - stacked - bar - monotoneX - stepBefore - stepAfter BandViewProperties: type: object required: - type - geom - queries - shape - axes - colors - note - showNoteWhenEmpty properties: adaptiveZoomHide: type: boolean timeFormat: type: string type: type: string enum: - band queries: type: array items: $ref: '#/components/schemas/DashboardQuery' colors: description: Colors define color encoding of data into a visualization type: array items: $ref: '#/components/schemas/DashboardColor' shape: type: string enum: - chronograf-v2 note: type: string showNoteWhenEmpty: description: 'If true, will display note when empty' type: boolean axes: $ref: '#/components/schemas/Axes' staticLegend: $ref: '#/components/schemas/StaticLegend' xColumn: type: string generateXAxisTicks: type: array items: type: string xTotalTicks: type: integer xTickStart: type: number format: float xTickStep: type: number format: float yColumn: type: string generateYAxisTicks: type: array items: type: string yTotalTicks: type: integer yTickStart: type: number format: float yTickStep: type: number format: float upperColumn: type: string mainColumn: type: string lowerColumn: type: string hoverDimension: type: string enum: - auto - x - 'y' - xy geom: $ref: '#/components/schemas/XYGeom' legendColorizeRows: type: boolean legendHide: type: boolean legendOpacity: type: number format: float legendOrientationThreshold: type: integer LinePlusSingleStatProperties: type: object required: - type - queries - shape - axes - colors - note - showNoteWhenEmpty - prefix - suffix - decimalPlaces - position properties: adaptiveZoomHide: type: boolean timeFormat: type: string type: type: string enum: - line-plus-single-stat queries: type: array items: $ref: '#/components/schemas/DashboardQuery' colors: description: Colors define color encoding of data into a visualization type: array items: $ref: '#/components/schemas/DashboardColor' shape: type: string enum: - chronograf-v2 note: type: string showNoteWhenEmpty: description: 'If true, will display note when empty' type: boolean axes: $ref: '#/components/schemas/Axes' staticLegend: $ref: '#/components/schemas/StaticLegend' xColumn: type: string generateXAxisTicks: type: array items: type: string xTotalTicks: type: integer xTickStart: type: number format: float xTickStep: type: number format: float yColumn: type: string generateYAxisTicks: type: array items: type: string yTotalTicks: type: integer yTickStart: type: number format: float yTickStep: type: number format: float shadeBelow: type: boolean hoverDimension: type: string enum: - auto - x - 'y' - xy position: type: string enum: - overlaid - stacked prefix: type: string suffix: type: string decimalPlaces: $ref: '#/components/schemas/DecimalPlaces' legendColorizeRows: type: boolean legendHide: type: boolean legendOpacity: type: number format: float legendOrientationThreshold: type: integer MosaicViewProperties: type: object required: - type - queries - colors - shape - note - showNoteWhenEmpty - xColumn - ySeriesColumns - fillColumns - xDomain - yDomain - xAxisLabel - yAxisLabel - xPrefix - yPrefix - xSuffix - ySuffix properties: timeFormat: type: string type: type: string enum: - mosaic queries: type: array items: $ref: '#/components/schemas/DashboardQuery' colors: description: Colors define color encoding of data into a visualization type: array items: type: string shape: type: string enum: - chronograf-v2 note: type: string showNoteWhenEmpty: description: 'If true, will display note when empty' type: boolean xColumn: type: string generateXAxisTicks: type: array items: type: string xTotalTicks: type: integer xTickStart: type: number format: float xTickStep: type: number format: float yLabelColumnSeparator: type: string yLabelColumns: type: array items: type: string ySeriesColumns: type: array items: type: string fillColumns: type: array items: type: string xDomain: type: array items: type: number maxItems: 2 yDomain: type: array items: type: number maxItems: 2 xAxisLabel: type: string yAxisLabel: type: string xPrefix: type: string xSuffix: type: string yPrefix: type: string ySuffix: type: string hoverDimension: type: string enum: - auto - x - 'y' - xy legendColorizeRows: type: boolean legendHide: type: boolean legendOpacity: type: number format: float legendOrientationThreshold: type: integer ScatterViewProperties: type: object required: - type - queries - colors - shape - note - showNoteWhenEmpty - xColumn - yColumn - fillColumns - symbolColumns - xDomain - yDomain - xAxisLabel - yAxisLabel - xPrefix - yPrefix - xSuffix - ySuffix properties: adaptiveZoomHide: type: boolean timeFormat: type: string type: type: string enum: - scatter queries: type: array items: $ref: '#/components/schemas/DashboardQuery' colors: description: Colors define color encoding of data into a visualization type: array items: type: string shape: type: string enum: - chronograf-v2 note: type: string showNoteWhenEmpty: description: 'If true, will display note when empty' type: boolean xColumn: type: string generateXAxisTicks: type: array items: type: string xTotalTicks: type: integer xTickStart: type: number format: float xTickStep: type: number format: float yColumn: type: string generateYAxisTicks: type: array items: type: string yTotalTicks: type: integer yTickStart: type: number format: float yTickStep: type: number format: float fillColumns: type: array items: type: string symbolColumns: type: array items: type: string xDomain: type: array items: type: number maxItems: 2 yDomain: type: array items: type: number maxItems: 2 xAxisLabel: type: string yAxisLabel: type: string xPrefix: type: string xSuffix: type: string yPrefix: type: string ySuffix: type: string legendColorizeRows: type: boolean legendHide: type: boolean legendOpacity: type: number format: float legendOrientationThreshold: type: integer HeatmapViewProperties: type: object required: - type - queries - colors - shape - note - showNoteWhenEmpty - xColumn - yColumn - xDomain - yDomain - xAxisLabel - yAxisLabel - xPrefix - yPrefix - xSuffix - ySuffix - binSize properties: adaptiveZoomHide: type: boolean timeFormat: type: string type: type: string enum: - heatmap queries: type: array items: $ref: '#/components/schemas/DashboardQuery' colors: description: Colors define color encoding of data into a visualization type: array items: type: string shape: type: string enum: - chronograf-v2 note: type: string showNoteWhenEmpty: description: 'If true, will display note when empty' type: boolean xColumn: type: string generateXAxisTicks: type: array items: type: string xTotalTicks: type: integer xTickStart: type: number format: float xTickStep: type: number format: float yColumn: type: string generateYAxisTicks: type: array items: type: string yTotalTicks: type: integer yTickStart: type: number format: float yTickStep: type: number format: float xDomain: type: array items: type: number maxItems: 2 yDomain: type: array items: type: number maxItems: 2 xAxisLabel: type: string yAxisLabel: type: string xPrefix: type: string xSuffix: type: string yPrefix: type: string ySuffix: type: string binSize: type: number legendColorizeRows: type: boolean legendHide: type: boolean legendOpacity: type: number format: float legendOrientationThreshold: type: integer SingleStatViewProperties: type: object required: - type - queries - colors - shape - note - showNoteWhenEmpty - prefix - tickPrefix - suffix - tickSuffix - decimalPlaces properties: type: type: string enum: - single-stat queries: type: array items: $ref: '#/components/schemas/DashboardQuery' colors: description: Colors define color encoding of data into a visualization type: array items: $ref: '#/components/schemas/DashboardColor' shape: type: string enum: - chronograf-v2 note: type: string showNoteWhenEmpty: description: 'If true, will display note when empty' type: boolean prefix: type: string tickPrefix: type: string suffix: type: string tickSuffix: type: string staticLegend: $ref: '#/components/schemas/StaticLegend' decimalPlaces: $ref: '#/components/schemas/DecimalPlaces' HistogramViewProperties: type: object required: - type - queries - colors - shape - note - showNoteWhenEmpty - xColumn - fillColumns - xDomain - xAxisLabel - position - binCount properties: type: type: string enum: - histogram queries: type: array items: $ref: '#/components/schemas/DashboardQuery' colors: description: Colors define color encoding of data into a visualization type: array items: $ref: '#/components/schemas/DashboardColor' shape: type: string enum: - chronograf-v2 note: type: string showNoteWhenEmpty: description: 'If true, will display note when empty' type: boolean xColumn: type: string fillColumns: type: array items: type: string xDomain: type: array items: type: number format: float xAxisLabel: type: string position: type: string enum: - overlaid - stacked binCount: type: integer legendColorizeRows: type: boolean legendHide: type: boolean legendOpacity: type: number format: float legendOrientationThreshold: type: integer GaugeViewProperties: type: object required: - type - queries - colors - shape - note - showNoteWhenEmpty - prefix - tickPrefix - suffix - tickSuffix - decimalPlaces properties: type: type: string enum: - gauge queries: type: array items: $ref: '#/components/schemas/DashboardQuery' colors: description: Colors define color encoding of data into a visualization type: array items: $ref: '#/components/schemas/DashboardColor' shape: type: string enum: - chronograf-v2 note: type: string showNoteWhenEmpty: description: 'If true, will display note when empty' type: boolean prefix: type: string tickPrefix: type: string suffix: type: string tickSuffix: type: string decimalPlaces: $ref: '#/components/schemas/DecimalPlaces' TableViewProperties: type: object required: - type - queries - colors - shape - note - showNoteWhenEmpty - tableOptions - fieldOptions - timeFormat - decimalPlaces properties: type: type: string enum: - table queries: type: array items: $ref: '#/components/schemas/DashboardQuery' colors: description: Colors define color encoding of data into a visualization type: array items: $ref: '#/components/schemas/DashboardColor' shape: type: string enum: - chronograf-v2 note: type: string showNoteWhenEmpty: description: 'If true, will display note when empty' type: boolean tableOptions: type: object properties: verticalTimeAxis: description: verticalTimeAxis describes the orientation of the table by indicating whether the time axis will be displayed vertically type: boolean sortBy: $ref: '#/components/schemas/RenamableField' wrapping: description: Wrapping describes the text wrapping style to be used in table views type: string enum: - truncate - wrap - single-line fixFirstColumn: description: fixFirstColumn indicates whether the first column of the table should be locked type: boolean fieldOptions: description: fieldOptions represent the fields retrieved by the query with customization options type: array items: $ref: '#/components/schemas/RenamableField' timeFormat: description: timeFormat describes the display format for time values according to moment.js date formatting type: string decimalPlaces: $ref: '#/components/schemas/DecimalPlaces' SimpleTableViewProperties: type: object required: - type - showAll - queries - shape - note - showNoteWhenEmpty properties: type: type: string enum: - simple-table showAll: type: boolean queries: type: array items: $ref: '#/components/schemas/DashboardQuery' shape: type: string enum: - chronograf-v2 note: type: string showNoteWhenEmpty: description: 'If true, will display note when empty' type: boolean MarkdownViewProperties: type: object required: - type - shape - note properties: type: type: string enum: - markdown shape: type: string enum: - chronograf-v2 note: type: string CheckViewProperties: type: object required: - type - shape - checkID - queries - colors properties: adaptiveZoomHide: type: boolean type: type: string enum: - check shape: type: string enum: - chronograf-v2 checkID: type: string check: $ref: '#/components/schemas/Check' queries: type: array items: $ref: '#/components/schemas/DashboardQuery' colors: description: Colors define color encoding of data into a visualization type: array items: $ref: '#/components/schemas/DashboardColor' legendColorizeRows: type: boolean legendHide: type: boolean legendOpacity: type: number format: float legendOrientationThreshold: type: integer GeoViewLayer: type: object oneOf: - $ref: '#/components/schemas/GeoCircleViewLayer' - $ref: '#/components/schemas/GeoHeatMapViewLayer' - $ref: '#/components/schemas/GeoPointMapViewLayer' - $ref: '#/components/schemas/GeoTrackMapViewLayer' GeoViewLayerProperties: type: object required: - type properties: type: type: string enum: - heatmap - circleMap - pointMap - trackMap GeoCircleViewLayer: allOf: - $ref: '#/components/schemas/GeoViewLayerProperties' - type: object required: - radiusField - radiusDimension - colorField - colorDimension - colors properties: radiusField: type: string description: Radius field radiusDimension: $ref: '#/components/schemas/Axis' colorField: type: string description: Circle color field colorDimension: $ref: '#/components/schemas/Axis' colors: description: Colors define color encoding of data into a visualization type: array items: $ref: '#/components/schemas/DashboardColor' radius: description: Maximum radius size in pixels type: integer interpolateColors: description: Interpolate circle color based on displayed value type: boolean GeoPointMapViewLayer: allOf: - $ref: '#/components/schemas/GeoViewLayerProperties' - type: object required: - colorField - colorDimension - colors properties: colorField: type: string description: Marker color field colorDimension: $ref: '#/components/schemas/Axis' colors: description: Colors define color encoding of data into a visualization type: array items: $ref: '#/components/schemas/DashboardColor' isClustered: description: Cluster close markers together type: boolean tooltipColumns: description: An array for which columns to display in tooltip type: array items: type: string GeoTrackMapViewLayer: allOf: - $ref: '#/components/schemas/GeoViewLayerProperties' - type: object required: - trackWidth - speed - randomColors - trackPointVisualization properties: trackWidth: description: Width of the track type: integer speed: description: Speed of the track animation type: integer randomColors: description: Assign different colors to different tracks type: boolean colors: description: Colors define color encoding of data into a visualization type: array items: $ref: '#/components/schemas/DashboardColor' GeoHeatMapViewLayer: allOf: - $ref: '#/components/schemas/GeoViewLayerProperties' - type: object required: - intensityField - intensityDimension - radius - blur - colors properties: intensityField: type: string description: Intensity field intensityDimension: $ref: '#/components/schemas/Axis' radius: description: Radius size in pixels type: integer blur: description: Blur for heatmap points type: integer colors: description: Colors define color encoding of data into a visualization type: array items: $ref: '#/components/schemas/DashboardColor' GeoViewProperties: type: object required: - type - shape - queries - note - showNoteWhenEmpty - center - zoom - allowPanAndZoom - detectCoordinateFields - layers properties: type: type: string enum: - geo queries: type: array items: $ref: '#/components/schemas/DashboardQuery' shape: type: string enum: - chronograf-v2 center: description: Coordinates of the center of the map type: object required: - lat - lon properties: lat: description: Latitude of the center of the map type: number format: double lon: description: Longitude of the center of the map type: number format: double zoom: description: Zoom level used for initial display of the map type: number format: double minimum: 1 maximum: 28 allowPanAndZoom: description: 'If true, map zoom and pan controls are enabled on the dashboard view' type: boolean default: true detectCoordinateFields: description: 'If true, search results get automatically regroupped so that lon,lat and value are treated as columns' type: boolean default: true useS2CellID: description: 'If true, S2 column is used to calculate lat/lon' type: boolean s2Column: description: String to define the column type: string latLonColumns: $ref: '#/components/schemas/LatLonColumns' mapStyle: description: 'Define map type - regular, satellite etc.' type: string note: type: string showNoteWhenEmpty: description: 'If true, will display note when empty' type: boolean colors: description: Colors define color encoding of data into a visualization type: array items: $ref: '#/components/schemas/DashboardColor' layers: description: List of individual layers shown in the map type: array items: $ref: '#/components/schemas/GeoViewLayer' LatLonColumns: description: Object type to define lat/lon columns type: object required: - lat - lon properties: lat: $ref: '#/components/schemas/LatLonColumn' lon: $ref: '#/components/schemas/LatLonColumn' LatLonColumn: description: Object type for key and column definitions type: object required: - key - column properties: key: description: Key to determine whether the column is tag/field type: string column: description: Column to look up Lat/Lon type: string Axes: description: The viewport for a View's visualizations type: object required: - x - 'y' properties: x: $ref: '#/components/schemas/Axis' 'y': $ref: '#/components/schemas/Axis' StaticLegend: description: StaticLegend represents the options specific to the static legend type: object properties: colorizeRows: type: boolean heightRatio: type: number format: float show: type: boolean opacity: type: number format: float orientationThreshold: type: integer valueAxis: type: string widthRatio: type: number format: float DecimalPlaces: description: 'Indicates whether decimal places should be enforced, and how many digits it should show.' type: object properties: isEnforced: description: Indicates whether decimal point setting should be enforced type: boolean digits: description: The number of digits after decimal to display type: integer format: int32 ConstantVariableProperties: properties: type: type: string enum: - constant values: type: array items: type: string MapVariableProperties: properties: type: type: string enum: - map values: type: object additionalProperties: type: string QueryVariableProperties: properties: type: type: string enum: - query values: type: object properties: query: type: string language: type: string VariableProperties: type: object oneOf: - $ref: '#/components/schemas/QueryVariableProperties' - $ref: '#/components/schemas/ConstantVariableProperties' - $ref: '#/components/schemas/MapVariableProperties' ViewProperties: oneOf: - $ref: '#/components/schemas/LinePlusSingleStatProperties' - $ref: '#/components/schemas/XYViewProperties' - $ref: '#/components/schemas/SingleStatViewProperties' - $ref: '#/components/schemas/HistogramViewProperties' - $ref: '#/components/schemas/GaugeViewProperties' - $ref: '#/components/schemas/TableViewProperties' - $ref: '#/components/schemas/SimpleTableViewProperties' - $ref: '#/components/schemas/MarkdownViewProperties' - $ref: '#/components/schemas/CheckViewProperties' - $ref: '#/components/schemas/ScatterViewProperties' - $ref: '#/components/schemas/HeatmapViewProperties' - $ref: '#/components/schemas/MosaicViewProperties' - $ref: '#/components/schemas/BandViewProperties' - $ref: '#/components/schemas/GeoViewProperties' View: required: - name - properties properties: links: type: object readOnly: true properties: self: type: string id: readOnly: true type: string name: type: string properties: $ref: '#/components/schemas/ViewProperties' Views: type: object properties: links: type: object properties: self: type: string views: type: array items: $ref: '#/components/schemas/View' CellUpdate: type: object properties: x: type: integer format: int32 'y': type: integer format: int32 w: type: integer format: int32 h: type: integer format: int32 CreateCell: type: object properties: name: type: string x: type: integer format: int32 'y': type: integer format: int32 w: type: integer format: int32 h: type: integer format: int32 usingView: type: string description: Makes a copy of the provided view. AnalyzeQueryResponse: type: object properties: errors: type: array items: type: object properties: line: type: integer column: type: integer character: type: integer message: type: string CellWithViewProperties: type: object allOf: - $ref: '#/components/schemas/Cell' - type: object properties: name: type: string properties: $ref: '#/components/schemas/ViewProperties' Cell: type: object properties: id: type: string links: type: object properties: self: type: string view: type: string x: type: integer format: int32 'y': type: integer format: int32 w: type: integer format: int32 h: type: integer format: int32 viewID: type: string description: The reference to a view from the views API. CellsWithViewProperties: type: array items: $ref: '#/components/schemas/CellWithViewProperties' Cells: type: array items: $ref: '#/components/schemas/Cell' Secrets: additionalProperties: type: string example: apikey: abc123xyz SecretKeys: type: object properties: secrets: type: array items: type: string SecretKeysResponse: allOf: - $ref: '#/components/schemas/SecretKeys' - type: object properties: links: readOnly: true type: object properties: self: type: string org: type: string CreateDashboardRequest: properties: orgID: type: string description: The ID of the organization that owns the dashboard. name: type: string description: The user-facing name of the dashboard. description: type: string description: The user-facing description of the dashboard. required: - orgID - name DashboardWithViewProperties: type: object allOf: - $ref: '#/components/schemas/CreateDashboardRequest' - type: object properties: links: type: object example: self: /api/v2/dashboards/1 cells: /api/v2/dashboards/1/cells owners: /api/v2/dashboards/1/owners members: /api/v2/dashboards/1/members labels: /api/v2/dashboards/1/labels org: /api/v2/labels/1 properties: self: $ref: '#/components/schemas/Link' cells: $ref: '#/components/schemas/Link' members: $ref: '#/components/schemas/Link' owners: $ref: '#/components/schemas/Link' labels: $ref: '#/components/schemas/Link' org: $ref: '#/components/schemas/Link' id: readOnly: true type: string meta: type: object properties: createdAt: type: string format: date-time updatedAt: type: string format: date-time cells: $ref: '#/components/schemas/CellsWithViewProperties' labels: $ref: '#/components/schemas/Labels' Dashboard: type: object allOf: - $ref: '#/components/schemas/CreateDashboardRequest' - type: object properties: links: type: object example: self: /api/v2/dashboards/1 cells: /api/v2/dashboards/1/cells owners: /api/v2/dashboards/1/owners members: /api/v2/dashboards/1/members labels: /api/v2/dashboards/1/labels org: /api/v2/labels/1 properties: self: $ref: '#/components/schemas/Link' cells: $ref: '#/components/schemas/Link' members: $ref: '#/components/schemas/Link' owners: $ref: '#/components/schemas/Link' labels: $ref: '#/components/schemas/Link' org: $ref: '#/components/schemas/Link' id: readOnly: true type: string meta: type: object properties: createdAt: type: string format: date-time updatedAt: type: string format: date-time cells: $ref: '#/components/schemas/Cells' labels: $ref: '#/components/schemas/Labels' Dashboards: type: object properties: links: $ref: '#/components/schemas/Links' dashboards: type: array items: $ref: '#/components/schemas/Dashboard' TelegrafRequest: type: object properties: name: type: string description: type: string metadata: type: object properties: buckets: type: array items: type: string config: type: string orgID: type: string TelegrafPluginRequest: type: object properties: name: type: string description: type: string plugins: type: array items: type: object properties: type: type: string name: type: string alias: type: string description: type: string config: type: string metadata: type: object properties: buckets: type: array items: type: string config: type: string orgID: type: string Telegraf: type: object allOf: - $ref: '#/components/schemas/TelegrafRequest' - type: object properties: id: type: string readOnly: true links: type: object readOnly: true example: self: /api/v2/telegrafs/1 lables: /api/v2/telegrafs/1/labels owners: /api/v2/telegrafs/1/owners members: /api/v2/telegrafs/1/members properties: self: $ref: '#/components/schemas/Link' labels: $ref: '#/components/schemas/Link' members: $ref: '#/components/schemas/Link' owners: $ref: '#/components/schemas/Link' labels: readOnly: true $ref: '#/components/schemas/Labels' Telegrafs: type: object properties: configurations: type: array items: $ref: '#/components/schemas/Telegraf' TelegrafPlugin: type: object properties: type: type: string name: type: string description: type: string config: type: string TelegrafPlugins: type: object properties: version: type: string os: type: string plugins: type: array items: $ref: '#/components/schemas/TelegrafPlugin' IsOnboarding: type: object properties: allowed: description: | If `true`, the InfluxDB instance hasn't had initial setup; `false` otherwise. type: boolean PasswordResetBody: properties: password: type: string required: - password AddResourceMemberRequestBody: type: object properties: id: type: string description: | The ID of the user to add to the resource. name: type: string description: | The name of the user to add to the resource. required: - id Ready: type: object properties: status: type: string enum: - ready started: type: string format: date-time example: '2019-03-13T10:09:33.891196-04:00' up: type: string example: 14m45.911966424s HealthCheck: type: object required: - name - status properties: name: type: string message: type: string checks: type: array items: $ref: '#/components/schemas/HealthCheck' status: type: string enum: - pass - fail version: type: string commit: type: string Labels: type: array items: $ref: '#/components/schemas/Label' Label: type: object properties: id: readOnly: true type: string orgID: readOnly: true type: string name: type: string properties: type: object additionalProperties: type: string description: | Key-value pairs associated with this label. To remove a property, send an update with an empty value (`""`) for the key. example: color: ffb3b3 description: this is a description LabelCreateRequest: type: object required: - orgID - name properties: orgID: type: string name: type: string properties: type: object additionalProperties: type: string description: | Key-value pairs associated with this label. To remove a property, send an update with an empty value (`""`) for the key. example: color: ffb3b3 description: this is a description LabelUpdate: type: object properties: name: type: string properties: type: object additionalProperties: type: string description: | Key-value pairs associated with this label. To remove a property, send an update with an empty value (`""`) for the key. example: color: ffb3b3 description: this is a description LabelMapping: type: object properties: labelID: description: | Label ID. The ID of the label to attach. type: string LabelsResponse: type: object properties: labels: $ref: '#/components/schemas/Labels' links: $ref: '#/components/schemas/Links' LabelResponse: type: object properties: label: $ref: '#/components/schemas/Label' links: $ref: '#/components/schemas/Links' ASTResponse: description: Contains the AST for the supplied Flux query type: object properties: ast: $ref: '#/components/schemas/Package' WritePrecision: type: string enum: - ms - s - us - ns FluxResponse: description: Rendered flux that backs the check or notification. properties: flux: type: string CheckPatch: type: object properties: name: type: string description: type: string status: type: string enum: - active - inactive CheckDiscriminator: oneOf: - $ref: '#/components/schemas/DeadmanCheck' - $ref: '#/components/schemas/ThresholdCheck' - $ref: '#/components/schemas/CustomCheck' discriminator: propertyName: type mapping: deadman: '#/components/schemas/DeadmanCheck' threshold: '#/components/schemas/ThresholdCheck' custom: '#/components/schemas/CustomCheck' Check: allOf: - $ref: '#/components/schemas/CheckDiscriminator' PostCheck: allOf: - $ref: '#/components/schemas/CheckDiscriminator' Checks: properties: checks: type: array items: $ref: '#/components/schemas/Check' links: $ref: '#/components/schemas/Links' CheckBase: properties: id: readOnly: true type: string name: type: string orgID: description: The ID of the organization that owns this check. type: string taskID: description: The ID of the task associated with this check. type: string ownerID: description: The ID of creator used to create this check. type: string readOnly: true createdAt: type: string format: date-time readOnly: true updatedAt: type: string format: date-time readOnly: true query: $ref: '#/components/schemas/DashboardQuery' status: $ref: '#/components/schemas/TaskStatusType' description: description: An optional description of the check. type: string latestCompleted: type: string description: 'A timestamp ([RFC3339 date/time format](https://docs.influxdata.com/influxdb/v2.3/reference/glossary/#rfc3339-timestamp)) of the latest scheduled and completed run.' format: date-time readOnly: true lastRunStatus: readOnly: true type: string enum: - failed - success - canceled lastRunError: readOnly: true type: string labels: $ref: '#/components/schemas/Labels' links: type: object readOnly: true example: self: /api/v2/checks/1 labels: /api/v2/checks/1/labels members: /api/v2/checks/1/members owners: /api/v2/checks/1/owners query: /api/v2/checks/1/query properties: self: description: URL for this check $ref: '#/components/schemas/Link' labels: description: URL to retrieve labels for this check $ref: '#/components/schemas/Link' members: description: URL to retrieve members for this check $ref: '#/components/schemas/Link' owners: description: URL to retrieve owners for this check $ref: '#/components/schemas/Link' query: description: URL to retrieve flux script for this check $ref: '#/components/schemas/Link' required: - name - orgID - query ThresholdCheck: allOf: - $ref: '#/components/schemas/CheckBase' - type: object required: - type properties: type: type: string enum: - threshold thresholds: type: array items: $ref: '#/components/schemas/Threshold' every: description: Check repetition interval. type: string offset: description: 'Duration to delay after the schedule, before executing check.' type: string tags: description: List of tags to write to each status. type: array items: type: object properties: key: type: string value: type: string statusMessageTemplate: description: The template used to generate and write a status message. type: string Threshold: oneOf: - $ref: '#/components/schemas/GreaterThreshold' - $ref: '#/components/schemas/LesserThreshold' - $ref: '#/components/schemas/RangeThreshold' discriminator: propertyName: type mapping: greater: '#/components/schemas/GreaterThreshold' lesser: '#/components/schemas/LesserThreshold' range: '#/components/schemas/RangeThreshold' DeadmanCheck: allOf: - $ref: '#/components/schemas/CheckBase' - type: object required: - type properties: type: type: string enum: - deadman timeSince: description: String duration before deadman triggers. type: string staleTime: description: String duration for time that a series is considered stale and should not trigger deadman. type: string reportZero: description: 'If only zero values reported since time, trigger an alert' type: boolean level: $ref: '#/components/schemas/CheckStatusLevel' every: description: Check repetition interval. type: string offset: description: 'Duration to delay after the schedule, before executing check.' type: string tags: description: List of tags to write to each status. type: array items: type: object properties: key: type: string value: type: string statusMessageTemplate: description: The template used to generate and write a status message. type: string CustomCheck: allOf: - $ref: '#/components/schemas/CheckBase' - type: object properties: type: type: string enum: - custom required: - type ThresholdBase: properties: level: $ref: '#/components/schemas/CheckStatusLevel' allValues: description: 'If true, only alert if all values meet threshold.' type: boolean GreaterThreshold: allOf: - $ref: '#/components/schemas/ThresholdBase' - type: object required: - type - value properties: type: type: string enum: - greater value: type: number format: float LesserThreshold: allOf: - $ref: '#/components/schemas/ThresholdBase' - type: object required: - type - value properties: type: type: string enum: - lesser value: type: number format: float RangeThreshold: allOf: - $ref: '#/components/schemas/ThresholdBase' - type: object required: - type - min - max - within properties: type: type: string enum: - range min: type: number format: float max: type: number format: float within: type: boolean CheckStatusLevel: description: The state to record if check matches a criteria. type: string enum: - UNKNOWN - OK - INFO - CRIT - WARN RuleStatusLevel: description: The state to record if check matches a criteria. type: string enum: - UNKNOWN - OK - INFO - CRIT - WARN - ANY NotificationRuleUpdate: type: object properties: name: type: string description: type: string status: type: string enum: - active - inactive NotificationRuleDiscriminator: oneOf: - $ref: '#/components/schemas/SlackNotificationRule' - $ref: '#/components/schemas/SMTPNotificationRule' - $ref: '#/components/schemas/PagerDutyNotificationRule' - $ref: '#/components/schemas/HTTPNotificationRule' - $ref: '#/components/schemas/TelegramNotificationRule' discriminator: propertyName: type mapping: slack: '#/components/schemas/SlackNotificationRule' smtp: '#/components/schemas/SMTPNotificationRule' pagerduty: '#/components/schemas/PagerDutyNotificationRule' http: '#/components/schemas/HTTPNotificationRule' telegram: '#/components/schemas/TelegramNotificationRule' NotificationRule: allOf: - $ref: '#/components/schemas/NotificationRuleDiscriminator' PostNotificationRule: allOf: - $ref: '#/components/schemas/NotificationRuleDiscriminator' NotificationRules: properties: notificationRules: type: array items: $ref: '#/components/schemas/NotificationRule' links: $ref: '#/components/schemas/Links' NotificationRuleBase: type: object required: - orgID - status - name - statusRules - endpointID properties: latestCompleted: description: 'A timestamp ([RFC3339 date/time format](https://docs.influxdata.com/influxdb/v2.3/reference/glossary/#rfc3339-timestamp)) of the latest scheduled and completed run.' type: string format: date-time readOnly: true lastRunStatus: readOnly: true type: string enum: - failed - success - canceled lastRunError: readOnly: true type: string id: readOnly: true type: string endpointID: type: string orgID: description: The ID of the organization that owns this notification rule. type: string taskID: description: The ID of the task associated with this notification rule. type: string ownerID: description: The ID of creator used to create this notification rule. type: string readOnly: true createdAt: type: string format: date-time readOnly: true updatedAt: type: string format: date-time readOnly: true status: $ref: '#/components/schemas/TaskStatusType' name: description: Human-readable name describing the notification rule. type: string sleepUntil: type: string every: description: The notification repetition interval. type: string offset: description: 'Duration to delay after the schedule, before executing check.' type: string runbookLink: type: string limitEvery: description: 'Don''t notify me more than times every seconds. If set, limit cannot be empty.' type: integer limit: description: 'Don''t notify me more than times every seconds. If set, limitEvery cannot be empty.' type: integer tagRules: description: List of tag rules the notification rule attempts to match. type: array items: $ref: '#/components/schemas/TagRule' description: description: An optional description of the notification rule. type: string statusRules: description: List of status rules the notification rule attempts to match. type: array minItems: 1 items: $ref: '#/components/schemas/StatusRule' labels: $ref: '#/components/schemas/Labels' links: type: object readOnly: true example: self: /api/v2/notificationRules/1 labels: /api/v2/notificationRules/1/labels members: /api/v2/notificationRules/1/members owners: /api/v2/notificationRules/1/owners query: /api/v2/notificationRules/1/query properties: self: description: URL for this endpoint. $ref: '#/components/schemas/Link' labels: description: URL to retrieve labels for this notification rule. $ref: '#/components/schemas/Link' members: description: URL to retrieve members for this notification rule. $ref: '#/components/schemas/Link' owners: description: URL to retrieve owners for this notification rule. $ref: '#/components/schemas/Link' query: description: URL to retrieve flux script for this notification rule. $ref: '#/components/schemas/Link' TagRule: type: object properties: key: type: string value: type: string operator: type: string enum: - equal - notequal - equalregex - notequalregex StatusRule: type: object properties: currentLevel: $ref: '#/components/schemas/RuleStatusLevel' previousLevel: $ref: '#/components/schemas/RuleStatusLevel' count: type: integer period: type: string HTTPNotificationRuleBase: type: object required: - type properties: type: type: string enum: - http url: type: string HTTPNotificationRule: allOf: - $ref: '#/components/schemas/NotificationRuleBase' - $ref: '#/components/schemas/HTTPNotificationRuleBase' SlackNotificationRuleBase: type: object required: - type - messageTemplate properties: type: type: string enum: - slack channel: type: string messageTemplate: type: string SlackNotificationRule: allOf: - $ref: '#/components/schemas/NotificationRuleBase' - $ref: '#/components/schemas/SlackNotificationRuleBase' SMTPNotificationRule: allOf: - $ref: '#/components/schemas/NotificationRuleBase' - $ref: '#/components/schemas/SMTPNotificationRuleBase' SMTPNotificationRuleBase: type: object required: - type - subjectTemplate - to properties: type: type: string enum: - smtp subjectTemplate: type: string bodyTemplate: type: string to: type: string PagerDutyNotificationRule: allOf: - $ref: '#/components/schemas/NotificationRuleBase' - $ref: '#/components/schemas/PagerDutyNotificationRuleBase' PagerDutyNotificationRuleBase: type: object required: - type - messageTemplate properties: type: type: string enum: - pagerduty messageTemplate: type: string TelegramNotificationRule: allOf: - $ref: '#/components/schemas/NotificationRuleBase' - $ref: '#/components/schemas/TelegramNotificationRuleBase' TelegramNotificationRuleBase: type: object required: - type - messageTemplate - channel properties: type: description: The discriminator between other types of notification rules is "telegram". type: string enum: - telegram messageTemplate: description: The message template as a flux interpolated string. type: string parseMode: description: 'Parse mode of the message text per https://core.telegram.org/bots/api#formatting-options. Defaults to "MarkdownV2".' type: string enum: - MarkdownV2 - HTML - Markdown disableWebPagePreview: description: Disables preview of web links in the sent messages when "true". Defaults to "false". type: boolean NotificationEndpointUpdate: type: object properties: name: type: string description: type: string status: type: string enum: - active - inactive NotificationEndpointDiscriminator: oneOf: - $ref: '#/components/schemas/SlackNotificationEndpoint' - $ref: '#/components/schemas/PagerDutyNotificationEndpoint' - $ref: '#/components/schemas/HTTPNotificationEndpoint' - $ref: '#/components/schemas/TelegramNotificationEndpoint' discriminator: propertyName: type mapping: slack: '#/components/schemas/SlackNotificationEndpoint' pagerduty: '#/components/schemas/PagerDutyNotificationEndpoint' http: '#/components/schemas/HTTPNotificationEndpoint' telegram: '#/components/schemas/TelegramNotificationEndpoint' NotificationEndpoint: allOf: - $ref: '#/components/schemas/NotificationEndpointDiscriminator' PostNotificationEndpoint: allOf: - $ref: '#/components/schemas/NotificationEndpointDiscriminator' NotificationEndpoints: properties: notificationEndpoints: type: array items: $ref: '#/components/schemas/NotificationEndpoint' links: $ref: '#/components/schemas/Links' NotificationEndpointBase: type: object required: - type - name properties: id: type: string orgID: type: string userID: type: string createdAt: type: string format: date-time readOnly: true updatedAt: type: string format: date-time readOnly: true description: description: An optional description of the notification endpoint. type: string name: type: string status: description: The status of the endpoint. default: active type: string enum: - active - inactive labels: $ref: '#/components/schemas/Labels' links: type: object readOnly: true example: self: /api/v2/notificationEndpoints/1 labels: /api/v2/notificationEndpoints/1/labels members: /api/v2/notificationEndpoints/1/members owners: /api/v2/notificationEndpoints/1/owners properties: self: description: URL for this endpoint. $ref: '#/components/schemas/Link' labels: description: URL to retrieve labels for this endpoint. $ref: '#/components/schemas/Link' members: description: URL to retrieve members for this endpoint. $ref: '#/components/schemas/Link' owners: description: URL to retrieve owners for this endpoint. $ref: '#/components/schemas/Link' type: $ref: '#/components/schemas/NotificationEndpointType' SlackNotificationEndpoint: type: object allOf: - $ref: '#/components/schemas/NotificationEndpointBase' - type: object properties: url: description: Specifies the URL of the Slack endpoint. Specify either `URL` or `Token`. type: string token: description: Specifies the API token string. Specify either `URL` or `Token`. type: string PagerDutyNotificationEndpoint: type: object allOf: - $ref: '#/components/schemas/NotificationEndpointBase' - type: object required: - routingKey properties: clientURL: type: string routingKey: type: string HTTPNotificationEndpoint: type: object allOf: - $ref: '#/components/schemas/NotificationEndpointBase' - type: object required: - url - authMethod - method properties: url: type: string username: type: string password: type: string token: type: string method: type: string enum: - POST - GET - PUT authMethod: type: string enum: - none - basic - bearer contentTemplate: type: string headers: type: object description: Customized headers. additionalProperties: type: string TelegramNotificationEndpoint: type: object allOf: - $ref: '#/components/schemas/NotificationEndpointBase' - type: object required: - token - channel properties: token: description: 'Specifies the Telegram bot token. See https://core.telegram.org/bots#creating-a-new-bot .' type: string channel: description: 'The ID of the telegram channel; a chat_id in https://core.telegram.org/bots/api#sendmessage .' type: string NotificationEndpointType: type: string enum: - slack - pagerduty - http - telegram DBRP: type: object properties: id: type: string description: The ID of the DBRP mapping. readOnly: true orgID: type: string description: The ID of the organization. bucketID: type: string description: The ID of the bucket used as the target for the translation. database: type: string description: InfluxDB v1 database retention_policy: type: string description: InfluxDB v1 retention policy default: type: boolean description: Mapping represents the default retention policy for the database specified. virtual: type: boolean description: 'Indicates an autogenerated, virtual mapping based on the bucket name. Currently only available in OSS.' links: $ref: '#/components/schemas/Links' required: - id - orgID - bucketID - database - retention_policy - default DBRPs: properties: content: type: array items: $ref: '#/components/schemas/DBRP' DBRPUpdate: properties: retention_policy: type: string description: InfluxDB v1 retention policy default: type: boolean DBRPCreate: type: object properties: orgID: type: string description: The ID of the organization. org: type: string description: The name of the organization that owns this mapping. bucketID: type: string description: The ID of the bucket used as the target for the translation. database: type: string description: InfluxDB v1 database retention_policy: type: string description: InfluxDB v1 retention policy default: type: boolean description: Mapping represents the default retention policy for the database specified. required: - bucketID - database - retention_policy DBRPGet: type: object properties: content: $ref: '#/components/schemas/DBRP' required: true SchemaType: type: string enum: - implicit - explicit ColorMapping: type: object description: A color mapping is an object that maps time series data to a UI color scheme to allow the UI to render graphs consistent colors across reloads. additionalProperties: type: string example: series_id_1: '#edf529' series_id_2: '#edf529' measurement_birdmigration_europe: '#663cd0' configcat_deployments-autopromotionblocker: '#663cd0' Authorization: required: - orgID - permissions allOf: - $ref: '#/components/schemas/AuthorizationUpdateRequest' - type: object properties: createdAt: type: string format: date-time readOnly: true updatedAt: type: string format: date-time readOnly: true orgID: type: string description: The ID of the organization. permissions: type: array minItems: 1 description: | A list of permissions for an authorization. An authorization must have at least one permission. items: $ref: '#/components/schemas/Permission' id: readOnly: true type: string token: readOnly: true type: string description: | The API token for authenticating InfluxDB API and CLI requests. userID: readOnly: true type: string description: The ID of the user that created and owns the token. user: readOnly: true type: string description: The name of the user that created and owns the token. org: readOnly: true type: string description: The name of the organization that the token is scoped to. links: type: object readOnly: true example: self: /api/v2/authorizations/1 user: /api/v2/users/12 properties: self: readOnly: true $ref: '#/components/schemas/Link' user: readOnly: true $ref: '#/components/schemas/Link' Authorizations: type: object properties: links: readOnly: true $ref: '#/components/schemas/Links' authorizations: type: array items: $ref: '#/components/schemas/Authorization' AuthorizationPostRequest: required: - orgID - permissions allOf: - $ref: '#/components/schemas/AuthorizationUpdateRequest' - type: object properties: orgID: type: string description: | The ID of the organization that owns the authorization. userID: type: string description: | The ID of the user that the authorization is scoped to. permissions: type: array minItems: 1 description: | A list of permissions for an authorization. An authorization must have at least one permission. items: $ref: '#/components/schemas/Permission' Permission: required: - action - resource properties: action: type: string enum: - read - write resource: $ref: '#/components/schemas/Resource' Resource: type: object required: - type properties: type: type: string enum: - authorizations - buckets - dashboards - orgs - sources - tasks - telegrafs - users - variables - scrapers - secrets - labels - views - documents - notificationRules - notificationEndpoints - checks - dbrp - notebooks - annotations - remotes - replications - instance description: | The type of resource. In a `permission`, applies the permission to all resources of this type. id: type: string description: | The ID of a specific resource. In a `permission`, applies the permission to only the resource with this ID. name: type: string description: | Optional: A name for the resource. Not all resource types have a name field. orgID: type: string description: | The ID of the organization that owns the resource. In a `permission`, applies the permission to all resources of `type` owned by this organization. org: type: string description: | Optional: The name of the organization with `orgID`. User: properties: id: readOnly: true type: string oauthID: type: string name: type: string status: description: If inactive the user is inactive. default: active type: string enum: - active - inactive required: - name Users: type: object properties: links: type: object properties: self: type: string format: uri users: type: array items: $ref: '#/components/schemas/UserResponse' OnboardingRequest: type: object properties: username: type: string password: type: string org: type: string bucket: type: string retentionPeriodSeconds: type: integer format: int64 retentionPeriodHrs: type: integer deprecated: true description: | Retention period *in nanoseconds* for the new bucket. This key's name has been misleading since OSS 2.0 GA, please transition to use `retentionPeriodSeconds` token: type: string description: | Authentication token to set on the initial user. If not specified, the server will generate a token. required: - username - org - bucket OnboardingResponse: type: object properties: user: $ref: '#/components/schemas/UserResponse' org: $ref: '#/components/schemas/Organization' bucket: $ref: '#/components/schemas/Bucket' auth: $ref: '#/components/schemas/Authorization' Variable: type: object required: - name - orgID - arguments properties: links: type: object readOnly: true properties: self: type: string format: uri org: type: string format: uri labels: type: string format: uri id: readOnly: true type: string orgID: type: string name: type: string description: type: string selected: type: array items: type: string labels: $ref: '#/components/schemas/Labels' arguments: $ref: '#/components/schemas/VariableProperties' createdAt: type: string format: date-time updatedAt: type: string format: date-time Variables: type: object example: variables: - id: '1221432' name: ':ok:' selected: - hello arguments: type: constant values: - howdy - hello - hi - yo - oy - id: '1221432' name: ':ok:' selected: - c arguments: type: map values: a: fdjaklfdjkldsfjlkjdsa b: dfaksjfkljekfajekdljfas c: fdjksajfdkfeawfeea - id: '1221432' name: ':ok:' selected: - host arguments: type: query query: 'from(bucket: "foo") |> showMeasurements()' language: flux properties: variables: type: array items: $ref: '#/components/schemas/Variable' Source: type: object properties: links: type: object properties: self: type: string query: type: string health: type: string buckets: type: string id: type: string orgID: type: string default: type: boolean name: type: string type: type: string enum: - v1 - v2 - self url: type: string format: uri insecureSkipVerify: type: boolean telegraf: type: string token: type: string username: type: string password: type: string sharedSecret: type: string metaUrl: type: string format: uri defaultRP: type: string languages: type: array readOnly: true items: type: string enum: - flux - influxql Sources: type: object properties: links: type: object properties: self: type: string format: uri sources: type: array items: $ref: '#/components/schemas/Source' ScraperTargetRequest: type: object properties: name: type: string description: The name of the scraper target. type: type: string description: The type of the metrics to be parsed. enum: - prometheus url: type: string description: The URL of the metrics endpoint. example: 'http://localhost:9090/metrics' orgID: type: string description: The organization ID. bucketID: type: string description: The ID of the bucket to write to. allowInsecure: type: boolean description: Skip TLS verification on endpoint. default: false ScraperTargetResponse: type: object allOf: - $ref: '#/components/schemas/ScraperTargetRequest' - type: object properties: id: type: string readOnly: true org: type: string description: The name of the organization. bucket: type: string description: The bucket name. links: type: object readOnly: true example: self: /api/v2/scrapers/1 owners: /api/v2/scrapers/1/owners members: /api/v2/scrapers/1/members bucket: /api/v2/buckets/1 organization: /api/v2/orgs/1 properties: self: $ref: '#/components/schemas/Link' members: $ref: '#/components/schemas/Link' owners: $ref: '#/components/schemas/Link' bucket: $ref: '#/components/schemas/Link' organization: $ref: '#/components/schemas/Link' ScraperTargetResponses: type: object properties: configurations: type: array items: $ref: '#/components/schemas/ScraperTargetResponse' MetadataBackup: type: object properties: kv: type: string format: binary sql: type: string format: binary buckets: $ref: '#/components/schemas/BucketMetadataManifests' required: - kv - sql - buckets BucketMetadataManifests: type: array items: $ref: '#/components/schemas/BucketMetadataManifest' BucketMetadataManifest: type: object properties: organizationID: type: string organizationName: type: string bucketID: type: string bucketName: type: string description: type: string defaultRetentionPolicy: type: string retentionPolicies: $ref: '#/components/schemas/RetentionPolicyManifests' required: - organizationID - organizationName - bucketID - bucketName - defaultRetentionPolicy - retentionPolicies RetentionPolicyManifests: type: array items: $ref: '#/components/schemas/RetentionPolicyManifest' RetentionPolicyManifest: type: object properties: name: type: string replicaN: type: integer duration: type: integer format: int64 shardGroupDuration: type: integer format: int64 shardGroups: $ref: '#/components/schemas/ShardGroupManifests' subscriptions: $ref: '#/components/schemas/SubscriptionManifests' required: - name - replicaN - duration - shardGroupDuration - shardGroups - subscriptions ShardGroupManifests: type: array items: $ref: '#/components/schemas/ShardGroupManifest' ShardGroupManifest: type: object properties: id: type: integer format: int64 startTime: type: string format: date-time endTime: type: string format: date-time deletedAt: type: string format: date-time truncatedAt: type: string format: date-time shards: $ref: '#/components/schemas/ShardManifests' required: - id - startTime - endTime - shards ShardManifests: type: array items: $ref: '#/components/schemas/ShardManifest' ShardManifest: type: object properties: id: type: integer format: int64 shardOwners: $ref: '#/components/schemas/ShardOwners' required: - id - shardOwners ShardOwners: type: array items: $ref: '#/components/schemas/ShardOwner' ShardOwner: type: object properties: nodeID: type: integer format: int64 description: The ID of the node that owns the shard. required: - nodeID SubscriptionManifests: type: array items: $ref: '#/components/schemas/SubscriptionManifest' SubscriptionManifest: type: object properties: name: type: string mode: type: string destinations: type: array items: type: string required: - name - mode - destinations RestoredBucketMappings: type: object properties: id: description: New ID of the restored bucket type: string name: type: string shardMappings: $ref: '#/components/schemas/BucketShardMappings' required: - id - name - shardMappings BucketShardMappings: type: array items: $ref: '#/components/schemas/BucketShardMapping' BucketShardMapping: type: object properties: oldId: type: integer format: int64 newId: type: integer format: int64 required: - oldId - newId Config: type: object properties: config: type: object RemoteConnection: type: object properties: id: type: string name: type: string orgID: type: string description: type: string remoteURL: type: string format: uri remoteOrgID: type: string allowInsecureTLS: type: boolean default: false required: - id - name - orgID - remoteURL - remoteOrgID - allowInsecureTLS RemoteConnections: type: object properties: remotes: type: array items: $ref: '#/components/schemas/RemoteConnection' RemoteConnectionCreationRequest: type: object properties: name: type: string description: type: string orgID: type: string remoteURL: type: string format: uri remoteAPIToken: type: string remoteOrgID: type: string allowInsecureTLS: type: boolean default: false required: - name - orgID - remoteURL - remoteAPIToken - remoteOrgID - allowInsecureTLS RemoteConnectionUpdateRequest: type: object properties: name: type: string description: type: string remoteURL: type: string format: uri remoteAPIToken: type: string remoteOrgID: type: string allowInsecureTLS: type: boolean default: false Replication: type: object properties: id: type: string name: type: string description: type: string orgID: type: string remoteID: type: string localBucketID: type: string remoteBucketID: type: string remoteBucketName: type: string maxQueueSizeBytes: type: integer format: int64 currentQueueSizeBytes: type: integer format: int64 latestResponseCode: type: integer latestErrorMessage: type: string dropNonRetryableData: type: boolean required: - id - name - remoteID - orgID - localBucketID - maxQueueSizeBytes - currentQueueSizeBytes Replications: type: object properties: replications: type: array items: $ref: '#/components/schemas/Replication' ReplicationCreationRequest: type: object properties: name: type: string description: type: string orgID: type: string remoteID: type: string localBucketID: type: string remoteBucketID: type: string remoteBucketName: type: string maxQueueSizeBytes: type: integer format: int64 minimum: 33554430 default: 67108860 dropNonRetryableData: type: boolean default: false maxAgeSeconds: type: integer format: int64 minimum: 0 default: 604800 required: - name - orgID - remoteID - localBucketID - maxQueueSizeBytes - maxAgeSeconds ReplicationUpdateRequest: type: object properties: name: type: string description: type: string remoteID: type: string remoteBucketID: type: string remoteBucketName: type: string maxQueueSizeBytes: type: integer format: int64 minimum: 33554430 dropNonRetryableData: type: boolean maxAgeSeconds: type: integer format: int64 minimum: 0 Tasks: type: object properties: links: readOnly: true $ref: '#/components/schemas/Links' tasks: type: array items: $ref: '#/components/schemas/Task' Task: type: object properties: id: readOnly: true type: string orgID: description: The ID of the organization that owns the task. type: string org: description: The name of the organization that owns the task. type: string name: description: The name of the task. type: string ownerID: description: The ID of the user who owns the Task. type: string description: description: The description of the task. type: string status: $ref: '#/components/schemas/TaskStatusType' labels: $ref: '#/components/schemas/Labels' authorizationID: description: The ID of the authorization used when the task communicates with the query engine. type: string flux: description: The Flux script that the task runs. type: string every: description: 'An interval ([duration literal](https://docs.influxdata.com/flux/v0.x/spec/lexical-elements/#duration-literals))) at which the task runs. `every` also determines when the task first runs, depending on the specified time.' type: string format: duration cron: description: '[Cron expression](https://en.wikipedia.org/wiki/Cron#Overview) that defines the schedule on which the task runs. InfluxDB bases cron runs on the system time.' type: string offset: description: 'A [duration](https://docs.influxdata.com/flux/v0.x/spec/lexical-elements/#duration-literals) to delay execution of the task after the scheduled time has elapsed. `0` removes the offset.' type: string format: duration latestCompleted: description: 'A timestamp ([RFC3339 date/time format](https://docs.influxdata.com/flux/v0.x/data-types/basic/time/#time-syntax)) of the latest scheduled and completed run.' type: string format: date-time readOnly: true lastRunStatus: readOnly: true type: string enum: - failed - success - canceled lastRunError: readOnly: true type: string createdAt: type: string format: date-time readOnly: true updatedAt: type: string format: date-time readOnly: true links: type: object readOnly: true example: self: /api/v2/tasks/1 owners: /api/v2/tasks/1/owners members: /api/v2/tasks/1/members labels: /api/v2/tasks/1/labels runs: /api/v2/tasks/1/runs logs: /api/v2/tasks/1/logs properties: self: $ref: '#/components/schemas/Link' owners: $ref: '#/components/schemas/Link' members: $ref: '#/components/schemas/Link' runs: $ref: '#/components/schemas/Link' logs: $ref: '#/components/schemas/Link' labels: $ref: '#/components/schemas/Link' required: - id - name - orgID - flux TaskCreateRequest: type: object properties: orgID: description: The ID of the organization that owns this Task. type: string org: description: The name of the organization that owns this Task. type: string status: $ref: '#/components/schemas/TaskStatusType' flux: description: The Flux script to run for this task. type: string description: description: An optional description of the task. type: string required: - flux TaskUpdateRequest: type: object properties: status: $ref: '#/components/schemas/TaskStatusType' flux: description: The Flux script that the task runs. type: string name: description: Update the 'name' option in the flux script. type: string every: description: Update the 'every' option in the flux script. type: string cron: description: Update the 'cron' option in the flux script. type: string offset: description: Update the 'offset' option in the flux script. type: string description: description: Update the description of the task. type: string responses: AuthorizationError: description: | Unauthorized. The error may indicate one of the following: * The `Authorization: Token` header is missing or malformed. * The API token value is missing from the header. * The token doesn't have sufficient permissions to write to this organization and bucket. content: application/json: schema: properties: code: description: | The HTTP status code description. Default is `unauthorized`. readOnly: true type: string enum: - unauthorized message: readOnly: true description: A human-readable message that may contain detail about the error. type: string examples: tokenNotAuthorized: summary: Token is not authorized to access a resource value: code: unauthorized message: unauthorized access BadRequestError: description: | Bad request. The response body contains detail about the error. #### InfluxDB OSS - Returns this error if an incorrect value is passed for `org` or `orgID`. content: application/json: schema: $ref: '#/components/schemas/Error' examples: orgProvidedNotFound: summary: The org or orgID passed doesn't own the token passed in the header value: code: invalid message: 'failed to decode request body: organization not found' GeneralServerError: description: Non 2XX error response from server. content: application/json: schema: $ref: '#/components/schemas/Error' InternalServerError: description: | Internal server error. The server encountered an unexpected situation. content: application/json: schema: $ref: '#/components/schemas/Error' ResourceNotFoundError: description: | Not found. A requested resource was not found. The response body contains the requested resource type and the name value (if you passed it)--for example: - `"organization name \"my-org\" not found"` - `"organization not found"`: indicates you passed an ID that did not match an organization. content: application/json: schema: $ref: '#/components/schemas/Error' examples: org-not-found: summary: Organization name not found value: code: not found message: organization name "my-org" not found bucket-not-found: summary: Bucket name not found value: code: not found message: bucket "air_sensor" not found orgID-not-found: summary: Organization ID not found value: code: not found message: organization not found securitySchemes: TokenAuthentication: type: apiKey name: Authorization in: header description: | Use the [Token authentication](#section/Authentication/TokenAuthentication) scheme to authenticate to the InfluxDB API. In your API requests, send an `Authorization` header. For the header value, provide the word `Token` followed by a space and an InfluxDB API token. The word `Token` is case-sensitive. ### Syntax `Authorization: Token YOUR_INFLUX_API_TOKEN` For more information and examples, see the following: - [`/authorizations`](#tag/Authorizations) endpoint. - [Authorize API requests](https://docs.influxdata.com/influxdb/v2.3/api-guide/api_intro/#authentication). - [Manage API tokens](https://docs.influxdata.com/influxdb/v2.3/security/tokens/). BasicAuthentication: type: http scheme: basic description: | Use the HTTP Basic authentication scheme for InfluxDB `/api/v2` API operations that support it. Username and password schemes require the following credentials: - **username** - **password** security: - TokenAuthentication: []