OpenPipeline API - PUT a configuration

Updates an OpenPipeline configuration in your Dynatrace environment.

The request produces an application/json payload.

PUTSaaShttps://{your-environment-id}.apps.dynatrace.com/platform/openpipeline/v1/configurations/{id}

Authentication

To execute this request, you need an OAuth2 client with openpipeline:configurations:write permission.

To learn how to obtain and use it, see OAuth clients.

Parameters

ParameterTypeDescriptionInRequired
idstring

Identifier of the configuration.

pathrequired
bodyConfiguration

The updated configuration to apply.

bodyrequired

Request body objects

The Configuration object

Full configuration containing ingest sources, pipelines and dynamic routing.

ElementTypeDescriptionRequired
customBasePathstring

The base path for custom ingest endpoints.

required
editableboolean

Indicates if the user is allowed to edit this object based on permissions and builtin property.

optional
endpointsEndpointDefinition[]

List of all ingest sources of the configuration.

required
idstring

Identifier of the configuration.

required
pipelinesPipelineDefinition[]

List of all pipelines of the configuration.

required
routingRoutingTable

Dynamic routing definition.

required
versionstring

The current version of the configuration.

required

The EndpointDefinition object

Definition of a single ingest source.

ElementTypeDescriptionRequired
basePathstring

The base path of the ingest source.

required
builtinboolean

Indicates if the object is provided by Dynatrace or customer defined.

optional
defaultBucketstring

The default bucket assigned to records for the ingest source.

optional
displayNamestring

Display name of the ingest source.

optional
editableboolean

Indicates if the user is allowed to edit this object based on permissions and builtin property.

optional
enabledboolean

Indicates if the object is active.

required
processorsEndpointProcessor[]

The pre-processing done in the ingest source.

optional
routingRouting

Routing strategy, either dynamic or static.

required
segmentstring

The segment of the ingest source, which is applied to the base path. Must be unique within a configuration.

required

The EndpointProcessor object

Groups all processors applicable for processing in the EndpointDefinition. Applicable processors are DqlProcessor, FieldsAddProcessor, FieldsRemoveProcessor and FieldsRenameProcessor.

The Routing object

Routing strategy, either dynamic or static.

ElementTypeDescriptionRequired
typestring

Defines the actual set of fields depending on the value. See one of the following objects:

  • dynamic
  • static
required

The PipelineDefinition object

Definition of a single pipeline, either 'default' or 'classic'.

ElementTypeDescriptionRequired
builtinboolean

Indicates if the object is provided by Dynatrace or customer defined.

optional
dataExtractionDataExtractionStage

Data extraction stage configuration of the pipeline.

optional
displayNamestring

Display name of the pipeline.

optional
editableboolean

Indicates if the user is allowed to edit this object based on permissions and builtin property.

optional
enabledboolean

Indicates if the object is active.

required
idstring

Identifier of the pipeline.

required
metricExtractionMetricExtractionStage

Metric extraction stage configuration of the pipeline.

optional
securityContextSecurityContextStage

Security context stage configuration of the pipeline.

optional
storageStorageStage

Storage stage configuration of the pipeline.

optional
typestring

Defines the actual set of fields depending on the value. See one of the following objects:

  • classic
  • default
required

The DataExtractionStage object

Data extraction stage configuration of the pipeline.

ElementTypeDescriptionRequired
editableboolean

Indicates if the user is allowed to edit this object based on permissions and builtin property.

optional
processorsDataExtractionStageProcessor[]

List of processors.

required

The DataExtractionStageProcessor object

Groups all processors applicable for the DataExtractionStage. Applicable processors are DavisEventExtractionProcessor and BizeventExtractionProcessor.

The MetricExtractionStage object

Metric extraction stage configuration of the pipeline.

ElementTypeDescriptionRequired
editableboolean

Indicates if the user is allowed to edit this object based on permissions and builtin property.

optional
processorsMetricExtractionStageProcessor[]

List of processors.

required

The MetricExtractionStageProcessor object

Groups all processors applicable for the MetricExtractionStage. Applicable processors are CounterMetricExtractionProcessor and ValueMetricExtractionProcessor.

The SecurityContextStage object

Security context stage configuration of the pipeline.

ElementTypeDescriptionRequired
editableboolean

Indicates if the user is allowed to edit this object based on permissions and builtin property.

optional
processorsSecurityContextStageProcessor[]

List of processors.

required

The SecurityContextStageProcessor object

Groups all processors applicable for the SecurityContextStage. Applicable processor is SecurityContextProcessor.

The StorageStage object

Storage stage configuration of the pipeline.

ElementTypeDescriptionRequired
catchAllBucketNamestring

Default bucket assigned to records which do not match any other storage processor.

required
editableboolean

Indicates if the user is allowed to edit this object based on permissions and builtin property.

optional
processorsStorageStageProcessor[]

List of processors.

required

The StorageStageProcessor object

Groups all processors applicable for the StorageStage. Applicable processors are BucketAssignmentProcessor and NoStorageProcessor.

The RoutingTable object

Dynamic routing definition.

ElementTypeDescriptionRequired
catchAllPipelineRoutingTableEntryTarget

The default pipeline records are routed into if no dynamic routing entries apply.

required
editableboolean

Indicates if the user is allowed to edit this object based on permissions and builtin property.

optional
entriesRoutingTableEntry[]

List of all dynamic routes.

required

The RoutingTableEntryTarget object

The default pipeline records are routed into if no dynamic routing entries apply.

ElementTypeDescriptionRequired
editableboolean

Indicates if the user is allowed to edit this object based on permissions and builtin property.

optional
pipelineIdstring

Identifier of the pipeline.

required

The RoutingTableEntry object

Dynamic routing entry.

ElementTypeDescriptionRequired
builtinboolean

Indicates if the object is provided by Dynatrace or customer defined.

optional
editableboolean

Indicates if the user is allowed to edit this object based on permissions and builtin property.

optional
enabledboolean

Indicates if the object is active.

required
matcherstring

Matching condition to apply on incoming records.

required
notestring

Unique note describing the dynamic route.

required
pipelineIdstring

Identifier of the pipeline the record is routed into.

required

Request body JSON model

This is a model of the request body, showing the possible elements. It has to be adjusted for usage in an actual request.

{
"id": "events",
"editable": false,
"version": "1719220519649-ff2897a62cf849b0baa95e71fa4d5f1f",
"customBasePath": "/platform/ingest/custom/events",
"endpoints": [
{
"enabled": true,
"builtin": false,
"editable": false,
"basePath": "/platform/ingest/custom/events",
"segment": "home",
"displayName": "Endpoint for home automation",
"defaultBucket": "home_automation_events",
"processors": [
{
"type": "fieldsRename",
"enabled": false,
"editable": true,
"id": "hostname-field-normalizer",
"description": "hostname field normalizer",
"matcher": "isNotNull(\"hostname\")",
"sampleData": "{\"hostname\": \"raspberry-pi 4\",\"ip\":\"10.0.0.123\"}",
"fields": [
{
"fromName": "hostname",
"toName": "host.name"
},
{
"fromName": "ip",
"toName": "ip.address"
}
]
},
{
"type": "fieldsAdd",
"enabled": false,
"editable": true,
"id": "add-source-field",
"description": "Add source field",
"matcher": "true",
"sampleData": "{\"hostname\": \"raspberry-pi 4\",\"ip\":\"10.0.0.123\"}",
"fields": [
{
"name": "source",
"value": "home-automation"
}
]
}
],
"routing": {
"type": "dynamic"
}
},
{
"enabled": true,
"builtin": true,
"editable": false,
"basePath": "/platform/ingest/v1/events",
"segment": "",
"displayName": "Default API",
"defaultBucket": null,
"processors": [],
"routing": {
"type": "dynamic"
}
}
],
"pipelines": [
{
"type": "default",
"enabled": true,
"editable": false,
"id": "home-automation",
"builtin": false,
"displayName": "Home automation pipeline",
"storage": {
"editable": false,
"catchAllBucketName": "home_automation_events",
"processors": [
{
"type": "noStorage",
"id": "don-not-store-debug-events",
"description": "Do not store debugging events",
"enabled": true,
"editable": false,
"matcher": "severity==\"debug\"",
"sampleData": "{}"
},
{
"type": "bucketAssignment",
"enabled": true,
"editable": false,
"id": "bucket-assignment-security-relevent-events",
"description": "Store security relevant events in dedicated bucket",
"matcher": "type==\"security\"",
"sampleData": "{}",
"bucketName": "home_automation_security_events"
}
]
},
"securityContext": {
"editable": false,
"processors": [
{
"type": "securityContext",
"id": "security-context",
"description": "Mark security context for supervisors",
"enabled": true,
"editable": false,
"matcher": "type==\"security\"",
"sampleData": "{}",
"value": {
"type": "constant",
"constant": "supervisors"
}
}
]
},
"metricExtraction": {
"editable": false,
"processors": [
{
"type": "counterMetric",
"id": "click-counter-metric",
"description": "Counts the clicks on a button",
"enabled": true,
"editable": true,
"matcher": "device.type==\"button\"",
"sampleData": "{}",
"metricKey": "events.home.button.click",
"dimensions": [
"device.name",
"device.location"
]
},
{
"type": "valueMetric",
"id": "temperature-value-metric",
"description": "description",
"enabled": true,
"editable": true,
"matcher": "device.type==\"temperature-sensor\"",
"sampleData": "{}",
"metricKey": "events.home.temperature",
"dimensions": [
"device.name",
"device.location"
],
"field": "temperature"
}
]
},
"dataExtraction": {
"editable": false,
"processors": []
},
"processing": {
"editable": false,
"processors": []
}
},
{
"type": "default",
"enabled": true,
"editable": false,
"id": "default",
"builtin": true,
"displayName": "events",
"storage": {
"editable": false,
"catchAllBucketName": "default_events",
"processors": []
},
"securityContext": {
"editable": false,
"processors": []
},
"metricExtraction": {
"editable": false,
"processors": []
},
"dataExtraction": {
"editable": false,
"processors": []
},
"processing": {
"editable": false,
"processors": []
}
}
],
"routing": {
"editable": false,
"catchAllPipeline": {
"editable": false,
"pipelineId": "default"
},
"entries": [
{
"enabled": true,
"editable": false,
"builtin": false,
"pipelineId": "home-automation",
"matcher": "source==\"home-automation\"",
"note": "Route all home automation events into dedicated pipeline"
}
]
}
}

Response

Response codes

CodeTypeDescription
202-

Configuration change was accepted.

409ErrorResponseEnvelope

Version conflict.

413ErrorResponseEnvelope

Max Payload size of 10 MiB exceeded.

4XXErrorResponseEnvelope

Client-side error.

5XXErrorResponseEnvelope

Server-side error.

JSON models

The ConstantValueAssignment object

Assign a constant value.

ElementTypeDescription
constantstring

The constant value to assign.

The FieldValueAssignment object

Assign a value extracted from a field.

ElementTypeDescription
fieldstring

The field on the record to extract the value for assignment.

The StaticRouting object

Records are statically routed to the defined pipeline.

ElementTypeDescription
pipelineIdstring

Identifier of the pipeline.

The DynamicRouting object

Records are routed via the dynamic routes.

The ClassicPipelineDefinition object

Definition of a classic pipeline which are configured via settings 2.0. This only applies to the logs and bizevents configuration.

ElementTypeDescription
processingClassicProcessingStage

Processing stage configuration of the pipeline.

settingsSchemastring

The settings-schema identifier related to the processing of the classic pipeline.

The ClassicProcessingStage object

Processing stage configuration of the pipeline.

ElementTypeDescription
editableboolean

Indicates if the user is allowed to edit this object based on permissions and builtin property.

processorsClassicProcessingStageProcessor[]

List of processors.

The ClassicProcessingStageProcessor object

Groups all processors applicable for the ClassicProcessingStage. Applicable processor is SxqlProcessor.

The SxqlProcessor object

Processor to apply a SXQL script.

ElementTypeDescription
descriptionstring

Name or description of the processor.

editableboolean

Indicates if the user is allowed to edit this object based on permissions and builtin property.

enabledboolean

Indicates if the object is active.

idstring

Identifier of the processor. Must be unique within a stage.

matcherstring

Matching condition to apply on incoming records.

sampleDatastring

Sample data related to the processor for documentation or testing.

sxqlScriptstring

The SXQL script to apply on the record.

The DefaultPipelineDefinition object

Definition of a single default pipeline.

ElementTypeDescription
processingProcessingStage

Processing stage configuration of the pipeline.

The ProcessingStage object

Processing stage configuration of the pipeline.

ElementTypeDescription
editableboolean

Indicates if the user is allowed to edit this object based on permissions and builtin property.

processorsProcessingStageProcessor[]

List of processors.

The ProcessingStageProcessor object

Groups all processors applicable for the ProcessingStage. Applicable processors are DqlProcessor, FieldsAddProcessor, FieldsRemoveProcessor and FieldsRenameProcessor.

The BizeventExtractionProcessor object

Processor to extract a bizevent. This processor can only be applied to the logs configuration.

ElementTypeDescription
descriptionstring

Name or description of the processor.

editableboolean

Indicates if the user is allowed to edit this object based on permissions and builtin property.

enabledboolean

Indicates if the object is active.

eventProviderValueAssignment

Strategy to assign a value.

eventTypeValueAssignment

Strategy to assign a value.

fieldExtractionBizeventFieldExtraction

Definition of the field extraction.

idstring

Identifier of the processor. Must be unique within a stage.

matcherstring

Matching condition to apply on incoming records.

sampleDatastring

Sample data related to the processor for documentation or testing.

The ValueAssignment object

Strategy to assign a value.

ElementTypeDescription
typestring

Defines the actual set of fields depending on the value. See one of the following objects:

  • constant
  • field

The BizeventFieldExtraction object

Definition of the field extraction.

ElementTypeDescription
fieldsstring[]

Fields to include/exclude in the extracted bizevent.

semanticstring

Defines how the fields of the source record should be extracted into the bizevent. INCLUDE: Only the specified fields are extracted. INCLUDE_ALL: All fields are extracted. EXCLUDE: All fields except the specified fields are extracted.

  • EXCLUDE
  • INCLUDE
  • INCLUDE_ALL

The DavisEventExtractionProcessor object

Processor to extract a davis event.

ElementTypeDescription
descriptionstring

Name or description of the processor.

editableboolean

Indicates if the user is allowed to edit this object based on permissions and builtin property.

enabledboolean

Indicates if the object is active.

idstring

Identifier of the processor. Must be unique within a stage.

matcherstring

Matching condition to apply on incoming records.

propertiesDavisEventProperty[]

List of properties for the extracted davis event.

sampleDatastring

Sample data related to the processor for documentation or testing.

The DavisEventProperty object

List of properties for the extracted davis event.

ElementTypeDescription
keystring

The key to set on the davis event.

valuestring

The value assigned to the key.

The DqlProcessor object

Processor to apply a DQL script.

ElementTypeDescription
descriptionstring

Name or description of the processor.

dqlScriptstring

The DQL script to apply on the record.

editableboolean

Indicates if the user is allowed to edit this object based on permissions and builtin property.

enabledboolean

Indicates if the object is active.

idstring

Identifier of the processor. Must be unique within a stage.

matcherstring

Matching condition to apply on incoming records.

sampleDatastring

Sample data related to the processor for documentation or testing.

The FieldsAddProcessor object

Processor to add fields.

ElementTypeDescription
descriptionstring

Name or description of the processor.

editableboolean

Indicates if the user is allowed to edit this object based on permissions and builtin property.

enabledboolean

Indicates if the object is active.

fieldsFieldsAddItem[]

List of fields to add to the record.

idstring

Identifier of the processor. Must be unique within a stage.

matcherstring

Matching condition to apply on incoming records.

sampleDatastring

Sample data related to the processor for documentation or testing.

The FieldsAddItem object

List of fields to add to the record.

ElementTypeDescription
namestring

Name of the field.

valuestring

Value to assign to the field.

The FieldsRemoveProcessor object

Processor to remove fields.

ElementTypeDescription
descriptionstring

Name or description of the processor.

editableboolean

Indicates if the user is allowed to edit this object based on permissions and builtin property.

enabledboolean

Indicates if the object is active.

fieldsstring[]

List of fields to remove from the record.

idstring

Identifier of the processor. Must be unique within a stage.

matcherstring

Matching condition to apply on incoming records.

sampleDatastring

Sample data related to the processor for documentation or testing.

The FieldsRenameProcessor object

Processor to rename fields.

ElementTypeDescription
descriptionstring

Name or description of the processor.

editableboolean

Indicates if the user is allowed to edit this object based on permissions and builtin property.

enabledboolean

Indicates if the object is active.

fieldsFieldsRenameItem[]

List of fields to rename on the record.

idstring

Identifier of the processor. Must be unique within a stage.

matcherstring

Matching condition to apply on incoming records.

sampleDatastring

Sample data related to the processor for documentation or testing.

The FieldsRenameItem object

List of fields to rename on the record.

ElementTypeDescription
fromNamestring

The field to rename.

toNamestring

The new field name.

The NoStorageProcessor object

Processor to skip storage assignment.

ElementTypeDescription
descriptionstring

Name or description of the processor.

editableboolean

Indicates if the user is allowed to edit this object based on permissions and builtin property.

enabledboolean

Indicates if the object is active.

idstring

Identifier of the processor. Must be unique within a stage.

matcherstring

Matching condition to apply on incoming records.

sampleDatastring

Sample data related to the processor for documentation or testing.

The BucketAssignmentProcessor object

Processor to assign a bucket.

ElementTypeDescription
bucketNamestring

Bucket that is assigned when the record is matched.

descriptionstring

Name or description of the processor.

editableboolean

Indicates if the user is allowed to edit this object based on permissions and builtin property.

enabledboolean

Indicates if the object is active.

idstring

Identifier of the processor. Must be unique within a stage.

matcherstring

Matching condition to apply on incoming records.

sampleDatastring

Sample data related to the processor for documentation or testing.

The SecurityContextProcessor object

Processor to set the security context field.

ElementTypeDescription
descriptionstring

Name or description of the processor.

editableboolean

Indicates if the user is allowed to edit this object based on permissions and builtin property.

enabledboolean

Indicates if the object is active.

idstring

Identifier of the processor. Must be unique within a stage.

matcherstring

Matching condition to apply on incoming records.

sampleDatastring

Sample data related to the processor for documentation or testing.

valueValueAssignment

Strategy to assign a value.

The ValueAssignment object

Strategy to assign a value.

ElementTypeDescription
typestring

Defines the actual set of fields depending on the value. See one of the following objects:

  • constant
  • field

The CounterMetricExtractionProcessor object

Processor to write the occurrences as a metric.

ElementTypeDescription
descriptionstring

Name or description of the processor.

dimensionsstring[]

List of dimensions to add to the metric.

editableboolean

Indicates if the user is allowed to edit this object based on permissions and builtin property.

enabledboolean

Indicates if the object is active.

idstring

Identifier of the processor. Must be unique within a stage.

matcherstring

Matching condition to apply on incoming records.

metricKeystring

The key of the metric to write.

sampleDatastring

Sample data related to the processor for documentation or testing.

The ValueMetricExtractionProcessor object

Processor to extract a value from a field as a metric.

ElementTypeDescription
descriptionstring

Name or description of the processor.

dimensionsstring[]

List of dimensions to add to the metric.

editableboolean

Indicates if the user is allowed to edit this object based on permissions and builtin property.

enabledboolean

Indicates if the object is active.

fieldstring

The field to extract the value for the metric.

idstring

Identifier of the processor. Must be unique within a stage.

matcherstring

Matching condition to apply on incoming records.

metricKeystring

The key of the metric to write.

sampleDatastring

Sample data related to the processor for documentation or testing.

The ErrorResponseEnvelope object

Encloses the encountered error.

ElementTypeDescription
errorErrorResponse

Basic information of the encountered error.

The ErrorResponse object

Basic information of the encountered error.

ElementTypeDescription
codeinteger

The returned HTTP status code.

detailsErrorResponseDetails

Detailed information of the error.

messagestring

Description of the encountered error.

The ErrorResponseDetails object

Detailed information of the error.

ElementTypeDescription
typestring

Defines the actual set of fields depending on the value. See one of the following objects:

  • constraintViolation

The ConstraintViolationDetails object

List of encountered constraint violations.

ElementTypeDescription
constraintViolationsConstraintViolation[]

List of encountered constraint violations.

The ConstraintViolation object

Information about a single constraint violation.

ElementTypeDescription
messagestring

Description of the constraint violation.