openapi: 3.0.0 info: title: InfluxDB Cloud API Service Authorizations (API tokens) Authorizations (API tokens) Telegrafs API version: 2.0.1 description: 'The InfluxDB v2 API provides a programmatic interface for all interactions with InfluxDB. Access the InfluxDB API using the `/api/v2/` endpoint. ' license: name: MIT url: https://opensource.org/licenses/MIT servers: - url: /api/v2 security: - TokenAuthentication: [] tags: - name: Telegrafs paths: /telegrafs: get: operationId: GetTelegrafs tags: - Telegrafs summary: List all Telegraf configurations parameters: - $ref: '#/components/parameters/TraceSpan' - in: query name: orgID description: The organization ID the Telegraf config belongs to. schema: type: string responses: '200': description: A list of Telegraf configurations content: application/json: schema: $ref: '#/components/schemas/Telegrafs' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' post: operationId: PostTelegrafs tags: - Telegrafs summary: Create a Telegraf configuration parameters: - $ref: '#/components/parameters/TraceSpan' requestBody: description: Telegraf configuration to create required: true content: application/json: schema: $ref: '#/components/schemas/TelegrafPluginRequest' responses: '201': description: Telegraf configuration created content: application/json: schema: $ref: '#/components/schemas/Telegraf' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /telegrafs/{telegrafID}: get: operationId: GetTelegrafsID tags: - Telegrafs summary: Retrieve a Telegraf configuration parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: telegrafID schema: type: string required: true description: The Telegraf configuration ID. - in: header name: Accept required: false schema: type: string default: application/toml enum: - application/toml - application/json - application/octet-stream responses: '200': description: Telegraf configuration details content: application/toml: example: '[agent] interval = "10s"' schema: type: string application/json: schema: $ref: '#/components/schemas/Telegraf' application/octet-stream: example: '[agent] interval = "10s"' schema: type: string default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' put: operationId: PutTelegrafsID tags: - Telegrafs summary: Update a Telegraf configuration parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: telegrafID schema: type: string required: true description: The Telegraf config ID. requestBody: description: Telegraf configuration update to apply required: true content: application/json: schema: $ref: '#/components/schemas/TelegrafPluginRequest' responses: '200': description: An updated Telegraf configurations content: application/json: schema: $ref: '#/components/schemas/Telegraf' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' delete: operationId: DeleteTelegrafsID tags: - Telegrafs summary: Delete a Telegraf configuration parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: telegrafID schema: type: string required: true description: The Telegraf configuration ID. responses: '204': description: Delete has been accepted default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /telegrafs/{telegrafID}/labels: get: operationId: GetTelegrafsIDLabels tags: - Telegrafs summary: List all labels for a Telegraf config parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: telegrafID schema: type: string required: true description: The Telegraf config ID. responses: '200': description: A list of all labels for a Telegraf config content: application/json: schema: $ref: '#/components/schemas/LabelsResponse' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' post: operationId: PostTelegrafsIDLabels tags: - Telegrafs summary: Add a label to a Telegraf config parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: telegrafID schema: type: string required: true description: The Telegraf config ID. requestBody: description: Label to add required: true content: application/json: schema: $ref: '#/components/schemas/LabelMapping' responses: '201': description: The label added to the Telegraf config content: application/json: schema: $ref: '#/components/schemas/LabelResponse' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /telegrafs/{telegrafID}/labels/{labelID}: delete: operationId: DeleteTelegrafsIDLabelsID tags: - Telegrafs summary: Delete a label from a Telegraf config parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: telegrafID schema: type: string required: true description: The Telegraf config ID. - in: path name: labelID schema: type: string required: true description: The label ID. responses: '204': description: Delete has been accepted '404': description: Telegraf config not found content: application/json: schema: $ref: '#/components/schemas/Error' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /telegrafs/{telegrafID}/members: get: operationId: GetTelegrafsIDMembers tags: - Telegrafs summary: List all users with member privileges for a Telegraf config parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: telegrafID schema: type: string required: true description: The Telegraf config ID. responses: '200': description: A list of Telegraf config members content: application/json: schema: $ref: '#/components/schemas/ResourceMembers' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' post: operationId: PostTelegrafsIDMembers tags: - Telegrafs summary: Add a member to a Telegraf config parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: telegrafID schema: type: string required: true description: The Telegraf config ID. requestBody: description: User to add as member required: true content: application/json: schema: $ref: '#/components/schemas/AddResourceMemberRequestBody' responses: '201': description: Member added to Telegraf config content: application/json: schema: $ref: '#/components/schemas/ResourceMember' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /telegrafs/{telegrafID}/members/{userID}: delete: operationId: DeleteTelegrafsIDMembersID tags: - Telegrafs summary: Remove a member from a Telegraf config parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: userID schema: type: string required: true description: The ID of the member to remove. - in: path name: telegrafID schema: type: string required: true description: The Telegraf config ID. responses: '204': description: Member removed default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /telegrafs/{telegrafID}/owners: get: operationId: GetTelegrafsIDOwners tags: - Telegrafs summary: List all owners of a Telegraf configuration parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: telegrafID schema: type: string required: true description: The Telegraf configuration ID. responses: '200': description: Returns Telegraf configuration owners as a ResourceOwners list content: application/json: schema: $ref: '#/components/schemas/ResourceOwners' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' post: operationId: PostTelegrafsIDOwners tags: - Telegrafs summary: Add an owner to a Telegraf configuration parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: telegrafID schema: type: string required: true description: The Telegraf configuration ID. requestBody: description: User to add as owner required: true content: application/json: schema: $ref: '#/components/schemas/AddResourceMemberRequestBody' responses: '201': description: Telegraf configuration owner was added. Returns a ResourceOwner that references the User. content: application/json: schema: $ref: '#/components/schemas/ResourceOwner' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /telegrafs/{telegrafID}/owners/{userID}: delete: operationId: DeleteTelegrafsIDOwnersID tags: - Telegrafs summary: Remove an owner from a Telegraf config parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: userID schema: type: string required: true description: The ID of the owner to remove. - in: path name: telegrafID schema: type: string required: true description: The Telegraf config ID. responses: '204': description: Owner removed default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' components: schemas: Telegrafs: type: object properties: configurations: type: array items: $ref: '#/components/schemas/Telegraf' AddResourceMemberRequestBody: type: object properties: id: type: string description: 'The ID of the user to add to the resource. ' name: type: string description: 'The name of the user to add to the resource. ' required: - id TelegrafPluginRequest: type: object properties: name: type: string description: type: string plugins: type: array items: type: object properties: type: type: string name: type: string alias: type: string description: type: string config: type: string metadata: type: object properties: buckets: type: array items: type: string config: type: string orgID: type: string Link: type: string format: uri readOnly: true description: URI of resource. Error: properties: code: description: code is the machine-readable error code. readOnly: true type: string enum: - internal error - not implemented - not found - conflict - invalid - unprocessable entity - empty value - unavailable - forbidden - too many requests - unauthorized - method not allowed - request too large - unsupported media type message: readOnly: true description: Human-readable message. type: string op: readOnly: true description: Describes the logical code operation when the error occurred. Useful for debugging. type: string err: readOnly: true description: Stack of errors that occurred during processing of the request. Useful for debugging. type: string required: - code Links: type: object description: 'URI pointers for additional paged results. ' properties: next: $ref: '#/components/schemas/Link' self: $ref: '#/components/schemas/Link' prev: $ref: '#/components/schemas/Link' required: - self ResourceMember: allOf: - $ref: '#/components/schemas/UserResponse' - type: object properties: role: type: string default: member enum: - member ResourceOwners: type: object properties: links: type: object properties: self: type: string format: uri users: type: array items: $ref: '#/components/schemas/ResourceOwner' LabelMapping: type: object description: A _label mapping_ contains a `label` ID to attach to a resource. properties: labelID: description: 'A label ID. Specifies the label to attach. ' type: string required: - labelID Telegraf: type: object allOf: - $ref: '#/components/schemas/TelegrafRequest' - type: object properties: id: type: string readOnly: true links: type: object readOnly: true example: self: /api/v2/telegrafs/1 lables: /api/v2/telegrafs/1/labels owners: /api/v2/telegrafs/1/owners members: /api/v2/telegrafs/1/members properties: self: $ref: '#/components/schemas/Link' labels: $ref: '#/components/schemas/Link' members: $ref: '#/components/schemas/Link' owners: $ref: '#/components/schemas/Link' labels: readOnly: true $ref: '#/components/schemas/Labels' Labels: type: array items: $ref: '#/components/schemas/Label' UserResponse: properties: id: readOnly: true type: string description: 'The user ID. ' name: type: string description: 'The user name. ' status: description: 'The status of a user. An inactive user can''t read or write resources. ' default: active type: string enum: - active - inactive links: type: object readOnly: true example: self: /api/v2/users/1 properties: self: type: string format: uri required: - name ResourceOwner: allOf: - $ref: '#/components/schemas/UserResponse' - type: object properties: role: type: string default: owner enum: - owner LabelsResponse: type: object properties: labels: $ref: '#/components/schemas/Labels' links: $ref: '#/components/schemas/Links' TelegrafRequest: type: object properties: name: type: string description: type: string metadata: type: object properties: buckets: type: array items: type: string config: type: string orgID: type: string ResourceMembers: type: object properties: links: type: object properties: self: type: string format: uri users: type: array items: $ref: '#/components/schemas/ResourceMember' LabelResponse: type: object properties: label: $ref: '#/components/schemas/Label' links: $ref: '#/components/schemas/Links' Label: type: object properties: id: readOnly: true type: string orgID: readOnly: true type: string name: type: string properties: type: object additionalProperties: type: string description: 'Key-value pairs associated with this label. To remove a property, send an update with an empty value (`""`) for the key. ' example: color: ffb3b3 description: this is a description 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 securitySchemes: TokenAuthentication: type: apiKey name: Authorization in: header description: "Use the [Token authentication](#section/Authentication/TokenAuthentication)\nscheme to authenticate to the InfluxDB API.\n\nIn your API requests, send an `Authorization` header.\nFor the header value, provide the word `Token` followed by a space and an InfluxDB API token.\nThe word `Token` is case-sensitive.\n\n### Syntax\n\n`Authorization: Token INFLUX_API_TOKEN`\n\n### Example\n\n#### Use Token authentication with cURL\n\nThe following example shows how to use cURL to send an API request that uses Token authentication:\n\n```sh\ncurl --request GET \"INFLUX_URL/api/v2/buckets\" \\\n --header \"Authorization: Token INFLUX_API_TOKEN\"\n```\n\nReplace the following:\n\n - *`INFLUX_URL`*: your InfluxDB Cloud URL\n - *`INFLUX_API_TOKEN`*: your [InfluxDB API token](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#token)\n\n### Related endpoints\n\n- [`/authorizations` endpoints](#tag/Authorizations-(API-tokens))\n\n### Related guides\n\n- [Authorize API requests](https://docs.influxdata.com/influxdb/cloud/api-guide/api_intro/#authentication)\n- [Manage API tokens](https://docs.influxdata.com/influxdb/cloud/security/tokens/)\n" BasicAuthentication: type: http scheme: basic description: "### Basic authentication scheme\n\nUse the HTTP Basic authentication scheme for InfluxDB `/api/v2` API operations that support it:\n\n### Syntax\n\n`Authorization: Basic BASE64_ENCODED_CREDENTIALS`\n\nTo construct the `BASE64_ENCODED_CREDENTIALS`, combine the username and\nthe password with a colon (`USERNAME:PASSWORD`), and then encode the\nresulting string in [base64](https://developer.mozilla.org/en-US/docs/Glossary/Base64).\nMany HTTP clients encode the credentials for you before sending the\nrequest.\n\n_**Warning**: Base64-encoding can easily be reversed to obtain the original\nusername and password. It is used to keep the data intact and does not provide\nsecurity. You should always use HTTPS when authenticating or sending a request with\nsensitive information._\n\n### Examples\n\nIn the examples, replace the following:\n\n- **`EMAIL_ADDRESS`**: InfluxDB Cloud username (the email address the user signed up with)\n- **`PASSWORD`**: InfluxDB Cloud [API token](https://docs.influxdata.com/influxdb/cloud/reference/glossary/#token)\n- **`INFLUX_URL`**: your InfluxDB Cloud URL\n\n#### Encode credentials with cURL\n\nThe following example shows how to use cURL to send an API request that uses Basic authentication.\nWith the `--user` option, cURL encodes the credentials and passes them\nin the `Authorization: Basic` header.\n\n```sh\ncurl --get \"INFLUX_URL/api/v2/signin\"\n --user \"EMAIL_ADDRESS\":\"PASSWORD\"\n```\n\n#### Encode credentials with Flux\n\nThe Flux [`http.basicAuth()` function](https://docs.influxdata.com/flux/v0.x/stdlib/http/basicauth/) returns a Base64-encoded\nbasic authentication header using a specified username and password combination.\n\n#### Encode credentials with JavaScript\n\nThe following example shows how to use the JavaScript `btoa()` function\nto create a Base64-encoded string:\n\n```js\nbtoa('EMAIL_ADDRESS:PASSWORD')\n```\n\nThe output is the following:\n\n```js\n'VVNFUk5BTUU6UEFTU1dPUkQ='\n```\n\nOnce you have the Base64-encoded credentials, you can pass them in the\n`Authorization` header--for example:\n\n```sh\ncurl --get \"INFLUX_URL/api/v2/signin\"\n --header \"Authorization: Basic VVNFUk5BTUU6UEFTU1dPUkQ=\"\n```\n\nTo learn more about HTTP authentication, see\n[Mozilla Developer Network (MDN) Web Docs, HTTP authentication](https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication)._\n" x-tagGroups: - name: Overview tags: - Quick start - Authentication - Supported operations - Headers - Pagination - Response codes - name: Popular endpoints tags: - Data I/O endpoints - Security and access endpoints - System information endpoints - name: All endpoints tags: []