openapi: 3.0.0 info: title: InfluxDB Cloud API Service version: 2.x description: > The InfluxDB v2 HTTP API provides a programmatic interface for all interactions with InfluxDB v2. Access the InfluxDB API using `/api/v2/` and InfluxDB v1-compatible endpoints. This documentation is generated from the [InfluxDB OpenAPI specification](https://raw.githubusercontent.com/influxdata/openapi/master/contracts/ref/cloud.yml). license: name: MIT url: https://opensource.org/licenses/MIT contact: name: InfluxData url: https://www.influxdata.com email: support@influxdata.com x-influxdata-short-title: v2 API x-influxdata-short-description: >- The InfluxDB v2 HTTP API provides a programmatic interface for all interactions with InfluxDB v2. servers: - url: https://{baseurl} description: InfluxDB Cloud API URL variables: baseurl: enum: - us-east-1-1.aws.cloud2.influxdata.com default: us-east-1-1.aws.cloud2.influxdata.com description: InfluxDB Cloud URL security: - TokenAuthentication: [] tags: - description: >- Use one of the following schemes to authenticate to the InfluxDB Cloud API: - [Token authentication](#section/Authentication/TokenAuthentication) - [Basic authentication](#section/Authentication/BasicAuthentication) - [Querystring authentication](#section/Authentication/QuerystringAuthentication) name: Authentication x-traitTag: true - description: >- Create and manage API token authorizations that grant read and write permissions to InfluxDB Cloud organization resources. name: Authorizations (API tokens) x-related: - title: Manage API tokens href: https://docs.influxdata.com/influxdb/cloud/security/tokens/ - name: Bucket Schemas description: >- Manage explicit schemas for InfluxDB Cloud buckets to enforce column names and data types for measurement data. - description: >- Create and manage named storage locations (buckets) in InfluxDB Cloud, each with a configurable retention period. name: Buckets x-related: - title: Manage buckets href: https://docs.influxdata.com/influxdb/cloud/organizations/buckets/ - name: Cells description: Manage cells within InfluxDB Cloud dashboards. - name: Checks description: >- Create and manage monitoring checks that query data on a schedule and generate notification statuses in InfluxDB Cloud. - description: >- Most InfluxDB Cloud API endpoints require parameters in the request--for example, to specify the bucket or organization. The following table shows common query parameters used by many InfluxDB Cloud API endpoints. | Query parameter | Value type | Description | |:----------------|:-----------|:---------------------------------------------| | `bucket` | string | The bucket name. | | `bucketID` | string | The bucket ID. | | `org` | string | The organization name. | | `orgID` | string | The organization ID. | | `precision` | string | Timestamp precision: `ns`, `us`, `ms`, `s`. | | `db` | string | The database (for v1-compatible endpoints). | name: Common parameters x-traitTag: true - name: Config description: Retrieve configuration information for an InfluxDB Cloud instance. - name: Dashboards description: Create and manage dashboards in InfluxDB Cloud. - description: >- Manage database and retention policy (DBRP) mappings that route InfluxDB v1-compatible requests to InfluxDB Cloud buckets. name: DBRPs x-related: - title: Database and retention policy mapping href: >- https://docs.influxdata.com/influxdb/cloud/reference/api/influxdb-1x/dbrp/ - description: >- Delete time series data from an InfluxDB Cloud bucket by specifying a time range and optional tag predicate. name: Delete - description: >- InfluxDB Cloud API endpoints use standard HTTP request and response headers. The following table shows common headers used by many InfluxDB Cloud API endpoints. Some endpoints may use other headers for functions specific to those endpoints--for example, the write endpoints accept the `Content-Encoding` header to indicate that line protocol is compressed in the request body. | Header | Value type | Description | |:-------------------|:-----------|:------------------------------------------------------| | `Accept` | string | The content type that the client can understand. | | `Authorization` | string | The authorization scheme and credential. | | `Content-Encoding` | string | Compression applied to the request body (e.g., gzip). | | `Content-Length` | integer | The size of the entity-body, in bytes. | | `Content-Type` | string | The format of the data in the request body. | name: Headers x-traitTag: true - description: >- Store, manage, and execute custom Flux scripts in InfluxDB Cloud. Scripts accept runtime parameters and can be invoked via dedicated endpoints. name: Invokable Scripts - name: Labels description: >- Create and manage labels for organizing InfluxDB Cloud resources such as dashboards, tasks, and buckets. - name: Legacy Authorizations description: Manage legacy (v1-compatible) authorization credentials in InfluxDB Cloud. - name: Legacy Query description: >- Query data using InfluxQL via the v1-compatible `/query` endpoint in InfluxDB Cloud. - name: Legacy Write description: Write data using the v1-compatible `/write` endpoint in InfluxDB Cloud. - name: Limits description: Retrieve rate limits and usage quotas for an InfluxDB Cloud organization. - name: NotificationEndpoints description: >- Create and manage notification endpoints that receive alert notifications from InfluxDB Cloud monitoring checks. - name: NotificationRules description: >- Create and manage notification rules that define when and how InfluxDB Cloud sends notifications to configured endpoints. - description: >- View and manage InfluxDB Cloud organizations, which are workspaces that group users, buckets, and resources. name: Organizations x-related: - title: View and manage organizations href: https://docs.influxdata.com/influxdb/cloud/organizations/ - description: >- List endpoints in the InfluxDB Cloud API support pagination via query parameters. Use these parameters to page through large result sets. | Query parameter | Value type | Description | |:----------------|:-----------|:----------------------------------------------------| | `limit` | integer | Maximum number of records to return (default: 20). | | `offset` | integer | Number of records to skip before returning results. | | `after` | string | Return records created after the specified record ID. | | `descending` | boolean | Sort results in descending order. | List responses include pagination metadata (such as total count or links to the next page) to help navigate through result pages. name: Pagination x-traitTag: true - name: Ping description: Check the availability of the InfluxDB Cloud instance. - description: >- Retrieve data, analyze queries, and get query suggestions using the InfluxDB Cloud query API. name: Query data x-related: - title: Query data href: https://docs.influxdata.com/influxdb/cloud/query-data/ - description: >- Authenticate, write, and query with the InfluxDB Cloud API: 1. Create an API token with write and read permissions for a bucket. Create tokens in the InfluxDB Cloud UI or via the Authorizations (API tokens) endpoints. 2. Check the status of your InfluxDB Cloud region. ```bash curl "https://REGION.aws.cloud2.influxdata.com/health" ``` 3. Write data to a bucket using the `/api/v2/write` endpoint and [line protocol](https://docs.influxdata.com/influxdb/cloud/reference/syntax/line-protocol/). ```bash curl --request POST \ "https://REGION.aws.cloud2.influxdata.com/api/v2/write?org=ORG&bucket=BUCKET&precision=s" \ --header "Authorization: Token YOUR_API_TOKEN" \ --header "Content-Type: text/plain; charset=utf-8" \ --data-raw "home,room=Kitchen temp=72.0 1640995200 home,room=Living\ Room temp=71.5 1640995200" ``` If all data is written, the response is `204 No Content`. 4. Query data using the Flux `/api/v2/query` endpoint. ```bash curl --request POST \ "https://REGION.aws.cloud2.influxdata.com/api/v2/query?org=ORG" \ --header "Authorization: Token YOUR_API_TOKEN" \ --header "Content-Type: application/vnd.flux" \ --data 'from(bucket: "BUCKET") |> range(start: -1h) |> filter(fn: (r) => r._measurement == "home")' ``` Alternatively, query with InfluxQL using the v1-compatible `/query` endpoint. Target a v1 DBRP mapping (`database.retention_policy`) that points to your bucket: ```bash curl --get "https://REGION.aws.cloud2.influxdata.com/query" \ --header "Authorization: Token YOUR_API_TOKEN" \ --data-urlencode "db=DATABASE" \ --data-urlencode "q=SELECT * FROM home WHERE time > now() - 1h" ``` For more information, see [Get started with InfluxDB Cloud](https://docs.influxdata.com/influxdb/cloud/get-started/). name: Quick start x-traitTag: true x-related: - title: Get started with InfluxDB Cloud href: https://docs.influxdata.com/influxdb/cloud/get-started/ - title: Write data href: https://docs.influxdata.com/influxdb/cloud/write-data/ - title: Query data with Flux href: https://docs.influxdata.com/influxdb/cloud/query-data/ - name: Resources description: >- Retrieve a list of top-level resource types available in the InfluxDB Cloud API. - description: >- InfluxDB Cloud API endpoints return standard HTTP status codes. The following table summarizes the most common response codes. | Status code | Meaning | |:------------|:------------------------------------------------------------------------| | `200 OK` | Success. | | `201 Created` | The resource was created. | | `204 No Content` | Success with no response body (typically after write or delete). | | `400 Bad Request` | Request parameters or body are malformed or invalid. | | `401 Unauthorized` | Missing or invalid credentials. | | `403 Forbidden` | Credentials lack permission for the requested resource. | | `404 Not Found` | The requested resource does not exist. | | `413 Payload Too Large` | Request body exceeds the maximum allowed size. | | `422 Unprocessable Entity` | Request body is well-formed but semantically invalid. | | `429 Too Many Requests` | Rate limit exceeded. | | `500 Internal Server Error` | Unexpected server error. | | `503 Service Unavailable` | Server is overloaded or under maintenance. | name: Response codes x-traitTag: true - name: Routes description: Retrieve top-level routes for the InfluxDB Cloud API. - name: Rules description: Manage notification rules in InfluxDB Cloud. - name: Secrets description: >- Create and manage secrets (key-value pairs) for use in InfluxDB Cloud Flux scripts and tasks. - name: Security and access endpoints description: >- Endpoints for managing authentication and access control in InfluxDB Cloud. - name: Setup description: >- Configure an initial InfluxDB Cloud instance, including creating the initial user, organization, and bucket. - name: Signin description: >- Create a user session by signing in with username and password credentials. - name: Signout description: End a user session by signing out. - description: >- The InfluxDB Cloud API supports create, read, update, and delete operations on resources. Most endpoints follow standard HTTP method conventions: | Operation | HTTP Method | Description | |:----------|:------------|:------------| | **Write** | `POST` | Send data or create a resource. | | **Read** | `GET` | Retrieve a resource or list resources. | | **Update** | `PUT`, `PATCH` | Replace or modify an existing resource. | | **Delete** | `DELETE` | Remove a resource. | name: Supported operations x-traitTag: true - name: System information endpoints description: >- Endpoints for retrieving system-level information about the InfluxDB Cloud instance. - description: >- Schedule and manage Flux tasks that process and transform data on a recurring basis in InfluxDB Cloud. name: Tasks x-related: - title: Get started with tasks href: https://docs.influxdata.com/influxdb/cloud/process-data/get-started/ - name: Telegraf Plugins description: >- Retrieve available Telegraf plugin configuration templates for use with InfluxDB Cloud. - name: Telegrafs description: >- Create and manage Telegraf agent configurations that collect and write data to InfluxDB Cloud. - description: >- Export and apply InfluxDB templates, and manage template stacks for InfluxDB Cloud. name: Templates x-related: - title: InfluxDB templates href: https://docs.influxdata.com/influxdb/cloud/influxdb-templates/ - name: Usage description: >- Retrieve usage metrics and cardinality data for an InfluxDB Cloud organization. - description: View specific users that are members of your InfluxDB Cloud organization. name: Users x-related: - title: Manage users href: https://docs.influxdata.com/influxdb/cloud/organizations/users/ - name: Variables description: Create and manage variables for use in InfluxDB Cloud dashboards. - name: Views description: Manage cell views within InfluxDB Cloud dashboards. - description: >- Write time series data to InfluxDB Cloud buckets in line protocol format using the `/api/v2/write` endpoint. name: Write data x-related: - title: Write data href: https://docs.influxdata.com/influxdb/cloud/write-data/ paths: /api/v2: get: description: | Retrieves all the top level routes for the InfluxDB API. #### Limitations - Only returns top level routes--for example, the response contains `"tasks":"/api/v2/tasks"`, and doesn't contain resource-specific routes for tasks (`/api/v2/tasks/TASK_ID/...`). operationId: GetRoutes parameters: - $ref: '#/components/parameters/TraceSpan' responses: '200': content: application/json: schema: $ref: '#/components/schemas/Routes' description: > Success. The response body contains key-value pairs with the resource name and top-level route. summary: List all top level routes tags: - Routes - System information endpoints /api/v2/authorizations: get: description: > Lists 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 - InfluxDB Cloud doesn't expose [API token](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#token) values in `GET /api/v2/authorizations` responses; returns `token: redacted` for all authorizations. #### Required permissions To retrieve an authorization, the request must use an API token that has the following permissions: - `read-authorizations` - `read-user` for the user that the authorization is scoped to #### Related guides - [View tokens](https://docs.influxdata.com/influxdb/cloud/security/tokens/view-tokens/) operationId: GetAuthorizations parameters: - $ref: '#/components/parameters/TraceSpan' - description: > A user ID. Only returns authorizations scoped to the specified [user](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#user). in: query name: userID schema: type: string - description: > A user name. Only returns authorizations scoped to the specified [user](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#user). in: query name: user schema: type: string - description: >- An organization ID. Only returns authorizations that belong to the specified [organization](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#organization). in: query name: orgID schema: type: string - description: > An organization name. Only returns authorizations that belong to the specified [organization](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#organization). in: query name: org schema: type: string - description: > An API [token](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#token) value. Specifies an authorization by its `token` property value and returns the authorization. #### InfluxDB OSS v2 - Doesn't support this parameter. InfluxDB OSS ignores the `token=` parameter, applies other parameters, and then returns the result. #### Limitations - The parameter is non-repeatable. If you specify more than one, only the first one is used. If a resource with the specified property value doesn't exist, then the response body contains an empty list. in: query name: token schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/Authorizations' description: > Success. The response body contains a list of authorizations. If the response body is missing authorizations that you expect, check that the API token used in the request has `read-user` permission for the users (`userID` property value) in those authorizations. #### InfluxDB OSS v2 - **Warning**: The response body contains authorizations with their [API token](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#token) values in clear text. - If the request uses an _[operator token](https://docs.influxdata.com/influxdb/v2/security/tokens/#operator-token)_, InfluxDB OSS returns authorizations for all organizations in the instance. '400': $ref: '#/components/responses/GeneralServerError' description: Invalid request '401': $ref: '#/components/responses/AuthorizationError' '500': $ref: '#/components/responses/InternalServerError' default: $ref: '#/components/responses/GeneralServerError' description: Unexpected error summary: List authorizations tags: - Authorizations (API tokens) - Security and access endpoints post: description: > Creates an authorization and returns the authorization with the generated API [token](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#token). Use this endpoint to create an authorization, which generates an API token with permissions to `read` or `write` to a specific resource or `type` of resource. The API token is the authorization's `token` property value. To follow best practices for secure API token generation and retrieval, InfluxDB enforces access restrictions on API tokens. - InfluxDB allows access to the API token value immediately after the authorization is created. - You can’t change access (read/write) permissions for an API token after it’s created. - Tokens stop working when the user who created the token is deleted. We recommend the following for managing your tokens: - Create a generic user to create and manage tokens for writing data. - Store your tokens in a secure password vault for future access. #### Required permissions - `write-authorizations` - `write-user` for the user that the authorization is scoped to #### Related guides - [Create a token](https://docs.influxdata.com/influxdb/cloud/security/tokens/create-token/) operationId: PostAuthorizations parameters: - $ref: '#/components/parameters/TraceSpan' requestBody: content: application/json: examples: AuthorizationPostRequest: $ref: '#/components/examples/AuthorizationPostRequest' AuthorizationWithResourcePostRequest: $ref: '#/components/examples/AuthorizationWithResourcePostRequest' AuthorizationWithUserPostRequest: $ref: '#/components/examples/AuthorizationWithUserPostRequest' schema: $ref: '#/components/schemas/AuthorizationPostRequest' description: The authorization to create. required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/Authorization' description: > Success. The authorization is created. The response body contains the authorization. '400': $ref: '#/components/responses/GeneralServerError' description: Invalid request '401': $ref: '#/components/responses/AuthorizationError' '500': $ref: '#/components/responses/InternalServerError' default: $ref: '#/components/responses/GeneralServerError' description: Unexpected error summary: Create an authorization tags: - Authorizations (API tokens) - Security and access endpoints /api/v2/authorizations/{authID}: delete: description: > Deletes an authorization. Use the endpoint to delete an API token. If you want to disable an API token instead of delete it, [update the authorization's status to `inactive`](#operation/PatchAuthorizationsID). operationId: DeleteAuthorizationsID parameters: - $ref: '#/components/parameters/TraceSpan' - description: An authorization ID. Specifies the authorization to delete. in: path name: authID required: true schema: type: string responses: '204': description: Success. The authorization is deleted. '400': content: application/json: examples: notFound: summary: | The specified resource ID is invalid. value: code: invalid message: id must have a length of 16 bytes schema: $ref: '#/components/schemas/Error' description: | Bad request. '401': $ref: '#/components/responses/AuthorizationError' '404': content: application/json: examples: notFound: summary: | The requested authorization doesn't exist. value: code: not found message: authorization not found schema: $ref: '#/components/schemas/Error' description: | Not found. '500': $ref: '#/components/responses/InternalServerError' default: $ref: '#/components/responses/GeneralServerError' description: Unexpected error summary: Delete an authorization tags: - Authorizations (API tokens) - Security and access endpoints get: description: > Retrieves an authorization. Use this endpoint to retrieve information about an API token, including the token's permissions and the user that the token is scoped to. #### InfluxDB OSS v2 - InfluxDB OSS returns [API token](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#token) values in authorizations. - If the request uses an _[operator token](https://docs.influxdata.com/influxdb/v2/security/tokens/#operator-token)_, InfluxDB OSS returns authorizations for all organizations in the instance. #### Related guides - [View tokens](https://docs.influxdata.com/influxdb/cloud/security/tokens/view-tokens/) externalDocs: description: View tokens url: >- https://docs.influxdata.com/influxdb/cloud/security/tokens/view-tokens/ operationId: GetAuthorizationsID parameters: - $ref: '#/components/parameters/TraceSpan' - description: An authorization ID. Specifies the authorization to retrieve. in: path name: authID required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/Authorization' description: Success. The response body contains the authorization. '400': content: application/json: examples: notFound: summary: | The specified resource ID is invalid. value: code: invalid message: id must have a length of 16 bytes schema: $ref: '#/components/schemas/Error' description: | Bad request. '401': $ref: '#/components/responses/AuthorizationError' '404': content: application/json: examples: notFound: summary: | The requested authorization doesn't exist. value: code: not found message: authorization not found schema: $ref: '#/components/schemas/Error' description: | Not found. '500': $ref: '#/components/responses/InternalServerError' default: $ref: '#/components/responses/GeneralServerError' description: Unexpected error summary: Retrieve an authorization tags: - Authorizations (API tokens) - Security and access endpoints patch: description: > Updates an authorization. Use this endpoint to set an API token's status to be _active_ or _inactive_. InfluxDB rejects requests that use inactive API tokens. operationId: PatchAuthorizationsID parameters: - $ref: '#/components/parameters/TraceSpan' - description: An authorization ID. Specifies the authorization to update. in: path name: authID required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/AuthorizationUpdateRequest' description: In the request body, provide the authorization properties to update. required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/Authorization' description: Success. The response body contains the updated authorization. default: $ref: '#/components/responses/GeneralServerError' description: Unexpected error summary: Update an API token to be active or inactive tags: - Authorizations (API tokens) - Security and access endpoints /api/v2/buckets: get: description: > Lists [buckets](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#bucket). InfluxDB retrieves buckets owned by the [organization](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#organization) associated with the authorization ([API token](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#token)). 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`. #### InfluxDB OSS v2 - If you use an _[operator token](https://docs.influxdata.com/influxdb/cloud/security/tokens/#operator-token)_ to authenticate your request, InfluxDB retrieves resources for _all organizations_ in the instance. To retrieve resources for only a specific organization, use the `org` parameter or the `orgID` parameter to specify the organization. #### Required permissions | Action | Permission required | |:--------------------------|:--------------------| | Retrieve _user buckets_ | `read-buckets` | | Retrieve [_system buckets_](https://docs.influxdata.com/influxdb/cloud/reference/internals/system-buckets/) | `read-orgs` | #### Related Guides - [Manage buckets](https://docs.influxdata.com/influxdb/cloud/organizations/buckets/) operationId: GetBuckets parameters: - $ref: '#/components/parameters/TraceSpan' - $ref: '#/components/parameters/Offset' - $ref: '#/components/parameters/Limit' - $ref: '#/components/parameters/After' - description: > An organization name. #### InfluxDB Cloud - Doesn't use the `org` parameter or `orgID` parameter. - Lists buckets for the organization associated with the authorization (API token). #### InfluxDB OSS v2 - Lists buckets for the specified organization. in: query name: org schema: type: string - description: > An organization ID. #### InfluxDB Cloud - Doesn't use the `org` parameter or `orgID` parameter. - Lists buckets for the organization associated with the authorization (API token). #### InfluxDB OSS v2 - Requires either the `org` parameter or `orgID` parameter. - Lists buckets for the specified organization. in: query name: orgID schema: type: string - description: | A bucket name. Only returns buckets with the specified name. in: query name: name schema: type: string - description: | A bucket ID. Only returns the bucket with the specified ID. in: query name: id schema: type: string responses: '200': content: application/json: examples: successResponse: value: buckets: - createdAt: '2022-03-15T17:22:33.72617939Z' description: System bucket for monitoring logs id: 77ca9dace40a9bfc labels: [] 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 name: _monitoring orgID: INFLUX_ORG_ID retentionRules: - everySeconds: 604800 type: expire schemaType: implicit type: system updatedAt: '2022-03-15T17:22:33.726179487Z' links: self: >- /api/v2/buckets?descending=false&limit=20&name=_monitoring&offset=0&orgID=ORG_ID schema: $ref: '#/components/schemas/Buckets' description: | Success. The response body contains a list of `buckets`. '401': $ref: '#/components/responses/AuthorizationError' '500': $ref: '#/components/responses/InternalServerError' default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: List buckets tags: - Buckets x-codeSamples: - label: 'cURL: filter buckets by name' lang: Shell 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: description: > Creates a [bucket](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#bucket) and returns the bucket resource. The default data [retention period](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#retention-period) is 30 days. #### InfluxDB OSS v2 - 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 a bucket](https://docs.influxdata.com/influxdb/cloud/organizations/buckets/create-bucket/) - [Create bucket CLI reference](https://docs.influxdata.com/influxdb/cloud/reference/cli/influx/bucket/create) operationId: PostBuckets parameters: - $ref: '#/components/parameters/TraceSpan' requestBody: content: application/json: schema: $ref: '#/components/schemas/PostBucketRequest' description: The bucket to create. required: true responses: '201': content: application/json: examples: successResponse: value: createdAt: '2022-08-03T23:04:41.073704121Z' description: A bucket holding air sensor data id: 37407e232b3911d8 labels: [] 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 name: air_sensor orgID: INFLUX_ORG_ID retentionRules: - everySeconds: 2592000 type: expire schemaType: implicit type: user updatedAt: '2022-08-03T23:04:41.073704228Z' schema: $ref: '#/components/schemas/Bucket' description: | Success. The bucket is created. '400': content: application/json: schema: $ref: '#/components/schemas/Error' description: | Bad request. '401': $ref: '#/components/responses/AuthorizationError' '403': content: application/json: examples: quotaExceeded: summary: Bucket quota exceeded value: code: forbidden message: creating bucket would exceed quota schema: $ref: '#/components/schemas/Error' description: | Forbidden. The bucket quota is exceeded. headers: X-Platform-Error-Code: description: | The reason for the error. schema: example: forbidden type: string '422': content: application/json: schema: $ref: '#/components/schemas/Error' description: | Unprocessable Entity. The request body failed validation. '500': $ref: '#/components/responses/InternalServerError' default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Create a bucket tags: - Buckets x-codeSamples: - label: 'cURL: create a bucket with retention period' lang: Shell 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": "A bucket holding air sensor data", "orgID": "INFLUX_ORG_ID", "retentionRules": [ { "type": "expire", "everySeconds": 2592000, } ] }' - label: cURL lang: Shell source: '' /api/v2/buckets/{bucketID}: delete: 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 v2 - 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/cloud/organizations/buckets/delete-bucket/#delete-a-bucket-in-the-influxdb-ui) operationId: DeleteBucketsID parameters: - $ref: '#/components/parameters/TraceSpan' - description: | Bucket ID. The ID of the bucket to delete. in: path name: bucketID required: true schema: type: string responses: '204': description: | Success. #### InfluxDB Cloud - The bucket is queued for deletion. #### InfluxDB OSS v2 - The bucket is deleted. '400': content: application/json: examples: invalidID: summary: | Invalid ID. value: code: invalid message: id must have a length of 16 bytes schema: $ref: '#/components/schemas/Error' description: | Bad Request. '401': $ref: '#/components/responses/AuthorizationError' '404': content: application/json: examples: notFound: summary: | The requested bucket was not found. value: code: not found message: bucket not found schema: $ref: '#/components/schemas/Error' description: | Not found. Bucket not found. '500': $ref: '#/components/responses/InternalServerError' default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Delete a bucket tags: - Buckets x-codeSamples: - label: cURL lang: Shell source: > curl --request DELETE "http://localhost:8086/api/v2/buckets/BUCKET_ID" \ --header "Authorization: Token INFLUX_TOKEN" \ --header 'Accept: application/json' get: description: | Retrieves a bucket. Use this endpoint to retrieve information for a specific bucket. operationId: GetBucketsID parameters: - $ref: '#/components/parameters/TraceSpan' - description: | The ID of the bucket to retrieve. in: path name: bucketID required: true schema: type: string responses: '200': content: application/json: examples: successResponse: value: createdAt: '2022-08-03T23:04:41.073704121Z' description: bucket for air sensor data id: 37407e232b3911d8 labels: [] 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 name: air-sensor orgID: bea7ea952287f70d retentionRules: - everySeconds: 2592000 type: expire schemaType: implicit type: user updatedAt: '2022-08-03T23:04:41.073704228Z' schema: $ref: '#/components/schemas/Bucket' description: | Success. The response body contains the bucket information. '401': $ref: '#/components/responses/AuthorizationError' '404': content: application/json: examples: notFound: summary: | The requested bucket wasn't found. value: code: not found message: bucket not found schema: $ref: '#/components/schemas/Error' description: | Not found. Bucket not found. '500': $ref: '#/components/responses/InternalServerError' default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Retrieve a bucket tags: - Buckets patch: 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 v2 - Doesn't require `retentionRules`. #### Related Guides - [Update a bucket](https://docs.influxdata.com/influxdb/cloud/organizations/buckets/update-bucket/) operationId: PatchBucketsID parameters: - $ref: '#/components/parameters/TraceSpan' - description: The bucket ID. in: path name: bucketID required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchBucketRequest' description: The bucket update to apply. required: true responses: '200': content: application/json: examples: successResponse: value: createdAt: '2022-08-03T23:04:41.073704121Z' description: bucket holding air sensor data id: 37407e232b3911d8 labels: [] 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 name: air_sensor orgID: INFLUX_ORG_ID retentionRules: - everySeconds: 2592000 type: expire schemaType: implicit type: user updatedAt: '2022-08-07T22:49:49.422962913Z' schema: $ref: '#/components/schemas/Bucket' description: An updated bucket '400': content: application/json: examples: invalidJSONStringValue: description: > If the request body contains invalid JSON, InfluxDB returns `invalid` with detail about the problem. summary: Invalid JSON value: code: invalid message: >- invalid json: invalid character '\'' looking for beginning of value schema: $ref: '#/components/schemas/Error' description: | Bad Request. '401': $ref: '#/components/responses/AuthorizationError' '403': content: application/json: 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 schema: $ref: '#/components/schemas/Error' description: | Forbidden. '404': content: application/json: examples: notFound: summary: | The requested bucket wasn't found. value: code: not found message: bucket not found schema: $ref: '#/components/schemas/Error' description: | Not found. Bucket not found. '500': $ref: '#/components/responses/InternalServerError' default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Update a bucket tags: - Buckets x-codeSamples: - label: cURL lang: Shell 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 } ] }' /api/v2/buckets/{bucketID}/labels: get: description: > Lists 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/cloud/visualize-data/labels/) operationId: GetBucketsIDLabels parameters: - $ref: '#/components/parameters/TraceSpan' - description: | The ID of the bucket to retrieve labels for. in: path name: bucketID required: true schema: type: string responses: '200': content: application/json: examples: successResponse: value: labels: - id: 09cbd068e7ebb000 name: production_buckets orgID: INFLUX_ORG_ID links: self: /api/v2/labels schema: $ref: '#/components/schemas/LabelsResponse' description: | Success. The response body contains a list of all labels for the bucket. '400': $ref: '#/components/responses/BadRequestError' '401': $ref: '#/components/responses/AuthorizationError' '404': $ref: '#/components/responses/ResourceNotFoundError' '500': $ref: '#/components/responses/InternalServerError' default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: List all labels for a bucket tags: - Buckets post: 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/cloud/visualize-data/labels/) operationId: PostBucketsIDLabels parameters: - $ref: '#/components/parameters/TraceSpan' - description: | Bucket ID. The ID of the bucket to label. in: path name: bucketID required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/LabelMapping' description: An object that contains a _`labelID`_ to add to the bucket. required: true responses: '201': content: application/json: examples: successResponse: value: label: id: 09cbd068e7ebb000 name: production_buckets orgID: INFLUX_ORG_ID links: self: /api/v2/labels schema: $ref: '#/components/schemas/LabelResponse' description: | Success. The response body contains the label information. '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': content: application/json: examples: conflictingResource: summary: | Label already exists on the resource. value: code: conflict message: Cannot add label, label already exists on resource schema: $ref: '#/components/schemas/Error' description: | Unprocessable entity. Label already exists on the resource. '500': $ref: '#/components/responses/InternalServerError' default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Add a label to a bucket tags: - Buckets x-codeSamples: - label: cURL lang: Shell 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" }' /api/v2/buckets/{bucketID}/labels/{labelID}: delete: operationId: DeleteBucketsIDLabelsID parameters: - $ref: '#/components/parameters/TraceSpan' - description: The bucket ID. in: path name: bucketID required: true schema: type: string - description: The ID of the label to delete. in: path name: labelID required: true schema: type: string responses: '204': description: Delete has been accepted '404': content: application/json: schema: $ref: '#/components/schemas/Error' description: Bucket not found default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Delete a label from a bucket tags: - Buckets /api/v2/buckets/{bucketID}/members: get: description: > Lists all users for a bucket. InfluxDB [users](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#user) have permission to access InfluxDB. [Members](https://docs.influxdata.com/influxdb/cloud/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/cloud/users/) - [Manage members](https://docs.influxdata.com/influxdb/cloud/organizations/members/) operationId: GetBucketsIDMembers parameters: - $ref: '#/components/parameters/TraceSpan' - description: | The ID of the bucket to retrieve users for. in: path name: bucketID required: true schema: type: string responses: '200': content: application/json: examples: successResponse: value: links: self: /api/v2/buckets/37407e232b3911d8/members users: - id: 791df274afd48a83 links: self: /api/v2/users/791df274afd48a83 name: example_user_1 role: member status: active - id: 09cfb87051cbe000 links: self: /api/v2/users/09cfb87051cbe000 name: example_user_2 role: owner status: active schema: $ref: '#/components/schemas/ResourceMembers' description: | Success. The response body contains a list of all users for the bucket. '400': $ref: '#/components/responses/BadRequestError' '401': $ref: '#/components/responses/AuthorizationError' '404': $ref: '#/components/responses/ResourceNotFoundError' '500': $ref: '#/components/responses/InternalServerError' default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: List all users with member privileges for a bucket tags: - Buckets post: description: > Add a user to a bucket and return the new user information. InfluxDB [users](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#user) have permission to access InfluxDB. [Members](https://docs.influxdata.com/influxdb/cloud/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/cloud/users/) - [Manage members](https://docs.influxdata.com/influxdb/cloud/organizations/members/) operationId: PostBucketsIDMembers parameters: - $ref: '#/components/parameters/TraceSpan' - description: | The ID of the bucket to retrieve users for. in: path name: bucketID required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/AddResourceMemberRequestBody' description: A user to add as a member to the bucket. required: true responses: '201': content: application/json: examples: successResponse: value: id: 09cfb87051cbe000 links: self: /api/v2/users/09cfb87051cbe000 name: example_user_1 role: member status: active schema: $ref: '#/components/schemas/ResourceMember' description: | Success. The response body contains the user information. '400': $ref: '#/components/responses/BadRequestError' examples: invalidRequest: summary: The user `id` 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: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Add a member to a bucket tags: - Buckets x-codeSamples: - label: cURL lang: Shell source: > curl --request POST "http://localhost:8086/api/v2/buckets/BUCKET_ID/members \ --header "Authorization: Token INFLUX_API_TOKEN" \ --header "Accept: application/json" \ --header "Content-Type: application/json" \ --data '{ "id": "09cfb87051cbe000" } /api/v2/buckets/{bucketID}/members/{userID}: delete: 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/cloud/users/) - [Manage members](https://docs.influxdata.com/influxdb/cloud/organizations/members/) operationId: DeleteBucketsIDMembersID parameters: - $ref: '#/components/parameters/TraceSpan' - description: | The ID of the user to remove. in: path name: userID required: true schema: type: string - description: | The ID of the bucket to remove a user from. in: path name: bucketID required: true schema: type: string 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: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Remove a member from a bucket tags: - Buckets /api/v2/buckets/{bucketID}/owners: get: description: > Lists all [owners](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#owner) of a bucket. Bucket owners have permission to delete buckets and remove user and member permissions from the bucket. #### InfluxDB Cloud - Doesn't use `owner` and `member` roles. Use [`/api/v2/authorizations`](#tag/Authorizations-(API-tokens)) to assign user permissions. #### Limitations - Owner permissions are separate from API token permissions. - Owner permissions are used in the context of the InfluxDB UI. #### Required permissions - `read-orgs INFLUX_ORG_ID` *`INFLUX_ORG_ID`* is the ID of the organization that you want to retrieve a list of owners for. #### Related endpoints - [Authorizations](#tag/Authorizations-(API-tokens)) #### Related guides - [Manage users](https://docs.influxdata.com/influxdb/cloud/users/) operationId: GetBucketsIDOwners parameters: - $ref: '#/components/parameters/TraceSpan' - description: | The ID of the bucket to retrieve owners for. in: path name: bucketID required: true schema: type: string responses: '200': content: application/json: examples: successResponse: value: links: self: /api/v2/buckets/BUCKET_ID/owners users: - id: d88d182d91b0950f links: self: /api/v2/users/d88d182d91b0950f name: example-owner role: owner status: active schema: $ref: '#/components/schemas/ResourceOwners' description: | Success. The response body contains a list of all owners for the bucket. '400': $ref: '#/components/responses/BadRequestError' '401': $ref: '#/components/responses/AuthorizationError' '404': $ref: '#/components/responses/ResourceNotFoundError' '500': $ref: '#/components/responses/InternalServerError' default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: List all owners of a bucket tags: - Buckets post: description: > Adds an owner to a bucket and returns the [owners](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#owner) with role and user detail. Use this endpoint to create a _resource owner_ for the bucket. Bucket owners have permission to delete buckets and remove user and member permissions from the bucket. #### InfluxDB Cloud - Doesn't use `owner` and `member` roles. Use [`/api/v2/authorizations`](#tag/Authorizations-(API-tokens)) to assign user permissions. #### Limitations - Owner permissions are separate from API token permissions. - Owner permissions are used in the context of the InfluxDB UI. #### Required permissions - `write-orgs INFLUX_ORG_ID` *`INFLUX_ORG_ID`* is the ID of the organization that you want to add an owner for. #### Related endpoints - [Authorizations](#tag/Authorizations-(API-tokens)) #### Related guides - [Manage users](https://docs.influxdata.com/influxdb/cloud/users/) operationId: PostBucketsIDOwners parameters: - $ref: '#/components/parameters/TraceSpan' - description: | The ID of the bucket to add an owner for. in: path name: bucketID required: true schema: type: string requestBody: content: application/json: examples: successResponse: value: id: d88d182d91b0950f links: self: /api/v2/users/d88d182d91b0950f name: example-user role: owner status: active schema: $ref: '#/components/schemas/AddResourceMemberRequestBody' description: A user to add as an owner for the bucket. required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/ResourceOwner' description: | Created. The bucket `owner` role is assigned to the user. The response body contains the resource owner with role and user detail. '400': $ref: '#/components/responses/BadRequestError' examples: invalidRequest: summary: The user `id` 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: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Add an owner to a bucket tags: - Buckets x-codeSamples: - label: cURL lang: Shell source: > curl --request POST "http://localhost:8086/api/v2/buckets/BUCKET_ID/owners \ --header "Authorization: Token INFLUX_API_TOKEN" \ --header "Accept: application/json" \ --header "Content-Type: application/json" \ --data '{ "id": "09cfb87051cbe000" } /api/v2/buckets/{bucketID}/owners/{userID}: delete: description: > Removes an owner from a bucket. Use this endpoint to remove a user's `owner` role for a bucket. #### InfluxDB Cloud - Doesn't use `owner` and `member` roles. Use [`/api/v2/authorizations`](#tag/Authorizations-(API-tokens)) to assign user permissions. #### Limitations - Owner permissions are separate from API token permissions. - Owner permissions are used in the context of the InfluxDB UI. #### Required permissions - `write-orgs INFLUX_ORG_ID` *`INFLUX_ORG_ID`* is the ID of the organization that you want to remove an owner from. #### Related endpoints - [Authorizations](#tag/Authorizations-(API-tokens)) #### Related guides - [Manage users](https://docs.influxdata.com/influxdb/cloud/users/) operationId: DeleteBucketsIDOwnersID parameters: - $ref: '#/components/parameters/TraceSpan' - description: | The ID of the owner to remove. in: path name: userID required: true schema: type: string - description: | The ID of the bucket to remove an owner from. in: path name: bucketID required: true schema: type: string responses: '204': description: | Success. The user is no longer an owner of the bucket. '401': $ref: '#/components/responses/AuthorizationError' '404': $ref: '#/components/responses/ResourceNotFoundError' '500': $ref: '#/components/responses/InternalServerError' default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Remove an owner from a bucket tags: - Buckets /api/v2/buckets/{bucketID}/schema/measurements: get: description: > Lists _explicit_ [schemas](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#schema) (`"schemaType": "explicit"`) for a bucket. _Explicit_ schemas are used to enforce column names, tags, fields, and data types for your data. By default, buckets have an _implicit_ schema-type (`"schemaType": "implicit"`) that conforms to your data. #### Related guides - [Using bucket schemas](https://www.influxdata.com/blog/new-bucket-schema-option-protect-from-unwanted-schema-changes/) operationId: getMeasurementSchemas parameters: - description: | An organization name. Specifies the organization that owns the schema. in: query name: org schema: type: string - description: | An organization ID. Specifies the organization that owns the schema. in: query name: orgID schema: type: string - description: | A measurement name. Only returns measurement schemas with the specified name. in: query name: name schema: type: string - description: | A bucket ID. Lists measurement schemas for the specified bucket. in: path name: bucketID required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/MeasurementSchemaList' description: A list of measurement schemas returning summary information. headers: ETag: description: The current version of the bucket schema schema: type: string '400': content: application/json: examples: invalidSchemaType: summary: Invalid schema type. value: code: invalid message: bucket schemaType must be explicit schema: $ref: '#/components/schemas/Error' description: | Bad request. '401': $ref: '#/components/responses/AuthorizationError' '404': $ref: '#/components/responses/ResourceNotFoundError' '500': $ref: '#/components/responses/InternalServerError' summary: List measurement schemas of a bucket tags: - Bucket Schemas post: description: > Creates an _explicit_ measurement [schema](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#schema) for a bucket. _Explicit_ schemas are used to enforce column names, tags, fields, and data types for your data. By default, buckets have an _implicit_ schema-type (`"schemaType": "implicit"`) that conforms to your data. Use this endpoint to create schemas that prevent non-conforming write requests. #### Limitations - Buckets must be created with the "explicit" `schemaType` in order to use schemas. #### Related guides - [Manage bucket schemas](https://docs.influxdata.com/influxdb/cloud/organizations/buckets/bucket-schema/). - [Create a bucket with an explicit schema](https://docs.influxdata.com/influxdb/cloud/organizations/buckets/create-bucket/#create-a-bucket-with-an-explicit-schema) operationId: createMeasurementSchema parameters: - description: | An organization name. Specifies the organization that owns the schema. in: query name: org schema: type: string - description: | An organization ID. Specifies the organization that owns the schema. in: query name: orgID schema: type: string - description: | A bucket ID. Adds a schema for the specified bucket. in: path name: bucketID required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/MeasurementSchemaCreateRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/MeasurementSchema' description: The current version of the measurement schema. headers: ETag: description: The current version of the measurement schema schema: type: string '400': content: application/json: examples: badNameExample: description: >- The error returned when the name is invalid, such as too few or too many characters or the name contains non-printable ASCII or is not valid UTF-8. summary: Invalid name value: code: invalid message: name is invalid duplicateColumnNamesExample: description: >- The error returned when the request body contains duplicate column names. summary: Duplicate column names value: code: invalid message: Duplicate column names missingColumnsExample: description: >- The error returned when the request body is missing the columns property. summary: Missing columns value: code: invalid message: columns is required missingFieldExample: description: >- The error returned when the request body is missing at least one field type column. summary: Missing field value: code: invalid message: At least one field column is required missingTimestampExample: description: >- The error returned when the request body is missing a timestamp type column. summary: Missing timestamp value: code: invalid message: Timestamp column is required schema: $ref: '#/components/schemas/Error' description: | Bad request. '401': $ref: '#/components/responses/AuthorizationError' '404': $ref: '#/components/responses/ResourceNotFoundError' '500': $ref: '#/components/responses/InternalServerError' summary: Create a measurement schema for a bucket tags: - Bucket Schemas x-codeSamples: - label: cURL lang: Shell source: > curl --request POST "INFLUX_URL/api/v2/buckets/BUCKET_ID/schema/measurements \ --header "Authorization: Token INFLUX_API_TOKEN" \ --header "Accept: application/json" \ --header "Content-Type: application/json" \ --data '{ "name": "temperature", "column": [ { "type": "tag", "name": "location" }, { "type": "field", "name": "value", "dataType": "float" }, { "type": "timestamp", "name": "time" } ] }' summary: Bucket schemas /api/v2/buckets/{bucketID}/schema/measurements/{measurementID}: get: description: > Retrieves an explicit measurement [schema](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#schema). operationId: getMeasurementSchema parameters: - description: | Organization name. Specifies the organization that owns the schema. in: query name: org schema: type: string - description: | Organization ID. Specifies the organization that owns the schema. in: query name: orgID schema: type: string - description: | A bucket ID. Retrieves schemas for the specified bucket. in: path name: bucketID required: true schema: type: string - description: | The measurement schema ID. Specifies the measurement schema to retrieve. in: path name: measurementID required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/MeasurementSchema' description: Schema definition for a single measurement headers: ETag: description: The current version of the measurement schema schema: type: string '401': $ref: '#/components/responses/AuthorizationError' '404': $ref: '#/components/responses/ResourceNotFoundError' '500': $ref: '#/components/responses/InternalServerError' summary: Retrieve a measurement schema tags: - Bucket Schemas patch: description: > Updates a measurement [schema](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#schema). Use this endpoint to update the fields (`name`, `type`, and `dataType`) of a measurement schema. #### Limitations - You can't update the `name` of a measurement. #### Related guides - [Manage bucket schemas](https://docs.influxdata.com/influxdb/cloud/organizations/buckets/bucket-schema/). - [Using bucket schemas](https://www.influxdata.com/blog/new-bucket-schema-option-protect-from-unwanted-schema-changes/). operationId: updateMeasurementSchema parameters: - description: | An organization name. Specifies the organization that owns the schema. in: query name: org schema: type: string - description: | An organization ID. Specifies the organization that owns the schema. in: query name: orgID schema: type: string - description: | A bucket ID. Specifies the bucket to retrieve schemas for. in: path name: bucketID required: true schema: type: string - description: | A measurement schema ID. Retrieves the specified measurement schema. in: path name: measurementID required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/MeasurementSchemaUpdateRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/MeasurementSchema' description: | Success. The response body contains the measurement schema. '400': content: application/json: examples: missingColumnsExample: description: >- The error returned when the request body does not contain all the columns from the source. summary: Deleted columns value: code: invalid message: Unable to delete columns from schema schema: $ref: '#/components/schemas/Error' description: | Bad request. '401': $ref: '#/components/responses/AuthorizationError' '404': $ref: '#/components/responses/ResourceNotFoundError' '500': $ref: '#/components/responses/InternalServerError' summary: Update a measurement schema tags: - Bucket Schemas x-codeSamples: - label: cURL lang: Shell source: > curl --request PATCH "INFLUX_URL/api/v2/buckets/BUCKET_ID/schema/measurements \ --header "Authorization: Token INFLUX_API_TOKEN" \ --header "Accept: application/json" \ --header "Content-Type: application/json" \ --data '{ "column": [ { "type": "tag", "name": "location" }, { "type": "field", "name": "value", "dataType": "float" }, { "type": "timestamp", "name": "time" } ] }' summary: Bucket Schema /api/v2/checks: get: operationId: GetChecks parameters: - $ref: '#/components/parameters/TraceSpan' - $ref: '#/components/parameters/Offset' - $ref: '#/components/parameters/Limit' - description: Only show checks that belong to a specific organization ID. in: query name: orgID required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/Checks' description: A list of checks default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: List all checks tags: - Checks post: operationId: CreateCheck requestBody: content: application/json: schema: $ref: '#/components/schemas/PostCheck' description: Check to create required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/Check' description: Check created default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Add new check tags: - Checks /api/v2/checks/{checkID}: delete: operationId: DeleteChecksID parameters: - $ref: '#/components/parameters/TraceSpan' - description: The check ID. in: path name: checkID required: true schema: type: string responses: '204': description: Delete has been accepted '404': content: application/json: schema: $ref: '#/components/schemas/Error' description: The check was not found default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Delete a check tags: - Checks get: operationId: GetChecksID parameters: - $ref: '#/components/parameters/TraceSpan' - description: The check ID. in: path name: checkID required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/Check' description: The check requested default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Retrieve a check tags: - Checks patch: operationId: PatchChecksID parameters: - $ref: '#/components/parameters/TraceSpan' - description: The check ID. in: path name: checkID required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/CheckPatch' description: Check update to apply required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/Check' description: An updated check '404': content: application/json: schema: $ref: '#/components/schemas/Error' description: The check was not found default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Update a check tags: - Checks put: operationId: PutChecksID parameters: - $ref: '#/components/parameters/TraceSpan' - description: The check ID. in: path name: checkID required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/Check' description: Check update to apply required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/Check' description: An updated check '404': content: application/json: schema: $ref: '#/components/schemas/Error' description: The check was not found default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Update a check tags: - Checks /api/v2/checks/{checkID}/labels: get: operationId: GetChecksIDLabels parameters: - $ref: '#/components/parameters/TraceSpan' - description: The check ID. in: path name: checkID required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/LabelsResponse' description: A list of all labels for a check default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: List all labels for a check tags: - Checks post: operationId: PostChecksIDLabels parameters: - $ref: '#/components/parameters/TraceSpan' - description: The check ID. in: path name: checkID required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/LabelMapping' description: Label to add required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/LabelResponse' description: The label was added to the check default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Add a label to a check tags: - Checks /api/v2/checks/{checkID}/labels/{labelID}: delete: operationId: DeleteChecksIDLabelsID parameters: - $ref: '#/components/parameters/TraceSpan' - description: The check ID. in: path name: checkID required: true schema: type: string - description: The ID of the label to delete. in: path name: labelID required: true schema: type: string responses: '204': description: Delete has been accepted '404': content: application/json: schema: $ref: '#/components/schemas/Error' description: Check or label not found default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Delete label from a check tags: - Checks /api/v2/checks/{checkID}/query: get: operationId: GetChecksIDQuery parameters: - $ref: '#/components/parameters/TraceSpan' - description: The check ID. in: path name: checkID required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/FluxResponse' description: The check query requested '400': content: application/json: schema: $ref: '#/components/schemas/Error' description: Invalid request '404': content: application/json: schema: $ref: '#/components/schemas/Error' description: Check not found default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Retrieve a check query tags: - Checks /api/v2/dashboards: get: description: > Lists [dashboards](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#dashboard). #### Related guides - [Manage dashboards](https://docs.influxdata.com/influxdb/cloud/visualize-data/dashboards/). operationId: GetDashboards parameters: - $ref: '#/components/parameters/TraceSpan' - $ref: '#/components/parameters/Offset' - $ref: '#/components/parameters/Descending' - description: > The maximum number of [dashboards](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#dashboard) to return. Default is `20`. The minimum is `-1` and the maximum is `100`. in: query name: limit schema: default: 20 maximum: 100 minimum: -1 type: integer - description: >- A user ID. Only returns [dashboards](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#dashboard) where the specified user has the `owner` role. in: query name: owner schema: type: string - description: The column to sort by. in: query name: sortBy schema: enum: - ID - CreatedAt - UpdatedAt type: string - description: > A list of dashboard IDs. Returns only the specified [dashboards](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#dashboard). If you specify `id` and `owner`, only `id` is used. in: query name: id schema: items: type: string type: array - description: > An organization ID. Only returns [dashboards](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#dashboard) that belong to the specified [organization](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#organization). in: query name: orgID schema: type: string - description: > An organization name. Only returns [dashboards](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#dashboard) that belong to the specified [organization](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#organization). in: query name: org schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/Dashboards' description: Success. The response body contains dashboards. default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: List dashboards tags: - Dashboards post: operationId: PostDashboards parameters: - $ref: '#/components/parameters/TraceSpan' requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateDashboardRequest' description: Dashboard to create required: true responses: '201': content: application/json: schema: oneOf: - $ref: '#/components/schemas/Dashboard' - $ref: '#/components/schemas/DashboardWithViewProperties' description: Success. The dashboard is created. default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Create a dashboard tags: - Dashboards /api/v2/dashboards/{dashboardID}: delete: operationId: DeleteDashboardsID parameters: - $ref: '#/components/parameters/TraceSpan' - description: The ID of the dashboard to update. in: path name: dashboardID required: true schema: type: string responses: '204': description: Delete has been accepted '404': content: application/json: schema: $ref: '#/components/schemas/Error' description: Dashboard not found default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Delete a dashboard tags: - Dashboards get: operationId: GetDashboardsID parameters: - $ref: '#/components/parameters/TraceSpan' - description: The ID of the dashboard to update. in: path name: dashboardID required: true schema: type: string - description: If `properties`, includes the cell view properties in the response. in: query name: include required: false schema: enum: - properties type: string responses: '200': content: application/json: schema: oneOf: - $ref: '#/components/schemas/Dashboard' - $ref: '#/components/schemas/DashboardWithViewProperties' description: Retrieve a single dashboard '404': content: application/json: schema: $ref: '#/components/schemas/Error' description: Dashboard not found default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Retrieve a dashboard tags: - Dashboards patch: operationId: PatchDashboardsID parameters: - $ref: '#/components/parameters/TraceSpan' - description: The ID of the dashboard to update. in: path name: dashboardID required: true schema: type: string requestBody: content: application/json: schema: properties: cells: $ref: '#/components/schemas/CellWithViewProperties' description: >- optional, when provided will replace all existing cells with the cells provided description: description: optional, when provided will replace the description type: string name: description: optional, when provided will replace the name type: string title: PatchDashboardRequest type: object description: Patching of a dashboard required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/Dashboard' description: Updated dashboard '404': content: application/json: schema: $ref: '#/components/schemas/Error' description: Dashboard not found default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Update a dashboard tags: - Dashboards /api/v2/dashboards/{dashboardID}/cells: post: operationId: PostDashboardsIDCells parameters: - $ref: '#/components/parameters/TraceSpan' - description: The ID of the dashboard to update. in: path name: dashboardID required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateCell' description: Cell that will be added required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/Cell' description: Cell successfully added '404': content: application/json: schema: $ref: '#/components/schemas/Error' description: Dashboard not found default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Create a dashboard cell tags: - Cells - Dashboards put: description: >- Replaces all cells in a dashboard. This is used primarily to update the positional information of all cells. operationId: PutDashboardsIDCells parameters: - $ref: '#/components/parameters/TraceSpan' - description: The ID of the dashboard to update. in: path name: dashboardID required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/Cells' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/Dashboard' description: Replaced dashboard cells '404': content: application/json: schema: $ref: '#/components/schemas/Error' description: Dashboard not found default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Replace cells in a dashboard tags: - Cells - Dashboards /api/v2/dashboards/{dashboardID}/cells/{cellID}: delete: operationId: DeleteDashboardsIDCellsID parameters: - $ref: '#/components/parameters/TraceSpan' - description: The ID of the dashboard to delete. in: path name: dashboardID required: true schema: type: string - description: The ID of the cell to delete. in: path name: cellID required: true schema: type: string responses: '204': description: Cell successfully deleted '404': content: application/json: schema: $ref: '#/components/schemas/Error' description: Cell or dashboard not found default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Delete a dashboard cell tags: - Cells - Dashboards patch: description: >- Updates the non positional information related to a cell. Updates to a single cell's positional data could cause grid conflicts. operationId: PatchDashboardsIDCellsID parameters: - $ref: '#/components/parameters/TraceSpan' - description: The ID of the dashboard to update. in: path name: dashboardID required: true schema: type: string - description: The ID of the cell to update. in: path name: cellID required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/CellUpdate' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/Cell' description: Updated dashboard cell '404': content: application/json: schema: $ref: '#/components/schemas/Error' description: Cell or dashboard not found default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Update the non-positional information related to a cell tags: - Cells - Dashboards /api/v2/dashboards/{dashboardID}/cells/{cellID}/view: get: operationId: GetDashboardsIDCellsIDView parameters: - $ref: '#/components/parameters/TraceSpan' - description: The dashboard ID. in: path name: dashboardID required: true schema: type: string - description: The cell ID. in: path name: cellID required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/View' description: A dashboard cells view '404': content: application/json: schema: $ref: '#/components/schemas/Error' description: Cell or dashboard not found default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Retrieve the view for a cell tags: - Cells - Dashboards - Views patch: operationId: PatchDashboardsIDCellsIDView parameters: - $ref: '#/components/parameters/TraceSpan' - description: The ID of the dashboard to update. in: path name: dashboardID required: true schema: type: string - description: The ID of the cell to update. in: path name: cellID required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/View' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/View' description: Updated cell view '404': content: application/json: schema: $ref: '#/components/schemas/Error' description: Cell or dashboard not found default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Update the view for a cell tags: - Cells - Dashboards - Views /api/v2/dashboards/{dashboardID}/labels: get: operationId: GetDashboardsIDLabels parameters: - $ref: '#/components/parameters/TraceSpan' - description: The dashboard ID. in: path name: dashboardID required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/LabelsResponse' description: A list of all labels for a dashboard default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: List all labels for a dashboard tags: - Dashboards post: operationId: PostDashboardsIDLabels parameters: - $ref: '#/components/parameters/TraceSpan' - description: The dashboard ID. in: path name: dashboardID required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/LabelMapping' description: Label to add required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/LabelResponse' description: The label added to the dashboard default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Add a label to a dashboard tags: - Dashboards /api/v2/dashboards/{dashboardID}/labels/{labelID}: delete: operationId: DeleteDashboardsIDLabelsID parameters: - $ref: '#/components/parameters/TraceSpan' - description: The dashboard ID. in: path name: dashboardID required: true schema: type: string - description: The ID of the label to delete. in: path name: labelID required: true schema: type: string responses: '204': description: Delete has been accepted '404': content: application/json: schema: $ref: '#/components/schemas/Error' description: Dashboard not found default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Delete a label from a dashboard tags: - Dashboards /api/v2/dashboards/{dashboardID}/members: get: operationId: GetDashboardsIDMembers parameters: - $ref: '#/components/parameters/TraceSpan' - description: The dashboard ID. in: path name: dashboardID required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/ResourceMembers' description: A list of users who have member privileges for a dashboard default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: List all dashboard members tags: - Dashboards post: operationId: PostDashboardsIDMembers parameters: - $ref: '#/components/parameters/TraceSpan' - description: The dashboard ID. in: path name: dashboardID required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/AddResourceMemberRequestBody' description: User to add as member required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/ResourceMember' description: Added to dashboard members default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Add a member to a dashboard tags: - Dashboards /api/v2/dashboards/{dashboardID}/members/{userID}: delete: operationId: DeleteDashboardsIDMembersID parameters: - $ref: '#/components/parameters/TraceSpan' - description: The ID of the member to remove. in: path name: userID required: true schema: type: string - description: The dashboard ID. in: path name: dashboardID required: true schema: type: string responses: '204': description: Member removed default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Remove a member from a dashboard tags: - Dashboards /api/v2/dashboards/{dashboardID}/owners: get: operationId: GetDashboardsIDOwners parameters: - $ref: '#/components/parameters/TraceSpan' - description: The dashboard ID. in: path name: dashboardID required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/ResourceOwners' description: A list of users who have owner privileges for a dashboard default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: List all dashboard owners tags: - Dashboards post: operationId: PostDashboardsIDOwners parameters: - $ref: '#/components/parameters/TraceSpan' - description: The dashboard ID. in: path name: dashboardID required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/AddResourceMemberRequestBody' description: User to add as owner required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/ResourceOwner' description: Added to dashboard owners default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Add an owner to a dashboard tags: - Dashboards /api/v2/dashboards/{dashboardID}/owners/{userID}: delete: operationId: DeleteDashboardsIDOwnersID parameters: - $ref: '#/components/parameters/TraceSpan' - description: The ID of the owner to remove. in: path name: userID required: true schema: type: string - description: The dashboard ID. in: path name: dashboardID required: true schema: type: string responses: '204': description: Owner removed default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Remove an owner from a dashboard tags: - Dashboards /api/v2/dbrps: get: description: > Lists database retention policy (DBRP) mappings. #### Related guide - [Database and retention policy mapping](https://docs.influxdata.com/influxdb/cloud/reference/api/influxdb-1x/dbrp/) operationId: GetDBRPs parameters: - $ref: '#/components/parameters/TraceSpan' - description: | An organization ID. Only returns DBRP mappings for the specified organization. in: query name: orgID schema: type: string - description: | An organization name. Only returns DBRP mappings for the specified organization. in: query name: org schema: type: string - description: | A DBPR mapping ID. Only returns the specified DBRP mapping. in: query name: id schema: type: string - description: | A bucket ID. Only returns DBRP mappings that belong to the specified bucket. in: query name: bucketID schema: type: string - description: Specifies filtering on default in: query name: default schema: type: boolean - description: | A database. Only returns DBRP mappings that belong to the 1.x database. in: query name: db schema: type: string - description: > A [retention policy](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#retention-policy-rp). Specifies the 1.x retention policy to filter on. in: query name: rp schema: type: string responses: '200': content: application/json: examples: successResponse: value: content: - bucketID: 4d4d9d5b61dee751 database: example_database_1 default: true id: 0a3cbb5dd526a000 orgID: bea7ea952287f70d retention_policy: autogen - bucketID: 4d4d9d5b61dee751 database: example_database_2 default: false id: 0a3cbcde20e38000 orgID: bea7ea952287f70d retention_policy: example_retention_policy schema: $ref: '#/components/schemas/DBRPs' description: >- Success. The response body contains a list of database retention policy mappings. '400': content: application/json: examples: invalidRequest: description: | The query parameters contain invalid values. value: code: invalid message: invalid ID schema: $ref: '#/components/schemas/Error' description: Bad request. The request has one or more invalid parameters. '401': $ref: '#/components/responses/AuthorizationError' '500': $ref: '#/components/responses/InternalServerError' default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: List database retention policy mappings tags: - DBRPs post: description: > Creates a database retention policy (DBRP) mapping and returns the mapping. Use this endpoint to add InfluxDB 1.x API compatibility to your InfluxDB Cloud or InfluxDB OSS 2.x buckets. Your buckets must contain a DBRP mapping in order to query and write using the InfluxDB 1.x API. object. #### Related guide - [Database and retention policy mapping](https://docs.influxdata.com/influxdb/cloud/reference/api/influxdb-1x/dbrp/) operationId: PostDBRP parameters: - $ref: '#/components/parameters/TraceSpan' requestBody: content: application/json: schema: $ref: '#/components/schemas/DBRPCreate' description: > The database retention policy mapping to add. Note that _`retention_policy`_ is a required parameter in the request body. The value of _`retention_policy`_ can be any arbitrary `string` name or value, with the default value commonly set as `autogen`. The value of _`retention_policy`_ isn't a [retention_policy](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#retention-policy-rp) required: true responses: '201': content: application/json: examples: successResponse: value: bucketID: 4d4d9d5b61dee751 database: example_database default: true id: 0a3cbb5dd526a000 orgID: bea7ea952287f70d retention_policy: autogen schema: $ref: '#/components/schemas/DBRP' description: >- Created. The response body contains the database retention policy mapping. '400': content: application/json: examples: invalidRequest: description: | The query parameters contain invalid values. value: code: invalid message: invalid ID schema: $ref: '#/components/schemas/Error' description: Bad request. The mapping in the request has one or more invalid IDs. '401': $ref: '#/components/responses/AuthorizationError' '404': $ref: '#/components/responses/ResourceNotFoundError' '500': $ref: '#/components/responses/InternalServerError' default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Add a database retention policy mapping tags: - DBRPs x-codeSamples: - label: 'cURL: create a database retention policy mapping' lang: Shell source: | curl --request POST \ "http://localhost:8086/api/v2/dbrp/" \ --header 'Content-type: application/json' \ --header "Authorization: Token INFLUXDB_TOKEN" \ --data-binary @- << EOF { \ "bucketID": "INFLUXDB_BUCKET_ID", \ "orgID": "INFLUXDB_ORG_ID", \ "database": "database_name", \ "default": true, \ "retention_policy": "example_retention_policy_name" \ } EOF /api/v2/dbrps/{dbrpID}: delete: description: > Deletes the specified database retention policy (DBRP) mapping. #### Related guide - [Database and retention policy mapping](https://docs.influxdata.com/influxdb/cloud/reference/api/influxdb-1x/dbrp/) operationId: DeleteDBRPID parameters: - $ref: '#/components/parameters/TraceSpan' - description: | An organization ID. Specifies the organization that owns the DBRP mapping. in: query name: orgID schema: type: string - description: | An organization name. Specifies the organization that owns the DBRP mapping. in: query name: org schema: type: string - description: | A DBRP mapping ID. Only returns the specified DBRP mapping. in: path name: dbrpID required: true schema: type: string responses: '204': description: Success. The delete is accepted. '400': content: application/json: examples: invalidRequest: description: | The query parameters contain invalid values. value: code: invalid message: invalid ID schema: $ref: '#/components/schemas/Error' description: Bad Request. Query parameters contain invalid values. '401': $ref: '#/components/responses/AuthorizationError' '404': $ref: '#/components/responses/ResourceNotFoundError' '500': $ref: '#/components/responses/InternalServerError' default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Delete a database retention policy tags: - DBRPs get: description: > Retrieves the specified retention policy (DBRP) mapping. #### Related guide - [Database and retention policy mapping](https://docs.influxdata.com/influxdb/cloud/reference/api/influxdb-1x/dbrp/) operationId: GetDBRPsID parameters: - $ref: '#/components/parameters/TraceSpan' - description: | An organization ID. Specifies the organization that owns the DBRP mapping. in: query name: orgID schema: type: string - description: | An organization name. Specifies the organization that owns the DBRP mapping. in: query name: org schema: type: string - description: | A DBRP mapping ID. Specifies the DBRP mapping. in: path name: dbrpID required: true schema: type: string responses: '200': content: application/json: examples: successResponse: value: content: bucketID: 4d4d9d5b61dee751 database: example_database_1 default: true id: 0a3cbb5dd526a000 orgID: bea7ea952287f70d retention_policy: autogen schema: $ref: '#/components/schemas/DBRPGet' description: Success. The response body contains the DBRP mapping. '400': content: application/json: examples: invalidRequest: description: | The query parameters contain invalid values. value: code: invalid message: invalid ID schema: $ref: '#/components/schemas/Error' description: Bad Request. Query parameters contain invalid values. '401': $ref: '#/components/responses/AuthorizationError' '404': $ref: '#/components/responses/ResourceNotFoundError' '500': $ref: '#/components/responses/InternalServerError' default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Retrieve a database retention policy mapping tags: - DBRPs patch: operationId: PatchDBRPID parameters: - $ref: '#/components/parameters/TraceSpan' - description: | An organization ID. Specifies the organization that owns the DBRP mapping. in: query name: orgID schema: type: string - description: | An organization name. Specifies the organization that owns the DBRP mapping. in: query name: org schema: type: string - description: | A DBRP mapping ID. Specifies the DBRP mapping. in: path name: dbrpID required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/DBRPUpdate' description: > Updates the database retention policy (DBRP) mapping and returns the mapping. Use this endpoint to modify the _retention policy_ (`retention_policy` property) of a DBRP mapping. #### Related guide - [Database and retention policy mapping](https://docs.influxdata.com/influxdb/cloud/reference/api/influxdb-1x/dbrp/) required: true responses: '200': content: application/json: examples: successResponse: value: content: bucketID: 4d4d9d5b61dee751 database: example_database default: false id: 0a3cbb5dd526a000 orgID: bea7ea952287f70d retention_policy: example_retention_policy schema: $ref: '#/components/schemas/DBRPGet' description: An updated mapping '400': content: application/json: examples: invalidRequest: description: | The query parameters contain invalid values. value: code: invalid message: invalid ID schema: $ref: '#/components/schemas/Error' description: Bad Request. Query parameters contain invalid values. '401': $ref: '#/components/responses/AuthorizationError' '404': $ref: '#/components/responses/ResourceNotFoundError' '500': $ref: '#/components/responses/InternalServerError' default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Update a database retention policy mapping tags: - DBRPs x-codeSamples: - label: 'cURL: Update a DBRP mapping' lang: Shell source: | curl --request PATCH \ "http://localhost:8086/api/v2/dbrp/DBRP_ID" \ --header 'Content-type: application/json' \ --header "Authorization: Token INFLUX_API_TOKEN" \ --data-binary @- << EOF { "default": true, "retention_policy": "example_retention_policy_name" } EOF /api/v2/delete: post: 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. If queued, responds with _success_ (HTTP `2xx` status code); _error_ otherwise. 3. Handles the delete asynchronously and reaches eventual consistency. To ensure that InfluxDB Cloud handles writes and deletes in the order you request them, wait for a success response (HTTP `2xx` status code) before you send the next request. Because writes and deletes are asynchronous, your change might not yet be readable when you receive the response. #### InfluxDB OSS v2 - 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/cloud/write-data/delete-data/) - Learn how to use [delete predicate syntax](https://docs.influxdata.com/influxdb/cloud/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/). operationId: PostDelete parameters: - $ref: '#/components/parameters/TraceSpan' - description: | An organization name or ID. #### InfluxDB Cloud - Doesn't use the `org` parameter or `orgID` parameter. - Deletes data from the bucket in the organization associated with the authorization (API token). #### InfluxDB OSS v2 - Requires either the `org` parameter or the `orgID` parameter. - Deletes data from the bucket in the specified organization. - If you pass both `orgID` and `org`, they must both be valid. in: query name: org schema: description: The organization name or ID. type: string - description: > A bucket name or ID. Specifies the bucket to delete data from. If you pass both `bucket` and `bucketID`, `bucketID` takes precedence. in: query name: bucket schema: description: The bucket name or ID. type: string - description: | An organization ID. #### InfluxDB Cloud - Doesn't use the `org` parameter or `orgID` parameter. - Deletes data from the bucket in the organization associated with the authorization (API token). #### InfluxDB OSS v2 - Requires either the `org` parameter or the `orgID` parameter. - Deletes data from the bucket in the specified organization. - If you pass both `orgID` and `org`, they must both be valid. in: query name: orgID schema: description: The organization ID. type: string - description: > A bucket ID. Specifies the bucket to delete data from. If you pass both `bucket` and `bucketID`, `bucketID` takes precedence. in: query name: bucketID schema: description: The bucket ID. type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/DeletePredicateRequest' 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/cloud/write-data/delete-data/) - Learn how to use [delete predicate syntax](https://docs.influxdata.com/influxdb/cloud/reference/syntax/delete-predicate/). required: true 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 v2 - Deleted the data. '400': content: application/json: examples: orgNotFound: summary: Organization not found value: code: invalid message: 'failed to decode request body: organization not found' schema: $ref: '#/components/schemas/Error' description: > Bad request. The response body contains detail about the error. #### InfluxDB OSS v2 - Returns this error if the `org` parameter or `orgID` parameter doesn't match an organization. '401': $ref: '#/components/responses/AuthorizationError' '404': $ref: '#/components/responses/ResourceNotFoundError' '500': $ref: '#/components/responses/InternalServerError' default: $ref: '#/components/responses/GeneralServerError' summary: Delete data tags: - Delete x-codeSamples: - label: cURL lang: Shell 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\")" }' /api/v2/flags: get: description: > Retrieves the feature flag key-value pairs configured for the InfluxDB instance. _Feature flags_ are configuration options used to develop and test experimental InfluxDB features and are intended for internal use only. This endpoint represents the first step in the following three-step process to configure feature flags: 1. Use [token authentication](#section/Authentication/TokenAuthentication) or a [user session](#tag/Signin) with this endpoint to retrieve feature flags and their values. 2. Follow the instructions to enable, disable, or override values for feature flags. 3. **Optional**: To confirm that your change is applied, do one of the following: - Send a request to this endpoint to retrieve the current feature flag values. - Send a request to the [`GET /api/v2/config` endpoint](#operation/GetConfig) to retrieve the current runtime server configuration. operationId: GetFlags parameters: - $ref: '#/components/parameters/TraceSpan' responses: '200': content: application/json: schema: $ref: '#/components/schemas/Flags' description: Success. The response body contains feature flags. '401': $ref: '#/components/responses/AuthorizationError' '500': $ref: '#/components/responses/InternalServerError' default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Retrieve feature flags tags: - Config /api/v2/labels: get: operationId: GetLabels parameters: - $ref: '#/components/parameters/TraceSpan' - description: The organization ID. in: query name: orgID schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/LabelsResponse' description: Success. The response body contains a list of labels. '500': $ref: '#/components/responses/InternalServerError' default: $ref: '#/components/responses/GeneralServerError' summary: List all labels tags: - Labels post: operationId: PostLabels requestBody: content: application/json: schema: $ref: '#/components/schemas/LabelCreateRequest' description: The label to create. required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/LabelResponse' description: Success. The label was created. '500': $ref: '#/components/responses/InternalServerError' default: $ref: '#/components/responses/GeneralServerError' summary: Create a label tags: - Labels /api/v2/labels/{labelID}: delete: operationId: DeleteLabelsID parameters: - $ref: '#/components/parameters/TraceSpan' - description: The ID of the label to delete. in: path name: labelID required: true schema: type: string 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' summary: Delete a label tags: - Labels get: operationId: GetLabelsID parameters: - $ref: '#/components/parameters/TraceSpan' - description: The ID of the label to update. in: path name: labelID required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/LabelResponse' description: Success. The response body contains the label. '500': $ref: '#/components/responses/InternalServerError' default: $ref: '#/components/responses/GeneralServerError' summary: Retrieve a label tags: - Labels patch: operationId: PatchLabelsID parameters: - $ref: '#/components/parameters/TraceSpan' - description: The ID of the label to update. in: path name: labelID required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/LabelUpdate' description: A label update. required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/LabelResponse' description: Success. The response body contains the updated label. '401': $ref: '#/components/responses/AuthorizationError' '404': $ref: '#/components/responses/ResourceNotFoundError' '500': $ref: '#/components/responses/InternalServerError' default: $ref: '#/components/responses/GeneralServerError' summary: Update a label tags: - Labels /api/v2/maps/mapToken: get: operationId: getMapboxToken responses: '200': content: application/json: schema: $ref: '#/components/schemas/Token' description: Temporary token for Mapbox. '401': $ref: '#/components/responses/ServerError' '500': $ref: '#/components/responses/ServerError' default: $ref: '#/components/responses/ServerError' summary: Get a mapbox token /api/v2/me: get: operationId: GetMe parameters: - $ref: '#/components/parameters/TraceSpan' responses: '200': content: application/json: schema: $ref: '#/components/schemas/UserResponse' description: >- Success. The response body contains the currently authenticated user. '401': $ref: '#/components/responses/AuthorizationError' '500': $ref: '#/components/responses/InternalServerError' default: $ref: '#/components/responses/GeneralServerError' summary: Retrieve the currently authenticated user tags: - Users /api/v2/me/password: put: description: > Updates the password for the signed-in [user](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#user). This endpoint represents the third step in the following three-step process to let a user with a user session update their password: 1. Pass the user's [Basic authentication credentials](#section/Authentication/BasicAuthentication) to the `POST /api/v2/signin` endpoint to create a user session and generate a session cookie. 2. From the response in the first step, extract the session cookie (`Set-Cookie`) header. 3. Pass the following in a request to the `PUT /api/v2/me/password` endpoint: - The `Set-Cookie` header from the second step - The `Authorization Basic` header with the user's _Basic authentication_ credentials - `{"password": "NEW_PASSWORD"}` in the request body #### InfluxDB Cloud - Doesn't let you manage user passwords through the API. Use the InfluxDB Cloud user interface (UI) to update your password. #### Related endpoints - [Signin](#tag/Signin) - [Signout](#tag/Signout) - [Users](#tag/Users) #### Related guides - [InfluxDB Cloud - Change your password](https://docs.influxdata.com/influxdb/cloud/account-management/change-password/) - [InfluxDB OSS - Change your password](https://docs.influxdata.com/influxdb/v2/users/change-password/) operationId: PutMePassword parameters: - $ref: '#/components/parameters/TraceSpan' - description: > The user session cookie for the [user](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#user) signed in with [Basic authentication credentials](#section/Authentication/BasicAuthentication). #### Related guides - [Manage users](https://docs.influxdata.com/influxdb/cloud/users/) example: >- influxdb-oss-session=19aaaZZZGOvP2GGryXVT2qYftlFKu3bIopurM6AGFow1yF1abhtOlbHfsc-d8gozZFC_6WxmlQIAwLMW5xs523w== in: cookie name: influxdb-oss-session required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/PasswordResetBody' description: The new password. required: true responses: '204': description: Success. The password is updated. '400': description: > Bad request. #### InfluxDB Cloud - Doesn't let you manage user passwords through the API; always responds with this status. #### InfluxDB OSS v2 - Doesn't understand a value passed in the request. '401': $ref: '#/components/responses/AuthorizationError' default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unsuccessful authentication security: - BasicAuthentication: [] summary: Update a password tags: - Users /api/v2/notificationEndpoints: get: operationId: GetNotificationEndpoints parameters: - $ref: '#/components/parameters/TraceSpan' - $ref: '#/components/parameters/Offset' - $ref: '#/components/parameters/Limit' - description: >- Only show notification endpoints that belong to specific organization ID. in: query name: orgID required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/NotificationEndpoints' description: A list of notification endpoints default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: List all notification endpoints tags: - NotificationEndpoints post: operationId: CreateNotificationEndpoint requestBody: content: application/json: schema: $ref: '#/components/schemas/PostNotificationEndpoint' description: Notification endpoint to create required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/NotificationEndpoint' description: Notification endpoint created default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Add a notification endpoint tags: - NotificationEndpoints /api/v2/notificationEndpoints/{endpointID}: delete: operationId: DeleteNotificationEndpointsID parameters: - $ref: '#/components/parameters/TraceSpan' - description: The notification endpoint ID. in: path name: endpointID required: true schema: type: string responses: '204': description: Delete has been accepted '404': content: application/json: schema: $ref: '#/components/schemas/Error' description: The endpoint was not found default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Delete a notification endpoint tags: - NotificationEndpoints get: operationId: GetNotificationEndpointsID parameters: - $ref: '#/components/parameters/TraceSpan' - description: The notification endpoint ID. in: path name: endpointID required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/NotificationEndpoint' description: The notification endpoint requested default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Retrieve a notification endpoint tags: - NotificationEndpoints patch: operationId: PatchNotificationEndpointsID parameters: - $ref: '#/components/parameters/TraceSpan' - description: The notification endpoint ID. in: path name: endpointID required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/NotificationEndpointUpdate' description: Check update to apply required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/NotificationEndpoint' description: An updated notification endpoint '404': content: application/json: schema: $ref: '#/components/schemas/Error' description: The notification endpoint was not found default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Update a notification endpoint tags: - NotificationEndpoints put: operationId: PutNotificationEndpointsID parameters: - $ref: '#/components/parameters/TraceSpan' - description: The notification endpoint ID. in: path name: endpointID required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/NotificationEndpoint' description: A new notification endpoint to replace the existing endpoint with required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/NotificationEndpoint' description: An updated notification endpoint '404': content: application/json: schema: $ref: '#/components/schemas/Error' description: The notification endpoint was not found default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Update a notification endpoint tags: - NotificationEndpoints /api/v2/notificationEndpoints/{endpointID}/labels: get: operationId: GetNotificationEndpointsIDLabels parameters: - $ref: '#/components/parameters/TraceSpan' - description: The notification endpoint ID. in: path name: endpointID required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/LabelsResponse' description: A list of all labels for a notification endpoint default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: List all labels for a notification endpoint tags: - NotificationEndpoints post: operationId: PostNotificationEndpointIDLabels parameters: - $ref: '#/components/parameters/TraceSpan' - description: The notification endpoint ID. in: path name: endpointID required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/LabelMapping' description: Label to add required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/LabelResponse' description: The label was added to the notification endpoint default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Add a label to a notification endpoint tags: - NotificationEndpoints /api/v2/notificationEndpoints/{endpointID}/labels/{labelID}: delete: operationId: DeleteNotificationEndpointsIDLabelsID parameters: - $ref: '#/components/parameters/TraceSpan' - description: The notification endpoint ID. in: path name: endpointID required: true schema: type: string - description: The ID of the label to delete. in: path name: labelID required: true schema: type: string responses: '204': description: Delete has been accepted '404': content: application/json: schema: $ref: '#/components/schemas/Error' description: Endpoint or label not found default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Delete a label from a notification endpoint tags: - NotificationEndpoints /api/v2/notificationRules: get: operationId: GetNotificationRules parameters: - $ref: '#/components/parameters/TraceSpan' - $ref: '#/components/parameters/Offset' - $ref: '#/components/parameters/Limit' - description: >- Only show notification rules that belong to a specific organization ID. in: query name: orgID required: true schema: type: string - description: Only show notifications that belong to the specific check ID. in: query name: checkID schema: type: string - description: >- Only return notification rules that "would match" statuses which contain the tag key value pairs provided. in: query name: tag schema: example: env:prod pattern: ^[a-zA-Z0-9_]+:[a-zA-Z0-9_]+$ type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/NotificationRules' description: A list of notification rules default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: List all notification rules tags: - NotificationRules post: operationId: CreateNotificationRule requestBody: content: application/json: schema: $ref: '#/components/schemas/PostNotificationRule' description: Notification rule to create required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/NotificationRule' description: Notification rule created default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Add a notification rule tags: - NotificationRules /api/v2/notificationRules/{ruleID}: delete: operationId: DeleteNotificationRulesID parameters: - $ref: '#/components/parameters/TraceSpan' - description: The notification rule ID. in: path name: ruleID required: true schema: type: string responses: '204': description: Delete has been accepted '404': content: application/json: schema: $ref: '#/components/schemas/Error' description: The check was not found default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Delete a notification rule tags: - NotificationRules get: operationId: GetNotificationRulesID parameters: - $ref: '#/components/parameters/TraceSpan' - description: The notification rule ID. in: path name: ruleID required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/NotificationRule' description: The notification rule requested default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Retrieve a notification rule tags: - NotificationRules patch: operationId: PatchNotificationRulesID parameters: - $ref: '#/components/parameters/TraceSpan' - description: The notification rule ID. in: path name: ruleID required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/NotificationRuleUpdate' description: Notification rule update to apply required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/NotificationRule' description: An updated notification rule '404': content: application/json: schema: $ref: '#/components/schemas/Error' description: The notification rule was not found default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Update a notification rule tags: - NotificationRules put: operationId: PutNotificationRulesID parameters: - $ref: '#/components/parameters/TraceSpan' - description: The notification rule ID. in: path name: ruleID required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/NotificationRule' description: Notification rule update to apply required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/NotificationRule' description: An updated notification rule '404': content: application/json: schema: $ref: '#/components/schemas/Error' description: The notification rule was not found default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Update a notification rule tags: - NotificationRules /api/v2/notificationRules/{ruleID}/labels: get: operationId: GetNotificationRulesIDLabels parameters: - $ref: '#/components/parameters/TraceSpan' - description: The notification rule ID. in: path name: ruleID required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/LabelsResponse' description: A list of all labels for a notification rule default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: List all labels for a notification rule tags: - NotificationRules post: operationId: PostNotificationRuleIDLabels parameters: - $ref: '#/components/parameters/TraceSpan' - description: The notification rule ID. in: path name: ruleID required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/LabelMapping' description: Label to add required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/LabelResponse' description: The label was added to the notification rule default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Add a label to a notification rule tags: - NotificationRules /api/v2/notificationRules/{ruleID}/labels/{labelID}: delete: operationId: DeleteNotificationRulesIDLabelsID parameters: - $ref: '#/components/parameters/TraceSpan' - description: The notification rule ID. in: path name: ruleID required: true schema: type: string - description: The ID of the label to delete. in: path name: labelID required: true schema: type: string responses: '204': description: Delete has been accepted '404': content: application/json: schema: $ref: '#/components/schemas/Error' description: Rule or label not found default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Delete label from a notification rule tags: - NotificationRules /api/v2/notificationRules/{ruleID}/query: get: operationId: GetNotificationRulesIDQuery parameters: - $ref: '#/components/parameters/TraceSpan' - description: The notification rule ID. in: path name: ruleID required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/FluxResponse' description: The notification rule query requested '400': content: application/json: schema: $ref: '#/components/schemas/Error' description: Invalid request '404': content: application/json: schema: $ref: '#/components/schemas/Error' description: Notification rule not found default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Retrieve a notification rule query tags: - Rules /api/v2/orgs: get: description: > Lists [organizations](https://docs.influxdata.com/influxdb/cloud/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/cloud/organizations/view-orgs/) operationId: GetOrgs parameters: - $ref: '#/components/parameters/TraceSpan' - $ref: '#/components/parameters/Offset' - $ref: '#/components/parameters/Limit' - $ref: '#/components/parameters/Descending' - description: | An organization name. Only returns the specified organization. in: query name: org schema: type: string - description: | An organization ID. Only returns the specified organization. in: query name: orgID schema: type: string - description: > A user ID. Only returns organizations where the specified user is a member or owner. in: query name: userID schema: type: string responses: '200': content: application/json: examples: successResponse: value: links: self: /api/v2/orgs orgs: - createdAt: '2022-07-17T23:00:30.778487Z' description: Example InfluxDB organization id: INFLUX_ORG_ID links: buckets: /api/v2/buckets?org=INFLUX_ORG dashboards: /api/v2/dashboards?org=INFLUX_ORG labels: /api/v2/orgs/INFLUX_ORG_ID/labels logs: /api/v2/orgs/INFLUX_ORG_ID/logs members: /api/v2/orgs/INFLUX_ORG_ID/members owners: /api/v2/orgs/INFLUX_ORG_ID/owners secrets: /api/v2/orgs/INFLUX_ORG_ID/secrets self: /api/v2/orgs/INFLUX_ORG_ID tasks: /api/v2/tasks?org=InfluxData name: INFLUX_ORG updatedAt: '2022-07-17T23:00:30.778487Z' schema: $ref: '#/components/schemas/Organizations' description: Success. The response body contains a list of 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' summary: List organizations tags: - Organizations - Security and access endpoints post: description: > Creates an [organization](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#organization) and returns the newly created organization. #### InfluxDB Cloud - Doesn't allow you to use this endpoint to create organizations. #### Related guides - [Manage organizations](https://docs.influxdata.com/influxdb/cloud/organizations) operationId: PostOrgs parameters: - $ref: '#/components/parameters/TraceSpan' requestBody: content: application/json: schema: $ref: '#/components/schemas/PostOrganizationRequest' description: The organization to create. required: true responses: '201': content: application/json: examples: successResponse: value: createdAt: '2022-08-24T23:05:52.881317Z' description: '' id: INFLUX_ORG_ID links: buckets: /api/v2/buckets?org=INFLUX_ORG dashboards: /api/v2/dashboards?org=INFLUX_ORG labels: /api/v2/orgs/INFLUX_ORG_ID/labels logs: /api/v2/orgs/INFLUX_ORG_ID/logs members: /api/v2/orgs/INFLUX_ORG_ID/members owners: /api/v2/orgs/INFLUX_ORG_ID/owners secrets: /api/v2/orgs/INFLUX_ORG_ID/secrets self: /api/v2/orgs/INFLUX_ORG_ID tasks: /api/v2/tasks?org=INFLUX_ORG name: INFLUX_ORG updatedAt: '2022-08-24T23:05:52.881318Z' schema: $ref: '#/components/schemas/Organization' description: Created. The response body contains the organization information. '400': $ref: '#/components/responses/BadRequestError' examples: invalidRequest: summary: The `name` field is missing from the request body. value: code: invalid message: org name is empty '401': $ref: '#/components/responses/AuthorizationError' '404': $ref: '#/components/responses/ResourceNotFoundError' '500': $ref: '#/components/responses/InternalServerError' default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Create an organization tags: - Organizations x-codeSamples: - label: cURL lang: Shell source: | curl --request POST "http://localhost:8086/api/v2/orgs \ --header "Authorization: Token INFLUX_API_TOKEN" \ --header "Accept: application/json" \ --header "Content-Type: application/json" \ --data '{ "name": "INFLUX_ORG", "description: "Example InfluxDB organization" }' /api/v2/orgs/{orgID}: delete: description: > Deletes an organization. Deleting an organization from InfluxDB Cloud can't be undone. Once deleted, all data associated with the organization is removed. #### 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 v2 - Validates the request, handles the delete synchronously, and then responds with success or failure. #### Limitations - Only one organization can be deleted per request. #### Related guides - [Delete organizations](https://docs.influxdata.com/influxdb/cloud/organizations/delete-orgs/) operationId: DeleteOrgsID parameters: - $ref: '#/components/parameters/TraceSpan' - description: | The ID of the organization to delete. in: path name: orgID required: true schema: type: string responses: '204': description: | Success. #### InfluxDB Cloud - The organization is queued for deletion. #### InfluxDB OSS v2 - The organization is deleted. '400': $ref: '#/components/responses/BadRequestError' '401': $ref: '#/components/responses/AuthorizationError' '404': content: application/json: examples: notFound: summary: | The requested organization was not found. value: code: not found message: org not found schema: $ref: '#/components/schemas/Error' description: | Not found. InfluxDB can't find the organization. '500': $ref: '#/components/responses/InternalServerError' default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Delete an organization tags: - Organizations get: description: > Retrieves an organization. Use this endpoint to retrieve information for a specific organization. #### Related guides - [View organizations](https://docs.influxdata.com/influxdb/cloud/organizations/view-orgs/) operationId: GetOrgsID parameters: - $ref: '#/components/parameters/TraceSpan' - description: | The ID of the organization to retrieve. in: path name: orgID required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/Organization' description: | Success. The response body contains the organization information. '401': $ref: '#/components/responses/AuthorizationError' '404': content: application/json: examples: notFound: summary: | The requested organization wasn't found. value: code: not found message: organization not found schema: $ref: '#/components/schemas/Error' description: | Not found. Organization not found. '500': $ref: '#/components/responses/InternalServerError' default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Retrieve an organization tags: - Organizations - Security and access endpoints patch: description: > Updates an organization. Use this endpoint to update properties (`name`, `description`) of an organization. Updating an organization’s name affects all resources that reference the organization by name, including the following: - Queries - Dashboards - Tasks - Telegraf configurations - Templates If you change an organization name, be sure to update the organization name in these resources as well. #### Related Guides - [Update an organization](https://docs.influxdata.com/influxdb/cloud/organizations/update-org/) operationId: PatchOrgsID parameters: - $ref: '#/components/parameters/TraceSpan' - description: | The ID of the organization to update. in: path name: orgID required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchOrganizationRequest' description: The organization update to apply. required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/Organization' description: Success. The response body contains the updated organization. '400': $ref: '#/components/responses/BadRequestError' '401': $ref: '#/components/responses/AuthorizationError' '404': $ref: '#/components/responses/ResourceNotFoundError' '500': $ref: '#/components/responses/InternalServerError' default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Update an organization tags: - Organizations /api/v2/orgs/{orgID}/limits: get: operationId: GetOrgLimitsID parameters: - description: The ID of the organization. in: path name: orgID required: true schema: type: string responses: '200': content: application/json: schema: description: These are org limits similar to those configured in/by quartz. properties: limits: $ref: '#/components/schemas/Limit' links: $ref: '#/components/schemas/Links' type: object description: Limits defined for the organization. default: $ref: '#/components/responses/GeneralServerError' description: unexpected error summary: Retrieve limits for an organization tags: - Limits /api/v2/orgs/{orgID}/members: get: description: > Lists all users that belong to an organization. InfluxDB [users](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#user) have permission to access InfluxDB. [Members](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#member) are users within the organization. #### InfluxDB Cloud - Doesn't use `owner` and `member` roles. Use [`/api/v2/authorizations`](#tag/Authorizations-(API-tokens)) to assign user permissions. #### Limitations - Member permissions are separate from API token permissions. - Member permissions are used in the context of the InfluxDB UI. #### Required permissions - `read-orgs INFLUX_ORG_ID` *`INFLUX_ORG_ID`* is the ID of the organization that you want to retrieve members for. #### Related guides - [Manage users](https://docs.influxdata.com/influxdb/cloud/users/) - [Manage members](https://docs.influxdata.com/influxdb/cloud/organizations/members/) operationId: GetOrgsIDMembers parameters: - $ref: '#/components/parameters/TraceSpan' - description: | The ID of the organization to retrieve users for. in: path name: orgID required: true schema: type: string responses: '200': content: application/json: examples: successResponse: value: links: self: /api/v2/orgs/055aa4783aa38398/members users: - id: 791df274afd48a83 links: self: /api/v2/users/791df274afd48a83 name: example_user_1 role: member status: active - id: 09cfb87051cbe000 links: self: /api/v2/users/09cfb87051cbe000 name: example_user_2 role: owner status: active schema: $ref: '#/components/schemas/ResourceMembers' description: > Success. The response body contains a list of all users within the organization. '400': $ref: '#/components/responses/BadRequestError' '401': $ref: '#/components/responses/AuthorizationError' '404': content: application/json: examples: notFound: summary: | The requested organization wasn't found. value: code: not found message: 404 page not found schema: $ref: '#/components/schemas/Error' description: | Not found. InfluxDB can't find the organization. '500': $ref: '#/components/responses/InternalServerError' default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: List all members of an organization tags: - Organizations - Security and access endpoints post: description: > Add a user to an organization. InfluxDB [users](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#user) have permission to access InfluxDB. [Members](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#member) are users within the organization. #### InfluxDB Cloud - Doesn't use `owner` and `member` roles. Use [`/api/v2/authorizations`](#tag/Authorizations-(API-tokens)) to assign user permissions. #### Limitations - Member permissions are separate from API token permissions. - Member permissions are used in the context of the InfluxDB UI. #### Required permissions - `write-orgs INFLUX_ORG_ID` *`INFLUX_ORG_ID`* is the ID of the organization that you want to add a member to. #### Related guides - [Manage users](https://docs.influxdata.com/influxdb/cloud/users/) - [Manage members](https://docs.influxdata.com/influxdb/cloud/organizations/members/) operationId: PostOrgsIDMembers parameters: - $ref: '#/components/parameters/TraceSpan' - description: | The ID of the organization. in: path name: orgID required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/AddResourceMemberRequestBody' description: | The user to add to the organization. required: true responses: '201': content: application/json: examples: successResponse: value: id: 09cfb87051cbe000 links: self: /api/v2/users/09cfb87051cbe000 name: example_user_1 role: member status: active schema: $ref: '#/components/schemas/ResourceMember' description: | Success. The response body contains the user information. '400': $ref: '#/components/responses/BadRequestError' examples: invalidRequest: summary: The user `id` 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: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Add a member to an organization tags: - Organizations x-codeSamples: - label: cURL lang: Shell source: > curl --request POST "http://localhost:8086/api/v2/orgs/INFLUX_ORG_ID/members \ --header "Authorization: Token INFLUX_API_TOKEN" \ --header "Accept: application/json" \ --header "Content-Type: application/json" \ --data '{ "id": "09cfb87051cbe000" }' /api/v2/orgs/{orgID}/members/{userID}: delete: description: > Removes a member from an organization. Use this endpoint to remove a user's member privileges for an organization. Removing member privileges removes the user's `read` and `write` permissions from the organization. #### InfluxDB Cloud - Doesn't use `owner` and `member` roles. Use [`/api/v2/authorizations`](#tag/Authorizations-(API-tokens)) to assign user permissions. #### Limitations - Member permissions are separate from API token permissions. - Member permissions are used in the context of the InfluxDB UI. #### Required permissions - `write-orgs INFLUX_ORG_ID` *`INFLUX_ORG_ID`* is the ID of the organization that you want to remove an owner from. #### Related guides - [Manage members](https://docs.influxdata.com/influxdb/cloud/organizations/members/) operationId: DeleteOrgsIDMembersID parameters: - $ref: '#/components/parameters/TraceSpan' - description: The ID of the user to remove. in: path name: userID required: true schema: type: string - description: The ID of the organization to remove a user from. in: path name: orgID required: true schema: type: string responses: '204': description: | Success. The user is no longer a member of the organization. '401': $ref: '#/components/responses/AuthorizationError' '404': $ref: '#/components/responses/ResourceNotFoundError' '500': $ref: '#/components/responses/InternalServerError' default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Remove a member from an organization tags: - Organizations - Security and access endpoints /api/v2/orgs/{orgID}/owners: get: description: > Lists all owners of an organization. #### InfluxDB Cloud - Doesn't use `owner` and `member` roles. Use [`/api/v2/authorizations`](#tag/Authorizations-(API-tokens)) to assign user permissions. #### Required permissions - `read-orgs INFLUX_ORG_ID` *`INFLUX_ORG_ID`* is the ID of the organization that you want to retrieve a list of owners from. operationId: GetOrgsIDOwners parameters: - $ref: '#/components/parameters/TraceSpan' - description: | The ID of the organization to list owners for. in: path name: orgID required: true schema: type: string responses: '200': content: application/json: examples: successResponse: value: links: self: /api/v2/orgs/055aa4783aa38398/owners users: - id: 09cfb87051cbe000 links: self: /api/v2/users/09cfb87051cbe000 name: example_user_2 role: owner status: active schema: $ref: '#/components/schemas/ResourceOwners' description: A list of organization owners '404': content: application/json: schema: $ref: '#/components/schemas/Error' description: Organization not found default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: List all owners of an organization tags: - Organizations - Security and access endpoints post: 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-(API-tokens)) to assign user permissions. #### Required permissions - `write-orgs INFLUX_ORG_ID` *`INFLUX_ORG_ID`* is the ID of the organization that you want to add an owner for. #### Related endpoints - [Authorizations](#tag/Authorizations-(API-tokens)) operationId: PostOrgsIDOwners parameters: - $ref: '#/components/parameters/TraceSpan' - description: The ID of the organization that you want to add an owner for. in: path name: orgID required: true schema: type: string requestBody: content: application/json: examples: successResponse: value: id: 09cfb87051cbe000 links: self: /api/v2/users/09cfb87051cbe000 name: example_user_1 role: owner status: active schema: $ref: '#/components/schemas/AddResourceMemberRequestBody' description: The user to add as an owner of the organization. required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/ResourceOwner' description: | Success. The user is an owner of the organization. The response body contains the owner with role and user detail. '400': $ref: '#/components/responses/BadRequestError' '401': $ref: '#/components/responses/AuthorizationError' '404': $ref: '#/components/responses/ResourceNotFoundError' '500': $ref: '#/components/responses/InternalServerError' default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Add an owner to an organization tags: - Organizations x-codeSamples: - label: cURL lang: Shell source: > curl --request POST "http://localhost:8086/api/v2/orgs/INFLUX_ORG_ID/owners \ --header "Authorization: Token INFLUX_API_TOKEN" \ --header "Accept: application/json" \ --header "Content-Type: application/json" \ --data '{ "id": "09cfb87051cbe000" }' /api/v2/orgs/{orgID}/owners/{userID}: delete: description: > Removes an [owner](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#owner) from the organization. Organization owners have permission to delete organizations and remove user and member permissions from the organization. #### InfluxDB Cloud - Doesn't use `owner` and `member` roles. Use [`/api/v2/authorizations`](#tag/Authorizations-(API-tokens)) to assign user permissions. #### Limitations - Owner permissions are separate from API token permissions. - Owner permissions are used in the context of the InfluxDB UI. #### Required permissions - `write-orgs INFLUX_ORG_ID` *`INFLUX_ORG_ID`* is the ID of the organization that you want to remove an owner from. #### Related endpoints - [Authorizations](#tag/Authorizations-(API-tokens)) operationId: DeleteOrgsIDOwnersID parameters: - $ref: '#/components/parameters/TraceSpan' - description: The ID of the user to remove. in: path name: userID required: true schema: type: string - description: | The ID of the organization to remove an owner from. in: path name: orgID required: true schema: type: string responses: '204': description: | Success. The user is no longer an owner of the organization. '401': $ref: '#/components/responses/AuthorizationError' '404': $ref: '#/components/responses/ResourceNotFoundError' '500': $ref: '#/components/responses/InternalServerError' default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Remove an owner from an organization tags: - Organizations - Security and access endpoints /api/v2/orgs/{orgID}/secrets: get: operationId: GetOrgsIDSecrets parameters: - $ref: '#/components/parameters/TraceSpan' - description: The organization ID. in: path name: orgID required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/SecretKeysResponse' description: A list of all secret keys default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: List all secret keys for an organization tags: - Secrets - Security and access endpoints patch: operationId: PatchOrgsIDSecrets parameters: - $ref: '#/components/parameters/TraceSpan' - description: The organization ID. in: path name: orgID required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/Secrets' description: Secret key value pairs to update/add required: true responses: '204': description: Keys successfully patched default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Update secrets in an organization tags: - Secrets /api/v2/orgs/{orgID}/secrets/{secretID}: delete: operationId: DeleteOrgsIDSecretsID parameters: - $ref: '#/components/parameters/TraceSpan' - description: The organization ID. in: path name: orgID required: true schema: type: string - description: The secret ID. in: path name: secretID required: true schema: type: string responses: '204': description: Keys successfully deleted default: $ref: '#/components/responses/GeneralServerError' description: Unexpected error summary: Delete a secret from an organization tags: - Secrets - Security and access endpoints /api/v2/orgs/{orgID}/secrets/delete: post: deprecated: true operationId: PostOrgsIDSecrets parameters: - $ref: '#/components/parameters/TraceSpan' - description: The organization ID. in: path name: orgID required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/SecretKeys' description: Secret key to delete required: true responses: '204': description: Keys successfully patched default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Delete secrets from an organization tags: - Secrets - Security and access endpoints /api/v2/orgs/{orgID}/usage: get: operationId: GetOrgUsageID parameters: - description: The ID of the organization. in: path name: orgID required: true schema: type: string - description: > Earliest time to include in results. For more information about timestamps, see [Manipulate timestamps with Flux](https://docs.influxdata.com/influxdb/cloud/query-data/flux/manipulate-timestamps/). in: query name: start required: true schema: format: unix timestamp type: integer - description: > Latest time to include in results. For more information about timestamps, see [Manipulate timestamps with Flux](https://docs.influxdata.com/influxdb/cloud/query-data/flux/manipulate-timestamps/). in: query name: stop required: false schema: format: unix timestamp type: integer - description: return raw usage data in: query name: raw required: false schema: default: false type: boolean responses: '200': content: text/csv: schema: example: > #group,false,false,true,true,false,false,true,true,true,true #datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string #default,_result,,,,,,,,, ,result,table,_start,_stop,_time,_value,_field,_measurement,bucket_id,org_id ,,0,2021-05-10T14:25:10.865702397Z,2021-05-10T15:25:10.865702397Z,2021-05-10T15:00:00Z,5434066,gauge,storage_usage_bucket_bytes,2f6ba0cf9a2fdcbb,cec6fc1d2176dc11 ,,1,2021-05-10T14:25:10.865702397Z,2021-05-10T15:25:10.865702397Z,2021-05-10T15:00:00Z,9924053.966666665,gauge,storage_usage_bucket_bytes,8af67bcaf69d9daf,cec6fc1d2176dc11 type: string description: Usage data headers: Content-Encoding: description: >- Lists any encodings (usually compression algorithms) that have been applied to the response payload. schema: default: identity description: >- The content coding. `gzip` for compressed data or `identity` for unmodified, uncompressed data. enum: - gzip - identity type: string default: $ref: '#/components/responses/GeneralServerError' description: unexpected error summary: Retrieve usage for an organization tags: - Usage /ping: get: description: > Retrieves the status and InfluxDB version of the instance. Use this endpoint to monitor uptime for the InfluxDB instance. The response returns a HTTP `204` status code to inform you the instance is available. #### Related guides - [Influx ping](https://docs.influxdata.com/influxdb/cloud/reference/cli/influx/ping/) operationId: GetPing responses: '204': description: | Success. Headers contain InfluxDB version information. headers: X-Influxdb-Build: description: | The type of InfluxDB build. schema: type: string X-Influxdb-Version: description: | The version of InfluxDB. schema: type: integer servers: [] summary: Get the status of the instance tags: - Ping - System information endpoints head: description: > Returns the status and InfluxDB version of the instance. Use this endpoint to monitor uptime for the InfluxDB instance. The response returns a HTTP `204` status code to inform you the instance is available. #### Related guides - [Influx ping](https://docs.influxdata.com/influxdb/cloud/reference/cli/influx/ping/) operationId: HeadPing responses: '204': description: | Success. Headers contain InfluxDB version information. headers: X-Influxdb-Build: description: The type of InfluxDB build. schema: type: string X-Influxdb-Version: description: | The version of InfluxDB. schema: type: integer servers: [] summary: Get the status of the instance tags: - Ping /api/v2/query: post: 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/cloud/query-data/execute-queries/influx-api/) - [Get started with Flux](https://docs.influxdata.com/flux/v0.x/get-started/) operationId: PostQuery parameters: - $ref: '#/components/parameters/TraceSpan' - description: >- The content encoding (usually a compression algorithm) that the client can understand. in: header name: Accept-Encoding schema: default: identity description: >- The content coding. Use `gzip` for compressed data or `identity` for unmodified, uncompressed data. enum: - gzip - identity type: string - in: header name: Content-Type schema: enum: - application/json - application/vnd.flux type: string - description: > An organization name or ID. #### InfluxDB Cloud - Doesn't use the `org` parameter or `orgID` parameter. - Queries the bucket in the organization associated with the authorization (API token). #### InfluxDB OSS v2 - Requires either the `org` parameter or `orgID` parameter. - Queries the bucket in the specified organization. in: query name: org schema: type: string - description: > An organization ID. #### InfluxDB Cloud - Doesn't use the `org` parameter or `orgID` parameter. - Queries the bucket in the organization associated with the authorization (API token). #### InfluxDB OSS v2 - Requires either the `org` parameter or `orgID` parameter. - Queries the bucket in the specified organization. in: query name: orgID schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/Query' application/vnd.flux: example: | from(bucket: "example-bucket") |> range(start: -5m) |> filter(fn: (r) => r._measurement == "example-measurement") schema: type: string description: Flux query or specification to execute responses: '200': content: application/csv: 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 schema: type: string 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: default: identity description: > The content coding: `gzip` for compressed data or `identity` for unmodified, uncompressed data. enum: - gzip - identity type: string Trace-Id: description: The trace ID, if generated, of the request. schema: description: Trace ID of a request. type: string '400': content: application/json: examples: orgNotFound: summary: Organization not found value: code: invalid message: 'failed to decode request body: organization not found' schema: $ref: '#/components/schemas/Error' description: > Bad request. The response body contains detail about the error. #### InfluxDB OSS v2 - Returns this error if the `org` parameter or `orgID` parameter doesn't match an organization. '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/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) - returns `Retry-After` header that describes when to try the write again. #### InfluxDB OSS v2: - doesn't return this error. headers: Retry-After: description: >- Non-negative decimal integer indicating seconds to wait before retrying the request. schema: format: int32 type: integer '500': $ref: '#/components/responses/InternalServerError' default: $ref: '#/components/responses/GeneralServerError' summary: Query data tags: - Query data x-codeSamples: - label: cURL lang: Shell 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")' /api/v2/query/analyze: post: 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. operationId: PostQueryAnalyze parameters: - $ref: '#/components/parameters/TraceSpan' - in: header name: Content-Type schema: enum: - application/json type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/Query' description: Flux query to analyze responses: '200': content: application/json: examples: missingQueryPropertyKey: 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\")\ ... } ``` summary: Missing property key error value: errors: - character: 0 column: 6 line: 1 message: missing property key schema: $ref: '#/components/schemas/AnalyzeQueryResponse' description: > Success. The response body contains the list of `errors`. If the query syntax is valid, the endpoint returns an empty `errors` list. '400': content: application/json: examples: invalidJSONStringValue: description: >- If the request body contains invalid JSON, returns `invalid` and problem detail. summary: Invalid JSON value: code: invalid message: >- invalid json: invalid character '\'' looking for beginning of value schema: $ref: '#/components/schemas/Error' 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: example: invalid type: string default: content: application/json: examples: emptyJSONObject: description: > If the request body contains an empty JSON object, returns `internal error`. summary: Empty JSON object in request body value: code: internal error message: An internal error has occurred - check server logs schema: $ref: '#/components/schemas/Error' description: Internal server error headers: 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 X-Platform-Error-Code: description: The reason for the error. schema: example: internal error type: string summary: Analyze a Flux query tags: - Query data x-codeSamples: - label: 'cURL: Analyze a Flux query' lang: Shell 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 /api/v2/query/ast: post: description: > Analyzes a Flux query and returns a complete package source [Abstract Syntax Tree (AST)](https://docs.influxdata.com/influxdb/cloud/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. operationId: PostQueryAst parameters: - $ref: '#/components/parameters/TraceSpan' - in: header name: Content-Type schema: enum: - application/json type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/LanguageRequest' description: The Flux query to analyze. responses: '200': content: application/json: examples: successResponse: value: ast: files: - body: - expression: argument: argument: arguments: - location: end: column: 25 line: 1 source: 'bucket: "example-bucket"' start: column: 6 line: 1 properties: - key: location: end: column: 12 line: 1 source: bucket start: column: 6 line: 1 name: bucket type: Identifier location: end: column: 25 line: 1 source: 'bucket: "example-bucket"' start: column: 6 line: 1 type: Property value: location: end: column: 25 line: 1 source: '"example-bucket"' start: column: 14 line: 1 type: StringLiteral value: example-bucket type: ObjectExpression callee: location: end: column: 5 line: 1 source: from start: column: 1 line: 1 name: from type: Identifier location: end: column: 26 line: 1 source: 'from(bucket: "example-bucket")' start: column: 1 line: 1 type: CallExpression call: arguments: - location: end: column: 46 line: 1 source: 'start: -5m' start: column: 36 line: 1 properties: - key: location: end: column: 41 line: 1 source: start start: column: 36 line: 1 name: start type: Identifier location: end: column: 46 line: 1 source: 'start: -5m' start: column: 36 line: 1 type: Property value: argument: location: end: column: 46 line: 1 source: 5m start: column: 44 line: 1 type: DurationLiteral values: - magnitude: 5 unit: m location: end: column: 46 line: 1 source: '-5m' start: column: 43 line: 1 operator: '-' type: UnaryExpression type: ObjectExpression callee: location: end: column: 35 line: 1 source: range start: column: 30 line: 1 name: range type: Identifier location: end: column: 47 line: 1 source: 'range(start: -5m)' start: column: 30 line: 1 type: CallExpression location: end: column: 47 line: 1 source: >- from(bucket: "example-bucket") |> range(start: -5m) start: column: 1 line: 1 type: PipeExpression call: arguments: - location: end: column: 108 line: 1 source: >- fn: (r) => r._measurement == "example-measurement" start: column: 58 line: 1 properties: - key: location: end: column: 60 line: 1 source: fn start: column: 58 line: 1 name: fn type: Identifier location: end: column: 108 line: 1 source: >- fn: (r) => r._measurement == "example-measurement" start: column: 58 line: 1 type: Property value: body: left: location: end: column: 83 line: 1 source: r._measurement start: column: 69 line: 1 object: location: end: column: 70 line: 1 source: r start: column: 69 line: 1 name: r type: Identifier property: location: end: column: 83 line: 1 source: _measurement start: column: 71 line: 1 name: _measurement type: Identifier type: MemberExpression location: end: column: 108 line: 1 source: r._measurement == "example-measurement" start: column: 69 line: 1 operator: '==' right: location: end: column: 108 line: 1 source: '"example-measurement"' start: column: 87 line: 1 type: StringLiteral value: example-measurement type: BinaryExpression location: end: column: 108 line: 1 source: >- (r) => r._measurement == "example-measurement" start: column: 62 line: 1 params: - key: location: end: column: 64 line: 1 source: r start: column: 63 line: 1 name: r type: Identifier location: end: column: 64 line: 1 source: r start: column: 63 line: 1 type: Property value: null type: FunctionExpression type: ObjectExpression callee: location: end: column: 57 line: 1 source: filter start: column: 51 line: 1 name: filter type: Identifier location: end: column: 109 line: 1 source: >- filter(fn: (r) => r._measurement == "example-measurement") start: column: 51 line: 1 type: CallExpression location: end: column: 109 line: 1 source: >- from(bucket: "example-bucket") |> range(start: -5m) |> filter(fn: (r) => r._measurement == "example-measurement") start: column: 1 line: 1 type: PipeExpression location: end: column: 109 line: 1 source: >- from(bucket: "example-bucket") |> range(start: -5m) |> filter(fn: (r) => r._measurement == "example-measurement") start: column: 1 line: 1 type: ExpressionStatement imports: null location: end: column: 109 line: 1 source: >- from(bucket: "example-bucket") |> range(start: -5m) |> filter(fn: (r) => r._measurement == "example-measurement") start: column: 1 line: 1 metadata: parser-type=rust package: null type: File package: main type: Package schema: $ref: '#/components/schemas/ASTResponse' description: > Success. The response body contains an Abstract Syntax Tree (AST) of the Flux query. '400': content: application/json: examples: invalidASTValue: description: > If the request body contains a missing property key in `from()`, returns `invalid` and problem detail. summary: Invalid AST value: code: invalid message: 'invalid AST: loc 1:6-1:19: missing property key' schema: $ref: '#/components/schemas/Error' 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: example: invalid type: string default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal server error. summary: Generate a query Abstract Syntax Tree (AST) tags: - Query data x-codeSamples: - label: 'cURL: Analyze and generate AST for the query' lang: Shell 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 /api/v2/query/suggestions: get: description: > Lists 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. #### Limitations - When writing a query, avoid using `_functionName()` helper functions exposed by this endpoint. Helper function names have an underscore (`_`) prefix and aren't meant to be used directly in queries--for example: - To sort on a column and keep the top n records, use the `top(n, columns=["_value"], tables=<-)` function instead of the `_sortLimit` helper function. `top` uses `_sortLimit`. #### Related Guides - [List of all Flux functions](https://docs.influxdata.com/flux/v0.x/stdlib/all-functions/) operationId: GetQuerySuggestions parameters: - $ref: '#/components/parameters/TraceSpan' responses: '200': content: application/json: 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 schema: $ref: '#/components/schemas/FluxSuggestions' description: > Success. The response body contains a list of Flux query suggestions--function names used in the Flux Query Builder autocomplete suggestions. '301': content: text/html: examples: movedPermanently: description: > The URL has been permanently moved. Use `/api/v2/query/suggestions`. summary: Invalid URL value: > Moved Permanently schema: properties: body: description: Response message with URL of requested resource. readOnly: true type: string description: | Moved Permanently. InfluxData has moved the URL of the endpoint. Use `/api/v2/query/suggestions` (without a trailing slash). default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal server error. summary: List Flux query suggestions tags: - Query data x-codeSamples: - label: cURL lang: Shell source: | curl --request GET "INFLUX_URL/api/v2/query/suggestions" \ --header "Accept: application/json" \ --header "Authorization: Token INFLUX_API_TOKEN" /api/v2/query/suggestions/{name}: get: 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/flux/v0.x/stdlib/all-functions/) operationId: GetQuerySuggestionsName parameters: - $ref: '#/components/parameters/TraceSpan' - description: > A [Flux function](https://docs.influxdata.com/flux/v0.x/stdlib/all-functions/) name. in: path name: name required: true schema: type: string responses: '200': content: application/json: examples: successResponse: value: name: sum params: column: string tables: stream schema: $ref: '#/components/schemas/FluxSuggestion' description: | Success. The response body contains the function name and parameters. '500': content: application/json: examples: internalError: description: | The requested function doesn't exist. summary: Invalid function value: code: internal error message: An internal error has occurred schema: $ref: '#/components/schemas/Error' description: | Internal server error. The value passed for _`name`_ may have been misspelled. summary: Retrieve a query suggestion for a branching suggestion tags: - Query data x-codeSamples: - label: cURL lang: Shell source: | curl --request GET "INFLUX_URL/api/v2/query/suggestions/sum/" \ --header "Accept: application/json" \ --header "Authorization: Token INFLUX_API_TOKEN" /api/v2/resources: get: operationId: GetResources parameters: - $ref: '#/components/parameters/TraceSpan' responses: '200': content: application/json: schema: items: type: string type: array description: All resources targets default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Internal server error summary: List all known resources tags: - Resources - System information endpoints /api/v2/scripts: get: description: > Lists [scripts](https://docs.influxdata.com/influxdb/cloud/api-guide/api-invokable-scripts/). #### Related guides - [Invoke custom scripts](https://docs.influxdata.com/influxdb/cloud/api-guide/api-invokable-scripts/) operationId: GetScripts parameters: - description: > The offset for pagination. The number of records to skip. For more information about pagination parameters, see [Pagination](https://docs.influxdata.com/influxdb/cloud/api/#tag/Pagination). in: query name: offset required: false schema: minimum: 0 type: integer - description: | The maximum number of scripts to return. Default is `100`. in: query name: limit required: false schema: default: 100 maximum: 500 minimum: 0 type: integer - description: The script name. Lists scripts with the specified name. in: query name: name required: false schema: type: string responses: '200': content: application/json: examples: successResponse: value: scripts: - createdAt: '2022-07-17T23:49:45.731237Z' description: find the last point from Sample Bucket id: 09afa3b220fe4000 language: flux name: getLastPointFromSampleBucket orgID: bea7ea952287f70d script: >- from(bucket: SampleBucket) |> range(start: -7d) |> limit(n:1) updatedAt: '2022-07-17T23:49:45.731237Z' - createdAt: '2022-07-17T23:43:26.660308Z' description: getLastPoint finds the last point in a bucket id: 09afa23ff13e4000 language: flux name: getLastPoint orgID: bea7ea952287f70d script: >- from(bucket: params.mybucket) |> range(start: -7d) |> limit(n:1) updatedAt: '2022-07-17T23:43:26.660308Z' schema: $ref: '#/components/schemas/Scripts' description: | Success. The response body contains the list of scripts. '400': content: application/json: examples: invalidSyntaxError: summary: Query parameter contains invalid syntax. value: code: 3 details: [] message: >- parsing field "limit": strconv.ParseUint: parsing "-1": invalid syntax schema: $ref: '#/components/schemas/Error' description: | Bad request. InfluxDB is unable to parse the request. The response body contains detail about the error. '401': $ref: '#/components/responses/AuthorizationError' '500': $ref: '#/components/responses/InternalServerError' default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error. summary: List scripts tags: - Invokable Scripts x-codeSamples: - label: 'cURL: retrieves the first 100 scripts.' lang: Shell source: | curl --request GET "INFLUX_URL/api/v2/scripts?limit=100&offset=0" \ --header "Authorization: Token INFLUX_API_TOKEN" \ --header "Accept: application/json" \ --header "Content-Type: application/json" post: description: > Creates an [invokable script](https://docs.influxdata.com/resources/videos/api-invokable-scripts/) and returns the script. #### Related guides - [Invokable scripts](https://docs.influxdata.com/influxdb/cloud/api-guide/api-invokable-scripts/) - [Creating custom InfluxDB endpoints](https://docs.influxdata.com/resources/videos/api-invokable-scripts/) operationId: PostScripts requestBody: content: application/json: schema: $ref: '#/components/schemas/ScriptCreateRequest' description: The script to create. required: true responses: '201': content: application/json: examples: successResponse: value: createdAt: '2022-07-17T23:43:26.660308Z' description: getLastPoint finds the last point in a bucket id: 09afa23ff13e4000 language: flux name: getLastPoint orgID: bea7ea952287f70d script: >- from(bucket: params.mybucket) |> range(start: -7d) |> limit(n:1) updatedAt: '2022-07-17T23:43:26.660308Z' schema: $ref: '#/components/schemas/Script' description: | Success. The response body contains the script and its metadata. '400': $ref: '#/components/responses/BadRequestError' '401': $ref: '#/components/responses/AuthorizationError' '422': content: application/json: examples: uniquenessError: description: | A script with the same `name` exists. value: code: conflict message: uniqueness violation schema: $ref: '#/components/schemas/Error' description: | Unprocessable entity. '500': $ref: '#/components/responses/InternalServerError' default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error. summary: Create a script tags: - Invokable Scripts x-codeSamples: - label: cURL lang: Shell source: | curl --request POST "INFLUX_URL/api/v2/scripts" \ --header "Authorization: Token INFLUX_API_TOKEN" \ --header "Accept: application/json" \ --header "Content-Type: application/json" \ --data '{ "name": "getLastPoint", "description": "getLastPoint finds the last point in a bucket", "orgID": "INFLUX_ORG_ID", "script": "from(bucket: INFLUX_BUCKET) |> range(start: -7d) |> limit(n:1)", "language": "flux" }' /api/v2/scripts/{scriptID}: delete: description: > Deletes a [script](https://docs.influxdata.com/influxdb/cloud/api-guide/api-invokable-scripts/) and all associated records. #### Limitations - You can delete only one script per request. - If the script ID you provide doesn't exist for the organization, InfluxDB responds with an HTTP `204` status code. #### Related Guides - [Invoke custom scripts](https://docs.influxdata.com/influxdb/cloud/api-guide/api-invokable-scripts/) operationId: DeleteScriptsID parameters: - description: | A script ID. Deletes the specified script. in: path name: scriptID required: true schema: type: string responses: '204': description: | Success. The script is queued for deletion. '401': $ref: '#/components/responses/AuthorizationError' '500': $ref: '#/components/responses/InternalServerError' default: $ref: '#/components/responses/ServerError' description: Unexpected error summary: Delete a script tags: - Invokable Scripts x-codeSamples: - label: cURL lang: Shell source: | curl -X 'DELETE' \ "https://cloud2.influxdata.com/api/v2/scripts/SCRIPT_ID" \ --header "Authorization: Token INFLUX_TOKEN" \ --header 'Accept: application/json' get: description: > Retrieves a [script](https://docs.influxdata.com/influxdb/cloud/api-guide/api-invokable-scripts/). #### Related Guides - [Invoke custom scripts](https://docs.influxdata.com/influxdb/cloud/api-guide/api-invokable-scripts/) operationId: GetScriptsID parameters: - description: | A script ID. Retrieves the specified script. in: path name: scriptID required: true schema: type: string responses: '200': content: application/json: examples: successResponse: value: createdAt: '2022-07-17T23:49:45.731237Z' description: getLastPoint finds the last point in a bucket id: 09afa3b220fe4000 language: flux name: getLastPoint orgID: bea7ea952287f70d script: 'from(bucket: my-bucket) |> range(start: -7d) |> limit(n:1)' updatedAt: '2022-07-17T23:49:45.731237Z' schema: $ref: '#/components/schemas/Script' description: Success. The response body contains the script. '401': $ref: '#/components/responses/AuthorizationError' '404': content: application/json: examples: notFound: summary: | The requested script was not found. value: code: not found message: script "09afa3b220fe400" not found schema: $ref: '#/components/schemas/Error' description: | Not found. '500': $ref: '#/components/responses/InternalServerError' default: $ref: '#/components/responses/ServerError' description: Internal server error. summary: Retrieve a script tags: - Invokable Scripts patch: description: > Updates an invokable script. Use this endpoint to modify values for script properties (`description` and `script`). To update a script, pass an object that contains the updated key-value pairs. #### Limitations - If you send an empty request body, the script will neither update nor store an empty script, but InfluxDB will respond with an HTTP `200` status code. #### Related Guides - [Invoke custom scripts](https://docs.influxdata.com/influxdb/cloud/api-guide/api-invokable-scripts/) operationId: PatchScriptsID parameters: - description: | A script ID. Updates the specified script. in: path name: scriptID required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/ScriptUpdateRequest' description: | An object that contains the updated script properties to apply. required: true responses: '200': content: application/json: examples: successResponse: value: createdAt: '2022-07-17T23:49:45.731237Z' description: get last point from new bucket id: 09afa3b220fe4000 language: flux name: getLastPoint orgID: bea7ea952287f70d script: 'from(bucket: newBucket) |> range(start: -7d) |> limit(n:1)' updatedAt: '2022-07-19T22:27:23.185436Z' schema: $ref: '#/components/schemas/Script' description: Success. The response body contains the updated script. '401': $ref: '#/components/responses/AuthorizationError' '404': content: application/json: examples: notFound: summary: | The requested script wasn't found. value: code: not found message: script "09afa3b220fe400" not found schema: $ref: '#/components/schemas/Error' description: | Not found. '500': $ref: '#/components/responses/InternalServerError' default: $ref: '#/components/responses/ServerError' description: Internal server error summary: Update a script tags: - Invokable Scripts x-codeSamples: - label: cURL lang: Shell source: | curl -X 'PATCH' \ "https://cloud2.influxdata.com/api/v2/scripts/SCRIPT_ID" \ --header "Authorization: Token INFLUX_TOKEN" \ --header "Accept: application/json" --header "Content-Type: application/json" --data '{ "description": "get last point from new bucket", "script": "from(bucket: updatedBucket) |> range(start: -7d) |> limit(n:1)", "language": "flux" }' /api/v2/scripts/{scriptID}/invoke: post: description: > Runs a script and returns the result. When the script runs, InfluxDB replaces `params` keys referenced in the script with `params` key-values passed in the request body--for example: The following sample script contains a _`mybucket`_ parameter : ```json "script": "from(bucket: params.mybucket) |> range(start: -7d) |> limit(n:1)" ``` The following example `POST /api/v2/scripts/SCRIPT_ID/invoke` request body passes a value for the _`mybucket`_ parameter: ```json { "params": { "mybucket": "air_sensor" } } ``` #### Related guides - [Invoke custom scripts](https://docs.influxdata.com/influxdb/cloud/api-guide/api-invokable-scripts/) operationId: PostScriptsIDInvoke parameters: - description: | A script ID. Runs the specified script. in: path name: scriptID required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/ScriptInvocationParams' responses: '200': content: text/csv: examples: successResponse: value: > ,result,table,_start,_stop,_time,_value,_field,_measurement,host ,_result,0,2019-10-30T01:28:02.52716421Z,2022-07-26T01:28:02.52716421Z,2020-01-01T00:00:00Z,72.01,used_percent,mem,host2 schema: $ref: '#/components/schemas/ScriptHTTPResponseData' description: | Success. The response body contains the result of the script execution. '400': content: application/json: examples: invalidParameters: summary: The parameters passed to the script are invalid. value: code: invalid message: invalid parameters provided schema: $ref: '#/components/schemas/Error' description: | Bad request. InfluxDB is unable to parse the request. The response body contains detail about the error. headers: X-Platform-Error-Code: description: | The reason for the error. schema: example: invalid type: string '401': $ref: '#/components/responses/AuthorizationError' '404': content: application/json: examples: bucketNotFound: description: InfluxDB can't find the requested bucket. summary: | Bucket not found value: code: not found message: >- failed to initialize execute state: could not find bucket "test-bucket" scriptNotFound: description: InfluxDB can't find the requested script. summary: | Script not found value: code: not found message: script "09afa3b220fe400" not found schema: $ref: '#/components/schemas/Error' description: | Not found. headers: X-Platform-Error-Code: description: | The reason for the error. schema: example: not found type: string '500': $ref: '#/components/responses/InternalServerError' default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error. summary: Invoke a script tags: - Invokable Scripts x-codeSamples: - label: cURL lang: Shell source: | curl --request POST "INFLUX_URL/api/v2/scripts/SCRIPT_ID/invoke" \ --header "Authorization: Token INFLUX_TOKEN" \ --header 'Accept: application/csv' \ --header 'Content-Type: application/json' \ --data '{ "params": { "mybucket": "air_sensor" } }' /api/v2/scripts/{scriptID}/params: get: description: > Analyzes a script and determines required parameters. Find all `params` keys referenced in a script and return a list of keys. If it is possible to determine the type of the value from the context then the type is also returned -- for example: The following sample script contains a _`mybucket`_ parameter : ```json "script": "from(bucket: params.mybucket) |> range(start: -7d) |> limit(n:1)" ``` Requesting the parameters using `GET /api/v2/scripts/SCRIPT_ID/params` returns the following: ```json { "params": { "mybucket": "string" } } ``` The type name returned for a parameter will be one of: - `any` - `bool` - `duration` - `float` - `int` - `string` - `time` - `uint` The type name `any` is used when the type of a parameter cannot be determined from the context, or the type is determined to be a structured type such as an array or record. #### Related guides - [Invoke custom scripts](https://docs.influxdata.com/influxdb/cloud/api-guide/api-invokable-scripts/) operationId: GetScriptsIDParams parameters: - description: | A script ID. The script to analyze for params. in: path name: scriptID required: true schema: type: string responses: '200': content: application/json: examples: successResponse: value: params: mybucket: string schema: $ref: '#/components/schemas/Params' description: > Success. The response body contains the parameters found, along with their types. '401': $ref: '#/components/responses/AuthorizationError' '404': content: application/json: examples: scriptNotFound: description: InfluxDB can't find the requested script. summary: | Script not found value: code: not found message: script "09afa3b220fe400" not found schema: $ref: '#/components/schemas/Error' description: | Not found. headers: X-Platform-Error-Code: description: | The reason for the error. schema: example: not found type: string '500': $ref: '#/components/responses/InternalServerError' default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error. summary: Find script parameters. tags: - Invokable Scripts x-codeSamples: - label: cURL lang: Shell source: > curl --request GET "https://cloud2.influxdata.com/api/v2/scripts/SCRIPT_ID/params" \ --header "Authorization: Token INFLUX_TOKEN" /api/v2/setup: get: description: >- Check if setup is allowed. Returns `true` if no default user, organization, or bucket have been created. operationId: GetSetup parameters: - $ref: '#/components/parameters/TraceSpan' responses: '200': content: application/json: schema: $ref: '#/components/schemas/IsOnboarding' description: Setup is allowed, true or false summary: Retrieve setup status tags: - Setup post: description: >- Post an onboarding request to create an initial user, organization, and bucket. operationId: PostSetup parameters: - $ref: '#/components/parameters/TraceSpan' requestBody: content: application/json: schema: $ref: '#/components/schemas/OnboardingRequest' description: Source to create required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/OnboardingResponse' description: The created default user, bucket, and organization default: $ref: '#/components/responses/GeneralServerError' description: Unexpected error summary: Create an initial user, organization, and bucket tags: - Setup /api/v2/setup/user: post: description: >- Post an onboarding request to create a new user, organization, and bucket. operationId: PostSetupUser requestBody: content: application/json: schema: $ref: '#/components/schemas/OnboardingRequest' description: Source to create required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/OnboardingResponse' description: The created default user, bucket, and organization. default: $ref: '#/components/responses/GeneralServerError' description: Unexpected error summary: Create a new user, organization, and bucket tags: - Setup /api/v2/signin: post: description: > Authenticates [Basic authentication credentials](#section/Authentication/BasicAuthentication) for a [user](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#user), and then, if successful, generates a user session. To authenticate a user, pass the HTTP `Authorization` header with the `Basic` scheme and the base64-encoded username and password. For syntax and more information, see [Basic Authentication](#section/Authentication/BasicAuthentication) for syntax and more information. If authentication is successful, InfluxDB creates a new session for the user and then returns the session cookie in the `Set-Cookie` response header. InfluxDB stores user sessions in memory only. They expire within ten minutes and during restarts of the InfluxDB instance. #### User sessions with authorizations - In InfluxDB Cloud, a user session inherits all the user's permissions for the organization. - In InfluxDB OSS, a user session inherits all the user's permissions for all the organizations that the user belongs to. #### Related endpoints - [Signout](#tag/Signout) operationId: PostSignin parameters: - $ref: '#/components/parameters/TraceSpan' responses: '204': description: | Success. The user is authenticated. The `Set-Cookie` response header contains the session cookie. '401': content: application/json: schema: $ref: '#/components/schemas/Error' description: | Unauthorized. This error may be caused by one of the following problems: - The user doesn't have access. - The user passed incorrect credentials in the request. - The credentials are formatted incorrectly in the request. '403': content: application/json: schema: $ref: '#/components/schemas/Error' description: Forbidden. The user account is disabled. default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unsuccessful authentication. security: - BasicAuthentication: [] summary: Create a user session. tags: - Security and access endpoints - Signin x-codeSamples: - label: 'cURL: signin with --user option encoding' lang: Shell source: | curl --request POST http://localhost:8086/api/v2/signin \ --user "USERNAME:PASSWORD" /api/v2/signout: post: description: > Expires a user session specified by a session cookie. Use this endpoint to expire a user session that was generated when the user authenticated with the InfluxDB Developer Console (UI) or the `POST /api/v2/signin` endpoint. For example, the `POST /api/v2/signout` endpoint represents the third step in the following three-step process to authenticate a user, retrieve the `user` resource, and then expire the session: 1. Send a request with the user's [Basic authentication credentials](#section/Authentication/BasicAuthentication) to the `POST /api/v2/signin` endpoint to create a user session and generate a session cookie. 2. Send a request to the `GET /api/v2/me` endpoint, passing the stored session cookie from step 1 to retrieve user information. 3. Send a request to the `POST /api/v2/signout` endpoint, passing the stored session cookie to expire the session. _See the complete example in request samples._ InfluxDB stores user sessions in memory only. If a user doesn't sign out, then the user session automatically expires within ten minutes or during a restart of the InfluxDB instance. To learn more about cookies in HTTP requests, see [Mozilla Developer Network (MDN) Web Docs, HTTP cookies](https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies). #### Related endpoints - [Signin](#tag/Signin) operationId: PostSignout parameters: - $ref: '#/components/parameters/TraceSpan' responses: '204': description: Success. The session is expired. '401': content: application/json: schema: $ref: '#/components/schemas/Error' description: Unauthorized. default: content: application/json: schema: $ref: '#/components/schemas/Error' description: The session expiry is unsuccessful. summary: Expire a user session tags: - Security and access endpoints - Signout x-codeSamples: - label: >- cURL: sign in a user, verify the user session, and then end the session lang: Shell source: > # The following example shows how to use cURL and the InfluxDB API # to do the following: # 1. Sign in a user with a username and password. # 2. Check that the user session exists for the user. # 3. Sign out the user to expire the session. # 4. Check that the session is no longer active. # 1. Send a request to `POST /api/v2/signin` to sign in the user. # In your request, pass the following: # # - `--user` option with basic authentication credentials. # - `-c` option with a file path where cURL will write cookies. curl --request POST \ -c ./cookie-file.tmp \ "$INFLUX_URL/api/v2/signin" \ --user "${INFLUX_USER_NAME}:${INFLUX_USER_PASSWORD}" # 2. To check that a user session exists for the user in step 1, # send a request to `GET /api/v2/me`. # In your request, pass the `-b` option with the session cookie file path from step 1. curl --request GET \ -b ./cookie-file.tmp \ "$INFLUX_URL/api/v2/me" # InfluxDB responds with the `user` resource. # 3. Send a request to `POST /api/v2/signout` to expire the user session. # In your request, pass the `-b` option with the session cookie file path from step 1. curl --request POST \ -b ./cookie-file.tmp \ "$INFLUX_URL/api/v2/signout" # If the user session is successfully expired, InfluxDB responds with an HTTP `204` status code. # 4. To check that the user session is expired, call `GET /api/v2/me` again, # passing the `-b` option with the cookie file path. curl --request GET \ -b ./cookie-file.tmp \ "$INFLUX_URL/api/v2/me" # If the user session is expired, InfluxDB responds with an HTTP `401` status code. /api/v2/stacks: get: description: > Lists 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. #### Related guides - [View InfluxDB stacks](https://docs.influxdata.com/influxdb/cloud/influxdb-templates/stacks/). operationId: ListStacks parameters: - description: > An organization ID. Only returns stacks owned by the specified [organization](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#organization). #### InfluxDB Cloud - Doesn't require this parameter; InfluxDB only returns resources allowed by the API token. in: query name: orgID required: true schema: type: string - description: > A 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: - `INFLUX_URL/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: name schema: type: string - description: > A stack ID. Only returns the specified stack. Repeatable. To filter for more than one stack ID, repeat this parameter with each ID--for example: - `INFLUX_URL/api/v2/stacks?&orgID=INFLUX_ORG_ID&stackID=09bd87cd33be3000&stackID=09bef35081fe3000` examples: findStackByID: summary: Find a stack with the ID value: 09bd87cd33be3000 in: query name: stackID schema: type: string responses: '200': content: application/json: schema: properties: stacks: items: $ref: '#/components/schemas/Stack' type: array type: object description: Success. The response body contains the list of stacks. '400': content: application/json: 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' schema: $ref: '#/components/schemas/Error' description: > Bad request. The response body contains detail about the error. #### InfluxDB OSS v2 - Returns this error if an incorrect value is passed in the `org` parameter or `orgID` parameter. '401': $ref: '#/components/responses/AuthorizationError' '500': $ref: '#/components/responses/InternalServerError' default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: List installed stacks tags: - Templates post: 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 - [Initialize an InfluxDB stack](https://docs.influxdata.com/influxdb/cloud/influxdb-templates/stacks/init/). - [Use InfluxDB templates](https://docs.influxdata.com/influxdb/cloud/influxdb-templates/use/#apply-templates-to-an-influxdb-instance). operationId: CreateStack requestBody: content: application/json: schema: properties: description: type: string name: type: string orgID: type: string urls: items: type: string type: array title: PostStackRequest type: object description: The stack to create. required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/Stack' description: Success. Returns the newly created stack. '401': $ref: '#/components/responses/AuthorizationError' '422': content: application/json: schema: $ref: '#/components/schemas/Error' 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. '500': $ref: '#/components/responses/InternalServerError' default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Create a stack tags: - Templates /api/v2/stacks/{stack_id}: delete: operationId: DeleteStack parameters: - description: The identifier of the stack. in: path name: stack_id required: true schema: type: string - description: The identifier of the organization. in: query name: orgID required: true schema: type: string responses: '204': description: The stack and its associated resources were deleted. default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Delete a stack and associated resources tags: - Templates get: operationId: ReadStack parameters: - description: The identifier of the stack. in: path name: stack_id required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/Stack' description: Returns the stack. default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Retrieve a stack tags: - Templates patch: operationId: UpdateStack parameters: - description: The identifier of the stack. in: path name: stack_id required: true schema: type: string requestBody: content: application/json: schema: properties: additionalResources: items: properties: kind: type: string resourceID: type: string templateMetaName: type: string required: - kind - resourceID type: object type: array description: nullable: true type: string name: nullable: true type: string templateURLs: items: type: string nullable: true type: array title: PatchStackRequest type: object description: The stack to update. required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/Stack' description: Returns the updated stack. default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Update a stack tags: - Templates /api/v2/stacks/{stack_id}/uninstall: post: operationId: UninstallStack parameters: - description: The identifier of the stack. in: path name: stack_id required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/Stack' description: Returns the uninstalled stack. default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Uninstall a stack tags: - Templates /api/v2/tasks: get: description: > Retrieves a list of [tasks](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#task). 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`. operationId: GetTasks parameters: - $ref: '#/components/parameters/TraceSpan' - description: > A [task](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#task) name. Only returns tasks with the specified name. Different tasks may have the same name. in: query name: name schema: type: string - description: > A [task](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#task) ID. Only returns tasks created after the specified task. in: query name: after schema: type: string - description: > A [user](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#user) ID. Only returns tasks owned by the specified user. in: query name: user schema: type: string - description: > An [organization](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#organization) name. Only returns tasks owned by the specified organization. in: query name: org schema: type: string - description: > An [organization](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#organization) ID. Only returns tasks owned by the specified organization. in: query name: orgID schema: type: string - description: > A [task](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#task) status. Only returns tasks that have the specified status (`active` or `inactive`). in: query name: status schema: enum: - active - inactive type: string - description: > The maximum number of [tasks](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#task) to return. Default is `100`. The minimum is `1` and the maximum is `500`. To reduce the payload size, combine _`type=basic`_ and _`limit`_ (see _Request samples_). For more information about the `basic` response, see the _`type`_ parameter. examples: all: summary: Return all tasks, without pagination. value: '-1' minPaginated: summary: Return a maximum of 50 tasks. value: '50' in: query name: limit schema: default: 100 maximum: 500 minimum: -1 type: integer - description: The number of records to skip. in: query name: offset required: false schema: default: 0 minimum: 0 type: integer - description: | The sort field. Only `name` is supported. Specifies the field used to sort records in the list. in: query name: sortBy required: false schema: enum: - name type: string - description: > A [task](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#task) type (`basic` or `system`). Default is `system`. Specifies the level of detail for tasks in the response. The default (`system`) response contains all the metadata properties for tasks. To reduce the response size, pass `basic` to omit some task properties (`flux`, `createdAt`, `updatedAt`). in: query name: type required: false schema: default: '' enum: - basic - system type: string - description: | A [script](#tag/Invokable-Scripts) ID. Only returns tasks that use the specified invokable script. in: query name: scriptID schema: type: string responses: '200': content: application/json: examples: basicTypeTaskOutput: description: > A sample response body for the `?type=basic` parameter. `type=basic` omits some task fields (`createdAt` and `updatedAt`) and field values (`org`, `flux`) in the response. summary: Basic output value: links: self: /api/v2/tasks?limit=100 tasks: - every: 30m flux: '' id: 09956cbb6d378000 labels: [] lastRunStatus: success latestCompleted: '2022-06-30T15:00:00Z' 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 name: task1 org: '' orgID: 48c88459ee424a04 ownerID: 0772396d1f411000 status: active systemTypeTaskOutput: description: | A sample response body for the `?type=system` parameter. `type=system` returns all task fields. summary: System output value: links: self: /api/v2/tasks?limit=100 tasks: - createdAt: '2022-06-27T15:09:06Z' description: IoT Center 90-day environment average. every: 30m 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) id: 09956cbb6d378000 labels: [] lastRunStatus: success latestCompleted: '2022-06-30T15:00:00Z' 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 name: task1 org: my-iot-center orgID: 48c88459ee424a04 ownerID: 0772396d1f411000 status: active updatedAt: '2022-06-28T18:10:15Z' schema: $ref: '#/components/schemas/Tasks' description: | Success. The response body contains the list of tasks. '401': $ref: '#/components/responses/AuthorizationError' '500': $ref: '#/components/responses/InternalServerError' default: $ref: '#/components/responses/GeneralServerError' summary: List all tasks tags: - Tasks x-codeSamples: - label: 'cURL: all tasks, basic output' lang: Shell source: | curl INFLUX_URL/api/v2/tasks/?limit=-1&type=basic \ --header 'Content-Type: application/json' \ --header 'Authorization: Token INFLUX_API_TOKEN' post: description: > Creates a [task](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#task) and returns the task. Use this endpoint to create a scheduled task that runs a Flux script. #### InfluxDB Cloud - You can use either `flux` or `scriptID` to provide the task script. - `flux`: a string of "raw" Flux that contains task options and the script--for example: ```json { "flux": "option task = {name: \"CPU Total 1 Hour New\", every: 1h}\ from(bucket: \"telegraf\") |> range(start: -1h) |> filter(fn: (r) => (r._measurement == \"cpu\")) |> filter(fn: (r) =>\n\t\t(r._field == \"usage_system\")) |> filter(fn: (r) => (r.cpu == \"cpu-total\")) |> aggregateWindow(every: 1h, fn: max) |> to(bucket: \"cpu_usage_user_total_1h\", org: \"INFLUX_ORG\")", "status": "active", "description": "This task downsamples CPU data every hour" } ``` - `scriptID`: the ID of an [invokable script](#tag/Invokable-Scripts) for the task to run. To pass task options when using `scriptID`, pass the options as properties in the request body--for example: ```json { "name": "CPU Total 1 Hour New", "description": "This task downsamples CPU data every hour", "every": "1h", "scriptID": "SCRIPT_ID", "scriptParameters": { "rangeStart": "-1h", "bucket": "telegraf", "filterField": "cpu-total" } } ``` #### Limitations: - You can't use `flux` and `scriptID` for the same task. #### Related guides - [Get started with tasks](https://docs.influxdata.com/influxdb/cloud/process-data/get-started/) - [Create a task](https://docs.influxdata.com/influxdb/cloud/process-data/manage-tasks/create-task/) - [Common tasks](https://docs.influxdata.com/influxdb/cloud/process-data/common-tasks/) - [Task configuration options](https://docs.influxdata.com/influxdb/cloud/process-data/task-options/) operationId: PostTasks parameters: - $ref: '#/components/parameters/TraceSpan' requestBody: content: application/json: schema: $ref: '#/components/schemas/TaskCreateRequest' description: The task to create required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/Task' description: >- Success. The response body contains a `tasks` list with the new task. '400': content: application/json: examples: fluxAndScriptError: summary: The request body can't contain both flux and scriptID value: code: invalid message: >- failed to decode request: can not provide both scriptID and flux missingFluxError: summary: >- The request body requires either a flux parameter or scriptID parameter value: code: invalid message: 'failed to decode request: flux required' schema: $ref: '#/components/schemas/Error' description: > Bad request. The response body contains detail about the error. #### InfluxDB Cloud - Returns this error if the task doesn't contain one of _`flux`_ or _`scriptID`_. - Returns this error if the task contains _`flux`_ _and_ _`scriptID`_. '401': $ref: '#/components/responses/AuthorizationError' '500': $ref: '#/components/responses/InternalServerError' default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Create a task tags: - Tasks x-codeSamples: - label: 'cURL: create a Flux script task' lang: Shell source: | curl INFLUX_URL/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 - label: 'cURL: create a Flux script reference task' lang: Shell source: | curl INFLUX_URL/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.", "scriptID": "085138a111448000", "scriptParameters": { "rangeStart": "-30d", "bucket": "air_sensor", "filterField": "temperature", "groupColumn": "_time" } } EOF /api/v2/tasks/{taskID}: delete: description: > Deletes a [task](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#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). operationId: DeleteTasksID parameters: - $ref: '#/components/parameters/TraceSpan' - description: >- A [task](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#task) ID. Specifies the task to delete. in: path name: taskID required: true schema: type: string responses: '204': description: >- Success. The task and task 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' summary: Delete a task tags: - Tasks get: description: > Retrieves a [task](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#task). operationId: GetTasksID parameters: - $ref: '#/components/parameters/TraceSpan' - description: > A [task](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#task) ID. Specifies the task to retrieve. in: path name: taskID required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/Task' description: Success. The response body contains the 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' summary: Retrieve a task tags: - Tasks patch: description: > Updates a [task](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#task), and then cancels all scheduled runs of the task. Use this endpoint to set, modify, or 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. #### InfluxDB Cloud - Use either `flux` or `scriptID` to provide the task script. - `flux`: a string of "raw" Flux that contains task options and the script--for example: ```json { "flux": "option task = {name: \"CPU Total 1 Hour New\", every: 1h}\ from(bucket: \"telegraf\") |> range(start: -1h) |> filter(fn: (r) => (r._measurement == \"cpu\")) |> filter(fn: (r) =>\n\t\t(r._field == \"usage_system\")) |> filter(fn: (r) => (r.cpu == \"cpu-total\")) |> aggregateWindow(every: 1h, fn: max) |> to(bucket: \"cpu_usage_user_total_1h\", org: \"INFLUX_ORG\")", "status": "active", "description": "This task downsamples CPU data every hour" } ``` - `scriptID`: the ID of an [invokable script](#tag/Invokable-Scripts) for the task to run. To pass task options when using `scriptID`, pass the options as properties in the request body--for example: ```json { "name": "CPU Total 1 Hour New", "description": "This task downsamples CPU data every hour", "every": "1h", "scriptID": "SCRIPT_ID", "scriptParameters": { "rangeStart": "-1h", "bucket": "telegraf", "filterField": "cpu-total" } } ``` #### Limitations: - You can't use `flux` and `scriptID` for the same task. operationId: PatchTasksID parameters: - $ref: '#/components/parameters/TraceSpan' - description: > A [task](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#task) ID. Specifies the task to update. in: path name: taskID required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/TaskUpdateRequest' description: An task update to apply. required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/Task' description: Success. The response body contains the updated 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' summary: Update a task tags: - Tasks /api/v2/tasks/{taskID}/labels: get: description: | Retrieves a list of all labels for a task. Labels may be used for grouping and filtering tasks. operationId: GetTasksIDLabels parameters: - $ref: '#/components/parameters/TraceSpan' - description: The ID of the task to retrieve labels for. in: path name: taskID required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/LabelsResponse' description: >- Success. The response body contains a list of all labels for the 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' summary: List labels for a task tags: - Tasks post: 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. operationId: PostTasksIDLabels parameters: - $ref: '#/components/parameters/TraceSpan' - description: The ID of the task to label. in: path name: taskID required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/LabelMapping' description: An object that contains a _`labelID`_ to add to the task. required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/LabelResponse' description: >- Success. The response body contains a list of all labels for the 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' summary: Add a label to a task tags: - Tasks /api/v2/tasks/{taskID}/labels/{labelID}: delete: description: | Deletes a label from a task. operationId: DeleteTasksIDLabelsID parameters: - $ref: '#/components/parameters/TraceSpan' - description: The ID of the task to delete the label from. in: path name: taskID required: true schema: type: string - description: The ID of the label to delete. in: path name: labelID required: true schema: type: string 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' summary: Delete a label from a task tags: - Tasks /api/v2/tasks/{taskID}/logs: get: description: > Retrieves a list of all logs for a [task](https://docs.influxdata.com/influxdb/cloud/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. operationId: GetTasksIDLogs parameters: - $ref: '#/components/parameters/TraceSpan' - description: The task ID. in: path name: taskID required: true schema: type: string responses: '200': content: application/json: examples: taskFailure: summary: Events for a failed task run. value: events: - message: >- Started task from script: "option task = {name: \"test task\", every: 3d, offset: 0s}" runID: 09a946fc3167d000 time: '2022-07-13T07:06:54.198167Z' - message: Completed(failed) runID: 09a946fc3167d000 time: '2022-07-13T07:07:13.104037Z' - 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 runID: 09a946fc3167d000 time: '2022-07-13T08:24:37.115323Z' taskSuccess: summary: Events for a successful task run. value: events: - 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.101231Z' - message: Completed(success) runID: 09b070dadaa7d000 time: '2022-07-18T14:46:07.242859Z' schema: $ref: '#/components/schemas/Logs' 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. '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' summary: Retrieve all logs for a task tags: - Tasks /api/v2/tasks/{taskID}/members: get: deprecated: true description: > **Deprecated**: Tasks don't use `owner` and `member` roles. Use [`/api/v2/authorizations`](#tag/Authorizations-(API-tokens)) to assign user permissions. Lists all users that have the `member` role for the specified [task](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#task). operationId: GetTasksIDMembers parameters: - $ref: '#/components/parameters/TraceSpan' - description: The task ID. in: path name: taskID required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/ResourceMembers' description: | Success. The response body contains a list of `users` that have the `member` role for a task. default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: List all task members tags: - Tasks post: deprecated: true description: > **Deprecated**: Tasks don't use `owner` and `member` roles. Use [`/api/v2/authorizations`](#tag/Authorizations-(API-tokens)) to assign user permissions. Adds a user to members of a task and returns the member. operationId: PostTasksIDMembers parameters: - $ref: '#/components/parameters/TraceSpan' - description: The task ID. in: path name: taskID required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/AddResourceMemberRequestBody' description: A user to add as a member of the task. required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/ResourceMember' description: Created. The user is added to task members. default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Add a member to a task tags: - Tasks /api/v2/tasks/{taskID}/members/{userID}: delete: deprecated: true description: > **Deprecated**: Tasks don't use `owner` and `member` roles. Use [`/api/v2/authorizations`](#tag/Authorizations-(API-tokens)) to assign user permissions. Removes a member from a [task](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#task). operationId: DeleteTasksIDMembersID parameters: - $ref: '#/components/parameters/TraceSpan' - description: The ID of the member to remove. in: path name: userID required: true schema: type: string - description: The task ID. in: path name: taskID required: true schema: type: string responses: '204': description: Member removed default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Remove a member from a task tags: - Tasks /api/v2/tasks/{taskID}/owners: get: deprecated: true description: > **Deprecated**: Tasks don't use `owner` and `member` roles. Use [`/api/v2/authorizations`](#tag/Authorizations-(API-tokens)) to assign user permissions. Retrieves all users that have owner permission for a task. operationId: GetTasksIDOwners parameters: - $ref: '#/components/parameters/TraceSpan' - description: The ID of the task to retrieve owners for. in: path name: taskID required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/ResourceOwners' 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. '401': $ref: '#/components/responses/AuthorizationError' '422': content: application/json: schema: $ref: '#/components/schemas/Error' 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. '500': $ref: '#/components/responses/InternalServerError' default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: List all owners of a task tags: - Tasks post: deprecated: true description: > **Deprecated**: Tasks don't use `owner` and `member` roles. Use [`/api/v2/authorizations`](#tag/Authorizations-(API-tokens)) 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. operationId: PostTasksIDOwners parameters: - $ref: '#/components/parameters/TraceSpan' - description: The task ID. in: path name: taskID required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/AddResourceMemberRequestBody' description: A user to add as an owner of the task. required: true responses: '201': content: application/json: examples: createdOwner: summary: User has the owner role for the resource value: id: 0772396d1f411000 links: logs: /api/v2/users/0772396d1f411000/logs self: /api/v2/users/0772396d1f411000 name: USER_NAME role: owner status: active schema: $ref: '#/components/schemas/ResourceOwner' description: | Created. The task `owner` role is assigned to the user. The response body contains the resource owner with role and user detail. '401': $ref: '#/components/responses/AuthorizationError' '422': content: application/json: schema: $ref: '#/components/schemas/Error' 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. '500': $ref: '#/components/responses/InternalServerError' default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Add an owner for a task tags: - Tasks /api/v2/tasks/{taskID}/owners/{userID}: delete: deprecated: true description: > **Deprecated**: Tasks don't use `owner` and `member` roles. Use [`/api/v2/authorizations`](#tag/Authorizations-(API-tokens)) to assign user permissions. operationId: DeleteTasksIDOwnersID parameters: - $ref: '#/components/parameters/TraceSpan' - description: The ID of the owner to remove. in: path name: userID required: true schema: type: string - description: The task ID. in: path name: taskID required: true schema: type: string responses: '204': description: Owner removed default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Remove an owner from a task tags: - Tasks /api/v2/tasks/{taskID}/runs: get: description: > Retrieves a list of runs for a [task](https://docs.influxdata.com/influxdb/cloud/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`. operationId: GetTasksIDRuns parameters: - $ref: '#/components/parameters/TraceSpan' - description: | The ID of the task to get runs for. Only returns runs for this task. in: path name: taskID required: true schema: type: string - description: A task run ID. Only returns runs created after this run. in: query name: after schema: type: string - description: | Limits the number of task runs returned. Default is `100`. in: query name: limit schema: default: 100 maximum: 500 minimum: 1 type: integer - description: > A timestamp ([RFC3339 date/time format](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#rfc3339-timestamp)). Only returns runs scheduled after this time. in: query name: afterTime schema: format: date-time type: string - description: > A timestamp ([RFC3339 date/time format](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#rfc3339-timestamp)). Only returns runs scheduled before this time. in: query name: beforeTime schema: format: date-time type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/Runs' description: Success. The response body contains the list of task runs. '401': $ref: '#/components/responses/AuthorizationError' '500': $ref: '#/components/responses/InternalServerError' default: $ref: '#/components/responses/GeneralServerError' summary: List runs for a task tags: - Tasks post: 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` endpoint](#operation/PostTasksIDRunsIDRetry). operationId: PostTasksIDRuns parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: taskID required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/RunManually' responses: '201': content: application/json: schema: $ref: '#/components/schemas/Run' description: Success. The run is scheduled to start. '401': $ref: '#/components/responses/AuthorizationError' '500': $ref: '#/components/responses/InternalServerError' default: $ref: '#/components/responses/GeneralServerError' summary: Start a task run, overriding the schedule tags: - Tasks /api/v2/tasks/{taskID}/runs/{runID}: delete: description: > Cancels a running [task](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#task). Use this endpoint with InfluxDB OSS to cancel a running task. #### InfluxDB Cloud - Doesn't support this operation. operationId: DeleteTasksIDRunsID parameters: - $ref: '#/components/parameters/TraceSpan' - description: The ID of the task to cancel. in: path name: taskID required: true schema: type: string - description: The ID of the task run to cancel. in: path name: runID required: true schema: type: string 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': content: application/json: schema: $ref: '#/components/schemas/Error' description: | Method not allowed. #### InfluxDB Cloud - Always returns this error; doesn't support cancelling tasks. #### InfluxDB OSS v2 - Doesn't return this error. '500': $ref: '#/components/responses/InternalServerError' default: $ref: '#/components/responses/GeneralServerError' summary: Cancel a running task tags: - Tasks get: description: > Retrieves a specific run for a [task](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#task). Use this endpoint to retrieve detail and logs for a specific task run. operationId: GetTasksIDRunsID parameters: - $ref: '#/components/parameters/TraceSpan' - description: The ID of the task to retrieve runs for. in: path name: taskID required: true schema: type: string - description: The ID of the run to retrieve. in: path name: runID required: true schema: type: string responses: '200': content: application/json: examples: runSuccess: summary: A successful task run. value: finishedAt: '2022-07-18T14:46:07.308254Z' id: 09b070dadaa7d000 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 log: - 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.101231Z' - message: Completed(success) runID: 09b070dadaa7d000 time: '2022-07-18T14:46:07.242859Z' requestedAt: '2022-07-18T14:46:06Z' scheduledFor: '2022-07-18T14:46:06Z' startedAt: '2022-07-18T14:46:07.16222Z' status: success taskID: 0996e56b2f378000 schema: $ref: '#/components/schemas/Run' description: Success. The response body contains the task run. '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' summary: Retrieve a run for a task. tags: - Tasks /api/v2/tasks/{taskID}/runs/{runID}/logs: get: 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. operationId: GetTasksIDRunsIDLogs parameters: - $ref: '#/components/parameters/TraceSpan' - description: The ID of the task to get logs for. in: path name: taskID required: true schema: type: string - description: The ID of the run to get logs for. in: path name: runID required: true schema: type: string responses: '200': content: application/json: examples: taskFailure: summary: Events for a failed task. value: events: - message: >- Started task from script: "option task = {name: \"test task\", every: 3d, offset: 0s}" runID: 09a946fc3167d000 time: '2022-07-13T07:06:54.198167Z' - message: Completed(failed) runID: 09a946fc3167d000 time: '2022-07-13T07:07:13.104037Z' - 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 runID: 09a946fc3167d000 time: '2022-07-13T08:24:37.115323Z' taskSuccess: summary: Events for a successful task run. value: events: - 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.101231Z' - message: Completed(success) runID: 09b070dadaa7d000 time: '2022-07-18T14:46:07.242859Z' schema: $ref: '#/components/schemas/Logs' 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. '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' summary: Retrieve all logs for a run tags: - Tasks /api/v2/tasks/{taskID}/runs/{runID}/retry: post: description: > Queues a [task](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#task) run to retry and returns the scheduled run. To manually start a _new_ task run, use the [`POST /api/v2/tasks/{taskID}/runs` endpoint](#operation/PostTasksIDRuns). #### Limitations - The task must be _active_ (`status: "active"`). operationId: PostTasksIDRunsIDRetry parameters: - $ref: '#/components/parameters/TraceSpan' - description: > A [task](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#task) ID. Specifies the task to retry. in: path name: taskID required: true schema: type: string - description: > A [task](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#task) run ID. Specifies the task run to retry. To find a task run ID, use the [`GET /api/v2/tasks/{taskID}/runs` endpoint](#operation/GetTasksIDRuns) to list task runs. in: path name: runID required: true schema: type: string requestBody: content: application/json; charset=utf-8: schema: type: object responses: '200': content: application/json: examples: retryTaskRun: summary: A task run scheduled to retry value: id: 09d60ffe08738000 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 requestedAt: '2022-08-16T20:05:11.84145Z' scheduledFor: '2022-08-15T00:00:00Z' status: scheduled taskID: 09a776832f381000 schema: $ref: '#/components/schemas/Run' description: Success. The response body contains the queued run. '400': content: application/json: examples: inactiveTask: summary: Can't retry an inactive task value: code: invalid message: 'failed to retry run: inactive task' schema: $ref: '#/components/schemas/Error' 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`. '401': $ref: '#/components/responses/AuthorizationError' '404': $ref: '#/components/responses/ResourceNotFoundError' '500': $ref: '#/components/responses/InternalServerError' default: $ref: '#/components/responses/GeneralServerError' summary: Retry a task run tags: - Tasks /api/v2/telegraf/plugins: get: operationId: GetTelegrafPlugins parameters: - $ref: '#/components/parameters/TraceSpan' - description: The type of plugin desired. in: query name: type schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/TelegrafPlugins' description: A list of Telegraf plugins. default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: List all Telegraf plugins tags: - Telegraf Plugins /api/v2/telegrafs: get: operationId: GetTelegrafs parameters: - $ref: '#/components/parameters/TraceSpan' - description: The organization ID the Telegraf config belongs to. in: query name: orgID schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/Telegrafs' description: A list of Telegraf configurations default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: List all Telegraf configurations tags: - Telegrafs post: operationId: PostTelegrafs parameters: - $ref: '#/components/parameters/TraceSpan' requestBody: content: application/json: schema: $ref: '#/components/schemas/TelegrafPluginRequest' description: Telegraf configuration to create required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/Telegraf' description: Telegraf configuration created default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Create a Telegraf configuration tags: - Telegrafs /api/v2/telegrafs/{telegrafID}: delete: operationId: DeleteTelegrafsID parameters: - $ref: '#/components/parameters/TraceSpan' - description: The Telegraf configuration ID. in: path name: telegrafID required: true schema: type: string responses: '204': description: Delete has been accepted default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Delete a Telegraf configuration tags: - Telegrafs get: operationId: GetTelegrafsID parameters: - $ref: '#/components/parameters/TraceSpan' - description: The Telegraf configuration ID. in: path name: telegrafID required: true schema: type: string - in: header name: Accept required: false schema: default: application/toml enum: - application/toml - application/json - application/octet-stream type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/Telegraf' application/octet-stream: example: |- [agent] interval = "10s" schema: type: string application/toml: example: |- [agent] interval = "10s" schema: type: string description: Telegraf configuration details default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Retrieve a Telegraf configuration tags: - Telegrafs put: operationId: PutTelegrafsID parameters: - $ref: '#/components/parameters/TraceSpan' - description: The Telegraf config ID. in: path name: telegrafID required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/TelegrafPluginRequest' description: Telegraf configuration update to apply required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/Telegraf' description: An updated Telegraf configurations default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Update a Telegraf configuration tags: - Telegrafs /api/v2/telegrafs/{telegrafID}/labels: get: operationId: GetTelegrafsIDLabels parameters: - $ref: '#/components/parameters/TraceSpan' - description: The Telegraf config ID. in: path name: telegrafID required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/LabelsResponse' description: A list of all labels for a Telegraf config default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: List all labels for a Telegraf config tags: - Telegrafs post: operationId: PostTelegrafsIDLabels parameters: - $ref: '#/components/parameters/TraceSpan' - description: The Telegraf config ID. in: path name: telegrafID required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/LabelMapping' description: Label to add required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/LabelResponse' description: The label added to the Telegraf config default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Add a label to a Telegraf config tags: - Telegrafs /api/v2/telegrafs/{telegrafID}/labels/{labelID}: delete: operationId: DeleteTelegrafsIDLabelsID parameters: - $ref: '#/components/parameters/TraceSpan' - description: The Telegraf config ID. in: path name: telegrafID required: true schema: type: string - description: The label ID. in: path name: labelID required: true schema: type: string responses: '204': description: Delete has been accepted '404': content: application/json: schema: $ref: '#/components/schemas/Error' description: Telegraf config not found default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Delete a label from a Telegraf config tags: - Telegrafs /api/v2/telegrafs/{telegrafID}/members: get: operationId: GetTelegrafsIDMembers parameters: - $ref: '#/components/parameters/TraceSpan' - description: The Telegraf config ID. in: path name: telegrafID required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/ResourceMembers' description: A list of Telegraf config members default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: List all users with member privileges for a Telegraf config tags: - Telegrafs post: operationId: PostTelegrafsIDMembers parameters: - $ref: '#/components/parameters/TraceSpan' - description: The Telegraf config ID. in: path name: telegrafID required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/AddResourceMemberRequestBody' description: User to add as member required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/ResourceMember' description: Member added to Telegraf config default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Add a member to a Telegraf config tags: - Telegrafs /api/v2/telegrafs/{telegrafID}/members/{userID}: delete: operationId: DeleteTelegrafsIDMembersID parameters: - $ref: '#/components/parameters/TraceSpan' - description: The ID of the member to remove. in: path name: userID required: true schema: type: string - description: The Telegraf config ID. in: path name: telegrafID required: true schema: type: string responses: '204': description: Member removed default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Remove a member from a Telegraf config tags: - Telegrafs /api/v2/telegrafs/{telegrafID}/owners: get: operationId: GetTelegrafsIDOwners parameters: - $ref: '#/components/parameters/TraceSpan' - description: The Telegraf configuration ID. in: path name: telegrafID required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/ResourceOwners' description: Returns Telegraf configuration owners as a ResourceOwners list default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: List all owners of a Telegraf configuration tags: - Telegrafs post: operationId: PostTelegrafsIDOwners parameters: - $ref: '#/components/parameters/TraceSpan' - description: The Telegraf configuration ID. in: path name: telegrafID required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/AddResourceMemberRequestBody' description: User to add as owner required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/ResourceOwner' description: >- Telegraf configuration owner was added. Returns a ResourceOwner that references the User. default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Add an owner to a Telegraf configuration tags: - Telegrafs /api/v2/telegrafs/{telegrafID}/owners/{userID}: delete: operationId: DeleteTelegrafsIDOwnersID parameters: - $ref: '#/components/parameters/TraceSpan' - description: The ID of the owner to remove. in: path name: userID required: true schema: type: string - description: The Telegraf config ID. in: path name: telegrafID required: true schema: type: string responses: '204': description: Owner removed default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Remove an owner from a Telegraf config tags: - Telegrafs /api/v2/templates/apply: post: description: > Applies a template to create or update a [stack](https://docs.influxdata.com/influxdb/cloud/influxdb-templates/stacks/) of InfluxDB [resources](https://docs.influxdata.com/influxdb/cloud/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. **Important**: InfluxDB Cloud doesn't support all template features. We recommend using InfluxDB OSS v2 if you need full template support. #### Custom values for templates - **Not supported**: InfluxDB Cloud doesn't support environment reference substitution in templates. Variable names you define in templates aren't replaced by user-defined values. - Some templates may contain queries that use [secrets](https://docs.influxdata.com/influxdb/cloud/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/cloud/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/cloud/influxdb-templates/use/) - [Stacks](https://docs.influxdata.com/influxdb/cloud/influxdb-templates/stacks/) operationId: ApplyTemplate requestBody: content: application/json: examples: skipKindAction: summary: Skip all bucket and task resources in the provided templates value: actions: - action: skipKind properties: kind: Bucket - action: skipKind properties: kind: Task orgID: INFLUX_ORG_ID templates: - contents: - '[object Object]': null skipResourceAction: summary: Skip specific resources in the provided templates value: 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 orgID: INFLUX_ORG_ID templates: - contents: - apiVersion: influxdata.com/v2alpha1 kind: Bucket metadata: name: baz-500 templateObjectEnvRefs: summary: envRefs for template objects value: envRefs: docker-bucket: MY_DOCKER_BUCKET docker-spec-1: MY_DOCKER_SPEC linux-cpu-label: MY_CPU_LABEL orgID: INFLUX_ORG_ID 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 schema: $ref: '#/components/schemas/TemplateApply' application/x-jsonnet: schema: $ref: '#/components/schemas/TemplateApply' text/yml: schema: $ref: '#/components/schemas/TemplateApply' description: | Parameters for applying templates. required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/TemplateSummary' 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. '201': content: application/json: schema: $ref: '#/components/schemas/TemplateSummary' 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. '422': content: application/json: schema: allOf: - $ref: '#/components/schemas/TemplateSummary' - properties: code: type: string message: type: string required: - message - code type: object 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. '500': content: application/json: 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\"" schema: $ref: '#/components/schemas/Error' 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. default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Apply or dry-run a template tags: - Templates x-codeSamples: - label: 'cURL: Dry run with a remote template' lang: Shell 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 - label: 'cURL: Apply with secret values' lang: Shell 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 /api/v2/templates/export: post: operationId: ExportTemplate requestBody: content: application/json: schema: oneOf: - $ref: '#/components/schemas/TemplateExportByID' - $ref: '#/components/schemas/TemplateExportByName' description: Export resources as an InfluxDB template. required: false responses: '200': content: application/json: schema: $ref: '#/components/schemas/Template' application/x-yaml: schema: $ref: '#/components/schemas/Template' description: >- The template was created successfully. Returns the newly created template. default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Export a new template tags: - Templates /api/v2/users: get: description: > Lists [users](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#user). To limit which users are returned, pass query parameters in your request. #### InfluxDB Cloud - InfluxDB Cloud doesn't allow listing all users through the API. Use the InfluxDB Cloud user interface (UI) to manage account information. #### Required permissions for InfluxDB Cloud | Action | Permission required | Restriction | |:-------|:--------------------|:------------| | List all users | Operator token | InfluxData internal use only | | List a specific user | `read-users` or `read-user USER_ID` | *`USER_ID`* is the ID of the user that you want to retrieve. #### Related guides - [Manage users](https://docs.influxdata.com/influxdb/cloud/organizations/users/) operationId: GetUsers parameters: - $ref: '#/components/parameters/TraceSpan' - description: > A user name. Only lists the specified [user](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#user). in: query name: name schema: type: string - description: > A user id. Only lists the specified [user](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#user). in: query name: id schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/Users' description: > Success. The response contains a list of `users`. #### InfluxDB Cloud - Returns an empty `users` list if you don't pass _`id`_ or _`name`_ parameters and don't use an _operator token_. Only InfluxData can access InfluxDB Cloud operator tokens. '401': content: application/json: schema: $ref: '#/components/schemas/Error' description: | Unauthorized. '422': content: application/json: schema: $ref: '#/components/schemas/Error' 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. '500': $ref: '#/components/responses/InternalServerError' default: $ref: '#/components/responses/GeneralServerError' description: Unexpected error summary: List users tags: - Security and access endpoints - Users post: description: > (InfluxData internal use only) Creates and returns a [user](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#user) that can access InfluxDB. #### InfluxDB Cloud - InfluxDB Cloud Doesn't let you manage users through the API. Use the InfluxDB Cloud user interface (UI) to manage account information. #### Required permissions for InfluxDB Cloud | Action | Permission required | Restriction | |:-------|:--------------------|:------------| | Create user | Operator token | InfluxData internal use only | #### Related guides - [Manage users](https://docs.influxdata.com/influxdb/cloud/organizations/users/) operationId: PostUsers parameters: - $ref: '#/components/parameters/TraceSpan' requestBody: content: application/json: schema: $ref: '#/components/schemas/User' description: In the request body, provide the user. required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/UserResponse' description: | Success. The response body contains the user. '401': content: application/json: schema: $ref: '#/components/schemas/Error' description: | Unauthorized. #### InfluxDB Cloud - Returns this error if the request doesn't use an _operator token_. Only InfluxData can access InfluxDB Cloud operator tokens. '422': content: application/json: schema: $ref: '#/components/schemas/Error' 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. '500': $ref: '#/components/responses/InternalServerError' default: $ref: '#/components/responses/GeneralServerError' description: Unexpected error summary: Create a user tags: - Users /api/v2/users/{userID}: delete: description: > (InfluxData internal use only) Deletes a [user](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#user). For security purposes, once an InfluxDB user account is deleted from an organization, the user (and their token) cannot be reactivated. #### InfluxDB Cloud - Doesn't let you manage users through the API. Use the InfluxDB Cloud user interface (UI) to manage account information. #### Required permissions | Action | Permission required | Restriction | |:-------|:--------------------|:------------| | Delete user | Operator token | InfluxData internal use only | #### Related guides - [Manage users](https://docs.influxdata.com/influxdb/cloud/organizations/users/) operationId: DeleteUsersID parameters: - $ref: '#/components/parameters/TraceSpan' - description: > A user ID. Deletes the specified [user](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#user). in: path name: userID required: true schema: type: string responses: '204': description: Success. The user 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' summary: Delete a user tags: - Users get: description: > Retrieves a [user](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#user). #### Related guides - [Manage users](https://docs.influxdata.com/influxdb/cloud/organizations/users/) operationId: GetUsersID parameters: - $ref: '#/components/parameters/TraceSpan' - description: > A user ID. Retrieves the specified [user](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#user). in: path name: userID required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/UserResponse' description: Success. The response body contains the user. default: $ref: '#/components/responses/GeneralServerError' description: Unexpected error summary: Retrieve a user tags: - Users patch: description: > (InfluxData internal use only) Updates a [user](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#user) and returns the user. #### InfluxDB Cloud - Doesn't let you manage users through the API. Use the InfluxDB Cloud user interface (UI) to manage account information. #### Required permissions for InfluxDB Cloud | Action | Permission required | Restriction | |:-------|:--------------------|:------------| | Update user | Operator token | InfluxData internal use only | #### Related guides - [Manage users](https://docs.influxdata.com/influxdb/cloud/organizations/users/) operationId: PatchUsersID parameters: - $ref: '#/components/parameters/TraceSpan' - description: > A user ID. Updates the specified [user](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#user). in: path name: userID required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/User' description: The user update to apply. required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/UserResponse' description: Success. The response body contains the updated user. '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' summary: Update a user tags: - Users /api/v2/users/{userID}/password: post: description: > Updates a user password. #### InfluxDB Cloud - Doesn't allow you to manage user passwords through the API. Use the InfluxDB Cloud user interface (UI) to update a password. #### Related guides - [InfluxDB Cloud - Change your password](https://docs.influxdata.com/influxdb/cloud/account-management/change-password/) - [InfluxDB OSS - Change your password](https://docs.influxdata.com/influxdb/v2/users/change-password/) operationId: PostUsersIDPassword parameters: - $ref: '#/components/parameters/TraceSpan' - description: The ID of the user to set the password for. in: path name: userID required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/PasswordResetBody' description: The new password to set for the user. required: true responses: '204': description: Success. The password is updated. '400': content: application/json: examples: updatePasswordNotAllowed: summary: Cloud API can't update passwords value: code: invalid message: passwords cannot be changed through the InfluxDB Cloud API schema: $ref: '#/components/schemas/Error' description: > Bad request. #### InfluxDB Cloud - Doesn't allow you to manage passwords through the API; always responds with this status. #### InfluxDB OSS v2 - Doesn't understand a value passed in the request. default: $ref: '#/components/responses/GeneralServerError' description: Unexpected error summary: Update a password tags: - Security and access endpoints - Users x-codeSamples: - label: 'cURL: use HTTP POST to update the user password' lang: Shell source: | curl --request POST \ "http://localhost:8086/api/v2/users/USER_ID/password" \ --header 'Content-type: application/json' \ --header "Authorization: Token INFLUX_TOKEN" \ --data-binary @- << EOF {"password": "NEW_USER_PASSWORD"} EOF put: description: > Updates a user password. Use this endpoint to let a user authenticate with [Basic authentication credentials](#section/Authentication/BasicAuthentication) and set a new password. #### InfluxDB Cloud - Doesn't allow you to manage user passwords through the API. Use the InfluxDB Cloud user interface (UI) to update a password. #### Related guides - [InfluxDB Cloud - Change your password](https://docs.influxdata.com/influxdb/cloud/account-management/change-password/) - [InfluxDB OSS - Change your password](https://docs.influxdata.com/influxdb/v2/users/change-password/) operationId: PutUsersIDPassword parameters: - $ref: '#/components/parameters/TraceSpan' - description: The ID of the user to set the password for. in: path name: userID required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/PasswordResetBody' description: The new password to set for the user. required: true responses: '204': description: Success. The password is updated. '400': content: application/json: examples: updatePasswordNotAllowed: summary: Cloud API can't update passwords value: code: invalid message: passwords cannot be changed through the InfluxDB Cloud API schema: $ref: '#/components/schemas/Error' description: > Bad request. #### InfluxDB Cloud - Doesn't allow you to manage passwords through the API; always responds with this status. #### InfluxDB OSS v2 - Doesn't understand a value passed in the request. default: $ref: '#/components/responses/GeneralServerError' description: Unexpected error security: - BasicAuthentication: [] summary: Update a password tags: - Security and access endpoints - Users x-codeSamples: - label: 'cURL: use Basic auth to update the user password' lang: Shell source: | curl -c ./cookie-file.tmp --request POST \ "http://localhost:8086/api/v2/signin" \ --user "${INFLUX_USER_NAME}:${INFLUX_USER_PASSWORD}" curl -b ./cookie-file.tmp --request PUT \ "http://localhost:8086/api/v2/users/USER_ID/password" \ --header 'Content-type: application/json' \ --data-binary @- << EOF {"password": "NEW_USER_PASSWORD"} EOF /api/v2/variables: get: operationId: GetVariables parameters: - $ref: '#/components/parameters/TraceSpan' - description: The name of the organization. in: query name: org schema: type: string - description: The organization ID. in: query name: orgID schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/Variables' description: A list of variables for an organization. '400': $ref: '#/components/responses/GeneralServerError' description: Invalid request default: $ref: '#/components/responses/GeneralServerError' description: Internal server error summary: List all variables tags: - Variables post: operationId: PostVariables parameters: - $ref: '#/components/parameters/TraceSpan' requestBody: content: application/json: schema: $ref: '#/components/schemas/Variable' description: Variable to create required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/Variable' description: Variable created default: $ref: '#/components/responses/GeneralServerError' description: Internal server error summary: Create a variable tags: - Variables /api/v2/variables/{variableID}: delete: operationId: DeleteVariablesID parameters: - $ref: '#/components/parameters/TraceSpan' - description: The variable ID. in: path name: variableID required: true schema: type: string responses: '204': description: Variable deleted default: $ref: '#/components/responses/GeneralServerError' description: Internal server error summary: Delete a variable tags: - Variables get: operationId: GetVariablesID parameters: - $ref: '#/components/parameters/TraceSpan' - description: The variable ID. in: path name: variableID required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/Variable' description: Variable found '404': $ref: '#/components/responses/GeneralServerError' description: Variable not found default: $ref: '#/components/responses/GeneralServerError' description: Internal server error summary: Retrieve a variable tags: - Variables patch: operationId: PatchVariablesID parameters: - $ref: '#/components/parameters/TraceSpan' - description: The variable ID. in: path name: variableID required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/Variable' description: Variable update to apply required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/Variable' description: Variable updated default: $ref: '#/components/responses/GeneralServerError' description: Internal server error summary: Update a variable tags: - Variables put: operationId: PutVariablesID parameters: - $ref: '#/components/parameters/TraceSpan' - description: The variable ID. in: path name: variableID required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/Variable' description: Variable to replace required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/Variable' description: Variable updated default: $ref: '#/components/responses/GeneralServerError' description: Internal server error summary: Replace a variable tags: - Variables /api/v2/variables/{variableID}/labels: get: operationId: GetVariablesIDLabels parameters: - $ref: '#/components/parameters/TraceSpan' - description: The variable ID. in: path name: variableID required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/LabelsResponse' description: A list of all labels for a variable default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: List all labels for a variable tags: - Variables post: operationId: PostVariablesIDLabels parameters: - $ref: '#/components/parameters/TraceSpan' - description: The variable ID. in: path name: variableID required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/LabelMapping' description: Label to add required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/LabelResponse' description: The newly added label default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Add a label to a variable tags: - Variables /api/v2/variables/{variableID}/labels/{labelID}: delete: operationId: DeleteVariablesIDLabelsID parameters: - $ref: '#/components/parameters/TraceSpan' - description: The variable ID. in: path name: variableID required: true schema: type: string - description: The label ID to delete. in: path name: labelID required: true schema: type: string responses: '204': description: Delete has been accepted '404': content: application/json: schema: $ref: '#/components/schemas/Error' description: Variable not found default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Delete a label from a variable tags: - Variables /api/v2/write: post: description: > Writes data to a bucket. Use this endpoint to send data in [line protocol](https://docs.influxdata.com/influxdb/cloud/reference/syntax/line-protocol/) format to InfluxDB. #### InfluxDB Cloud - Does the following when you send a write request: 1. Validates the request and queues the write. 2. If queued, responds with _success_ (HTTP `2xx` status code); _error_ otherwise. 3. Handles the delete asynchronously and reaches eventual consistency. To ensure that InfluxDB Cloud handles writes and deletes in the order you request them, wait for a success response (HTTP `2xx` status code) before you send the next request. Because writes and deletes are asynchronous, your change might not yet be readable when you receive the response. #### InfluxDB OSS v2 - Validates the request and handles the write synchronously. - If all points were written successfully, responds with HTTP `2xx` 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/cloud/write-data/developer-tools/api) - [Optimize writes to InfluxDB](https://docs.influxdata.com/influxdb/cloud/write-data/best-practices/optimize-writes/) - [Troubleshoot issues writing data](https://docs.influxdata.com/influxdb/cloud/write-data/troubleshoot/) operationId: PostWrite parameters: - $ref: '#/components/parameters/TraceSpan' - description: | The compression applied to the line protocol in the request payload. To send a gzip payload, pass `Content-Encoding: gzip` header. in: header name: Content-Encoding schema: default: identity description: > Content coding. Use `gzip` for compressed data or `identity` for unmodified, uncompressed data. enum: - gzip - identity type: string - description: > The format of the data in the request body. To send a line protocol payload, pass `Content-Type: text/plain; charset=utf-8`. in: header name: Content-Type schema: default: text/plain; charset=utf-8 description: > `text/plain` is the content type for line protocol. `UTF-8` is the default character set. enum: - text/plain - text/plain; charset=utf-8 type: string - 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`. in: header name: Content-Length schema: description: The length in decimal number of octets. type: integer - 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 v2 - Returns only `application/json` for format and limit errors. #### Related guides - [Troubleshoot issues writing data](https://docs.influxdata.com/influxdb/cloud/write-data/troubleshoot/) in: header name: Accept schema: default: application/json description: Error content type. enum: - application/json type: string - description: | An organization name or ID. #### InfluxDB Cloud - Doesn't use the `org` parameter or `orgID` parameter. - Writes data to the bucket in the organization associated with the authorization (API token). #### InfluxDB OSS v2 - Requires either the `org` parameter or the `orgID` parameter. - If you pass both `orgID` and `org`, they must both be valid. - Writes data to the bucket in the specified organization. in: query name: org required: true schema: description: The organization name or ID. type: string - description: | An organization ID. #### InfluxDB Cloud - Doesn't use the `org` parameter or `orgID` parameter. - Writes data to the bucket in the organization associated with the authorization (API token). #### InfluxDB OSS v2 - Requires either the `org` parameter or the `orgID` parameter. - If you pass both `orgID` and `org`, they must both be valid. - Writes data to the bucket in the specified organization. in: query name: orgID schema: type: string - description: | A bucket name or ID. InfluxDB writes all points in the batch to the specified bucket. in: query name: bucket required: true schema: description: The bucket name or ID. type: string - description: The precision for unix timestamps in the line protocol batch. in: query name: precision schema: $ref: '#/components/schemas/WritePrecision' requestBody: content: text/plain: 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 schema: format: byte type: string description: > In the request body, provide data in [line protocol format](https://docs.influxdata.com/influxdb/cloud/reference/syntax/line-protocol/). 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/cloud/write-data/best-practices/optimize-writes/) required: true responses: '204': description: > Success. #### InfluxDB Cloud - Validated and queued the request. - Handles the write asynchronously - the write might not have completed yet. #### InfluxDB OSS v2 - Successfully wrote all points in the batch. #### Related guides - [How to check for write errors](https://docs.influxdata.com/influxdb/cloud/write-data/troubleshoot/) '400': content: application/json: 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' schema: $ref: '#/components/schemas/LineProtocolError' 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 v2 - Returns this error if the `org` parameter or `orgID` parameter doesn't match an organization. '401': $ref: '#/components/responses/AuthorizationError' '404': $ref: '#/components/responses/ResourceNotFoundError' '413': content: application/json: examples: dataExceedsSizeLimitOSS: summary: InfluxDB OSS response value: > {"code":"request too large","message":"unable to read data: points batch is too large"} schema: $ref: '#/components/schemas/LineProtocolLengthError' text/html: examples: dataExceedsSizeLimit: summary: InfluxDB Cloud response value: |