openapi: 3.0.0 info: title: InfluxDB Cloud API Service Authorizations (API tokens) Authorizations (API tokens) NotificationEndpoints 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: NotificationEndpoints paths: /notificationEndpoints: get: operationId: GetNotificationEndpoints tags: - NotificationEndpoints summary: List all notification endpoints parameters: - $ref: '#/components/parameters/TraceSpan' - $ref: '#/components/parameters/Offset' - $ref: '#/components/parameters/Limit' - in: query name: orgID required: true description: Only show notification endpoints that belong to specific organization ID. schema: type: string responses: '200': description: A list of notification endpoints content: application/json: schema: $ref: '#/components/schemas/NotificationEndpoints' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' post: operationId: CreateNotificationEndpoint tags: - NotificationEndpoints summary: Add a notification endpoint requestBody: description: Notification endpoint to create required: true content: application/json: schema: $ref: '#/components/schemas/PostNotificationEndpoint' responses: '201': description: Notification endpoint created content: application/json: schema: $ref: '#/components/schemas/NotificationEndpoint' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /notificationEndpoints/{endpointID}: get: operationId: GetNotificationEndpointsID tags: - NotificationEndpoints summary: Retrieve a notification endpoint parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: endpointID schema: type: string required: true description: The notification endpoint ID. responses: '200': description: The notification endpoint requested content: application/json: schema: $ref: '#/components/schemas/NotificationEndpoint' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' put: operationId: PutNotificationEndpointsID tags: - NotificationEndpoints summary: Update a notification endpoint requestBody: description: A new notification endpoint to replace the existing endpoint with required: true content: application/json: schema: $ref: '#/components/schemas/NotificationEndpoint' parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: endpointID schema: type: string required: true description: The notification endpoint ID. responses: '200': description: An updated notification endpoint content: application/json: schema: $ref: '#/components/schemas/NotificationEndpoint' '404': description: The notification endpoint was not found content: application/json: schema: $ref: '#/components/schemas/Error' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' patch: operationId: PatchNotificationEndpointsID tags: - NotificationEndpoints summary: Update a notification endpoint requestBody: description: Check update to apply required: true content: application/json: schema: $ref: '#/components/schemas/NotificationEndpointUpdate' parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: endpointID schema: type: string required: true description: The notification endpoint ID. responses: '200': description: An updated notification endpoint content: application/json: schema: $ref: '#/components/schemas/NotificationEndpoint' '404': description: The notification endpoint was not found content: application/json: schema: $ref: '#/components/schemas/Error' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' delete: operationId: DeleteNotificationEndpointsID tags: - NotificationEndpoints summary: Delete a notification endpoint parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: endpointID schema: type: string required: true description: The notification endpoint ID. responses: '204': description: Delete has been accepted '404': description: The endpoint was not found content: application/json: schema: $ref: '#/components/schemas/Error' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /notificationEndpoints/{endpointID}/labels: get: operationId: GetNotificationEndpointsIDLabels tags: - NotificationEndpoints summary: List all labels for a notification endpoint parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: endpointID schema: type: string required: true description: The notification endpoint ID. responses: '200': description: A list of all labels for a notification endpoint content: application/json: schema: $ref: '#/components/schemas/LabelsResponse' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' post: operationId: PostNotificationEndpointIDLabels tags: - NotificationEndpoints summary: Add a label to a notification endpoint parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: endpointID schema: type: string required: true description: The notification endpoint ID. requestBody: description: Label to add required: true content: application/json: schema: $ref: '#/components/schemas/LabelMapping' responses: '201': description: The label was added to the notification endpoint content: application/json: schema: $ref: '#/components/schemas/LabelResponse' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' /notificationEndpoints/{endpointID}/labels/{labelID}: delete: operationId: DeleteNotificationEndpointsIDLabelsID tags: - NotificationEndpoints summary: Delete a label from a notification endpoint parameters: - $ref: '#/components/parameters/TraceSpan' - in: path name: endpointID schema: type: string required: true description: The notification endpoint ID. - in: path name: labelID schema: type: string required: true description: The ID of the label to delete. responses: '204': description: Delete has been accepted '404': description: Endpoint or label not found content: application/json: schema: $ref: '#/components/schemas/Error' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' components: schemas: NotificationEndpointType: type: string enum: - slack - pagerduty - http - telegram PostNotificationEndpoint: allOf: - $ref: '#/components/schemas/NotificationEndpointDiscriminator' SlackNotificationEndpoint: type: object allOf: - $ref: '#/components/schemas/NotificationEndpointBase' - type: object properties: url: description: Specifies the URL of the Slack endpoint. Specify either `URL` or `Token`. type: string token: description: Specifies the API token string. Specify either `URL` or `Token`. type: string Link: type: string format: uri readOnly: true description: URI of resource. NotificationEndpointUpdate: type: object properties: name: type: string description: type: string status: type: string enum: - active - inactive 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 NotificationEndpoints: properties: notificationEndpoints: type: array items: $ref: '#/components/schemas/NotificationEndpoint' links: $ref: '#/components/schemas/Links' PagerDutyNotificationEndpoint: type: object allOf: - $ref: '#/components/schemas/NotificationEndpointBase' - type: object required: - routingKey properties: clientURL: type: string routingKey: type: string TelegramNotificationEndpoint: type: object allOf: - $ref: '#/components/schemas/NotificationEndpointBase' - type: object required: - token - channel properties: token: description: Specifies the Telegram bot token. See https://core.telegram.org/bots#creating-a-new-bot . type: string channel: description: The ID of the telegram channel; a chat_id in https://core.telegram.org/bots/api#sendmessage . type: string 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 NotificationEndpointBase: type: object required: - type - name properties: id: type: string orgID: type: string userID: type: string createdAt: type: string format: date-time readOnly: true updatedAt: type: string format: date-time readOnly: true description: description: An optional description of the notification endpoint. type: string name: type: string status: description: The status of the endpoint. default: active type: string enum: - active - inactive labels: $ref: '#/components/schemas/Labels' links: type: object readOnly: true example: self: /api/v2/notificationEndpoints/1 labels: /api/v2/notificationEndpoints/1/labels members: /api/v2/notificationEndpoints/1/members owners: /api/v2/notificationEndpoints/1/owners properties: self: description: The URL for this endpoint. $ref: '#/components/schemas/Link' labels: description: The URL to retrieve labels for this endpoint. $ref: '#/components/schemas/Link' members: description: The URL to retrieve members for this endpoint. $ref: '#/components/schemas/Link' owners: description: The URL to retrieve owners for this endpoint. $ref: '#/components/schemas/Link' type: $ref: '#/components/schemas/NotificationEndpointType' Labels: type: array items: $ref: '#/components/schemas/Label' NotificationEndpointDiscriminator: oneOf: - $ref: '#/components/schemas/SlackNotificationEndpoint' - $ref: '#/components/schemas/PagerDutyNotificationEndpoint' - $ref: '#/components/schemas/HTTPNotificationEndpoint' - $ref: '#/components/schemas/TelegramNotificationEndpoint' discriminator: propertyName: type mapping: slack: '#/components/schemas/SlackNotificationEndpoint' pagerduty: '#/components/schemas/PagerDutyNotificationEndpoint' http: '#/components/schemas/HTTPNotificationEndpoint' telegram: '#/components/schemas/TelegramNotificationEndpoint' LabelsResponse: type: object properties: labels: $ref: '#/components/schemas/Labels' links: $ref: '#/components/schemas/Links' HTTPNotificationEndpoint: type: object allOf: - $ref: '#/components/schemas/NotificationEndpointBase' - type: object required: - url - authMethod - method properties: url: type: string username: type: string password: type: string token: type: string method: type: string enum: - POST - GET - PUT authMethod: type: string enum: - none - basic - bearer contentTemplate: type: string headers: type: object description: Customized headers. additionalProperties: type: string LabelResponse: type: object properties: label: $ref: '#/components/schemas/Label' links: $ref: '#/components/schemas/Links' NotificationEndpoint: allOf: - $ref: '#/components/schemas/NotificationEndpointDiscriminator' 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: Limit: in: query name: limit required: false description: 'Limits the number of records returned. Default is `20`. ' schema: type: integer minimum: 1 maximum: 100 default: 20 Offset: in: query name: offset required: false 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). ' schema: type: integer minimum: 0 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: []