Clone a form
https://api.datadoghq.com/api/v2/forms/{form_id}/clonehttps://api.us3.datadoghq.com/api/v2/forms/{form_id}/clonehttps://api.us5.datadoghq.com/api/v2/forms/{form_id}/clonehttps://api.datadoghq.eu/api/v2/forms/{form_id}/clonehttps://api.ap1.datadoghq.com/api/v2/forms/{form_id}/clonehttps://api.ap2.datadoghq.com/api/v2/forms/{form_id}/clonehttps://api.uk1.datadoghq.com/api/v2/forms/{form_id}/clonehttps://api.ddog-gov.com/api/v2/forms/{form_id}/clonehttps://api.us2.ddog-gov.com/api/v2/forms/{form_id}/cloneOverview
Clone an existing form. The clone is created in draft mode using the source form's latest version.
Arguments
Path Parameters
form_id [required]The ID of the form to clone.
Request
Body Data (required)
data [required]The data for cloning a form.
attributesThe attributes for cloning a form.
nameThe name for the cloned form. Defaults to "Copy of (source form name)" if not provided.
type [required]The resource type for a form.
formsforms{
"data": {
"attributes": {
"name": "Copy of My Form"
},
"type": "forms"
}
}Response
OK
A response containing a single form.
data [required]A form resource object.
attributes [required]The attributes of a form.
active [required]Whether the form is currently active.
anonymous [required]Whether the form accepts anonymous submissions.
created_at [required]The time at which the form was created.
datastore_config [required]The datastore configuration for a form.
datastore_id [required]The ID of the datastore.
primary_column_name [required]The name of the primary column in the datastore.
primary_key_generation_strategy [required]The strategy used to generate primary keys in the datastore.
description [required]The description of the form.
end_dateThe date and time at which the form stops accepting responses.
has_submittedWhether the current user has already submitted this form. Only present for forms with single_response set to true.
idp_survey [required]Whether the form is an IDP survey.
modified_at [required]The time at which the form was last modified.
name [required]The name of the form.
org_id [required]The ID of the organization that owns this form.
publicationThe attributes of a form publication.
created_at [required]The time at which the publication was created.
form_id [required]The ID of the form.
form_version [required]The version number that was published.
idThe ID of the form publication.
modified_at [required]The time at which the publication was last modified.
org_id [required]The ID of the organization that owns this publication.
publish_seq [required]The sequential publication number for this form.
user_id [required]The ID of the user who created this publication.
user_uuid [required]The UUID of the user who created this publication.
self_service [required]Whether the form is available in the self-service catalog.
single_response [required]Whether each user can only submit one response.
user_id [required]The ID of the user who created this form.
user_uuid [required]The UUID of the user who created this form.
versionThe attributes of a form version.
created_at [required]The time at which the version was created.
data_definition [required]A JSON Schema definition that describes the form's data fields.
descriptionA description shown to form respondents.
propertiesA map of field names to their JSON Schema definitions.
requiredList of field names that must be answered.
titleThe title of the form schema.
typeThe root schema type.
objectobjectdefinition_signature [required]The signature of the version definition.
etag [required]The ETag for optimistic concurrency control.
idThe ID of the form version.
modified_at [required]The time at which the version was last modified.
state [required]The state of a form version.
draft, frozenui_definition [required]UI configuration for rendering form fields, including widget overrides, field ordering, and themes.
ui:orderThe order in which form fields are displayed.
ui:themeThe visual theme applied to the form.
primaryColorThe primary color of the form theme.
gray, red, orange, yellow, green, light-blue, dark-blue, magenta, indigouser_id [required]The ID of the user who created this version.
user_uuid [required]The UUID of the user who created this version.
version [required]The sequential version number.
id [required]The ID of the form.
type [required]The resource type for a form.
formsforms{
"data": {
"attributes": {
"active": true,
"anonymous": false,
"created_at": "2026-05-29T20:06:13.677353Z",
"datastore_config": {
"datastore_id": "5108ea24-dd83-4696-9caa-f069f73d0fad",
"primary_column_name": "id",
"primary_key_generation_strategy": "none"
},
"description": "A form to collect user feedback.",
"end_date": null,
"has_submitted": false,
"idp_survey": false,
"modified_at": "2026-05-29T20:06:13.677353Z",
"name": "User Feedback Form",
"org_id": 2,
"publication": {
"created_at": "2026-05-29T20:06:13.677353Z",
"form_id": "afc67600-0511-43b1-9b18-578fb4979bd3",
"form_version": 1,
"id": "42",
"modified_at": "2026-05-29T20:06:13.677353Z",
"org_id": 2,
"publish_seq": 1,
"user_id": 10001,
"user_uuid": "1fc709aa-be19-4539-a47d-52a30d78a978"
},
"self_service": false,
"single_response": false,
"user_id": 10001,
"user_uuid": "1fc709aa-be19-4539-a47d-52a30d78a978",
"version": {
"created_at": "2026-05-29T20:06:14.895921Z",
"data_definition": {
"description": "Welcome to the Engineering Experience Survey.",
"properties": {},
"required": [],
"title": "Developer Experience Survey",
"type": "string"
},
"definition_signature": "{\"signature\":\"b7f312957a80cea2c8c9950532b205a90a3f8a7ebb7e52fc25437a25d903d545\",\"version\":1}",
"etag": "b51f08b698d88d8027a935d9db649774949f5fb41a0c559bfee6a9a13225c72d",
"id": "126",
"modified_at": "2026-05-29T20:06:14.949163Z",
"state": "frozen",
"ui_definition": {
"ui:order": [],
"ui:theme": {
"primaryColor": "string"
}
},
"user_id": 10001,
"user_uuid": "1fc709aa-be19-4539-a47d-52a30d78a978",
"version": 1
}
},
"id": "22f6006a-2302-4926-9396-d2dfcf7b0b34",
"type": "forms"
}
}Bad Request
API error response.
errors [required]A list of errors.
detailA human-readable explanation specific to this occurrence of the error.
metaNon-standard meta-information about the error
sourceReferences to the source of the error.
headerA string indicating the name of a single request header which caused the error.
parameterA string indicating which URI query parameter caused the error.
pointerA JSON pointer to the value in the request document that caused the error.
statusStatus code of the response.
titleShort 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"
}
]
}Unauthorized
API error response.
errors [required]A list of errors.
detailA human-readable explanation specific to this occurrence of the error.
metaNon-standard meta-information about the error
sourceReferences to the source of the error.
headerA string indicating the name of a single request header which caused the error.
parameterA string indicating which URI query parameter caused the error.
pointerA JSON pointer to the value in the request document that caused the error.
statusStatus code of the response.
titleShort 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"
}
]
}Not Found
API error response.
errors [required]A list of errors.
detailA human-readable explanation specific to this occurrence of the error.
metaNon-standard meta-information about the error
sourceReferences to the source of the error.
headerA string indicating the name of a single request header which caused the error.
parameterA string indicating which URI query parameter caused the error.
pointerA JSON pointer to the value in the request document that caused the error.
statusStatus code of the response.
titleShort 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.
errors [required]A list of errors.
{
"errors": [
"Bad Request"
]
}Code Example
# Path parameters
export form_id="22f6006a-2302-4926-9396-d2dfcf7b0b34"
# Set your Datadog site and credentials
export DD_SITE="datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/forms/${form_id}/clone" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"name": "Copy of My Form"
},
"type": "forms"
}
}
EOF# Path parameters
export form_id="22f6006a-2302-4926-9396-d2dfcf7b0b34"
# Set your Datadog site and credentials
export DD_SITE="us3.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/forms/${form_id}/clone" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"name": "Copy of My Form"
},
"type": "forms"
}
}
EOF# Path parameters
export form_id="22f6006a-2302-4926-9396-d2dfcf7b0b34"
# Set your Datadog site and credentials
export DD_SITE="us5.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/forms/${form_id}/clone" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"name": "Copy of My Form"
},
"type": "forms"
}
}
EOF# Path parameters
export form_id="22f6006a-2302-4926-9396-d2dfcf7b0b34"
# Set your Datadog site and credentials
export DD_SITE="datadoghq.eu"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/forms/${form_id}/clone" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"name": "Copy of My Form"
},
"type": "forms"
}
}
EOF# Path parameters
export form_id="22f6006a-2302-4926-9396-d2dfcf7b0b34"
# Set your Datadog site and credentials
export DD_SITE="ap1.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/forms/${form_id}/clone" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"name": "Copy of My Form"
},
"type": "forms"
}
}
EOF# Path parameters
export form_id="22f6006a-2302-4926-9396-d2dfcf7b0b34"
# Set your Datadog site and credentials
export DD_SITE="ap2.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/forms/${form_id}/clone" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"name": "Copy of My Form"
},
"type": "forms"
}
}
EOF# Path parameters
export form_id="22f6006a-2302-4926-9396-d2dfcf7b0b34"
# Set your Datadog site and credentials
export DD_SITE="uk1.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/forms/${form_id}/clone" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"name": "Copy of My Form"
},
"type": "forms"
}
}
EOF# Path parameters
export form_id="22f6006a-2302-4926-9396-d2dfcf7b0b34"
# Set your Datadog site and credentials
export DD_SITE="ddog-gov.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/forms/${form_id}/clone" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"name": "Copy of My Form"
},
"type": "forms"
}
}
EOF# Path parameters
export form_id="22f6006a-2302-4926-9396-d2dfcf7b0b34"
# Set your Datadog site and credentials
export DD_SITE="us2.ddog-gov.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X POST "https://api.${DD_SITE}/api/v2/forms/${form_id}/clone" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"name": "Copy of My Form"
},
"type": "forms"
}
}
EOF// Clone a form 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"
"github.com/google/uuid"
)
func main() {
body := datadogV2.CloneFormRequest{
Data: datadogV2.CloneFormData{
Attributes: &datadogV2.CloneFormDataAttributes{
Name: datadog.PtrString("Copy of My Form"),
},
Type: datadogV2.FORMTYPE_FORMS,
},
}
ctx := datadog.NewDefaultContext(context.Background())
ctx = context.WithValue(ctx, datadog.ContextAccessToken, os.Getenv("DD_BEARER_TOKEN"))
configuration := datadog.NewConfiguration()
configuration.SetUnstableOperationEnabled("v2.CloneForm", true)
apiClient := datadog.NewAPIClient(configuration)
api := datadogV2.NewFormsApi(apiClient)
resp, r, err := api.CloneForm(ctx, uuid.MustParse("9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d"), body)
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `FormsApi.CloneForm`: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
responseContent, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from `FormsApi.CloneForm`:\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.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"// Clone a form returns "OK" response
import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.FormsApi;
import com.datadog.api.client.v2.model.CloneFormData;
import com.datadog.api.client.v2.model.CloneFormDataAttributes;
import com.datadog.api.client.v2.model.CloneFormRequest;
import com.datadog.api.client.v2.model.FormResponse;
import com.datadog.api.client.v2.model.FormType;
import java.util.UUID;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = ApiClient.getDefaultApiClient();
defaultClient.setAccessToken(System.getenv("DD_BEARER_TOKEN"));
defaultClient.setUnstableOperationEnabled("v2.cloneForm", true);
FormsApi apiInstance = new FormsApi(defaultClient);
CloneFormRequest body =
new CloneFormRequest()
.data(
new CloneFormData()
.attributes(new CloneFormDataAttributes().name("Copy of My Form"))
.type(FormType.FORMS));
try {
FormResponse result =
apiInstance.cloneForm(UUID.fromString("22f6006a-2302-4926-9396-d2dfcf7b0b34"), body);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling FormsApi#cloneForm");
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.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java""""
Clone a form returns "OK" response
"""
from os import environ
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.forms_api import FormsApi
from datadog_api_client.v2.model.clone_form_data import CloneFormData
from datadog_api_client.v2.model.clone_form_data_attributes import CloneFormDataAttributes
from datadog_api_client.v2.model.clone_form_request import CloneFormRequest
from datadog_api_client.v2.model.form_type import FormType
from uuid import UUID
body = CloneFormRequest(
data=CloneFormData(
attributes=CloneFormDataAttributes(
name="Copy of My Form",
),
type=FormType.FORMS,
),
)
configuration = Configuration()
configuration.access_token = environ["DD_BEARER_TOKEN"]
configuration.unstable_operations["clone_form"] = True
with ApiClient(configuration) as api_client:
api_instance = FormsApi(api_client)
response = api_instance.clone_form(form_id=UUID("9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d"), 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.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"# Clone a form returns "OK" response
require "datadog_api_client"
DatadogAPIClient.configure do |config|
config.access_token = ENV["DD_BEARER_TOKEN"]
config.unstable_operations["v2.clone_form".to_sym] = true
end
api_instance = DatadogAPIClient::V2::FormsAPI.new
body = DatadogAPIClient::V2::CloneFormRequest.new({
data: DatadogAPIClient::V2::CloneFormData.new({
attributes: DatadogAPIClient::V2::CloneFormDataAttributes.new({
name: "Copy of My Form",
}),
type: DatadogAPIClient::V2::FormType::FORMS,
}),
})
p api_instance.clone_form("9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d", body)
Instructions
First install the library and its dependencies and then save the example to example.rb and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"// Clone a form returns "OK" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_forms::FormsAPI;
use datadog_api_client::datadogV2::model::CloneFormData;
use datadog_api_client::datadogV2::model::CloneFormDataAttributes;
use datadog_api_client::datadogV2::model::CloneFormRequest;
use datadog_api_client::datadogV2::model::FormType;
use uuid::Uuid;
#[tokio::main]
async fn main() {
let body = CloneFormRequest::new(
CloneFormData::new(FormType::FORMS)
.attributes(CloneFormDataAttributes::new().name("Copy of My Form".to_string())),
);
let mut configuration = datadog::Configuration::new();
configuration.set_unstable_operation_enabled("v2.clone_form", true);
let api = FormsAPI::with_config(configuration);
let resp = api
.clone_form(
Uuid::parse_str("00000000-0000-0000-0000-000000000000").expect("invalid UUID"),
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.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo runDD_SITE="us3.datadoghq.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo runDD_SITE="us5.datadoghq.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo runDD_SITE="datadoghq.eu" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo runDD_SITE="ap1.datadoghq.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo runDD_SITE="ap2.datadoghq.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo runDD_SITE="uk1.datadoghq.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo runDD_SITE="ddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo runDD_SITE="us2.ddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo run/**
* Clone a form returns "OK" 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.cloneForm"] = true;
const apiInstance = new v2.FormsApi(configuration);
const params: v2.FormsApiCloneFormRequest = {
body: {
data: {
attributes: {
name: "Copy of My Form",
},
type: "forms",
},
},
formId: "9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d",
};
apiInstance
.cloneForm(params)
.then((data: v2.FormResponse) => {
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.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"