Resolving out-of-sequence conflicts

To resolve out-of-sequence conflicts on a job, a caller must submit a POST request to the /job/v1/jobs/{jobId}/oos-conflicts/resolve endpoint. The request body must contain an overrides field, which is an array of override selections for resolving the conflicts. All conflicts must be resolved in the POST.

To retain the original field values for each conflict, thus discarding all subsequent changes, a caller can submit a request body that contains an empty array for the overrides field:

{
  "data": {
    "attributes": {
      "overrides": [ ]
    }
  }
}
If the caller wishes to keep one or more changes to any conflicted fields, then the request body must explicitly declare value selections for all fields that are in conflict. In this case, the
overrides
array must contain an object for each conflict, each having the following properties:
  • id: The conflict ID, as a string
  • resolution: A string value of either acceptYours or discardYours

As previously mentioned, each conflict object contains an originalValue and yourValue field. When resolving conflicts, a caller must choose which of those values to retain. To keep the original value, the caller would apply the discardYours value to the resolution property. Otherwise, the caller would apply the acceptYours value to the property.

In the following example request body, the conflicting birthdates for Bill Preston are resolved by choosing the value indicated by the yourValue field in the initial conflict object:

{
  "data": {
    "attributes": {
      "overrides": [ 
        "id": "b0aca4bc",
        "resolution": "acceptYours"
      ]
    }
  }
}