Web application configuration API - POST a web application
Creates a new web application.
This API only supports web applications. For mobile and custom applications, see Mobile and custom app API.
Starting with Dynatrace version 1.272, it isn't possible to create an AMP application, and we will discontinue support for AMP application monitoring sometime in the future.
The request consumes and produces an application/json
payload.
POST | SaaS | https://{your-environment-id}.live.dynatrace.com/api/config/v1/applications/web |
Environment ActiveGate | https://{your-activegate-domain}:9999/e/{your-environment-id}/api/config/v1/applications/web |
Authentication
To execute this request, you need an access token with WriteConfig
scope.
To learn how to obtain and use it, see Tokens and authentication.
Parameters
JSON body of the request, containing parameters of the new web application configuraiton.
Request body objects
The WebApplicationConfig
object
Configuration of a web application.
Analize X% of user sessions.
Dynatrace entity ID of the web application.
The key performance metric of load actions.
ACTION_DURATION
CUMULATIVE_LAYOUT_SHIFT
DOM_INTERACTIVE
FIRST_INPUT_DELAY
LARGEST_CONTENTFUL_PAINT
LOAD_EVENT_END
LOAD_EVENT_START
RESPONSE_END
RESPONSE_START
SPEED_INDEX
VISUALLY_COMPLETE
The name of the web application, displayed in the UI.
Real user monitoring enabled/disabled.
The type of the web application.
AUTO_INJECTED
BROWSER_EXTENSION_INJECTED
MANUALLY_INJECTED
Url injection pattern for manual web application.
User action and session properties settings. Empty List means no change
These settings influence the monitoring data you receive for 3rd party, CDN, and 1st party resources.
The key performance metric of XHR actions.
ACTION_DURATION
RESPONSE_END
RESPONSE_START
VISUALLY_COMPLETE
The ConversionGoal
object
A conversion goal of the application.
The ID of conversion goal.
Omit it while creating a new conversion goal.
The name of the conversion goal.
The type of the conversion goal.
Destination
UserAction
VisitDuration
VisitNumActions
Configuration of a visit duration-based conversion goal.
Configuration of a number of user actions-based conversion goal.
The DestinationDetails
object
Configuration of a destination-based conversion goal.
The match is case-sensitive (true
) or (false
).
The operator of the match.
Begins
Contains
Ends
The path to be reached to hit the conversion goal.
The UserActionDetails
object
Configuration of a user action-based conversion goal.
Type of the action to which the rule applies.
Custom
Load
Xhr
The match is case-sensitive (true
) or (false
).
The type of the entity to which the rule applies.
ActionName
PageUrl
The operator of the match.
Begins
Contains
Ends
The value to be matched to hit the conversion goal.
The VisitDurationDetails
object
Configuration of a visit duration-based conversion goal.
The duration of session to hit the conversion goal, in milliseconds.
The VisitNumActionDetails
object
Configuration of a number of user actions-based conversion goal.
The number of user actions to hit the conversion goal.
The Apdex
object
Defines the Apdex settings of an application.
Fallback threshold of an XHR action, defining a tolerable user experience, when the configured KPM is not available.
Maximal value of apdex, which is considered as tolerable user experience.
Fallback threshold of an XHR action, defining a satisfied user experience, when the configured KPM is not available.
Maximal value of apdex, which is considered as satisfied user experience.
The MetaDataCapturing
object
Configuration to capture meta data with the Javascript agent. The captured metadata can be referenced by its uniqueId in UserTags, UserActionAndSessionProperties or UserActionNamingPlaceholder
The name of the meta data to capture.
Name for displaying the captured values in Dynatrace.
True if this metadata should be captured regardless of the privacy settings
The type of the meta data to capture.
COOKIE
CSS_SELECTOR
JAVA_SCRIPT_FUNCTION
JAVA_SCRIPT_VARIABLE
META_TAG
QUERY_STRING
RESPONSE_HEADER
The unique id of the meta data to capture.
True if the last captured value should be used for this metadata. By default the first value will be used.
The ConfigurationMetadata
object
Metadata useful for debugging
Dynatrace version.
A sorted list of the version numbers of the configuration.
A sorted list of version numbers of the configuration.
The MonitoringSettings
object
Real user monitoring settings.
Add the cross origin = anonymous attribute to capture JavaScript error messages and W3C resource timings.
The name of the angular package.
Settings for restricting certain browser type, version, platform and, comparator. It also restricts the mode.
Optimize the value of cache control headers for use with Dynatrace real user monitoring enabled/disabled.
Domain for cookie placement.
To enable RUM for XHR calls to AWS Lambda, define a regular expression matching these calls, Dynatrace can then automatically add a custom header (x-dtc) to each such request to the respective endpoints in AWS.
Important: These endpoints must accept the x-dtc header, or the requests will fail.
Additional JavaScript tag properties that are specific to your application. To do this, type key=value pairs separated using a (|) symbol.
You can exclude some actions from becoming XHR actions.
Put a regular expression, matching all the required URLs, here.
If noting specified the feature is disabled.
fetch()
request capture enabled/disabled.
JavaScript injection mode.
CODE_SNIPPET
CODE_SNIPPET_ASYNC
INLINE_CODE
JAVASCRIPT_TAG
Instrumented web or app server.
Settings for restricting certain ip addresses and for introducing subnet mask. It also restricts the mode.
Support of various JavaScript frameworks.
The location of your application’s custom JavaScript library file.
If nothing specified the root directory of your web server is used.
Required for auto-injected applications, not supported by agentless applications.
The location to send monitoring data from the JavaScript tag.
Specify either a relative or an absolute URL. If you use an absolute URL, data will be sent using CORS.
Required for auto-injected applications, optional for agentless applications.
Same site cookie attribute
LAX
NONE
STRICT
Time duration for the cache settings.
Secure attribute usage for Dynatrace cookies enabled/disabled.
Path to identify the server’s request ID.
Send beacon data via CORS.
XmlHttpRequest
support enabled/disabled.
The AdvancedJavaScriptTagSettings
object
Advanced JavaScript tag settings.
In addition to the event handlers, events called using addEventListener
or attachEvent
can be captured. Be careful with this option! Event wrappers can conflict with the JavaScript code on a web page.
Instrumentation of unsupported Ajax frameworks enabled/disabled.
Maximum character length for action names. Valid values range from 5 to 10000.
Maximum number of errors to be captured per page. Valid values range from 0 to 50.
Proxy wrapper enabled/disabled.
Additional special characters that are to be escaped using non-alphanumeric characters in HTML escape format.
Send the beacon signal as a synchronous XMLHttpRequest using Firefox enabled/disabled.
Send the beacon signal as a synchronous XMLHttpRequest using Internet Explorer enabled/disabled.
User action name attribute.
The AdditionalEventHandlers
object
Additional event handlers and wrappers.
Blur event handler enabled/disabled.
Change event handler enabled/disabled.
Click event handler enabled/disabled.
Max. number of DOM nodes to instrument. Valid values range from 0 to 100000.
Mouseup event handler enabled/disabled.
toString method enabled/disabled.
Use mouseup event for clicks enabled/disabled.
The EventWrapperSettings
object
In addition to the event handlers, events called using addEventListener
or attachEvent
can be captured. Be careful with this option! Event wrappers can conflict with the JavaScript code on a web page.
Blur enabled/disabled.
Change enabled/disabled.
Click enabled/disabled.
MouseUp enabled/disabled.
TouchEnd enabled/disabled.
TouchStart enabled/disabled.
The GlobalEventCaptureSettings
object
Global event capture settings.
Additional events to be captured globally as user input.
For example, DragStart or DragEnd.
Change enabled/disabled.
Click enabled/disabled.
DoubleClick enabled/disabled.
KeyDown enabled/disabled.
KeyUp enabled/disabled.
MouseDown enabled/disabled.
MouseUp enabled/disabled.
Scroll enabled/disabled.
TouchEnd enabled/disabled.
TouchStart enabled/disabled.
The WebApplicationConfigBrowserRestrictionSettings
object
Settings for restricting certain browser type, version, platform and, comparator. It also restricts the mode.
The mode of the list of browser restrictions.
EXCLUDE
INCLUDE
The WebApplicationConfigBrowserRestriction
object
Browser exclusion rules for the browsers that are to be excluded.
The type of the browser that is used.
ANDROID_WEBKIT
BOTS_SPIDERS
CHROME
CHROME_HEADLESS
EDGE
FIREFOX
INTERNET_EXPLORER
OPERA
SAFARI
The version of the browser that is used.
Compares different browsers together.
EQUALS
GREATER_THAN_OR_EQUAL
LOWER_THAN_OR_EQUAL
The platform on which the browser is being used.
ALL
DESKTOP
MOBILE
The ContentCapture
object
Settings for content capture.
JavaScript errors monitoring enabled/disabled.
Visually complete and Speed index support enabled/disabled.
The ResourceTimingSettings
object
Settings for resource timings capture.
Timing for JavaScript files and images on non-W3C supported browsers enabled/disabled.
Instrumentation delay for monitoring resource and image resource impact in browsers that don't offer W3C resource timings.
Valid values range from 0 to 9999.
Only effective if nonW3cResourceTimings is enabled.
Defines how detailed resource timings are captured.
Only effective if w3cResourceTimings or nonW3cResourceTimings is enabled.
CAPTURE_ALL_SUMMARIES
CAPTURE_FULL_DETAILS
CAPTURE_LIMITED_SUMMARIES
Limits the number of domains for which W3C resource timings are captured.
Only effective if resourceTimingCaptureType is CAPTURE_LIMITED_SUMMARIES
.
W3C resource timings for third party/CDN enabled/disabled.
The TimeoutSettings
object
Settings for timed action capture.
Defines how deep temporary actions may cascade. 0 disables temporary actions completely. Recommended value if enabled is 3.
The total timeout of all cascaded timeouts that should still be able to create a temporary action
Timed action support enabled/disabled.
Enable to detect actions that trigger sending of XHRs via setTimout methods.
The VisuallyComplete2Settings
object
Settings for VisuallyComplete2
A RegularExpression used to exclude images and iframes from being detected by the VC module.
Query selector for mutation nodes to ignore in VC and SI calculation
The time in ms the VC module waits for no mutations happening on the page after the load action. Defaults to 1000.
Determines the time in ms VC waits after an action closes to start calculation. Defaults to 50.
Minimum visible area in pixels of elements to be counted towards VC and SI. Defaults to 50.
The WebApplicationConfigIpAddressRestrictionSettings
object
Settings for restricting certain ip addresses and for introducing subnet mask. It also restricts the mode.
The mode of the list of ip address restrictions.
EXCLUDE
INCLUDE
The IpAddressRange
object
The IP address or the IP address range to be mapped to the location.
The IP address to be mapped.
For an IP address range, this is the from address.
The to address of the IP address range.
The subnet mask of the IP address range.
The JavaScriptFrameworkSupport
object
Support of various JavaScript frameworks.
ActiveXObject detection support enabled/disabled.
AngularJS and Angular support enabled/disabled.
Dojo support enabled/disabled.
ExtJS, Sencha Touch support enabled/disabled.
ICEfaces support enabled/disabled.
jQuery, Backbone.js support enabled/disabled.
MooTools support enabled/disabled.
Prototype support enabled/disabled.
The JavaScriptInjectionRules
object
Rules for javascript injection
The enable or disable rule of the java script injection.
The html pattern of the java script injection.
The url rule of the java script injection.
AFTER_SPECIFIC_HTML
AUTOMATIC_INJECTION
BEFORE_SPECIFIC_HTML
DO_NOT_INJECT
The target against which the rule of the java script injection should be matched.
PAGE_QUERY
URL
The url operator of the java script injection.
ALL_PAGES
CONTAINS
ENDS_WITH
EQUALS
STARTS_WITH
The url pattern of the java script injection.
The SessionReplaySetting
object
Session replay settings
Session replay sampling rating in percentage.
A list of URLs to be excluded from CSS resource capturing.
Capture (true
) or don't capture (false
) CSS resources from the session.
SessionReplay Enabled.
The UserActionAndSessionProperties
object
Defines userAction and session custom defined properties settings of an application.
The aggregation type of the property.
It defines how multiple values of the property are aggregated.
AVERAGE
FIRST
LAST
MAXIMUM
MINIMUM
SUM
The cleanup rule of the property.
Defines how to extract the data you need from a string value. Specify the regular expression for the data you need there.
The display name of the property.
If true, the value of this property will always be stored in lower case. Defaults to false.
Key of the property
If the type is LONG_STRING, the max length for this property. Must be a multiple of 100. Defaults to 200.
A reference to the uniqueId of a MetadataCapturingConfig.Must be set if "origin" is of type META_DATA.
The origin of the property
JAVASCRIPT_API
META_DATA
SERVER_SIDE_REQUEST_ATTRIBUTE
The ID of the request attribute.
Only applicable when the origin is set to SERVER_SIDE_REQUEST_ATTRIBUTE
.
If true
, the property is stored as a session property
If true
, the property is stored as a user action property
The data type of the property.
DATE
DOUBLE
LONG
LONG_STRING
STRING
Unique id among all userTags and properties of this application
The UserActionNamingSettings
object
The settings of user action naming.
Case insensitive naming.
List of parameters that should be removed from the query before using the query in the user action name.
Deactivate this setting if different domains should not result in separate user actions.
First load action found under an XHR action should be used when true. Else the deepest one under the xhr action is used
The UserActionNamingRule
object
The settings of naming rule.
Defines the conditions when the naming rule should apply.
Naming pattern. Use Curly brackets {}
to select placeholders.
If set to true
the conditions will be connected by logical OR instead of logical AND.
The UserActionNamingRuleCondition
object
The settings of conditions for user action naming.
Must be a defined placeholder wrapped in curly braces
Must be null if operator is "IS_EMPTY", a regex if operator is "MATCHES_REGULAR_ERPRESSION". In all other cases the value can be a freetext or a placeholder wrapped in curly braces
The operator of the condition
CONTAINS
ENDS_WITH
EQUALS
IS_EMPTY
IS_NOT_EMPTY
MATCHES_REGULAR_EXPRESSION
NOT_CONTAINS
NOT_ENDS_WITH
NOT_EQUALS
NOT_MATCHES_REGULAR_EXPRESSION
NOT_STARTS_WITH
STARTS_WITH
The UserActionNamingPlaceholder
object
The placeholder settings.
Input.
ELEMENT_IDENTIFIER
INPUT_TYPE
METADATA
PAGE_TITLE
PAGE_URL
SOURCE_URL
TOP_XHR_URL
XHR_URL
A reference to the uniqueId of a MetadataCapturingConfig. Must be set if "Input" is of type METADATA.
Placeholder name.
Part.
ALL
ANCHOR
PATH
Use the element identifier that was selected by Dynatrace.
The UserActionNamingPlaceholderProcessingStep
object
The processing step settings.
If set to true: Returns the input if patternBefore or patternAfter cannot be found and the type is SUBSTRING
.
Returns the input if regularExpression doesn't match and type is EXTRACT_BY_REGULAR_EXPRESSION
.
Otherwise null is returned.
The pattern after the required value. It will be removed.
The required occurrence of patternAfter.
FIRST
LAST
The pattern before the required value. It will be removed.
The required occurrence of patternBefore.
FIRST
LAST
The pattern to be replaced.
Only applicable if the type is REPLACE_WITH_PATTERN
.
A regular expression for the string to be extracted or replaced.
Only applicable if the type is EXTRACT_BY_REGULAR_EXPRESSION
or REPLACE_WITH_REGULAR_EXPRESSION
.
Replacement for the original value.
An action to be taken by the processing:
SUBSTRING
: Extracts the string between patternBefore and patternAfter.REPLACEMENT
: Replaces the string between patternBefore and patternAfter with the specified replacement.REPLACE_WITH_PATTERN
: Replaces the patternToReplace with the specified replacement.EXTRACT_BY_REGULAR_EXPRESSION
: Extracts the part of the string that matches the regularExpression.REPLACE_WITH_REGULAR_EXPRESSION
: Replaces all occurrences that match regularExpression with the specified replacement.REPLACE_IDS
: Replaces all IDs and UUIDs with the specified replacement.
EXTRACT_BY_REGULAR_EXPRESSION
REPLACEMENT
REPLACE_IDS
REPLACE_WITH_PATTERN
REPLACE_WITH_REGULAR_EXPRESSION
SUBSTRING
The UserTag
object
Defines UserTags settings of an application.
Cleanup rule expression of the userTag
If true, the value of this tag will always be stored in lower case. Defaults to false.
A reference to the uniqueId of a MetadataCapturingConfig. Must be set if the UserTag is based on metadata captured by the Javascript agent (e.g. a Javascript variable, CSS selector, etc.)
Serverside request attribute id of the userTag. Must be set if the UserTag is based on a serverside request attribute.
uniqueId, unique among all userTags and properties of this application
The WaterfallSettings
object
These settings influence the monitoring data you receive for 3rd party, CDN, and 1st party resources.
Warn about resources with a lower browser cache rate above X%.
Warn about resources larger than X bytes.
Warn about slow CDN resources with a response time above X ms.
Warn about slow 1st party resources with a response time above X ms.
Warn about slow 3rd party resources with a response time above X ms.
Warn if Speed index exceeds X % of Visually complete.
Warn about uncompressed resources larger than X bytes.
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.
{"conversionGoals": [{"destinationDetails": {"caseSensitive": false,"matchType": "Begins","urlOrPath": "url or path"},"name": "conversionGoalName","type": "UserAction","userActionDetails": {"actionType": "Load","caseSensitive": true,"matchEntity": "ActionName","matchType": "Ends","value": "value to match"},"visitDurationDetails": {"durationInMillis": 1},"visitNumActionDetails": {"numUserActions": 2}}],"costControlUserSessionPercentage": 100,"customActionApdexSettings": {"frustratingFallbackThreshold": 12000,"frustratingThreshold": 12000,"toleratedFallbackThreshold": 3000,"toleratedThreshold": 3000},"loadActionApdexSettings": {"frustratingFallbackThreshold": 12000,"frustratingThreshold": 12000,"toleratedFallbackThreshold": 3000,"toleratedThreshold": 3000},"loadActionKeyPerformanceMetric": "VISUALLY_COMPLETE","metaDataCaptureSettings": [{"capturingName": "variableName","name": "display name","type": "JAVA_SCRIPT_VARIABLE"}],"monitoringSettings": {"advancedJavaScriptTagSettings": {"additionalEventHandlers": {"blurEventHandler": false,"changeEventHandler": false,"clickEventHandler": false,"maxDomNodesToInstrument": 5000,"mouseupEventHandler": false,"toStringMethod": false,"userMouseupEventForClicks": false},"eventWrapperSettings": {"blur": false,"change": false,"click": false,"mouseUp": false,"touchEnd": false,"touchStart": false},"globalEventCaptureSettings": {"additionalEventCapturedAsUserInput": "","click": true,"doubleClick": true,"keyDown": true,"keyUp": true,"mouseDown": true,"mouseUp": true,"scroll": true},"instrumentUnsupportedAjaxFrameworks": false,"maxActionNameLength": 100,"maxErrorsToCapture": 10,"specialCharactersToEscape": "","syncBeaconFirefox": false,"syncBeaconInternetExplorer": false},"browserRestrictionSettings": {"browserRestrictions": [{"browserType": "INTERNET_EXPLORER","browserVersion": "0","comparator": "EQUALS","platform": "ALL"}],"mode": "EXCLUDE"},"cacheControlHeaderOptimizations": true,"contentCapture": {"javaScriptErrors": true,"resourceTimingSettings": {"nonW3cResourceTimings": false,"nonW3cResourceTimingsInstrumentationDelay": 50,"w3cResourceTimings": true},"timeoutSettings": {"temporaryActionLimit": 0,"temporaryActionTotalTimeout": 100,"timedActionSupport": false},"visuallyCompleteAndSpeedIndex": true},"cookiePlacementDomain": "","correlationHeaderInclusionRegex": "","customConfigurationProperties": "","excludeXhrRegex": "","fetchRequests": true,"injectionMode": "JAVASCRIPT_TAG","ipAddressRestrictionSettings": {"ipAddressRestrictions": [{"address": "10.0.0.1","subnetMask": 3},{"address": "10.0.0.1","addressTo": "10.0.0.2"}],"mode": "EXCLUDE"},"javaScriptFrameworkSupport": {"activeXObject": false,"angular": true,"dojo": false,"extJS": false,"icefaces": false,"jQuery": true,"mooTools": false,"prototype": true},"javaScriptInjectionRules": [{"enabled": true,"htmlPattern": "</title>","rule": "AFTER_SPECIFIC_HTML","urlOperator": "CONTAINS","urlPattern": "/lorem/ipsum.jsp"}],"libraryFileLocation": "","monitoringDataPath": "","secureCookieAttribute": false,"serverRequestPathId": "","xmlHttpRequest": true},"name": "application name","realUserMonitoringEnabled": true,"sessionReplayConfig": {"costControlPercentage": 100,"cssResourceCapturingExclusionRules": ["rule"],"enableCssResourceCapturing": true,"enabled": true},"type": "AUTO_INJECTED","userActionNamingSettings": {"ignoreCase": true,"loadActionNamingRules": [{"conditions": [{"operand1": "{myPlaceholder}","operand2": "foo","operator": "CONTAINS"}],"template": "Loading of {myPlaceholder}"}],"placeholders": [{"input": "PAGE_URL","name": "myPlaceholder","processingPart": "ALL","processingSteps": [{"patternAfter": ".*a","patternAfterSearchType": "LAST","patternBefore": ".*b","patternBeforeSearchType": "FIRST","replacement": "value","type": "SUBSTRING"}],"useGuessedElementIdentifier": false}],"splitUserActionsByDomain": true,"xhrActionNamingRules": [{"conditions": [{"operand1": "{myPlaceholder}","operand2": "foo","operator": "CONTAINS"}],"template": "Loading of {myPlaceholder}"}]},"waterfallSettings": {"resourceBrowserCachingThreshold": 50,"resourcesThreshold": 100000,"slowCdnResourcesThreshold": 200000,"slowFirstPartyResourcesThreshold": 200000,"slowThirdPartyResourcesThreshold": 200000,"speedIndexVisuallyCompleteRatioThreshold": 50,"uncompressedResourcesThreshold": 860},"xhrActionApdexSettings": {"frustratingFallbackThreshold": 12000,"frustratingThreshold": 10000,"toleratedFallbackThreshold": 3000,"toleratedThreshold": 2500},"xhrActionKeyPerformanceMetric": "ACTION_DURATION"}
Response
Response codes
Success. The response body contains the ID and name of the new web application.
Response body objects
The EntityShortRepresentation
object
The short representation of a Dynatrace entity.
A short description of the Dynatrace entity.
The ID of the Dynatrace entity.
The name of the Dynatrace entity.
Response body JSON model
{"description": "Dynatrace entity for the REST API example","id": "6a98d7bc-abb9-44f8-ae6a-73e68e71812a","name": "Dynatrace entity"}
Validate payload
We recommend that you validate the payload before submitting it with an actual request. A response code of 204 indicates a valid payload.
The request consumes an application/json
payload.
POST | SaaS | https://{your-environment-id}.live.dynatrace.com/api/config/v1/applications/web/validator |
Environment ActiveGate | https://{your-activegate-domain}:9999/e/{your-environment-id}/api/config/v1/applications/web/validator |
Authentication
To execute this request, you need an access token with WriteConfig
scope.
To learn how to obtain and use it, see Tokens and authentication.
Response
Response codes
Validated. The submitted configuration is valid. Response does not have a body.