Create or update HAMR organization connection

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

POST https://api.ap1.datadoghq.com/api/v2/hamrhttps://api.ap2.datadoghq.com/api/v2/hamrhttps://api.datadoghq.eu/api/v2/hamrhttps://api.ddog-gov.com/api/v2/hamrhttps://api.us2.ddog-gov.com/api/v2/hamrhttps://api.datadoghq.com/api/v2/hamrhttps://api.us3.datadoghq.com/api/v2/hamrhttps://api.us5.datadoghq.com/api/v2/hamr

Overview

Create or update the High Availability Multi-Region (HAMR) organization connection. This endpoint allows you to configure the HAMR connection between the authenticated organization and a target organization, including setting the connection status (ONBOARDING, PASSIVE, FAILOVER, ACTIVE, RECOVERY)

Request

Body Data (required)

Expand All

Field

Type

Description

data [required]

object

Data object for a HAMR organization connection request.

attributes [required]

object

Attributes for a HAMR organization connection request.

hamr_status [required]

enum

Status of the HAMR connection:

  • 0: UNSPECIFIED - Connection status not specified
  • 1: ONBOARDING - Initial setup of HAMR connection
  • 2: PASSIVE - Secondary organization in passive standby mode
  • 3: FAILOVER - Liminal status between PASSIVE and ACTIVE
  • 4: ACTIVE - Organization is an active failover
  • 5: RECOVERY - Recovery operation in progress Allowed enum values: 0,1,2,3,4,5

is_primary [required]

boolean

Indicates whether this organization is the primary organization in the HAMR relationship. If true, this is the primary organization. If false, this is the secondary/backup organization.

modified_by [required]

string

Username or identifier of the user who last modified this HAMR connection.

target_org_datacenter [required]

string

Datacenter location of the target organization (e.g., us1, eu1, us5).

target_org_name [required]

string

Name of the target organization in the HAMR relationship.

target_org_uuid [required]

string

UUID of the target organization in the HAMR relationship.

id [required]

string

The organization UUID for this HAMR connection. Must match the authenticated organization's UUID.

type [required]

enum

Type of the HAMR organization connection resource. Allowed enum values: hamr_org_connections

{
  "data": {
    "attributes": {
      "hamr_status": 4,
      "is_primary": true,
      "modified_by": "admin@example.com",
      "target_org_datacenter": "us1",
      "target_org_name": "Production Backup Org",
      "target_org_uuid": "660f9511-f3ac-52e5-b827-557766551111"
    },
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "hamr_org_connections"
  }
}

Response

OK

Response payload for a HAMR organization connection.

Expand All

Field

Type

Description

data [required]

object

Data object for a HAMR organization connection response.

attributes [required]

object

Attributes of a HAMR organization connection response.

hamr_status [required]

enum

Status of the HAMR connection:

  • 0: UNSPECIFIED - Connection status not specified
  • 1: ONBOARDING - Initial setup of HAMR connection
  • 2: PASSIVE - Secondary organization in passive standby mode
  • 3: FAILOVER - Liminal status between PASSIVE and ACTIVE
  • 4: ACTIVE - Organization is an active failover
  • 5: RECOVERY - Recovery operation in progress Allowed enum values: 0,1,2,3,4,5

is_primary [required]

boolean

Indicates whether this organization is the primary organization in the HAMR relationship. If true, this is the primary organization. If false, this is the secondary/backup organization.

modified_at [required]

string

Timestamp of when this HAMR connection was last modified (RFC3339 format).

modified_by [required]

string

Username or identifier of the user who last modified this HAMR connection.

target_org_datacenter [required]

string

Datacenter location of the target organization (e.g., us1, eu1, us5).

target_org_name [required]

string

Name of the target organization in the HAMR relationship.

target_org_uuid [required]

string

UUID of the target organization in the HAMR relationship.

id [required]

string

The organization UUID for this HAMR connection.

type [required]

enum

Type of the HAMR organization connection resource. Allowed enum values: hamr_org_connections

{
  "data": {
    "attributes": {
      "hamr_status": 4,
      "is_primary": true,
      "modified_at": "2026-01-13T17:26:48.830968Z",
      "modified_by": "admin@example.com",
      "target_org_datacenter": "us1",
      "target_org_name": "Production Backup Org",
      "target_org_uuid": "660f9511-f3ac-52e5-b827-557766551111"
    },
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "hamr_org_connections"
  }
}

Bad Request

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"
    }
  ]
}

Forbidden

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"
  ]
}

Internal Server Error

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"
    }
  ]
}

Code Example

                  ## default
# 

# 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.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v2/hamr" \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ -H "DD-API-KEY: ${DD_API_KEY}" \ -H "DD-APPLICATION-KEY: ${DD_APP_KEY}" \ -d @- << EOF { "data": { "attributes": { "hamr_status": 4, "is_primary": true, "modified_by": "admin@example.com", "target_org_datacenter": "us1", "target_org_name": "Production Backup Org", "target_org_uuid": "660f9511-f3ac-52e5-b827-557766551111" }, "id": "550e8400-e29b-41d4-a716-446655440000", "type": "hamr_org_connections" } } EOF
"""
Create or update HAMR organization connection returns "OK" response
"""

from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.high_availability_multi_region_api import HighAvailabilityMultiRegionApi
from datadog_api_client.v2.model.hamr_org_connection_attributes_request import HamrOrgConnectionAttributesRequest
from datadog_api_client.v2.model.hamr_org_connection_data_request import HamrOrgConnectionDataRequest
from datadog_api_client.v2.model.hamr_org_connection_request import HamrOrgConnectionRequest
from datadog_api_client.v2.model.hamr_org_connection_status import HamrOrgConnectionStatus
from datadog_api_client.v2.model.hamr_org_connection_type import HamrOrgConnectionType

body = HamrOrgConnectionRequest(
    data=HamrOrgConnectionDataRequest(
        attributes=HamrOrgConnectionAttributesRequest(
            hamr_status=HamrOrgConnectionStatus.ACTIVE,
            is_primary=True,
            modified_by="admin@example.com",
            target_org_datacenter="us1",
            target_org_name="Production Backup Org",
            target_org_uuid="660f9511-f3ac-52e5-b827-557766551111",
        ),
        id="550e8400-e29b-41d4-a716-446655440000",
        type=HamrOrgConnectionType.HAMR_ORG_CONNECTIONS,
    ),
)

configuration = Configuration()
configuration.unstable_operations["create_hamr_org_connection"] = True
with ApiClient(configuration) as api_client:
    api_instance = HighAvailabilityMultiRegionApi(api_client)
    response = api_instance.create_hamr_org_connection(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.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" python3 "example.py"
# Create or update HAMR organization connection returns "OK" response

require "datadog_api_client"
DatadogAPIClient.configure do |config|
  config.unstable_operations["v2.create_hamr_org_connection".to_sym] = true
end
api_instance = DatadogAPIClient::V2::HighAvailabilityMultiRegionAPI.new

body = DatadogAPIClient::V2::HamrOrgConnectionRequest.new({
  data: DatadogAPIClient::V2::HamrOrgConnectionDataRequest.new({
    attributes: DatadogAPIClient::V2::HamrOrgConnectionAttributesRequest.new({
      hamr_status: DatadogAPIClient::V2::HamrOrgConnectionStatus::ACTIVE,
      is_primary: true,
      modified_by: "admin@example.com",
      target_org_datacenter: "us1",
      target_org_name: "Production Backup Org",
      target_org_uuid: "660f9511-f3ac-52e5-b827-557766551111",
    }),
    id: "550e8400-e29b-41d4-a716-446655440000",
    type: DatadogAPIClient::V2::HamrOrgConnectionType::HAMR_ORG_CONNECTIONS,
  }),
})
p api_instance.create_hamr_org_connection(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.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" rb "example.rb"
// Create or update HAMR organization connection returns "OK" 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.HamrOrgConnectionRequest{
		Data: datadogV2.HamrOrgConnectionDataRequest{
			Attributes: datadogV2.HamrOrgConnectionAttributesRequest{
				HamrStatus:          datadogV2.HAMRORGCONNECTIONSTATUS_ACTIVE,
				IsPrimary:           true,
				ModifiedBy:          "admin@example.com",
				TargetOrgDatacenter: "us1",
				TargetOrgName:       "Production Backup Org",
				TargetOrgUuid:       "660f9511-f3ac-52e5-b827-557766551111",
			},
			Id:   "550e8400-e29b-41d4-a716-446655440000",
			Type: datadogV2.HAMRORGCONNECTIONTYPE_HAMR_ORG_CONNECTIONS,
		},
	}
	ctx := datadog.NewDefaultContext(context.Background())
	configuration := datadog.NewConfiguration()
	configuration.SetUnstableOperationEnabled("v2.CreateHamrOrgConnection", true)
	apiClient := datadog.NewAPIClient(configuration)
	api := datadogV2.NewHighAvailabilityMultiRegionApi(apiClient)
	resp, r, err := api.CreateHamrOrgConnection(ctx, body)

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

	responseContent, _ := json.MarshalIndent(resp, "", "  ")
	fmt.Fprintf(os.Stdout, "Response from `HighAvailabilityMultiRegionApi.CreateHamrOrgConnection`:\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.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" go run "main.go"
// Create or update HAMR organization connection returns "OK" response

import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.HighAvailabilityMultiRegionApi;
import com.datadog.api.client.v2.model.HamrOrgConnectionAttributesRequest;
import com.datadog.api.client.v2.model.HamrOrgConnectionDataRequest;
import com.datadog.api.client.v2.model.HamrOrgConnectionRequest;
import com.datadog.api.client.v2.model.HamrOrgConnectionResponse;
import com.datadog.api.client.v2.model.HamrOrgConnectionStatus;
import com.datadog.api.client.v2.model.HamrOrgConnectionType;

public class Example {
  public static void main(String[] args) {
    ApiClient defaultClient = ApiClient.getDefaultApiClient();
    defaultClient.setUnstableOperationEnabled("v2.createHamrOrgConnection", true);
    HighAvailabilityMultiRegionApi apiInstance = new HighAvailabilityMultiRegionApi(defaultClient);

    HamrOrgConnectionRequest body =
        new HamrOrgConnectionRequest()
            .data(
                new HamrOrgConnectionDataRequest()
                    .attributes(
                        new HamrOrgConnectionAttributesRequest()
                            .hamrStatus(HamrOrgConnectionStatus.ACTIVE)
                            .isPrimary(true)
                            .modifiedBy("admin@example.com")
                            .targetOrgDatacenter("us1")
                            .targetOrgName("Production Backup Org")
                            .targetOrgUuid("660f9511-f3ac-52e5-b827-557766551111"))
                    .id("550e8400-e29b-41d4-a716-446655440000")
                    .type(HamrOrgConnectionType.HAMR_ORG_CONNECTIONS));

    try {
      HamrOrgConnectionResponse result = apiInstance.createHamrOrgConnection(body);
      System.out.println(result);
    } catch (ApiException e) {
      System.err.println(
          "Exception when calling HighAvailabilityMultiRegionApi#createHamrOrgConnection");
      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.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" java "Example.java"
// Create or update HAMR organization connection returns "OK" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_high_availability_multi_region::HighAvailabilityMultiRegionAPI;
use datadog_api_client::datadogV2::model::HamrOrgConnectionAttributesRequest;
use datadog_api_client::datadogV2::model::HamrOrgConnectionDataRequest;
use datadog_api_client::datadogV2::model::HamrOrgConnectionRequest;
use datadog_api_client::datadogV2::model::HamrOrgConnectionStatus;
use datadog_api_client::datadogV2::model::HamrOrgConnectionType;

#[tokio::main]
async fn main() {
    let body = HamrOrgConnectionRequest::new(HamrOrgConnectionDataRequest::new(
        HamrOrgConnectionAttributesRequest::new(
            HamrOrgConnectionStatus::ACTIVE,
            true,
            "admin@example.com".to_string(),
            "us1".to_string(),
            "Production Backup Org".to_string(),
            "660f9511-f3ac-52e5-b827-557766551111".to_string(),
        ),
        "550e8400-e29b-41d4-a716-446655440000".to_string(),
        HamrOrgConnectionType::HAMR_ORG_CONNECTIONS,
    ));
    let mut configuration = datadog::Configuration::new();
    configuration.set_unstable_operation_enabled("v2.CreateHamrOrgConnection", true);
    let api = HighAvailabilityMultiRegionAPI::with_config(configuration);
    let resp = api.create_hamr_org_connection(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.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo run
/**
 * Create or update HAMR organization connection returns "OK" response
 */

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

const configuration = client.createConfiguration();
configuration.unstableOperations["v2.createHamrOrgConnection"] = true;
const apiInstance = new v2.HighAvailabilityMultiRegionApi(configuration);

const params: v2.HighAvailabilityMultiRegionApiCreateHamrOrgConnectionRequest =
  {
    body: {
      data: {
        attributes: {
          hamrStatus: 4,
          isPrimary: true,
          modifiedBy: "admin@example.com",
          targetOrgDatacenter: "us1",
          targetOrgName: "Production Backup Org",
          targetOrgUuid: "660f9511-f3ac-52e5-b827-557766551111",
        },
        id: "550e8400-e29b-41d4-a716-446655440000",
        type: "hamr_org_connections",
      },
    },
  };

apiInstance
  .createHamrOrgConnection(params)
  .then((data: v2.HamrOrgConnectionResponse) => {
    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.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" tsc "example.ts"