OpenPipeline API - PUT a configuration
Updates an OpenPipeline configuration in your Dynatrace environment.
The request produces an application/json
payload.
PUT | SaaS | https://{your-environment-id}.apps.dynatrace.com/platform/openpipeline/v1/configurations/{id} |
Authentication
To execute this request, you need an access token with settings.read
scope.
To learn how to obtain and use it, see Tokens and authentication.
You can execute this request also with an OAuth2 client with openpipeline:configurations:write
permission.
To learn how to obtain and use it, see OAuth clients.
Parameters
Identifier of the configuration.
Request body objects
The Configuration
object
Full configuration containing ingest sources, pipelines and dynamic routing.
The base path for custom ingest endpoints.
Indicates if the user is allowed to edit this object based on permissions and builtin property.
Identifier of the configuration.
The update token of the configuration. You can use it to detect simultaneous modifications done by different users. It is generated upon retrieval (GET requests). If set on update (PUT request), the update will be allowed only if there wasn't any change between the retrieval and the update. If omitted on update, the operation overrides the current value without any checks.
The current version of the configuration.
The EndpointDefinition
object
Definition of a single ingest source.
The base path of the ingest source.
Indicates if the object is provided by Dynatrace or customer defined.
The default bucket assigned to records for the ingest source.
Display name of the ingest source.
Indicates if the user is allowed to edit this object based on permissions and builtin property.
Indicates if the object is active.
The segment of the ingest source, which is applied to the base path. Must be unique within a configuration.
The EndpointProcessor
object
Groups all processors applicable for processing in the EndpointDefinition. Applicable processors are DqlProcessor, FieldsAddProcessor, FieldsRemoveProcessor, FieldsRenameProcessor, and DropProcessor.
The Routing
object
Routing strategy, either dynamic or static.
Defines the actual set of fields depending on the value. See one of the following objects:
static
-> StaticRoutingdynamic
-> DynamicRouting
dynamic
static
The PipelineDefinition
object
Definition of a single pipeline, either 'default' or 'classic'.
Indicates if the object is provided by Dynatrace or customer defined.
Display name of the pipeline.
Indicates if the user is allowed to edit this object based on permissions and builtin property.
Indicates if the object is active.
Identifier of the pipeline.
Defines the actual set of fields depending on the value. See one of the following objects:
default
-> DefaultPipelineDefinitionclassic
-> ClassicPipelineDefinition
classic
default
The DataExtractionStage
object
Data extraction stage configuration of the pipeline.
Indicates if the user is allowed to edit this object based on permissions and builtin property.
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.
Indicates if the user is allowed to edit this object based on permissions and builtin property.
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.
Indicates if the user is allowed to edit this object based on permissions and builtin property.
The SecurityContextStageProcessor
object
Groups all processors applicable for the SecurityContextStage. Applicable processor is SecurityContextProcessor.
The StorageStage
object
Storage stage configuration of the pipeline.
Default bucket assigned to records which do not match any other storage processor.
Indicates if the user is allowed to edit this object based on permissions and builtin property.
The StorageStageProcessor
object
Groups all processors applicable for the StorageStage. Applicable processors are BucketAssignmentProcessor and NoStorageProcessor.
The RoutingTable
object
Dynamic routing definition.
The default pipeline records are routed into if no dynamic routing entries apply.
Indicates if the user is allowed to edit this object based on permissions and builtin property.
The RoutingTableEntryTarget
object
The default pipeline records are routed into if no dynamic routing entries apply.
Indicates if the user is allowed to edit this object based on permissions and builtin property.
Identifier of the pipeline.
The RoutingTableEntry
object
Dynamic routing entry.
Indicates if the object is provided by Dynatrace or customer defined.
Indicates if the user is allowed to edit this object based on permissions and builtin property.
Indicates if the object is active.
Matching condition to apply on incoming records.
Unique note describing the dynamic route.
Identifier of the pipeline the record is routed into.
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","updateToken": "NzgyMTVjYzAtOWYwNC0zZjQ1LWFmNzgtMWQ3OWZjNzdkYjMwX2E3YzZkN2QwLTdmMzctMTFlZi04MDAxLTAxMDAwMDAwMDAwMQ==","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
Configuration change was accepted.
Version conflict. Please check description of 'updateToken' parameter of request body for more details.
JSON models
The ConstantValueAssignment
object
Assign a constant value.
The constant value to assign.
The FieldValueAssignment
object
Assign a value extracted from a field.
The field on the record to extract the value for assignment.
The ConstantMultiValueAssignment
object
Assign a multi-value constant.
The constant multi value to assign.
The StaticRouting
object
Records are statically routed to the defined pipeline.
Identifier of the pipeline.
The DynamicRouting
object
Records are routed via the dynamic routes.
Defines the actual set of fields depending on the value. See one of the following objects:
static
-> StaticRoutingdynamic
-> DynamicRouting
dynamic
static
The ClassicPipelineDefinition
object
Definition of a classic pipeline which are configured via settings 2.0. This only applies to the logs and bizevents configuration.
The settings-schema identifier related to the processing of the classic pipeline.
The ClassicProcessingStage
object
Processing stage configuration of the pipeline.
Indicates if the user is allowed to edit this object based on permissions and builtin property.
The ClassicProcessingStageProcessor
object
Groups all processors applicable for the ClassicProcessingStage. Applicable processor is SxqlProcessor.
The DefaultPipelineDefinition
object
Definition of a single default pipeline.
The ProcessingStage
object
Processing stage configuration of the pipeline.
Indicates if the user is allowed to edit this object based on permissions and builtin property.
The ProcessingStageProcessor
object
Groups all processors applicable for the ProcessingStage. Applicable processors are DqlProcessor, FieldsAddProcessor, FieldsRemoveProcessor, FieldsRenameProcessor, TechnologyProcessor and DropProcessor.
The BizeventExtractionProcessor
object
Processor to extract a bizevent. This processor can only be applied to the logs configuration. Fields event.type and event.provider can only be assigned to a constant or field value. A multi-value constant is not supported for those fields.
Name or description of the processor.
Indicates if the user is allowed to edit this object based on permissions and builtin property.
Indicates if the object is active.
Identifier of the processor. Must be unique within a stage.
Matching condition to apply on incoming records.
Sample data related to the processor for documentation or testing.
The ValueAssignment
object
Strategy to assign a value.
Defines the actual set of fields depending on the value. See one of the following objects:
constant
-> ConstantValueAssignmentfield
-> FieldValueAssignmentmultiValueConstant
-> ConstantMultiValueAssignment
constant
field
multiValueConstant
The FieldsExtraction
object
Definition of the field extraction.
Unique fields to include/exclude in the extracted record.
Defines how the fields of the source record should be extracted. 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.
Name or description of the processor.
Indicates if the user is allowed to edit this object based on permissions and builtin property.
Indicates if the object is active.
Identifier of the processor. Must be unique within a stage.
Matching condition to apply on incoming records.
Sample data related to the processor for documentation or testing.
The DavisEventProperty
object
List of properties for the extracted davis event.
The key to set on the davis event.
The value assigned to the key.
The DqlProcessor
object
Processor to apply a DQL script.
Name or description of the processor.
The DQL script to apply on the record.
Indicates if the user is allowed to edit this object based on permissions and builtin property.
Indicates if the object is active.
Identifier of the processor. Must be unique within a stage.
Matching condition to apply on incoming records.
Sample data related to the processor for documentation or testing.
The FieldsAddProcessor
object
Processor to add fields.
Name or description of the processor.
Indicates if the user is allowed to edit this object based on permissions and builtin property.
Indicates if the object is active.
Identifier of the processor. Must be unique within a stage.
Matching condition to apply on incoming records.
Sample data related to the processor for documentation or testing.
The FieldsAddItem
object
List of fields to add to the record.
Name of the field.
Value to assign to the field.
The FieldsRemoveProcessor
object
Processor to remove fields.
Name or description of the processor.
Indicates if the user is allowed to edit this object based on permissions and builtin property.
Indicates if the object is active.
List of unique fields to remove from the record.
Identifier of the processor. Must be unique within a stage.
Matching condition to apply on incoming records.
Sample data related to the processor for documentation or testing.
The FieldsRenameProcessor
object
Processor to rename fields.
Name or description of the processor.
Indicates if the user is allowed to edit this object based on permissions and builtin property.
Indicates if the object is active.
Identifier of the processor. Must be unique within a stage.
Matching condition to apply on incoming records.
Sample data related to the processor for documentation or testing.
The FieldsRenameItem
object
List of fields to rename on the record.
The field to rename.
The new field name.
The TechnologyProcessor
object
Processor to apply a technology processors.
Indicates if the user is allowed to edit this object based on permissions and builtin property.
Indicates if the object is active.
Identifier of the processor. Must be unique within a stage.
Sample data related to the processor for documentation or testing.
The reference identifier to a specific technology. This technology is applied on the record.
The DropProcessor
object
Processor to drop the record either during the processing stage or at the endpoint.
Name or description of the processor.
Indicates if the user is allowed to edit this object based on permissions and builtin property.
Indicates if the object is active.
Identifier of the processor. Must be unique within a stage.
Matching condition to apply on incoming records.
Sample data related to the processor for documentation or testing.
The NoStorageProcessor
object
Processor to skip storage assignment.
Name or description of the processor.
Indicates if the user is allowed to edit this object based on permissions and builtin property.
Indicates if the object is active.
Identifier of the processor. Must be unique within a stage.
Matching condition to apply on incoming records.
Sample data related to the processor for documentation or testing.
The BucketAssignmentProcessor
object
Processor to assign a bucket.
Bucket that is assigned when the record is matched.
Name or description of the processor.
Indicates if the user is allowed to edit this object based on permissions and builtin property.
Indicates if the object is active.
Identifier of the processor. Must be unique within a stage.
Matching condition to apply on incoming records.
Sample data related to the processor for documentation or testing.
The SecurityContextProcessor
object
Processor to set the security context field.
Name or description of the processor.
Indicates if the user is allowed to edit this object based on permissions and builtin property.
Indicates if the object is active.
Identifier of the processor. Must be unique within a stage.
Matching condition to apply on incoming records.
Sample data related to the processor for documentation or testing.
The ValueAssignment
object
Strategy to assign a value.
Defines the actual set of fields depending on the value. See one of the following objects:
constant
-> ConstantValueAssignmentfield
-> FieldValueAssignmentmultiValueConstant
-> ConstantMultiValueAssignment
constant
field
multiValueConstant
The CounterMetricExtractionProcessor
object
Processor to write the occurrences as a metric.
Name or description of the processor.
List of unique dimensions to add to the metric.
Indicates if the user is allowed to edit this object based on permissions and builtin property.
Indicates if the object is active.
Identifier of the processor. Must be unique within a stage.
Matching condition to apply on incoming records.
The key of the metric to write.
Sample data related to the processor for documentation or testing.
The ValueMetricExtractionProcessor
object
Processor to extract a value from a field as a metric.
Name or description of the processor.
List of unique dimensions to add to the metric.
Indicates if the user is allowed to edit this object based on permissions and builtin property.
Indicates if the object is active.
The field to extract the value for the metric.
Identifier of the processor. Must be unique within a stage.
Matching condition to apply on incoming records.
The key of the metric to write.
Sample data related to the processor for documentation or testing.
The ErrorResponseEnvelope
object
Encloses the encountered error.
The ErrorResponse
object
Basic information of the encountered error.
The returned HTTP status code.
Description of the encountered error.
The ErrorResponseDetails
object
Detailed information of the error.
Defines the actual set of fields depending on the value. See one of the following objects:
constraintViolation
-> ConstraintViolationDetails
constraintViolation
The ConstraintViolationDetails
object
List of encountered constraint violations.
The ConstraintViolation
object
Information about a single constraint violation.
Description of the constraint violation.