Update experiment protocol
https://api.datadoghq.com/api/v2/experiments/protocols/{protocol_id}https://api.us3.datadoghq.com/api/v2/experiments/protocols/{protocol_id}https://api.us5.datadoghq.com/api/v2/experiments/protocols/{protocol_id}https://api.datadoghq.eu/api/v2/experiments/protocols/{protocol_id}https://api.ap1.datadoghq.com/api/v2/experiments/protocols/{protocol_id}https://api.ap2.datadoghq.com/api/v2/experiments/protocols/{protocol_id}https://api.uk1.datadoghq.com/api/v2/experiments/protocols/{protocol_id}https://api.ddog-gov.com/api/v2/experiments/protocols/{protocol_id}https://api.us2.ddog-gov.com/api/v2/experiments/protocols/{protocol_id}Descripción general
Update the supplied fields of a draft protocol. Published protocols accept only name, description, and migration_metadata changes through PATCH. Use PUT to replace their settings. Archived protocols cannot be edited.
Omitted fields keep their current values, including fields inside analysis_plan, exposure_schedule, and enforcement. Arrays replace the stored arrays. Supported null values clear fields; see the request schema. Use primary_metric_id to select the primary metric and default_duration_days to set the experiment analysis duration. Nested metric is_primary and analysis_plan.target_duration_days fields are rejected.
OAuth apps require the product_analytics_experiments_write authorization scope to access this endpoint.
Argumentos
Parámetros de ruta
protocol_id [required]The UUID of the protocol.
Solicitud
Body Data (required)
data [required]JSON:API protocol request resource.
attributesPartial protocol update. Omitted attributes remain unchanged. Published protocols accept only name, description, and migration_metadata; archived protocols reject updates.
analysis_planPartial statistical settings. Omitted fields remain unchanged. Null clears the whole plan. Null clears nullable fields; null or an empty string clears confidence_interval_method.
compute_cupedWhether to use pre-experiment data to reduce variance with CUPED.
confidence_interval_methodConfidence interval method: Sequential, FixedSample, Bayesian, or SequentialFixedHybrid. An empty string leaves the method unset.
confidence_levelConfidence level used by the statistical analysis.
multiple_testing_correction_methodMethod used to adjust for testing multiple metrics.
assignment_source_default_propertiesAssignment properties. Omission or null preserves them; an array replaces them.
column_nameSource column that supplies this assignment property.
column_typeData type of the source column.
nameDisplay name of the assignment source property.
assignment_source_idID of the assignment source selected by the protocol. Omission or null keeps the current value. An empty string clears it.
default_duration_daysDefault experiment duration supplied by the protocol, in days. Omission preserves it; null clears it. Sets analysis_plan.target_duration_days on experiments created from this protocol.
descriptionDescription. Empty string clears it; omission or null preserves it.
enforcementPartial lock map. Omitted fields remain unchanged. Null clears the whole map. Empty or null field values become EDITABLE, except subject_type, flag_source, and confidence_interval_method, which remain LOCKED.
confidence_interval_methodAlways LOCKED. The server keeps this setting locked regardless of the supplied value.
confidence_levelLOCKED prevents changes to confidence level. EDITABLE permits changes.
cuped_calculationLOCKED prevents changes to CUPED variance reduction. EDITABLE permits changes.
default_durationLOCKED prevents changes to default duration. EDITABLE permits changes.
environmentLOCKED prevents changes to environment. EDITABLE permits changes.
flag_sourceAlways LOCKED. The server keeps this setting locked regardless of the supplied value.
multiple_testing_correctionLOCKED prevents changes to multiple testing correction. EDITABLE permits changes.
notificationsLOCKED prevents changes to notifications. EDITABLE permits changes.
primary_metricLOCKED prevents changes to primary metric. EDITABLE permits changes.
secondary_metricsLOCKED prevents changes to secondary metrics. EDITABLE permits changes.
split_by_exploration_dimensionsLOCKED prevents changes to result exploration dimensions. EDITABLE permits changes.
subject_typeAlways LOCKED. The server keeps this setting locked regardless of the supplied value.
targeting_rulesLOCKED prevents changes to targeting rules. EDITABLE permits changes.
traffic_exposureLOCKED prevents changes to traffic exposure. EDITABLE permits changes.
warehouse_exposure_sourceLOCKED prevents changes to warehouse exposure source. EDITABLE permits changes.
environment_idID of the feature flag environment used by the experiment. Omission or null keeps the current value. An empty string clears it.
exposure_schedulePartial traffic schedule. Omitted fields remain unchanged. Null clears the whole schedule. Null clears nullable fields and rollout_steps; null sets strategy to an empty string and autostart to false.
autostartWhether the exposure schedule starts automatically.
guardrail_triggered_actionAction taken when a guardrail triggers during the exposure schedule.
rollout_stepsRollout steps, replaced when supplied.
exposure_ratioFraction of traffic exposed during this rollout step.
grouped_step_indexIndex of the group that contains this rollout step.
interval_msDuration of this rollout step, in milliseconds.
is_pause_recordWhether this schedule entry represents a pause.
order_positionPosition of this entry in the ordered configuration.
selection_interval_msInterval between traffic selections, in milliseconds.
strategyMethod used to increase traffic exposure over the schedule.
is_duration_required_to_startWhether the protocol requires a duration before an experiment can start. Omission or null preserves it.
is_equal_split_enforcedWhether the protocol requires equal traffic allocation across variants. Omission or null preserves it.
is_metric_limit_enabledWhether the protocol limits the number of metrics. Omission or null preserves it.
is_minimum_duration_enabledWhether the protocol enforces a minimum experiment duration. Omission or null preserves it.
metric_groupsMetric groups. Omission or null preserves them; an array replaces them.
is_decisionWhether this group contains decision metrics.
metricsMetrics in the group.
metric_id [required]Metric UUID.
nameMetric group name.
metric_limitMaximum number of metrics allowed by the protocol. Omission preserves it; null clears it.
migration_metadataMetadata for imported resources. Must encode to at most 4096 bytes. Null clears it; omission preserves it on update.
minimum_duration_unitMinimum duration unit, DAYS or WEEKS. Empty string clears it. Omission or null preserves it.
minimum_duration_valueMinimum experiment duration in the specified unit. Omission preserves it; null clears it.
nameProtocol name. Leading and trailing spaces are removed. The trimmed name must contain 1 to 255 characters.
primary_metric_idID of the primary metric supplied by the protocol. Omission or null keeps the current value. An empty string clears it.
subject_type_idID of the subject type used by this configuration. Omission or null keeps the current value. An empty string clears it.
targeting_rulesTargeting rules. Omission or null preserves them; an array replaces them.
conditionsConditions in this rule.
attributeSubject attribute evaluated by the targeting condition.
operatorComparison applied to the subject attribute.
order_positionPosition of this entry in the ordered configuration.
saved_filter_idSaved filter UUID. Null selects an inline condition. An empty string skips the saved-filter lookup.
valueValues compared with the subject attribute in this condition.
idProtocol ID. If supplied, must match the path protocol_id.
type [required]Protocols resource type.
protocolsprotocols{
"data": {
"attributes": {
"analysis_plan": {
"compute_cuped": false,
"confidence_interval_method": "string",
"confidence_level": "number",
"multiple_testing_correction_method": "string"
},
"assignment_source_default_properties": [
{
"column_name": "string",
"column_type": "string",
"name": "string"
}
],
"assignment_source_id": "string",
"default_duration_days": "integer",
"description": "string",
"enforcement": {
"confidence_interval_method": "string",
"confidence_level": "string",
"cuped_calculation": "string",
"default_duration": "string",
"environment": "string",
"flag_source": "string",
"multiple_testing_correction": "string",
"notifications": "string",
"primary_metric": "string",
"secondary_metrics": "string",
"split_by_exploration_dimensions": "string",
"subject_type": "string",
"targeting_rules": "string",
"traffic_exposure": "string",
"warehouse_exposure_source": "string"
},
"environment_id": "string",
"exposure_schedule": {
"autostart": false,
"guardrail_triggered_action": "string",
"rollout_steps": [
{
"exposure_ratio": "number",
"grouped_step_index": "integer",
"interval_ms": "integer",
"is_pause_record": false,
"order_position": "integer"
}
],
"selection_interval_ms": "integer",
"strategy": "string"
},
"is_duration_required_to_start": false,
"is_equal_split_enforced": false,
"is_metric_limit_enabled": false,
"is_minimum_duration_enabled": false,
"metric_groups": [
{
"is_decision": false,
"metrics": [
{
"metric_id": "550e8400-e29b-41d4-a716-446655440000"
}
],
"name": "string"
}
],
"metric_limit": "integer",
"migration_metadata": {},
"minimum_duration_unit": "string",
"minimum_duration_value": "integer",
"name": "Checkout conversion",
"primary_metric_id": "string",
"subject_type_id": "string",
"targeting_rules": [
{
"conditions": [
{
"attribute": "string",
"operator": "string",
"order_position": "integer",
"saved_filter_id": "string",
"value": []
}
]
}
]
},
"id": "550e8400-e29b-41d4-a716-446655440000",
"type": "protocols"
}
}Respuesta
OK
Response containing the protocol.
data [required]JSON:API resource containing the protocol identity and fields.
attributesSettings and defaults supplied by the protocol.
analysis_planDefault statistical settings supplied by the protocol.
compute_cupedWhether to use pre-experiment data to reduce variance with CUPED.
confidence_interval_methodStatistical method used to calculate confidence intervals.
confidence_levelConfidence level used by the statistical analysis.
multiple_testing_correction_methodMethod used to adjust for testing multiple metrics.
archived_atTime when the protocol was archived. Omitted if it has not been archived.
assignment_source_default_propertiesDefault properties supplied by the protocol's assignment source.
column_nameSource column that supplies this assignment property.
column_typeData type of the source column.
nameDisplay name of the assignment source property.
assignment_source_idID of the assignment source selected by the protocol.
created_at [required]Time when the protocol was created.
default_duration_daysDefault experiment duration supplied by the protocol, in days.
descriptionText that explains the protocol.
enforcementControls that determine which protocol settings can be changed in an experiment.
confidence_interval_methodAlways LOCKED. The server keeps this setting locked regardless of the supplied value.
confidence_levelLOCKED prevents changes to confidence level. EDITABLE permits changes.
cuped_calculationLOCKED prevents changes to CUPED variance reduction. EDITABLE permits changes.
default_durationLOCKED prevents changes to default duration. EDITABLE permits changes.
environmentLOCKED prevents changes to environment. EDITABLE permits changes.
flag_sourceAlways LOCKED. The server keeps this setting locked regardless of the supplied value.
multiple_testing_correctionLOCKED prevents changes to multiple testing correction. EDITABLE permits changes.
notificationsLOCKED prevents changes to notifications. EDITABLE permits changes.
primary_metricLOCKED prevents changes to primary metric. EDITABLE permits changes.
secondary_metricsLOCKED prevents changes to secondary metrics. EDITABLE permits changes.
split_by_exploration_dimensionsLOCKED prevents changes to result exploration dimensions. EDITABLE permits changes.
subject_typeAlways LOCKED. The server keeps this setting locked regardless of the supplied value.
targeting_rulesLOCKED prevents changes to targeting rules. EDITABLE permits changes.
traffic_exposureLOCKED prevents changes to traffic exposure. EDITABLE permits changes.
warehouse_exposure_sourceLOCKED prevents changes to warehouse exposure source. EDITABLE permits changes.
environment_idID of the feature flag environment used by the experiment.
experiment_countNumber of experiments in the organization that use this protocol, excluding deleted experiments. Omitted if the count cannot be retrieved. An omitted count does not mean zero.
exposure_scheduleSchedule that controls traffic exposure for experiments created from the protocol.
autostartWhether the exposure schedule starts automatically.
guardrail_triggered_actionAction taken when a guardrail triggers during the exposure schedule.
rollout_stepsOrdered steps that define changes in traffic exposure.
exposure_ratioFraction of traffic exposed during this rollout step.
grouped_step_indexIndex of the group that contains this rollout step.
interval_msDuration of this rollout step, in milliseconds.
is_pause_recordWhether this schedule entry represents a pause.
order_positionPosition of this entry in the ordered configuration.
selection_interval_msInterval between traffic selections, in milliseconds.
strategyMethod used to increase traffic exposure over the schedule.
is_duration_required_to_start [required]Whether the protocol requires a duration before an experiment can start.
is_equal_split_enforced [required]Whether the protocol requires equal traffic allocation across variants.
is_metric_limit_enabled [required]Whether the protocol limits the number of metrics.
is_minimum_duration_enabled [required]Whether the protocol enforces a minimum experiment duration.
metric_groups [required]Metric groups supplied by the protocol.
is_decisionWhether the group contains decision metrics.
metricsMetrics included in this group.
metric_id [required]Identifier of the metric to include in the collection.
nameDisplay name of the metric group.
metric_limitMaximum number of metrics allowed by the protocol.
migration_metadataMetadata retained for resources imported from another system.
minimum_duration_unitUnit used to express the protocol's minimum duration.
minimum_duration_valueMinimum experiment duration in the specified unit.
name [required]Display name of the protocol.
primary_metricSubject type selected by the protocol.
idID of the subject type.
nameDisplay name of the subject type.
primary_metric_idID of the primary metric supplied by the protocol.
published_atTime when the protocol was published.
status [required]Publication status of the protocol.
DRAFT, PUBLISHED, ARCHIVEDsubject_typeSubject type selected by the protocol.
idID of the subject type.
nameDisplay name of the subject type.
subject_type_idID of the subject type used by this configuration.
targeting_rulesRules that select subjects for the experiment.
conditionsConditions that define this targeting rule.
attributeSubject attribute evaluated by the targeting condition.
operatorComparison applied to the subject attribute.
order_positionPosition of this entry in the ordered configuration.
saved_filter_idID of the saved filter used by this targeting condition.
valueValues compared with the subject attribute in this condition.
updated_at [required]RFC3339 update time. Preserve all fractional seconds when passing this value as
expected_updated_at.
id [required]ID of the protocol.
type [required]Protocols resource type.
protocolsprotocols{
"data": {
"attributes": {
"analysis_plan": {
"compute_cuped": false,
"confidence_interval_method": "string",
"confidence_level": "number",
"multiple_testing_correction_method": "string"
},
"archived_at": "2026-07-31T14:00:00Z",
"assignment_source_default_properties": [
{
"column_name": "string",
"column_type": "string",
"name": "string"
}
],
"assignment_source_id": "string",
"created_at": "2026-07-31T12:00:00Z",
"default_duration_days": "integer",
"description": "string",
"enforcement": {
"confidence_interval_method": "string",
"confidence_level": "string",
"cuped_calculation": "string",
"default_duration": "string",
"environment": "string",
"flag_source": "string",
"multiple_testing_correction": "string",
"notifications": "string",
"primary_metric": "string",
"secondary_metrics": "string",
"split_by_exploration_dimensions": "string",
"subject_type": "string",
"targeting_rules": "string",
"traffic_exposure": "string",
"warehouse_exposure_source": "string"
},
"environment_id": "string",
"experiment_count": 0,
"exposure_schedule": {
"autostart": false,
"guardrail_triggered_action": "string",
"rollout_steps": [
{
"exposure_ratio": "number",
"grouped_step_index": "integer",
"interval_ms": "integer",
"is_pause_record": false,
"order_position": "integer"
}
],
"selection_interval_ms": "integer",
"strategy": "string"
},
"is_duration_required_to_start": false,
"is_equal_split_enforced": false,
"is_metric_limit_enabled": false,
"is_minimum_duration_enabled": false,
"metric_groups": [
{
"is_decision": false,
"metrics": [
{
"metric_id": "550e8400-e29b-41d4-a716-446655440000"
}
],
"name": "string"
}
],
"metric_limit": "integer",
"migration_metadata": "undefined",
"minimum_duration_unit": "string",
"minimum_duration_value": "integer",
"name": "Checkout conversion",
"primary_metric": {
"id": "string",
"name": "string"
},
"primary_metric_id": "string",
"published_at": "2019-09-19T10:00:00.000Z",
"status": "PUBLISHED",
"subject_type": {
"id": "string",
"name": "string"
},
"subject_type_id": "string",
"targeting_rules": [
{
"conditions": [
{
"attribute": "string",
"operator": "string",
"order_position": "integer",
"saved_filter_id": "string",
"value": []
}
]
}
],
"updated_at": "2026-01-01T00:00:00Z"
},
"id": "550e8400-e29b-41d4-a716-446655440000",
"type": "protocols"
}
}Invalid request or protocol settings.
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"
}
]
}Missing or invalid authentication.
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"
}
]
}The caller lacks the product_analytics_experiments_write permission.
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"
}
]
}No protocol with this ID exists in the organization.
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"
}
]
}The protocol is archived, a published protocol receives settings changes, or the name is already in use.
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"
}
]
}Unsupported request content type.
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"
]
}Internal Server Error
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"
}
]
}Ejemplo de código
# Path parameters
export protocol_id="550e8400-e29b-41d4-a716-446655440000"
# 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 PATCH "https://api.${DD_SITE}/api/v2/experiments/protocols/${protocol_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"description": "Updated defaults for checkout experiments."
},
"type": "protocols"
}
}
EOF# Path parameters
export protocol_id="550e8400-e29b-41d4-a716-446655440000"
# 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 PATCH "https://api.${DD_SITE}/api/v2/experiments/protocols/${protocol_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"description": "Updated defaults for checkout experiments."
},
"type": "protocols"
}
}
EOF# Path parameters
export protocol_id="550e8400-e29b-41d4-a716-446655440000"
# 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 PATCH "https://api.${DD_SITE}/api/v2/experiments/protocols/${protocol_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"description": "Updated defaults for checkout experiments."
},
"type": "protocols"
}
}
EOF# Path parameters
export protocol_id="550e8400-e29b-41d4-a716-446655440000"
# 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 PATCH "https://api.${DD_SITE}/api/v2/experiments/protocols/${protocol_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"description": "Updated defaults for checkout experiments."
},
"type": "protocols"
}
}
EOF# Path parameters
export protocol_id="550e8400-e29b-41d4-a716-446655440000"
# 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 PATCH "https://api.${DD_SITE}/api/v2/experiments/protocols/${protocol_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"description": "Updated defaults for checkout experiments."
},
"type": "protocols"
}
}
EOF# Path parameters
export protocol_id="550e8400-e29b-41d4-a716-446655440000"
# 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 PATCH "https://api.${DD_SITE}/api/v2/experiments/protocols/${protocol_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"description": "Updated defaults for checkout experiments."
},
"type": "protocols"
}
}
EOF# Path parameters
export protocol_id="550e8400-e29b-41d4-a716-446655440000"
# 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 PATCH "https://api.${DD_SITE}/api/v2/experiments/protocols/${protocol_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"description": "Updated defaults for checkout experiments."
},
"type": "protocols"
}
}
EOF# Path parameters
export protocol_id="550e8400-e29b-41d4-a716-446655440000"
# 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 PATCH "https://api.${DD_SITE}/api/v2/experiments/protocols/${protocol_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"description": "Updated defaults for checkout experiments."
},
"type": "protocols"
}
}
EOF# Path parameters
export protocol_id="550e8400-e29b-41d4-a716-446655440000"
# 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 PATCH "https://api.${DD_SITE}/api/v2/experiments/protocols/${protocol_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"attributes": {
"description": "Updated defaults for checkout experiments."
},
"type": "protocols"
}
}
EOF