openapi: 3.0.0 info: title: InfluxDB Cloud v1 compatibility API documentation version: 0.1.0 description: > The InfluxDB 1.x compatibility /write and /query endpoints work with InfluxDB 1.x client libraries and third-party integrations like Grafana and others. If you want to use the latest InfluxDB /api/v2 API instead, see the [InfluxDB v2 API documentation](/influxdb/cloud/api/). This documentation is generated from the [InfluxDB OpenAPI specification](https://raw.githubusercontent.com/influxdata/openapi/master/contracts/swaggerV1Compat.yml). servers: - url: / paths: /write: post: operationId: PostWriteV1 tags: - Write summary: Write time series data into InfluxDB in a V1-compatible format requestBody: description: Line protocol body required: true content: text/plain: schema: type: string parameters: - $ref: '#/components/parameters/TraceSpan' - $ref: '#/components/parameters/AuthUserV1' - $ref: '#/components/parameters/AuthPassV1' - in: query name: db schema: type: string required: true description: >- Bucket to write to. If none exists, InfluxDB creates a bucket with a default 3-day retention policy. - in: query name: rp schema: type: string description: Retention policy name. - in: query name: precision schema: type: string description: Write precision. - in: header name: Content-Encoding description: >- When present, its value indicates to the database that compression is applied to the line protocol body. schema: type: string description: >- Specifies that the line protocol in the body is encoded with gzip or not encoded with identity. default: identity enum: - gzip - identity responses: '204': description: >- Write data is correctly formatted and accepted for writing to the bucket. '400': description: >- Line protocol poorly formed and no points were written. Response can be used to determine the first malformed line in the body line-protocol. All data in body was rejected and not written. content: application/json: schema: $ref: '#/components/schemas/LineProtocolError' '401': description: >- Token does not have sufficient permissions to write to this organization and bucket or the organization and bucket do not exist. content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: No token was sent and they are required. content: application/json: schema: $ref: '#/components/schemas/Error' '413': description: >- Write has been rejected because the payload is too large. Error message returns max size supported. All data in body was rejected and not written. content: application/json: schema: $ref: '#/components/schemas/LineProtocolLengthError' '429': description: >- Token is temporarily over quota. The Retry-After header describes when to try the write again. headers: Retry-After: description: >- A non-negative decimal integer indicating the seconds to delay after the response is received. schema: type: integer format: int32 '503': description: >- Server is temporarily unavailable to accept writes. The Retry-After header describes when to try the write again. headers: Retry-After: description: >- A non-negative decimal integer indicating the seconds to delay after the response is received. schema: type: integer format: int32 default: description: Internal server error content: application/json: schema: $ref: '#/components/schemas/Error' /query: post: operationId: PostQueryV1 tags: - Query summary: Query InfluxDB in a V1 compatible format requestBody: description: InfluxQL query to execute. content: text/plain: schema: type: string parameters: - $ref: '#/components/parameters/TraceSpan' - $ref: '#/components/parameters/AuthUserV1' - $ref: '#/components/parameters/AuthPassV1' - in: header name: Accept schema: type: string description: >- Specifies how query results should be encoded in the response. **Note:** With `application/csv`, query results include epoch timestamps instead of RFC3339 timestamps. default: application/json enum: - application/json - application/csv - text/csv - application/x-msgpack - in: header name: Accept-Encoding description: >- The Accept-Encoding request HTTP header advertises which content encoding, usually a compression algorithm, the client is able to understand. schema: type: string description: >- Specifies that the query response in the body should be encoded with gzip or not encoded with identity. default: identity enum: - gzip - identity - in: header name: Content-Type schema: type: string enum: - application/vnd.influxql - in: query name: db schema: type: string required: true description: Bucket to query. - in: query name: rp schema: type: string description: Retention policy name. - in: query name: q description: Defines the influxql query to run. schema: type: string responses: '200': description: Query results headers: Content-Encoding: description: >- The Content-Encoding entity header is used to compress the media-type. When present, its value indicates which encodings were applied to the entity-body schema: type: string description: >- Specifies that the response in the body is encoded with gzip or not encoded with identity. default: identity enum: - gzip - identity Trace-Id: description: >- The Trace-Id header reports the request's trace ID, if one was generated. schema: type: string description: Specifies the request's trace ID. content: application/csv: schema: $ref: '#/components/schemas/InfluxQLCSVResponse' text/csv: schema: $ref: '#/components/schemas/InfluxQLCSVResponse' application/json: schema: $ref: '#/components/schemas/InfluxQLResponse' application/x-msgpack: schema: type: string format: binary '429': description: >- Token is temporarily over quota. The Retry-After header describes when to try the read again. headers: Retry-After: description: >- A non-negative decimal integer indicating the seconds to delay after the response is received. schema: type: integer format: int32 default: description: Error processing query content: application/json: schema: $ref: '#/components/schemas/Error' components: parameters: TraceSpan: in: header name: Zap-Trace-Span description: OpenTracing span context example: trace_id: '1' span_id: '1' baggage: key: value required: false schema: type: string AuthUserV1: in: query name: u required: false schema: type: string description: Username. AuthPassV1: in: query name: p required: false schema: type: string description: User token. schemas: InfluxQLResponse: properties: results: type: array oneOf: - required: - statement_id - error - required: - statement_id - series items: type: object properties: statement_id: type: integer error: type: string series: type: array items: type: object properties: name: type: string tags: type: object additionalProperties: type: string partial: type: boolean columns: type: array items: type: string values: type: array items: type: array items: {} InfluxQLCSVResponse: type: string example: > name,tags,time,test_field,test_tag test_measurement,,1603740794286107366,1,tag_value test_measurement,,1603740870053205649,2,tag_value test_measurement,,1603741221085428881,3,tag_value Error: properties: code: description: Code is the machine-readable error code. readOnly: true type: string enum: - internal error - not found - conflict - invalid - unprocessable entity - empty value - unavailable - forbidden - too many requests - unauthorized - method not allowed message: readOnly: true description: Message is a human-readable message. type: string required: - code - message LineProtocolError: properties: code: description: Code is the machine-readable error code. readOnly: true type: string enum: - internal error - not found - conflict - invalid - empty value - unavailable message: readOnly: true description: Message is a human-readable message. type: string op: readOnly: true description: >- Op describes the logical code operation during error. Useful for debugging. type: string err: readOnly: true description: >- Err is a stack of errors that occurred during processing of the request. Useful for debugging. type: string line: readOnly: true description: First line within sent body containing malformed data type: integer format: int32 required: - code - message - op - err LineProtocolLengthError: properties: code: description: Code is the machine-readable error code. readOnly: true type: string enum: - invalid message: readOnly: true description: Message is a human-readable message. type: string maxLength: readOnly: true description: Max length in bytes for a body of line-protocol. type: integer format: int32 required: - code - message - maxLength securitySchemes: TokenAuthentication: type: apiKey name: Authorization in: header description: > Use the [Token authentication](#section/Authentication/TokenAuthentication) scheme to authenticate to the InfluxDB API. In your API requests, send an `Authorization` header. For the header value, provide the word `Token` followed by a space and an InfluxDB API token. The word `Token` is case-sensitive. ### Syntax `Authorization: Token YOUR_INFLUX_TOKEN` For examples and more information, see the following: - [`/authorizations`](#tag/Authorizations) endpoint. - [Authorize API requests](/influxdb/cloud/api-guide/api_intro/#authentication). - [Manage API tokens](/influxdb/cloud/security/tokens/). BasicAuthentication: type: http scheme: basic description: > Use the HTTP [Basic authentication](#section/Authentication/BasicAuthentication) scheme with clients that support the InfluxDB 1.x convention of username and password (that don't support the `Authorization: Token` scheme): For examples and more information, see how to [authenticate with a username and password](/influxdb/cloud/reference/api/influxdb-1x/). QuerystringAuthentication: type: apiKey in: query name: u=&p= description: > Use the [Querystring authentication](#section/Authentication/QuerystringAuthentication) scheme with InfluxDB 1.x API parameters to provide credentials through the query string. For examples and more information, see how to [authenticate with a username and password](/influxdb/cloud/reference/api/influxdb-1x/). security: - TokenAuthentication: [] - BasicAuthentication: [] - QuerystringAuthentication: [] tags: - name: Authentication description: > The InfluxDB 1.x API requires authentication for all requests. InfluxDB Cloud uses InfluxDB API tokens to authenticate requests. For more information, see the following: - [Token authentication](#section/Authentication/TokenAuthentication) - [Basic authentication](#section/Authentication/BasicAuthentication) - [Querystring authentication](#section/Authentication/QuerystringAuthentication) x-traitTag: true - name: Query - name: Write x-tagGroups: []