Create an Elastic Cloud integration account

Note: This endpoint is in preview and is subject to change. If you have any feedback, contact Datadog support.

POST https://api.ap1.datadoghq.com/api/v2/integration-interfaces/elastic-cloud/accountshttps://api.ap2.datadoghq.com/api/v2/integration-interfaces/elastic-cloud/accountshttps://api.datadoghq.eu/api/v2/integration-interfaces/elastic-cloud/accountshttps://api.ddog-gov.com/api/v2/integration-interfaces/elastic-cloud/accountshttps://api.us2.ddog-gov.com/api/v2/integration-interfaces/elastic-cloud/accountshttps://api.uk1.datadoghq.com/api/v2/integration-interfaces/elastic-cloud/accountshttps://api.datadoghq.com/api/v2/integration-interfaces/elastic-cloud/accountshttps://api.us3.datadoghq.com/api/v2/integration-interfaces/elastic-cloud/accountshttps://api.us5.datadoghq.com/api/v2/integration-interfaces/elastic-cloud/accounts

Overview

Create an Elastic Cloud integration account. This endpoint requires the manage_integrations permission.

Request

Body Data (required)

Expand All

Field

Type

Description

data [required]

object

Data envelope for creating an Elastic Cloud integration account.

attributes [required]

object

Writable attributes used to create an Elastic Cloud integration account.

authentication [required]

 <oneOf>

Authentication for creating the Elastic Cloud integration account. Exactly one method is set.

<auth_type=basic>

object

Username and password authentication.

auth_type [required]

enum

The authentication method type. Allowed enum values: basic

default: basic

password [required]

string

Secret password or private key.

username [required]

string

Non-secret username or public identifier for the credential pair.

dataflows

object

Data Datadog collects from Elastic Cloud, keyed by dataflow id. Node-level cluster statistics are always collected; each dataflow here adds a further set of metrics on top of that baseline, so set enabled to start or stop it. Defaults listed on each dataflow apply when the account is created; on update, omitted fields keep their current values. Every dataflow queries the deployment as the user in authentication, so that user's role must hold the required Elasticsearch privileges; a dataflow enabled without them is stored but collects no data.

elastic-cloud-detailed-index-stats

object

Primary shard metrics broken down per index, rather than aggregated across the cluster.

enabled

boolean

Whether Datadog collects this data. Defaults to false; set to true to start collection.

elastic-cloud-index-stats

object

Metrics for individual indices. Only the indices granted to the role of the user in authentication are collected.

enabled

boolean

Whether Datadog collects this data. Defaults to false; set to true to start collection.

elastic-cloud-pending-task-stats

object

Metrics for cluster-level changes that have been submitted but not yet executed.

enabled

boolean

Whether Datadog collects this data. Defaults to false; set to true to start collection.

elastic-cloud-primary-shard-graceful-timeout

object

Tolerance for slow primary shard requests. Primary shard metrics can grow large enough for the request to time out; enabling this keeps the rest of the collection running when that happens instead of failing the run. Only has an effect alongside elastic-cloud-primary-shard-stats.

enabled

boolean

Whether this tolerance is applied. Defaults to false; set to true to apply it.

elastic-cloud-primary-shard-stats

object

Metrics covering only the cluster's primary shards.

enabled

boolean

Whether Datadog collects this data. Defaults to false; set to true to start collection.

elastic-cloud-shard-allocation-stats

object

Metrics for how many shards are allocated to each data node, and the disk space they use.

enabled

boolean

Whether Datadog collects this data. Defaults to false; set to true to start collection.

elastic-cloud-slm-stats

object

Metrics about the actions taken by snapshot lifecycle management. Requires the read_slm Elasticsearch cluster privilege on the role of the user in authentication; without it this dataflow collects no data.

enabled

boolean

Whether Datadog collects this data. Defaults to false; set to true to start collection.

name [required]

string

Human-readable name of the Elastic Cloud integration account.

settings [required]

object

Settings for creating the Elastic Cloud integration account.

tags

string

Comma-separated list of custom tags for this Elastic Cloud deployment.

url [required]

string

Elastic Cloud deployment URL.

type [required]

enum

The type of the integration account resource. Always integration-account. Allowed enum values: integration-account

default: integration-account

{
  "data": {
    "attributes": {
      "authentication": {
        "auth_type": "basic",
        "password": "your-password",
        "username": "datadog"
      },
      "dataflows": {
        "elastic-cloud-detailed-index-stats": {
          "enabled": true
        },
        "elastic-cloud-index-stats": {
          "enabled": true
        },
        "elastic-cloud-pending-task-stats": {
          "enabled": true
        },
        "elastic-cloud-primary-shard-graceful-timeout": {
          "enabled": true
        },
        "elastic-cloud-primary-shard-stats": {
          "enabled": true
        },
        "elastic-cloud-shard-allocation-stats": {
          "enabled": true
        },
        "elastic-cloud-slm-stats": {
          "enabled": true
        }
      },
      "name": "elastic-cloud-prod",
      "settings": {
        "tags": "env:prod,team:saasint",
        "url": "https://example.es.us-central1.gcp.cloud.es.io:9243"
      }
    },
    "type": "integration-account"
  }
}

Response

Created

Response payload for a single Elastic Cloud integration account.

Expand All

Field

Type

Description

data [required]

object

Data envelope of an Elastic Cloud integration account, including server-assigned identity.

attributes [required]

object

Attributes of an Elastic Cloud integration account returned in responses.

authentication

 <oneOf>

Authentication configured on the Elastic Cloud integration account.

<auth_type=basic>

object

The basic authentication method and username configured on the account.

auth_type [required]

enum

The authentication method type. Allowed enum values: basic

default: basic

username [required]

string

Non-secret username or public identifier for the credential pair.

dataflows

object

Data Datadog collects from Elastic Cloud, keyed by dataflow id.

elastic-cloud-detailed-index-stats

object

Primary shard metrics broken down per index, rather than aggregated across the cluster.

enabled

boolean

Whether Datadog collects this data.

status

object

Read-only collection status of a dataflow.

health

enum

Collection health of a single dataflow. Allowed enum values: DATAFLOW_HEALTH_OK,DATAFLOW_HEALTH_BROKEN,DATAFLOW_HEALTH_UNKNOWN

message

string

Human-readable detail, populated when the dataflow is not healthy.

updated_at

date-time

Time the status was last computed.

elastic-cloud-index-stats

object

Metrics for individual indices. Only the indices granted to the role of the user in authentication are collected.

enabled

boolean

Whether Datadog collects this data.

status

object

Read-only collection status of a dataflow.

health

enum

Collection health of a single dataflow. Allowed enum values: DATAFLOW_HEALTH_OK,DATAFLOW_HEALTH_BROKEN,DATAFLOW_HEALTH_UNKNOWN

message

string

Human-readable detail, populated when the dataflow is not healthy.

updated_at

date-time

Time the status was last computed.

elastic-cloud-metrics

object

Node-level statistics for the clusters in your deployment, such as the number of nodes and the number of documents on each node. This is the integration's baseline collection: it is always on and cannot be turned off, which is why it appears in responses only.

enabled

boolean

Whether Datadog collects this data. Always true, because this collection cannot be turned off.

status

object

Read-only collection status of a dataflow.

health

enum

Collection health of a single dataflow. Allowed enum values: DATAFLOW_HEALTH_OK,DATAFLOW_HEALTH_BROKEN,DATAFLOW_HEALTH_UNKNOWN

message

string

Human-readable detail, populated when the dataflow is not healthy.

updated_at

date-time

Time the status was last computed.

elastic-cloud-pending-task-stats

object

Metrics for cluster-level changes that have been submitted but not yet executed.

enabled

boolean

Whether Datadog collects this data.

status

object

Read-only collection status of a dataflow.

health

enum

Collection health of a single dataflow. Allowed enum values: DATAFLOW_HEALTH_OK,DATAFLOW_HEALTH_BROKEN,DATAFLOW_HEALTH_UNKNOWN

message

string

Human-readable detail, populated when the dataflow is not healthy.

updated_at

date-time

Time the status was last computed.

elastic-cloud-primary-shard-graceful-timeout

object

Tolerance for slow primary shard requests, keeping the rest of the collection running when a primary shard request times out instead of failing the run. Only has an effect alongside elastic-cloud-primary-shard-stats.

enabled

boolean

Whether this tolerance is applied.

status

object

Read-only collection status of a dataflow.

health

enum

Collection health of a single dataflow. Allowed enum values: DATAFLOW_HEALTH_OK,DATAFLOW_HEALTH_BROKEN,DATAFLOW_HEALTH_UNKNOWN

message

string

Human-readable detail, populated when the dataflow is not healthy.

updated_at

date-time

Time the status was last computed.

elastic-cloud-primary-shard-stats

object

Metrics covering only the cluster's primary shards.

enabled

boolean

Whether Datadog collects this data.

status

object

Read-only collection status of a dataflow.

health

enum

Collection health of a single dataflow. Allowed enum values: DATAFLOW_HEALTH_OK,DATAFLOW_HEALTH_BROKEN,DATAFLOW_HEALTH_UNKNOWN

message

string

Human-readable detail, populated when the dataflow is not healthy.

updated_at

date-time

Time the status was last computed.

elastic-cloud-shard-allocation-stats

object

Metrics for how many shards are allocated to each data node, and the disk space they use.

enabled

boolean

Whether Datadog collects this data.

status

object

Read-only collection status of a dataflow.

health

enum

Collection health of a single dataflow. Allowed enum values: DATAFLOW_HEALTH_OK,DATAFLOW_HEALTH_BROKEN,DATAFLOW_HEALTH_UNKNOWN

message

string

Human-readable detail, populated when the dataflow is not healthy.

updated_at

date-time

Time the status was last computed.

elastic-cloud-slm-stats

object

Metrics about the actions taken by snapshot lifecycle management. Requires the read_slm Elasticsearch cluster privilege on the role of the user in authentication; without it this dataflow collects no data.

enabled

boolean

Whether Datadog collects this data.

status

object

Read-only collection status of a dataflow.

health

enum

Collection health of a single dataflow. Allowed enum values: DATAFLOW_HEALTH_OK,DATAFLOW_HEALTH_BROKEN,DATAFLOW_HEALTH_UNKNOWN

message

string

Human-readable detail, populated when the dataflow is not healthy.

updated_at

date-time

Time the status was last computed.

name [required]

string

Human-readable name of the Elastic Cloud integration account.

settings [required]

object

Settings configured on the Elastic Cloud integration account.

tags

string

Comma-separated list of custom tags for this Elastic Cloud deployment.

url [required]

string

Elastic Cloud deployment URL.

id [required]

string

Server-generated unique identifier of the Elastic Cloud integration account.

type [required]

enum

The type of the integration account resource. Always integration-account. Allowed enum values: integration-account

default: integration-account

{
  "data": {
    "attributes": {
      "authentication": {
        "auth_type": "basic",
        "username": "datadog"
      },
      "dataflows": {
        "elastic-cloud-detailed-index-stats": {
          "enabled": true,
          "status": {
            "health": "DATAFLOW_HEALTH_OK",
            "message": "",
            "updated_at": "2026-06-25T08:30:50Z"
          }
        },
        "elastic-cloud-index-stats": {
          "enabled": true,
          "status": {
            "health": "DATAFLOW_HEALTH_OK",
            "message": "",
            "updated_at": "2026-06-25T08:30:50Z"
          }
        },
        "elastic-cloud-metrics": {
          "enabled": true,
          "status": {
            "health": "DATAFLOW_HEALTH_OK",
            "message": "",
            "updated_at": "2026-06-25T08:30:50Z"
          }
        },
        "elastic-cloud-pending-task-stats": {
          "enabled": true,
          "status": {
            "health": "DATAFLOW_HEALTH_OK",
            "message": "",
            "updated_at": "2026-06-25T08:30:50Z"
          }
        },
        "elastic-cloud-primary-shard-graceful-timeout": {
          "enabled": true,
          "status": {
            "health": "DATAFLOW_HEALTH_OK",
            "message": "",
            "updated_at": "2026-06-25T08:30:50Z"
          }
        },
        "elastic-cloud-primary-shard-stats": {
          "enabled": true,
          "status": {
            "health": "DATAFLOW_HEALTH_OK",
            "message": "",
            "updated_at": "2026-06-25T08:30:50Z"
          }
        },
        "elastic-cloud-shard-allocation-stats": {
          "enabled": true,
          "status": {
            "health": "DATAFLOW_HEALTH_OK",
            "message": "",
            "updated_at": "2026-06-25T08:30:50Z"
          }
        },
        "elastic-cloud-slm-stats": {
          "enabled": true,
          "status": {
            "health": "DATAFLOW_HEALTH_OK",
            "message": "",
            "updated_at": "2026-06-25T08:30:50Z"
          }
        }
      },
      "name": "elastic-cloud-prod",
      "settings": {
        "tags": "env:prod,team:saasint",
        "url": "https://example.es.us-central1.gcp.cloud.es.io:9243"
      }
    },
    "id": "953a0060-81ec-4221-aed4-d4733b59cd96",
    "type": "integration-account"
  }
}

Bad Request

API error response.

Expand All

Field

Type

Description

errors [required]

[string]

A list of errors.

{
  "errors": [
    "Bad Request"
  ]
}

Forbidden

API error response.

Expand All

Field

Type

Description

errors [required]

[string]

A list of errors.

{
  "errors": [
    "Bad Request"
  ]
}

Not Found

API error response.

Expand All

Field

Type

Description

errors [required]

[string]

A list of errors.

{
  "errors": [
    "Bad Request"
  ]
}

The server cannot process the request because it contains invalid data.

API error response.

Expand All

Field

Type

Description

errors [required]

[object]

A list of errors.

detail

string

A human-readable explanation specific to this occurrence of the error.

meta

object

Non-standard meta-information about the error

source

object

References to the source of the error.

header

string

A string indicating the name of a single request header which caused the error.

parameter

string

A string indicating which URI query parameter caused the error.

pointer

string

A JSON pointer to the value in the request document that caused the error.

status

string

Status code of the response.

title

string

Short human-readable summary of the error.

{
  "errors": [
    {
      "detail": "Missing required attribute in body",
      "meta": {},
      "source": {
        "header": "Authorization",
        "parameter": "limit",
        "pointer": "/data/attributes/title"
      },
      "status": "400",
      "title": "Bad Request"
    }
  ]
}

Too many requests

API error response.

Expand All

Field

Type

Description

errors [required]

[string]

A list of errors.

{
  "errors": [
    "Bad Request"
  ]
}

Code Example

                  # Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"

# Curl command
curl -X POST "https://api.ap1.datadoghq.com"https://api.ap2.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.us2.ddog-gov.com"https://api.uk1.datadoghq.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v2/integration-interfaces/elastic-cloud/accounts" \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer ${DD_BEARER_TOKEN}" \ -d @- << EOF { "data": { "attributes": { "authentication": {}, "name": "elastic-cloud-prod", "settings": { "url": "https://example.es.us-central1.gcp.cloud.es.io:9243" } }, "type": "integration-account" } } EOF
"""
Create an Elastic Cloud integration account returns "Created" response
"""

from os import environ
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.elastic_cloud_integration_api import ElasticCloudIntegrationApi
from datadog_api_client.v2.model.elastic_cloud_detailed_index_stats_integration_dataflow_request import (
    ElasticCloudDetailedIndexStatsIntegrationDataflowRequest,
)
from datadog_api_client.v2.model.elastic_cloud_index_stats_integration_dataflow_request import (
    ElasticCloudIndexStatsIntegrationDataflowRequest,
)
from datadog_api_client.v2.model.elastic_cloud_integration_account_basic_auth_request import (
    ElasticCloudIntegrationAccountBasicAuthRequest,
)
from datadog_api_client.v2.model.elastic_cloud_integration_account_basic_auth_type import (
    ElasticCloudIntegrationAccountBasicAuthType,
)
from datadog_api_client.v2.model.elastic_cloud_integration_account_create_attributes import (
    ElasticCloudIntegrationAccountCreateAttributes,
)
from datadog_api_client.v2.model.elastic_cloud_integration_account_create_data import (
    ElasticCloudIntegrationAccountCreateData,
)
from datadog_api_client.v2.model.elastic_cloud_integration_account_create_request import (
    ElasticCloudIntegrationAccountCreateRequest,
)
from datadog_api_client.v2.model.elastic_cloud_integration_account_settings_request import (
    ElasticCloudIntegrationAccountSettingsRequest,
)
from datadog_api_client.v2.model.elastic_cloud_integration_dataflows_request import (
    ElasticCloudIntegrationDataflowsRequest,
)
from datadog_api_client.v2.model.elastic_cloud_pending_task_stats_integration_dataflow_request import (
    ElasticCloudPendingTaskStatsIntegrationDataflowRequest,
)
from datadog_api_client.v2.model.elastic_cloud_primary_shard_graceful_timeout_integration_dataflow_request import (
    ElasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowRequest,
)
from datadog_api_client.v2.model.elastic_cloud_primary_shard_stats_integration_dataflow_request import (
    ElasticCloudPrimaryShardStatsIntegrationDataflowRequest,
)
from datadog_api_client.v2.model.elastic_cloud_shard_allocation_stats_integration_dataflow_request import (
    ElasticCloudShardAllocationStatsIntegrationDataflowRequest,
)
from datadog_api_client.v2.model.elastic_cloud_slm_stats_integration_dataflow_request import (
    ElasticCloudSlmStatsIntegrationDataflowRequest,
)
from datadog_api_client.v2.model.integration_account_type import IntegrationAccountType

body = ElasticCloudIntegrationAccountCreateRequest(
    data=ElasticCloudIntegrationAccountCreateData(
        attributes=ElasticCloudIntegrationAccountCreateAttributes(
            authentication=ElasticCloudIntegrationAccountBasicAuthRequest(
                auth_type=ElasticCloudIntegrationAccountBasicAuthType.BASIC,
                password="your-password",
                username="datadog",
            ),
            dataflows=ElasticCloudIntegrationDataflowsRequest(
                elastic_cloud_detailed_index_stats=ElasticCloudDetailedIndexStatsIntegrationDataflowRequest(
                    enabled=True,
                ),
                elastic_cloud_index_stats=ElasticCloudIndexStatsIntegrationDataflowRequest(
                    enabled=True,
                ),
                elastic_cloud_pending_task_stats=ElasticCloudPendingTaskStatsIntegrationDataflowRequest(
                    enabled=True,
                ),
                elastic_cloud_primary_shard_graceful_timeout=ElasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowRequest(
                    enabled=True,
                ),
                elastic_cloud_primary_shard_stats=ElasticCloudPrimaryShardStatsIntegrationDataflowRequest(
                    enabled=True,
                ),
                elastic_cloud_shard_allocation_stats=ElasticCloudShardAllocationStatsIntegrationDataflowRequest(
                    enabled=True,
                ),
                elastic_cloud_slm_stats=ElasticCloudSlmStatsIntegrationDataflowRequest(
                    enabled=True,
                ),
            ),
            name="elastic-cloud-prod",
            settings=ElasticCloudIntegrationAccountSettingsRequest(
                tags="env:prod,team:saasint",
                url="https://example.es.us-central1.gcp.cloud.es.io:9243",
            ),
        ),
        type=IntegrationAccountType.INTEGRATION_ACCOUNT,
    ),
)

configuration = Configuration()
configuration.access_token = environ["DD_BEARER_TOKEN"]
configuration.unstable_operations["create_elastic_cloud_integration_account"] = True
with ApiClient(configuration) as api_client:
    api_instance = ElasticCloudIntegrationApi(api_client)
    response = api_instance.create_elastic_cloud_integration_account(body=body)

    print(response)

Instructions

First install the library and its dependencies and then save the example to example.py and run following commands:

    
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comuk1.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"
# Create an Elastic Cloud integration account returns "Created" response

require "datadog_api_client"
DatadogAPIClient.configure do |config|
  config.access_token = ENV["DD_BEARER_TOKEN"]
  config.unstable_operations["v2.create_elastic_cloud_integration_account".to_sym] = true
end
api_instance = DatadogAPIClient::V2::ElasticCloudIntegrationAPI.new

body = DatadogAPIClient::V2::ElasticCloudIntegrationAccountCreateRequest.new({
  data: DatadogAPIClient::V2::ElasticCloudIntegrationAccountCreateData.new({
    attributes: DatadogAPIClient::V2::ElasticCloudIntegrationAccountCreateAttributes.new({
      authentication: DatadogAPIClient::V2::ElasticCloudIntegrationAccountBasicAuthRequest.new({
        auth_type: DatadogAPIClient::V2::ElasticCloudIntegrationAccountBasicAuthType::BASIC,
        password: "your-password",
        username: "datadog",
      }),
      dataflows: DatadogAPIClient::V2::ElasticCloudIntegrationDataflowsRequest.new({
        elastic_cloud_detailed_index_stats: DatadogAPIClient::V2::ElasticCloudDetailedIndexStatsIntegrationDataflowRequest.new({
          enabled: true,
        }),
        elastic_cloud_index_stats: DatadogAPIClient::V2::ElasticCloudIndexStatsIntegrationDataflowRequest.new({
          enabled: true,
        }),
        elastic_cloud_pending_task_stats: DatadogAPIClient::V2::ElasticCloudPendingTaskStatsIntegrationDataflowRequest.new({
          enabled: true,
        }),
        elastic_cloud_primary_shard_graceful_timeout: DatadogAPIClient::V2::ElasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowRequest.new({
          enabled: true,
        }),
        elastic_cloud_primary_shard_stats: DatadogAPIClient::V2::ElasticCloudPrimaryShardStatsIntegrationDataflowRequest.new({
          enabled: true,
        }),
        elastic_cloud_shard_allocation_stats: DatadogAPIClient::V2::ElasticCloudShardAllocationStatsIntegrationDataflowRequest.new({
          enabled: true,
        }),
        elastic_cloud_slm_stats: DatadogAPIClient::V2::ElasticCloudSlmStatsIntegrationDataflowRequest.new({
          enabled: true,
        }),
      }),
      name: "elastic-cloud-prod",
      settings: DatadogAPIClient::V2::ElasticCloudIntegrationAccountSettingsRequest.new({
        tags: "env:prod,team:saasint",
        url: "https://example.es.us-central1.gcp.cloud.es.io:9243",
      }),
    }),
    type: DatadogAPIClient::V2::IntegrationAccountType::INTEGRATION_ACCOUNT,
  }),
})
p api_instance.create_elastic_cloud_integration_account(body)

Instructions

First install the library and its dependencies and then save the example to example.rb and run following commands:

    
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comuk1.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"
// Create an Elastic Cloud integration account returns "Created" response

package main

import (
	"context"
	"encoding/json"
	"fmt"
	"os"

	"github.com/DataDog/datadog-api-client-go/v2/api/datadog"
	"github.com/DataDog/datadog-api-client-go/v2/api/datadogV2"
)

func main() {
	body := datadogV2.ElasticCloudIntegrationAccountCreateRequest{
		Data: datadogV2.ElasticCloudIntegrationAccountCreateData{
			Attributes: datadogV2.ElasticCloudIntegrationAccountCreateAttributes{
				Authentication: datadogV2.ElasticCloudIntegrationAccountAuthenticationRequest{
					ElasticCloudIntegrationAccountBasicAuthRequest: &datadogV2.ElasticCloudIntegrationAccountBasicAuthRequest{
						AuthType: datadogV2.ELASTICCLOUDINTEGRATIONACCOUNTBASICAUTHTYPE_BASIC,
						Password: "your-password",
						Username: "datadog",
					}},
				Dataflows: &datadogV2.ElasticCloudIntegrationDataflowsRequest{
					ElasticCloudDetailedIndexStats: &datadogV2.ElasticCloudDetailedIndexStatsIntegrationDataflowRequest{
						Enabled: datadog.PtrBool(true),
					},
					ElasticCloudIndexStats: &datadogV2.ElasticCloudIndexStatsIntegrationDataflowRequest{
						Enabled: datadog.PtrBool(true),
					},
					ElasticCloudPendingTaskStats: &datadogV2.ElasticCloudPendingTaskStatsIntegrationDataflowRequest{
						Enabled: datadog.PtrBool(true),
					},
					ElasticCloudPrimaryShardGracefulTimeout: &datadogV2.ElasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowRequest{
						Enabled: datadog.PtrBool(true),
					},
					ElasticCloudPrimaryShardStats: &datadogV2.ElasticCloudPrimaryShardStatsIntegrationDataflowRequest{
						Enabled: datadog.PtrBool(true),
					},
					ElasticCloudShardAllocationStats: &datadogV2.ElasticCloudShardAllocationStatsIntegrationDataflowRequest{
						Enabled: datadog.PtrBool(true),
					},
					ElasticCloudSlmStats: &datadogV2.ElasticCloudSlmStatsIntegrationDataflowRequest{
						Enabled: datadog.PtrBool(true),
					},
				},
				Name: "elastic-cloud-prod",
				Settings: datadogV2.ElasticCloudIntegrationAccountSettingsRequest{
					Tags: datadog.PtrString("env:prod,team:saasint"),
					Url:  "https://example.es.us-central1.gcp.cloud.es.io:9243",
				},
			},
			Type: datadogV2.INTEGRATIONACCOUNTTYPE_INTEGRATION_ACCOUNT,
		},
	}
	ctx := datadog.NewDefaultContext(context.Background())
	ctx = context.WithValue(ctx, datadog.ContextAccessToken, os.Getenv("DD_BEARER_TOKEN"))
	configuration := datadog.NewConfiguration()
	configuration.SetUnstableOperationEnabled("v2.CreateElasticCloudIntegrationAccount", true)
	apiClient := datadog.NewAPIClient(configuration)
	api := datadogV2.NewElasticCloudIntegrationApi(apiClient)
	resp, r, err := api.CreateElasticCloudIntegrationAccount(ctx, body)

	if err != nil {
		fmt.Fprintf(os.Stderr, "Error when calling `ElasticCloudIntegrationApi.CreateElasticCloudIntegrationAccount`: %v\n", err)
		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
	}

	responseContent, _ := json.MarshalIndent(resp, "", "  ")
	fmt.Fprintf(os.Stdout, "Response from `ElasticCloudIntegrationApi.CreateElasticCloudIntegrationAccount`:\n%s\n", responseContent)
}

Instructions

First install the library and its dependencies and then save the example to main.go and run following commands:

    
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comuk1.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"
// Create an Elastic Cloud integration account returns "Created" response

import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.ElasticCloudIntegrationApi;
import com.datadog.api.client.v2.model.ElasticCloudDetailedIndexStatsIntegrationDataflowRequest;
import com.datadog.api.client.v2.model.ElasticCloudIndexStatsIntegrationDataflowRequest;
import com.datadog.api.client.v2.model.ElasticCloudIntegrationAccountAuthenticationRequest;
import com.datadog.api.client.v2.model.ElasticCloudIntegrationAccountBasicAuthRequest;
import com.datadog.api.client.v2.model.ElasticCloudIntegrationAccountBasicAuthType;
import com.datadog.api.client.v2.model.ElasticCloudIntegrationAccountCreateAttributes;
import com.datadog.api.client.v2.model.ElasticCloudIntegrationAccountCreateData;
import com.datadog.api.client.v2.model.ElasticCloudIntegrationAccountCreateRequest;
import com.datadog.api.client.v2.model.ElasticCloudIntegrationAccountResponse;
import com.datadog.api.client.v2.model.ElasticCloudIntegrationAccountSettingsRequest;
import com.datadog.api.client.v2.model.ElasticCloudIntegrationDataflowsRequest;
import com.datadog.api.client.v2.model.ElasticCloudPendingTaskStatsIntegrationDataflowRequest;
import com.datadog.api.client.v2.model.ElasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowRequest;
import com.datadog.api.client.v2.model.ElasticCloudPrimaryShardStatsIntegrationDataflowRequest;
import com.datadog.api.client.v2.model.ElasticCloudShardAllocationStatsIntegrationDataflowRequest;
import com.datadog.api.client.v2.model.ElasticCloudSlmStatsIntegrationDataflowRequest;
import com.datadog.api.client.v2.model.IntegrationAccountType;

public class Example {
  public static void main(String[] args) {
    ApiClient defaultClient = ApiClient.getDefaultApiClient();
    defaultClient.setAccessToken(System.getenv("DD_BEARER_TOKEN"));
    defaultClient.setUnstableOperationEnabled("v2.createElasticCloudIntegrationAccount", true);
    ElasticCloudIntegrationApi apiInstance = new ElasticCloudIntegrationApi(defaultClient);

    ElasticCloudIntegrationAccountCreateRequest body =
        new ElasticCloudIntegrationAccountCreateRequest()
            .data(
                new ElasticCloudIntegrationAccountCreateData()
                    .attributes(
                        new ElasticCloudIntegrationAccountCreateAttributes()
                            .authentication(
                                new ElasticCloudIntegrationAccountAuthenticationRequest(
                                    new ElasticCloudIntegrationAccountBasicAuthRequest()
                                        .authType(ElasticCloudIntegrationAccountBasicAuthType.BASIC)
                                        .password("your-password")
                                        .username("datadog")))
                            .dataflows(
                                new ElasticCloudIntegrationDataflowsRequest()
                                    .elasticCloudDetailedIndexStats(
                                        new ElasticCloudDetailedIndexStatsIntegrationDataflowRequest()
                                            .enabled(true))
                                    .elasticCloudIndexStats(
                                        new ElasticCloudIndexStatsIntegrationDataflowRequest()
                                            .enabled(true))
                                    .elasticCloudPendingTaskStats(
                                        new ElasticCloudPendingTaskStatsIntegrationDataflowRequest()
                                            .enabled(true))
                                    .elasticCloudPrimaryShardGracefulTimeout(
                                        new ElasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowRequest()
                                            .enabled(true))
                                    .elasticCloudPrimaryShardStats(
                                        new ElasticCloudPrimaryShardStatsIntegrationDataflowRequest()
                                            .enabled(true))
                                    .elasticCloudShardAllocationStats(
                                        new ElasticCloudShardAllocationStatsIntegrationDataflowRequest()
                                            .enabled(true))
                                    .elasticCloudSlmStats(
                                        new ElasticCloudSlmStatsIntegrationDataflowRequest()
                                            .enabled(true)))
                            .name("elastic-cloud-prod")
                            .settings(
                                new ElasticCloudIntegrationAccountSettingsRequest()
                                    .tags("env:prod,team:saasint")
                                    .url("https://example.es.us-central1.gcp.cloud.es.io:9243")))
                    .type(IntegrationAccountType.INTEGRATION_ACCOUNT));

    try {
      ElasticCloudIntegrationAccountResponse result =
          apiInstance.createElasticCloudIntegrationAccount(body);
      System.out.println(result);
    } catch (ApiException e) {
      System.err.println(
          "Exception when calling ElasticCloudIntegrationApi#createElasticCloudIntegrationAccount");
      System.err.println("Status code: " + e.getCode());
      System.err.println("Reason: " + e.getResponseBody());
      System.err.println("Response headers: " + e.getResponseHeaders());
      e.printStackTrace();
    }
  }
}

Instructions

First install the library and its dependencies and then save the example to Example.java and run following commands:

    
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comuk1.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"
// Create an Elastic Cloud integration account returns "Created" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_elastic_cloud_integration::ElasticCloudIntegrationAPI;
use datadog_api_client::datadogV2::model::ElasticCloudDetailedIndexStatsIntegrationDataflowRequest;
use datadog_api_client::datadogV2::model::ElasticCloudIndexStatsIntegrationDataflowRequest;
use datadog_api_client::datadogV2::model::ElasticCloudIntegrationAccountAuthenticationRequest;
use datadog_api_client::datadogV2::model::ElasticCloudIntegrationAccountBasicAuthRequest;
use datadog_api_client::datadogV2::model::ElasticCloudIntegrationAccountBasicAuthType;
use datadog_api_client::datadogV2::model::ElasticCloudIntegrationAccountCreateAttributes;
use datadog_api_client::datadogV2::model::ElasticCloudIntegrationAccountCreateData;
use datadog_api_client::datadogV2::model::ElasticCloudIntegrationAccountCreateRequest;
use datadog_api_client::datadogV2::model::ElasticCloudIntegrationAccountSettingsRequest;
use datadog_api_client::datadogV2::model::ElasticCloudIntegrationDataflowsRequest;
use datadog_api_client::datadogV2::model::ElasticCloudPendingTaskStatsIntegrationDataflowRequest;
use datadog_api_client::datadogV2::model::ElasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowRequest;
use datadog_api_client::datadogV2::model::ElasticCloudPrimaryShardStatsIntegrationDataflowRequest;
use datadog_api_client::datadogV2::model::ElasticCloudShardAllocationStatsIntegrationDataflowRequest;
use datadog_api_client::datadogV2::model::ElasticCloudSlmStatsIntegrationDataflowRequest;
use datadog_api_client::datadogV2::model::IntegrationAccountType;

#[tokio::main]
async fn main() {
    let body =
        ElasticCloudIntegrationAccountCreateRequest::new(
            ElasticCloudIntegrationAccountCreateData::new(
                ElasticCloudIntegrationAccountCreateAttributes::new(
                    ElasticCloudIntegrationAccountAuthenticationRequest::ElasticCloudIntegrationAccountBasicAuthRequest(
                        Box::new(
                            ElasticCloudIntegrationAccountBasicAuthRequest::new(
                                ElasticCloudIntegrationAccountBasicAuthType::BASIC,
                                "your-password".to_string(),
                                "datadog".to_string(),
                            ),
                        ),
                    ),
                    "elastic-cloud-prod".to_string(),
                    ElasticCloudIntegrationAccountSettingsRequest::new(
                        "https://example.es.us-central1.gcp.cloud.es.io:9243".to_string(),
                    ).tags("env:prod,team:saasint".to_string()),
                ).dataflows(
                    ElasticCloudIntegrationDataflowsRequest::new()
                        .elastic_cloud_detailed_index_stats(
                            ElasticCloudDetailedIndexStatsIntegrationDataflowRequest::new().enabled(true),
                        )
                        .elastic_cloud_index_stats(
                            ElasticCloudIndexStatsIntegrationDataflowRequest::new().enabled(true),
                        )
                        .elastic_cloud_pending_task_stats(
                            ElasticCloudPendingTaskStatsIntegrationDataflowRequest::new().enabled(true),
                        )
                        .elastic_cloud_primary_shard_graceful_timeout(
                            ElasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowRequest::new().enabled(true),
                        )
                        .elastic_cloud_primary_shard_stats(
                            ElasticCloudPrimaryShardStatsIntegrationDataflowRequest::new().enabled(true),
                        )
                        .elastic_cloud_shard_allocation_stats(
                            ElasticCloudShardAllocationStatsIntegrationDataflowRequest::new().enabled(true),
                        )
                        .elastic_cloud_slm_stats(ElasticCloudSlmStatsIntegrationDataflowRequest::new().enabled(true)),
                ),
                IntegrationAccountType::INTEGRATION_ACCOUNT,
            ),
        );
    let mut configuration = datadog::Configuration::new();
    configuration.set_unstable_operation_enabled("v2.CreateElasticCloudIntegrationAccount", true);
    let api = ElasticCloudIntegrationAPI::with_config(configuration);
    let resp = api.create_elastic_cloud_integration_account(body).await;
    if let Ok(value) = resp {
        println!("{:#?}", value);
    } else {
        println!("{:#?}", resp.unwrap_err());
    }
}

Instructions

First install the library and its dependencies and then save the example to src/main.rs and run following commands:

    
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comuk1.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo run
/**
 * Create an Elastic Cloud integration account returns "Created" response
 */

import { client, v2 } from "@datadog/datadog-api-client";

const configuration = client.createConfiguration({
  authMethods: {
    AuthZ: {
      accessToken: process.env.DD_BEARER_TOKEN as string,
    },
  },
});
configuration.unstableOperations["v2.createElasticCloudIntegrationAccount"] =
  true;
const apiInstance = new v2.ElasticCloudIntegrationApi(configuration);

const params: v2.ElasticCloudIntegrationApiCreateElasticCloudIntegrationAccountRequest =
  {
    body: {
      data: {
        attributes: {
          authentication: {
            authType: "basic",
            password: "your-password",
            username: "datadog",
          },
          dataflows: {
            elasticCloudDetailedIndexStats: {
              enabled: true,
            },
            elasticCloudIndexStats: {
              enabled: true,
            },
            elasticCloudPendingTaskStats: {
              enabled: true,
            },
            elasticCloudPrimaryShardGracefulTimeout: {
              enabled: true,
            },
            elasticCloudPrimaryShardStats: {
              enabled: true,
            },
            elasticCloudShardAllocationStats: {
              enabled: true,
            },
            elasticCloudSlmStats: {
              enabled: true,
            },
          },
          name: "elastic-cloud-prod",
          settings: {
            tags: "env:prod,team:saasint",
            url: "https://example.es.us-central1.gcp.cloud.es.io:9243",
          },
        },
        type: "integration-account",
      },
    },
  };

apiInstance
  .createElasticCloudIntegrationAccount(params)
  .then((data: v2.ElasticCloudIntegrationAccountResponse) => {
    console.log(
      "API called successfully. Returned data: " + JSON.stringify(data)
    );
  })
  .catch((error: any) => console.error(error));

Instructions

First install the library and its dependencies and then save the example to example.ts and run following commands:

    
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comuk1.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"