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
set
action, you can use any filter with it unless otherwise noted. - If a variable supports the
delete
action, you can use any filter exceptisEmpty
with it unless otherwise noted. - If a variable supports
deleteQueryString
ordeleteQueryStringParameters
, 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 | set delete deleteQueryString deleteQueryStringParameters | 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 | set delete deleteQueryString deleteQueryStringParameters | 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 | set delete deleteQueryString deleteQueryStringParameters | 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 | set delete deleteQueryString deleteQueryStringParameters | 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 . |
geolatitude geolongitude | 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 . |
latitude longitude | delete | The only supported filter is inList . |
latlon1 latlon23 latlon45 pointofinterest pointofinterestdistance | delete | Mobile dimensions. These variables do not support any filters. |
mobileaction | delete | The Mobile action dimension. |
mobileappid mobilemessagebuttonname mobilemessageid mobilerelaunchcampaigncontent mobilerelaunchcampaignmedium mobilerelaunchcampaignsource mobilerelaunchcampaignterm mobilerelaunchcampaigntrackingcode | set delete deleteQueryString deleteQueryStringParameters | 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 | set deleteQueryString deleteQueryStringParameters | 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 | set deleteQueryString deleteQueryStringParameters | The linkURL implementation variable. The isEmpty filter is not supported. |
pageeventvar2 | set deleteQueryString deleteQueryStringParameters | The Download link, Exit link, or Custom link dimension, depending on the type of link. The isEmpty filter is not supported. |
pageurl | deleteQueryString deleteQueryStringParameters | The Page URL dimension. |
pageurlfirsthit pageurlvisitstart | deleteQueryString deleteQueryStringParameters | N/A |
prop1 - prop75 | set delete deleteQueryString deleteQueryStringParameters | Prop dimensions. |
referrer | deleteQueryString deleteQueryStringParameters | The Referrer dimension. |
referrerfirsthit referrervisit | deleteQueryString deleteQueryStringParameters | N/A |
sitesections | set delete deleteQueryString deleteQueryStringParameters | The Site section dimension. |
video videoad | set deleteQueryString deleteQueryStringParameters | Media Analytics dimensions. |
videoadname videoadplayername videoadadvertiser videoaudioalbum videoaudioartist videoaudioauthor videoaudiolabel videoaudiopublisher videoaudiostation videoadcampaign videochannel videochapter videocontenttype videoepisode videofeedtype videomvpd videoname videonetwork videopath videoplayername videoseason videoshow videoshowtype videostreamtype | set delete deleteQueryString deleteQueryStringParameters | 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 thesetValue
property. Include thesetValue
property alongside theaction
property 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 exceptisEmpty
by 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 theparameters
array alongside theaction
property 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 thematchValues
array. ThematchValues
array can hold up to 1000 values.isEmpty
: Only include rows where the variable does not contain a value. Cannot be used with thedelete
action.contains
: Include rows where the variable contains the value inmatchValue
.doesNotContain
: Include rows where the value inmatchValue
is 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
prop12
across all rows - Sets
eVar74
to the value of "Turtles" across all rows - Deletes the value in
eVar107
if the existing eVar value contains "Fox" or "Dog" - Deletes the value in
evar110
whereevar110
starts withHorse
ANDevar111
starts 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.