양식 버전 생성 또는 업데이트
https://api.datadoghq.com/api/v2/forms/{form_id}/versionshttps://api.us3.datadoghq.com/api/v2/forms/{form_id}/versionshttps://api.us5.datadoghq.com/api/v2/forms/{form_id}/versionshttps://api.datadoghq.eu/api/v2/forms/{form_id}/versionshttps://api.ap1.datadoghq.com/api/v2/forms/{form_id}/versionshttps://api.ap2.datadoghq.com/api/v2/forms/{form_id}/versionshttps://api.uk1.datadoghq.com/api/v2/forms/{form_id}/versionshttps://api.ddog-gov.com/api/v2/forms/{form_id}/versionshttps://api.us2.ddog-gov.com/api/v2/forms/{form_id}/versions개요
양식의 최신 초안 버전을 생성하거나 업데이트합니다. upsert_params 필드는
낙관적 동시성 동작을 제어합니다.
인수
경로 파라미터
form_id [required]The ID of the form.
요청
Body Data (required)
data [required]양식 버전을 생성 또는 업데이트하도록 요청합니다.
attributes [required]The attributes for creating or updating a form version.
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.
objectobjectstate [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, indigoupsert_params [required]Concurrency control parameters for the form version upsert operation.
etagThe ETag of the latest version. Required when match_policy is if_etag_match.
insert_onlyIf true, only a new version may be inserted; updating the current draft is not allowed.
match_policy [required]The policy for matching the latest form version during an upsert operation.
none, if_etag_matchtype [required]The resource type for a form version.
form_versionsform_versions{
"data": {
"attributes": {
"data_definition": {
"description": "Welcome to the Engineering Experience Survey.",
"required": [],
"title": "Developer Experience Survey",
"type": "object"
},
"state": "frozen",
"ui_definition": {
"ui:order": [],
"ui:theme": {
"primaryColor": "gray"
}
},
"upsert_params": {
"etag": "b51f08b698d88d8027a935d9db649774949f5fb41a0c559bfee6a9a13225c72d",
"insert_only": false,
"match_policy": "none"
}
},
"type": "form_versions"
}
}응답
OK
A response containing a single form version.
data [required]A form version resource object.
attributes [required]The 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 version.
type [required]The resource type for a form version.
form_versionsform_versions{
"data": {
"attributes": {
"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": "126",
"type": "form_versions"
}
}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"
]
}코드 예시
# 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}/versions" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"data_definition": {
"description": "Welcome to the Engineering Experience Survey.",
"required": [],
"title": "Developer Experience Survey",
"type": "object"
},
"state": "frozen",
"ui_definition": {
"ui:order": [],
"ui:theme": {
"primaryColor": "gray"
}
},
"upsert_params": {
"etag": "b51f08b698d88d8027a935d9db649774949f5fb41a0c559bfee6a9a13225c72d",
"insert_only": false,
"match_policy": "none"
}
},
"type": "form_versions"
}
}
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}/versions" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"data_definition": {
"description": "Welcome to the Engineering Experience Survey.",
"required": [],
"title": "Developer Experience Survey",
"type": "object"
},
"state": "frozen",
"ui_definition": {
"ui:order": [],
"ui:theme": {
"primaryColor": "gray"
}
},
"upsert_params": {
"etag": "b51f08b698d88d8027a935d9db649774949f5fb41a0c559bfee6a9a13225c72d",
"insert_only": false,
"match_policy": "none"
}
},
"type": "form_versions"
}
}
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}/versions" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"data_definition": {
"description": "Welcome to the Engineering Experience Survey.",
"required": [],
"title": "Developer Experience Survey",
"type": "object"
},
"state": "frozen",
"ui_definition": {
"ui:order": [],
"ui:theme": {
"primaryColor": "gray"
}
},
"upsert_params": {
"etag": "b51f08b698d88d8027a935d9db649774949f5fb41a0c559bfee6a9a13225c72d",
"insert_only": false,
"match_policy": "none"
}
},
"type": "form_versions"
}
}
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}/versions" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"data_definition": {
"description": "Welcome to the Engineering Experience Survey.",
"required": [],
"title": "Developer Experience Survey",
"type": "object"
},
"state": "frozen",
"ui_definition": {
"ui:order": [],
"ui:theme": {
"primaryColor": "gray"
}
},
"upsert_params": {
"etag": "b51f08b698d88d8027a935d9db649774949f5fb41a0c559bfee6a9a13225c72d",
"insert_only": false,
"match_policy": "none"
}
},
"type": "form_versions"
}
}
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}/versions" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"data_definition": {
"description": "Welcome to the Engineering Experience Survey.",
"required": [],
"title": "Developer Experience Survey",
"type": "object"
},
"state": "frozen",
"ui_definition": {
"ui:order": [],
"ui:theme": {
"primaryColor": "gray"
}
},
"upsert_params": {
"etag": "b51f08b698d88d8027a935d9db649774949f5fb41a0c559bfee6a9a13225c72d",
"insert_only": false,
"match_policy": "none"
}
},
"type": "form_versions"
}
}
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}/versions" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"data_definition": {
"description": "Welcome to the Engineering Experience Survey.",
"required": [],
"title": "Developer Experience Survey",
"type": "object"
},
"state": "frozen",
"ui_definition": {
"ui:order": [],
"ui:theme": {
"primaryColor": "gray"
}
},
"upsert_params": {
"etag": "b51f08b698d88d8027a935d9db649774949f5fb41a0c559bfee6a9a13225c72d",
"insert_only": false,
"match_policy": "none"
}
},
"type": "form_versions"
}
}
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}/versions" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"data_definition": {
"description": "Welcome to the Engineering Experience Survey.",
"required": [],
"title": "Developer Experience Survey",
"type": "object"
},
"state": "frozen",
"ui_definition": {
"ui:order": [],
"ui:theme": {
"primaryColor": "gray"
}
},
"upsert_params": {
"etag": "b51f08b698d88d8027a935d9db649774949f5fb41a0c559bfee6a9a13225c72d",
"insert_only": false,
"match_policy": "none"
}
},
"type": "form_versions"
}
}
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}/versions" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"data_definition": {
"description": "Welcome to the Engineering Experience Survey.",
"required": [],
"title": "Developer Experience Survey",
"type": "object"
},
"state": "frozen",
"ui_definition": {
"ui:order": [],
"ui:theme": {
"primaryColor": "gray"
}
},
"upsert_params": {
"etag": "b51f08b698d88d8027a935d9db649774949f5fb41a0c559bfee6a9a13225c72d",
"insert_only": false,
"match_policy": "none"
}
},
"type": "form_versions"
}
}
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}/versions" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"data_definition": {
"description": "Welcome to the Engineering Experience Survey.",
"required": [],
"title": "Developer Experience Survey",
"type": "object"
},
"state": "frozen",
"ui_definition": {
"ui:order": [],
"ui:theme": {
"primaryColor": "gray"
}
},
"upsert_params": {
"etag": "b51f08b698d88d8027a935d9db649774949f5fb41a0c559bfee6a9a13225c72d",
"insert_only": false,
"match_policy": "none"
}
},
"type": "form_versions"
}
}
EOF// Create or update a form version 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() {
// there is a valid "form" in the system
FormDataID := uuid.MustParse(os.Getenv("FORM_DATA_ID"))
body := datadogV2.UpsertFormVersionRequest{
Data: datadogV2.UpsertFormVersionData{
Attributes: datadogV2.UpsertFormVersionDataAttributes{
DataDefinition: datadogV2.FormDataDefinition{
Description: datadog.PtrString("Welcome to the Engineering Experience Survey."),
Required: []string{},
Title: datadog.PtrString("Developer Experience Survey"),
Type: datadogV2.FORMDATADEFINITIONTYPE_OBJECT.Ptr(),
},
State: datadogV2.FORMVERSIONSTATE_FROZEN,
UiDefinition: datadogV2.FormUiDefinition{
UiOrder: []string{},
UiTheme: &datadogV2.FormUiDefinitionUiTheme{
PrimaryColor: datadogV2.FORMUIDEFINITIONUITHEMEPRIMARYCOLOR_GRAY.Ptr(),
},
},
UpsertParams: datadogV2.UpsertFormVersionUpsertParams{
Etag: *datadog.NewNullableString(datadog.PtrString("b51f08b698d88d8027a935d9db649774949f5fb41a0c559bfee6a9a13225c72d")),
InsertOnly: datadog.PtrBool(false),
MatchPolicy: datadogV2.LATESTVERSIONMATCHPOLICY_NONE,
},
},
Type: datadogV2.FORMVERSIONTYPE_FORM_VERSIONS,
},
}
ctx := datadog.NewDefaultContext(context.Background())
ctx = context.WithValue(ctx, datadog.ContextAccessToken, os.Getenv("DD_BEARER_TOKEN"))
configuration := datadog.NewConfiguration()
configuration.SetUnstableOperationEnabled("v2.UpsertFormVersion", true)
apiClient := datadog.NewAPIClient(configuration)
api := datadogV2.NewFormsApi(apiClient)
resp, r, err := api.UpsertFormVersion(ctx, FormDataID, body)
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `FormsApi.UpsertFormVersion`: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
responseContent, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from `FormsApi.UpsertFormVersion`:\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"// Create or update a form version 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.FormDataDefinition;
import com.datadog.api.client.v2.model.FormDataDefinitionType;
import com.datadog.api.client.v2.model.FormUiDefinition;
import com.datadog.api.client.v2.model.FormUiDefinitionUiTheme;
import com.datadog.api.client.v2.model.FormUiDefinitionUiThemePrimaryColor;
import com.datadog.api.client.v2.model.FormVersionResponse;
import com.datadog.api.client.v2.model.FormVersionState;
import com.datadog.api.client.v2.model.FormVersionType;
import com.datadog.api.client.v2.model.LatestVersionMatchPolicy;
import com.datadog.api.client.v2.model.UpsertFormVersionData;
import com.datadog.api.client.v2.model.UpsertFormVersionDataAttributes;
import com.datadog.api.client.v2.model.UpsertFormVersionRequest;
import com.datadog.api.client.v2.model.UpsertFormVersionUpsertParams;
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.upsertFormVersion", true);
FormsApi apiInstance = new FormsApi(defaultClient);
// there is a valid "form" in the system
UUID FORM_DATA_ID = null;
try {
FORM_DATA_ID = UUID.fromString(System.getenv("FORM_DATA_ID"));
} catch (IllegalArgumentException e) {
System.err.println("Error parsing UUID: " + e.getMessage());
}
UpsertFormVersionRequest body =
new UpsertFormVersionRequest()
.data(
new UpsertFormVersionData()
.attributes(
new UpsertFormVersionDataAttributes()
.dataDefinition(
new FormDataDefinition()
.description("Welcome to the Engineering Experience Survey.")
.title("Developer Experience Survey")
.type(FormDataDefinitionType.OBJECT))
.state(FormVersionState.FROZEN)
.uiDefinition(
new FormUiDefinition()
.uiTheme(
new FormUiDefinitionUiTheme()
.primaryColor(
FormUiDefinitionUiThemePrimaryColor.GRAY)))
.upsertParams(
new UpsertFormVersionUpsertParams()
.etag(
"b51f08b698d88d8027a935d9db649774949f5fb41a0c559bfee6a9a13225c72d")
.insertOnly(false)
.matchPolicy(LatestVersionMatchPolicy.NONE)))
.type(FormVersionType.FORM_VERSIONS));
try {
FormVersionResponse result = apiInstance.upsertFormVersion(FORM_DATA_ID, body);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling FormsApi#upsertFormVersion");
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""""
Create or update a form version 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.form_data_definition import FormDataDefinition
from datadog_api_client.v2.model.form_data_definition_type import FormDataDefinitionType
from datadog_api_client.v2.model.form_ui_definition import FormUiDefinition
from datadog_api_client.v2.model.form_ui_definition_ui_theme import FormUiDefinitionUiTheme
from datadog_api_client.v2.model.form_ui_definition_ui_theme_primary_color import FormUiDefinitionUiThemePrimaryColor
from datadog_api_client.v2.model.form_version_state import FormVersionState
from datadog_api_client.v2.model.form_version_type import FormVersionType
from datadog_api_client.v2.model.latest_version_match_policy import LatestVersionMatchPolicy
from datadog_api_client.v2.model.upsert_form_version_data import UpsertFormVersionData
from datadog_api_client.v2.model.upsert_form_version_data_attributes import UpsertFormVersionDataAttributes
from datadog_api_client.v2.model.upsert_form_version_request import UpsertFormVersionRequest
from datadog_api_client.v2.model.upsert_form_version_upsert_params import UpsertFormVersionUpsertParams
# there is a valid "form" in the system
FORM_DATA_ID = environ["FORM_DATA_ID"]
body = UpsertFormVersionRequest(
data=UpsertFormVersionData(
attributes=UpsertFormVersionDataAttributes(
data_definition=FormDataDefinition(
description="Welcome to the Engineering Experience Survey.",
required=[],
title="Developer Experience Survey",
type=FormDataDefinitionType.OBJECT,
),
state=FormVersionState.FROZEN,
ui_definition=FormUiDefinition(
ui_order=[],
ui_theme=FormUiDefinitionUiTheme(
primary_color=FormUiDefinitionUiThemePrimaryColor.GRAY,
),
),
upsert_params=UpsertFormVersionUpsertParams(
etag="b51f08b698d88d8027a935d9db649774949f5fb41a0c559bfee6a9a13225c72d",
insert_only=False,
match_policy=LatestVersionMatchPolicy.NONE,
),
),
type=FormVersionType.FORM_VERSIONS,
),
)
configuration = Configuration()
configuration.access_token = environ["DD_BEARER_TOKEN"]
configuration.unstable_operations["upsert_form_version"] = True
with ApiClient(configuration) as api_client:
api_instance = FormsApi(api_client)
response = api_instance.upsert_form_version(form_id=FORM_DATA_ID, 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"# Create or update a form version returns "OK" response
require "datadog_api_client"
DatadogAPIClient.configure do |config|
config.access_token = ENV["DD_BEARER_TOKEN"]
config.unstable_operations["v2.upsert_form_version".to_sym] = true
end
api_instance = DatadogAPIClient::V2::FormsAPI.new
# there is a valid "form" in the system
FORM_DATA_ID = ENV["FORM_DATA_ID"]
body = DatadogAPIClient::V2::UpsertFormVersionRequest.new({
data: DatadogAPIClient::V2::UpsertFormVersionData.new({
attributes: DatadogAPIClient::V2::UpsertFormVersionDataAttributes.new({
data_definition: DatadogAPIClient::V2::FormDataDefinition.new({
description: "Welcome to the Engineering Experience Survey.",
required: [],
title: "Developer Experience Survey",
type: DatadogAPIClient::V2::FormDataDefinitionType::OBJECT,
}),
state: DatadogAPIClient::V2::FormVersionState::FROZEN,
ui_definition: DatadogAPIClient::V2::FormUiDefinition.new({
ui_order: [],
ui_theme: DatadogAPIClient::V2::FormUiDefinitionUiTheme.new({
primary_color: DatadogAPIClient::V2::FormUiDefinitionUiThemePrimaryColor::GRAY,
}),
}),
upsert_params: DatadogAPIClient::V2::UpsertFormVersionUpsertParams.new({
etag: "b51f08b698d88d8027a935d9db649774949f5fb41a0c559bfee6a9a13225c72d",
insert_only: false,
match_policy: DatadogAPIClient::V2::LatestVersionMatchPolicy::NONE,
}),
}),
type: DatadogAPIClient::V2::FormVersionType::FORM_VERSIONS,
}),
})
p api_instance.upsert_form_version(FORM_DATA_ID, 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"// Create or update a form version returns "OK" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_forms::FormsAPI;
use datadog_api_client::datadogV2::model::FormDataDefinition;
use datadog_api_client::datadogV2::model::FormDataDefinitionType;
use datadog_api_client::datadogV2::model::FormUiDefinition;
use datadog_api_client::datadogV2::model::FormUiDefinitionUiTheme;
use datadog_api_client::datadogV2::model::FormUiDefinitionUiThemePrimaryColor;
use datadog_api_client::datadogV2::model::FormVersionState;
use datadog_api_client::datadogV2::model::FormVersionType;
use datadog_api_client::datadogV2::model::LatestVersionMatchPolicy;
use datadog_api_client::datadogV2::model::UpsertFormVersionData;
use datadog_api_client::datadogV2::model::UpsertFormVersionDataAttributes;
use datadog_api_client::datadogV2::model::UpsertFormVersionRequest;
use datadog_api_client::datadogV2::model::UpsertFormVersionUpsertParams;
#[tokio::main]
async fn main() {
// there is a valid "form" in the system
let form_data_id =
uuid::Uuid::parse_str(&std::env::var("FORM_DATA_ID").unwrap()).expect("Invalid UUID");
let body = UpsertFormVersionRequest::new(UpsertFormVersionData::new(
UpsertFormVersionDataAttributes::new(
FormDataDefinition::new()
.description("Welcome to the Engineering Experience Survey.".to_string())
.required(vec![])
.title("Developer Experience Survey".to_string())
.type_(FormDataDefinitionType::OBJECT),
FormVersionState::FROZEN,
FormUiDefinition::new().ui_order(vec![]).ui_theme(
FormUiDefinitionUiTheme::new()
.primary_color(FormUiDefinitionUiThemePrimaryColor::GRAY),
),
UpsertFormVersionUpsertParams::new(LatestVersionMatchPolicy::NONE)
.etag(Some(
"b51f08b698d88d8027a935d9db649774949f5fb41a0c559bfee6a9a13225c72d".to_string(),
))
.insert_only(false),
),
FormVersionType::FORM_VERSIONS,
));
let mut configuration = datadog::Configuration::new();
configuration.set_unstable_operation_enabled("v2.upsert_form_version", true);
let api = FormsAPI::with_config(configuration);
let resp = api.upsert_form_version(form_data_id.clone(), 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/**
* Create or update a form version 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.upsertFormVersion"] = true;
const apiInstance = new v2.FormsApi(configuration);
// there is a valid "form" in the system
const FORM_DATA_ID = process.env.FORM_DATA_ID as string;
const params: v2.FormsApiUpsertFormVersionRequest = {
body: {
data: {
attributes: {
dataDefinition: {
description: "Welcome to the Engineering Experience Survey.",
required: [],
title: "Developer Experience Survey",
type: "object",
},
state: "frozen",
uiDefinition: {
uiOrder: [],
uiTheme: {
primaryColor: "gray",
},
},
upsertParams: {
etag: "b51f08b698d88d8027a935d9db649774949f5fb41a0c559bfee6a9a13225c72d",
insertOnly: false,
matchPolicy: "none",
},
},
type: "form_versions",
},
},
formId: FORM_DATA_ID,
};
apiInstance
.upsertFormVersion(params)
.then((data: v2.FormVersionResponse) => {
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"