Identifying out-of-sequence conflicts

Policy changes are applied to jobs that are in Draft state, which is when a potential out-of-sequence conflict could be introduced.

While the job is in Draft state, no out-of-sequence warnings are raised, even when a conflicting change is added. When a caller attempts to quote a job that contains one or more out-of-sequence conflicts, a 400 response will be returned with a message informing the caller of the presence of conflicts.

To identify out-of-sequence conflicts on a job, a caller can submit a GET request to the /job/v1/jobs/{jobId}/oos-conflicts endpoint. If are no conflicts, then the request will return an empty response.

For a job that has out-of-sequence conflicts, the response body will contain a conflicts property, which is an array holding one or more conflict objects.

The following example shows an out-of-sequence conflict for date of birth values set for Bill Preston:

{
    "data": {
        "attributes": {
            "conflicts": [
                {
                    "conflictValues": [
                        {
                            "displayValue": "01/01/1975",
                            "effectiveDate": "2019-03-01T00:01:00.000Z"
                        },
                        {
                            "displayValue": "01/01/1977",
                            "effectiveDate": "2019-04-01T00:01:00.000Z"
                        }
                    ],
                    "entity": {
                        "displayName": "Bill Preston",
                        "id": "pc:703",
                        "type": "PolicyContact",
                        "uri": "/job/v1/jobs/pc:204/contacts/pc:703"
                    },
                    "field": "dateOfBirthInternal",
                    "id": "b0aca4bc",
                    "originalValue": "01/01/1970",
                    "yourValue": "01/01/1980"
                }
            ]
        },
        . . .
    }
}

The response body contains the following fields:

  • conflictValues: An array of objects for each conflict, containing two or more objects
  • displayValue: A value that is in conflict
  • effectiveDate: The effective date of the associated value
  • entity: The target Guidewire entity
  • field: The field that has the conflict
  • id: The unique identifier for the conflict
  • originalValue: The original field value prior to the conflict
  • yourValue: The latest field value applied by the caller that gave rise to the conflict