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.

data-variant=info
data-slots=text
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.

{
  "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.

Variable
Supported actions
Description
activitymap
delete
Deletes all Activity map data for the hit. This variable does not support any filters.
campaign
set<br/>delete<br/>deleteQueryString<br/>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<br/>
set<br/>delete<br/>deleteQueryString<br/>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<br/>delete<br/>deleteQueryString<br/>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<br/>delete<br/>deleteQueryString<br/>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<br/>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<br/>longitude
delete
The only supported filter is inList.
latlon1<br/>latlon23<br/>latlon45<br/>pointofinterest<br/>pointofinterestdistance
delete
Mobile dimensions. These variables do not support any filters.
mobileaction
delete
The Mobile action dimension.
mobileappid<br/>mobilemessagebuttonname<br/>mobilemessageid<br/>mobilerelaunchcampaigncontent<br/>mobilerelaunchcampaignmedium<br/>mobilerelaunchcampaignsource<br/>mobilerelaunchcampaignterm<br/>mobilerelaunchcampaigntrackingcode
set<br/>delete<br/>deleteQueryString<br/>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<br/>deleteQueryString<br/>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<br/>deleteQueryString<br/>deleteQueryStringParameters
The linkURL implementation variable. The isEmpty filter is not supported.
pageeventvar2
set<br/>deleteQueryString<br/>deleteQueryStringParameters
The Download link, Exit link, or Custom link dimension, depending on the type of link. The isEmpty filter is not supported.
pageurl
deleteQueryString<br/>deleteQueryStringParameters
The Page URL dimension.
pageurlfirsthit<br/>pageurlvisitstart
deleteQueryString<br/>deleteQueryStringParameters
N/A
prop1 - prop75
set<br/>delete<br/>deleteQueryString<br/>deleteQueryStringParameters
Prop dimensions.
referrer
deleteQueryString<br/>deleteQueryStringParameters
The Referrer dimension.
referrerfirsthit<br/>referrervisit
deleteQueryString<br/>deleteQueryStringParameters
N/A
sitesections
set<br/>delete<br/>deleteQueryString<br/>deleteQueryStringParameters
The Site section dimension.
video<br/>videoad
set<br/>deleteQueryString<br/>deleteQueryStringParameters
Media Analytics dimensions.
videoadname<br/>videoadplayername<br/>videoadadvertiser<br/>videoaudioalbum<br/>videoaudioartist<br/>videoaudioauthor<br/>videoaudiolabel<br/>videoaudiopublisher<br/>videoaudiostation<br/>videoadcampaign<br/>videochannel<br/>videochapter<br/>videocontenttype<br/>videoepisode<br/>videofeedtype<br/>videomvpd<br/>videoname<br/>videonetwork<br/>videopath<br/>videoplayername<br/>videoseason<br/>videoshow<br/>videoshowtype<br/>videostreamtype
set<br/>delete<br/>deleteQueryString<br/>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:

data-slots=heading, code
data-repeat=4
data-languages=JSON,JSON,JSON,JSON

set

{
  "variables": {
    "evar1": {
      "action": "set",
      "setValue": "New value"
    }
  }
}

delete

{
  "variables": {
    "evar1": {
      "action": "delete"
    }
  }
}

deleteQueryString

{
  "variables": {
    "evar1": {
      "action": "deleteQueryString"
    }
  }
}

deleteQueryStringParameters

{
  "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.

data-slots=heading, code
data-repeat=7
data-languages=JSON,JSON,JSON,JSON,JSON,JSON,JSON

inList

{
  "variables": {
    "evar1": {
      "action": "delete",
      "filter": {
        "condition": "inList",
        "matchValues": ["match1", "match2"]
      }
    },
    "evar2": {
      "action": "delete",
      "filters": [{
        "condition": "inList",
        "matchValues": ["match1", "match2"]
      }, {
        "condition": "inList",
        "matchValues": ["match2", "match3"]
      }]
    }
  }
}

isEmpty

{
  "variables": {
    "evar1": {
      "action": "set",
      "setValue": "new value",
      "filter": {
        "condition": "isEmpty"
      }
    }
  }
}

contains

{
  "variables": {
    "evar1": {
      "action": "delete",
      "filter": {
        "condition": "contains",
        "matchValue": "@"
      }
    }
  }
}

startsWith

{
  "variables": {
    "evar1": {
      "action": "delete",
      "filter": {
        "condition": "startsWith",
        "matchValue": "ABC"
      }
    }
  }
}

endsWith

{
  "variables": {
    "evar1": {
      "action": "delete",
      "filter": {
        "condition": "endsWith",
        "matchValue": "XYZ"
      }
    }
  }
}

isURL

{
  "variables": {
    "evar1": {
      "action": "delete",
      "filter": {
        "condition": "isURL"
      }
    }
  }
}

isNumeric

{
  "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 '@':

{
  "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:

{
  "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.