Job definition reference
A JSON request body is required when creating a Data Repair API job. This page provides a full list of variables, actions, and filters that you can include to create a valid JSON request body.
Adobe may add optional request and response members (name/value pairs) to existing API objects at any time and without notice or changes in versioning. Adobe recommends that you refer to the API documentation of any third-party tool you integrate with our APIs so that such additions are ignored in processing if not understood. If implemented properly, such additions are non-breaking changes for your implementation. Adobe will not remove parameters or add required parameters without first providing standard notification through release notes.
Structure
A JSON request body consists of one or more variables with the desired action for each variable. You can also optionally include filters for a given variable.
Copied to your clipboard{"variables": {"{VARIABLE_1}": {"action": "{ACTION_1}"},"{VARIABLE_2}": {"action": "{ACTION_2}","filter": {"condition": "{CONDITION_2}"}},"{VARIABLE_3}": {"action": "{ACTION_3}","filters": [{"condition": "{CONDITION_1}"},{"condition": "{CONDITION_2}"}]}}}
Variables
The Data Repair API supports the following variables, with their supported actions.
- If a variable supports the
setaction, you can use any filter with it unless otherwise noted. - If a variable supports the
deleteaction, you can use any filter exceptisEmptywith it unless otherwise noted. - If a variable supports
deleteQueryStringordeleteQueryStringParameters, you cannot use any filters with either action.
| Variable | Supported actions | Description |
|---|---|---|
activitymap | delete | Deletes all Activity map data for the hit. This variable does not support any filters. |
campaign | setdeletedeleteQueryStringdeleteQueryStringParameters | The Tracking code dimension. Only tracking codes with an expiration of page view, visit, or time period of 1 day or shorter are supported by the Data Repair API. A data repair job fails if it includes this variable with an expiration of a time period greater than 1 day or on an event. As a best practice, Adobe recommends resetting the tracking code before a data repair job runs so that values persisted by visitors do not reappear after a data repair job is complete. |
entrypage | setdeletedeleteQueryStringdeleteQueryStringParameters | The Entry page dimension. Note that 'Entry page' is calculated at report time in Analysis Workspace; if you repair or delete values in this variable, make sure that you make similar changes to the page variable as well. |
entrypageoriginal | setdeletedeleteQueryStringdeleteQueryStringParameters | The Entry page original dimension. While 'Entry page' is calculated at report time in Analysis Workspace, 'Entry page original' uses this variable for reporting. If you modify this variable, Adobe recommends modifying the page variable with similar modifications for consistency. |
evar1 - evar250 | setdeletedeleteQueryStringdeleteQueryStringParameters | eVar dimensions. Only eVars with an expiration of page view, visit, or time period of 1 day or shorter are supported by the Data Repair API. Merchandising variables, enabled currently or historically, are not supported. As a best practice, Adobe recommends resetting the eVar in question before a data repair job runs so that values persisted by visitors do not reappear after a data repair job is complete. |
geodma | delete | The US DMA dimension. The only supported filter is inList. |
geocity | delete | The Cities dimension. The only supported filter is inList. |
geocountry | delete | The Countries dimension. The only supported filter is inList. |
geolatitudegeolongitude | delete | The only supported filter is inList. |
georegion | delete | The Regions dimension. The only supported filter is inList. |
geozip | delete | The Zip code dimension collected through geolocation. See also zip. The only supported filter is inList. |
ipaddress | delete | The IP address of the visitor. The only supported filter is inList. |
latitudelongitude | delete | The only supported filter is inList. |
latlon1latlon23latlon45pointofinterestpointofinterestdistance | delete | Mobile dimensions. These variables do not support any filters. |
mobileaction | delete | The Mobile action dimension. |
mobileappidmobilemessagebuttonnamemobilemessageidmobilerelaunchcampaigncontentmobilerelaunchcampaignmediummobilerelaunchcampaignsourcemobilerelaunchcampaigntermmobilerelaunchcampaigntrackingcode | setdeletedeleteQueryStringdeleteQueryStringParameters | Mobile dimensions. If using the delete action with this variable, no filters are supported. Standard filters are supported when using the set action with this variable. |
page | setdeleteQueryStringdeleteQueryStringParameters | The Page dimension. The isEmpty filter is not supported. If you modify values in this variable, consider also making similar modifications to the entrypage and entrypageoriginal variables. |
pageeventvar1 | setdeleteQueryStringdeleteQueryStringParameters | The linkURL implementation variable. The isEmpty filter is not supported. |
pageeventvar2 | setdeleteQueryStringdeleteQueryStringParameters | The Download link, Exit link, or Custom link dimension, depending on the type of link. The isEmpty filter is not supported. |
pageurl | deleteQueryStringdeleteQueryStringParameters | The Page URL dimension. |
pageurlfirsthitpageurlvisitstart | deleteQueryStringdeleteQueryStringParameters | N/A |
prop1 - prop75 | setdeletedeleteQueryStringdeleteQueryStringParameters | Prop dimensions. |
referrer | deleteQueryStringdeleteQueryStringParameters | The Referrer dimension. |
referrerfirsthitreferrervisit | deleteQueryStringdeleteQueryStringParameters | N/A |
sitesections | setdeletedeleteQueryStringdeleteQueryStringParameters | The Site section dimension. |
videovideoad | setdeleteQueryStringdeleteQueryStringParameters | Media Analytics dimensions. |
videoadnamevideoadplayernamevideoadadvertiservideoaudioalbumvideoaudioartistvideoaudioauthorvideoaudiolabelvideoaudiopublishervideoaudiostationvideoadcampaignvideochannelvideochaptervideocontenttypevideoepisodevideofeedtypevideomvpdvideonamevideonetworkvideopathvideoplayernamevideoseasonvideoshowvideoshowtypevideostreamtype | setdeletedeleteQueryStringdeleteQueryStringParameters | Media Analytics dimensions. |
zip | delete | The Zip code dimension collected through the zip variable (not geosegmentation). See also geozip. The only supported filter is inList. |
Actions
Each variable requires an action. The Data Repair API supports the following four actions:
set: Overwrites the variable to the value in thesetValueproperty. Include thesetValueproperty alongside theactionproperty inside the variable. It supports all filters by default; however, some variables do not support all filters for this action. See the above table to confirm that a variable supports a filter with this action.delete: Clears the variable value. It supports all filters exceptisEmptyby default. Some variables do not support all filters for this action. See the above table to confirm that a variable supports a filter with this action.deleteQueryString: Remove the entire query string from a variable value. If the value does not appear to be a URL, no action is taken. Filters are not supported with this action.deleteQueryStringParameters: Remove one or more query string parameters and their values from a variable. The query parameters removed are based on the string arrayparameters. Include theparametersarray alongside theactionproperty inside the variable.- Up to 10 parameters are supported.
- Parameters are case sensitive.
- Filters are not supported with this action.
- If the value is not a correctly formatted URL, no action is taken.
Copied to your clipboard{"variables": {"evar1": {"action": "set","setValue": "New value"}}}
Copied to your clipboard{"variables": {"evar1": {"action": "delete"}}}
Copied to your clipboard{"variables": {"evar1": {"action": "deleteQueryString"}}}
Copied to your clipboard{"variables": {"evar1": {"action": "deleteQueryStringParameters","parameters": ["param1", "param2"]}}}
Filters
The set and delete actions support filters, which allow you to selectively repair certain rows based on the filter criteria. Check the above variable table to make sure that an action supports the desired filter. The deleteQueryString and deleteQueryStringParameters actions do not support any filters.
You can specify a single filter using filter or multiple filters using filters. Matching one of multiple filters (using an 'OR' operator) is not supported; when using multiple filters, each row must match all filters to be included in the repair.
All filters are case-sensitive.
inList: Include all rows where the variable is an exact match to at least one value from thematchValuesarray. ThematchValuesarray can hold up to 1000 values.isEmpty: Only include rows where the variable does not contain a value. Cannot be used with thedeleteaction.contains: Include rows where the variable contains the value inmatchValue.doesNotContain: Include rows where the value inmatchValueis not present.startsWith: Limit the action to rows where the value starts with the value inmatchValue.doesNotStartWith: Limit the action to rows where the value does not start with the value inmatchValue.endsWith: Limit the action to rows where the value ends with the value inmatchValue.doesNotEndWith: Limit the action to rows where the value does not end with the value inmatchValue.isURL: Only include the row if the Data Repair API recognizes the value as a URL.isNotURL: Only include the row if the Data Repair API recognizes that the value is not a URL.isNumeric: Include rows where the variable contains only numbers (0-9).isNotNumeric: Include rows where the variable contains characters other than numbers.
Copied to your clipboard{"variables": {"evar1": {"action": "delete","filter": {"condition": "inList","matchValues": ["match1", "match2"]}},"evar2": {"action": "delete","filters": [{"condition": "inList","matchValues": ["match1", "match2"]}, {"condition": "inList","matchValues": ["match2", "match3"]}]}}}
Copied to your clipboard{"variables": {"evar1": {"action": "set","setValue": "new value","filter": {"condition": "isEmpty"}}}}
Copied to your clipboard{"variables": {"evar1": {"action": "delete","filter": {"condition": "contains","matchValue": "@"}}}}
Copied to your clipboard{"variables": {"evar1": {"action": "delete","filter": {"condition": "startsWith","matchValue": "ABC"}}}}
Copied to your clipboard{"variables": {"evar1": {"action": "delete","filter": {"condition": "endsWith","matchValue": "XYZ"}}}}
Copied to your clipboard{"variables": {"evar1": {"action": "delete","filter": {"condition": "isURL"}}}}
Copied to your clipboard{"variables": {"evar1": {"action": "delete","filter": {"condition": "isNumeric"}}}}
Filter Variables
By default, a filter is applied to the variable being repaired. Use filter.variable to filter by a variable other
than the target variable. For example, the following means delete evar2 where evar3 contains '@':
Copied to your clipboard{"evar2": {"action": "delete","filter": {"condition": "contains","matchValue": "@","variable": "evar3"}}}
Example Data Repair API definition file
The following Data Repair API definition simultaneously performs the following five actions:
- Deletes all activity map data
- Deletes the value in
prop12across all rows - Sets
eVar74to the value of "Turtles" across all rows - Deletes the value in
eVar107if the existing eVar value contains "Fox" or "Dog" - Deletes the value in
evar110whereevar110starts withHorseANDevar111starts withZebra
Copied to your clipboard{"variables": {"activitymap": {"action": "delete"},"prop12": {"action": "delete"},"evar74": {"action": "set","setValue": "Turtles"},"evar107": {"action": "delete","filter": {"condition": "inList","matchValues": ["Fox", "Dog"]}},"evar110": {"action": "delete","filters": [{"condition": "startsWith","matchValue": "Horse"}, {"condition": "startsWith","matchValue": "Zebra","variable": "evar111"}]}}}
Once you have a completed JSON request body and a validationToken from the Server Call estimate endpoint, you can make a call to the Job endpoint to make the Data Repair API call.

