Improved

Improved quote error messaging

We’ve improved validation error messages to highlight the specific field that caused the error. This makes it easier for your integration to identify issues and handle them more precisely.

Affected Endpoints

🔍 What’s New

  • Before: Validation errors returned a generic message denoting that a field was invalid, like "Value is required".
  • Now: Errors reference the exact field, e.g. "First name is required".

Sample Responses

Outside number range

{
  "quote": {
    ....,
    "profile": {
      ....,
      "drivers": [
        {
          ....,
          ageWhenLicensed: {
            "value": 13,
            "valid": false,
            "message": "Age when licensed must be between 14 and 110",
            "requirements": [
              {
                "fulfilled": false,
                "kind": "number_range",
                "message": "Age when licensed must be between 14 and 110",
                "metadata": {
                  "min": 14,
                  "max": 110
                }
              }
            ]
          },
          ....
          }
      ],
      ....
  },
  ....
}

Outside date range

{
  "quote": {
    ....,
    "profile": {
      ....,
      "drivers": [
        {
          ....,
          "dob": {
            "value": "1900-**-**",
            "valid": false,
            "message": "Dob must be between 1915-09-29 and 2011-09-29",
            "requirements": [
              {
                "fulfilled": true,
                "kind": "date_range",
                "message": "Dob must be between 1915-09-29 and 2011-09-29",
                "metadata": {
                  "min": "1915-09-29",
                  "max": "2011-09-29"
                }
              }
            ]
          },
          ....
          }
      ],
      ....
  },
  ....
}

Missing but required

{
  "quote": {
    ....,
    "profile": {
      ....,
      "drivers": [
        {
          ....,
          "firstName": {
            "value": null,
            "valid": false,
            "message": "First name is required",
            "requirements": [
              {
                "fulfilled": false,
                "kind": "missing",
                "message": "First name is required"
              },
              ....
            ]
          },
          ....
          }
      ],
      ....
  },
  ....
}

Incorrect format

{
  "quote": {
    ....,
    "profile": {
      ....,
      "drivers": [
        {
          ....,
          "firstName": {
            "value": "A",
            "valid": false,
            "message": "'A' does not match the required format for First name",
            "requirements": [
              ....,
              {
                "fulfilled": false,
                "kind": "incorrect_format",
                "message": "'A' does not match the required format for First name",
                "metadata": {
                  "pattern": "(?-mix:\\A[\\p{L}'\\- ]{2,}\\z)"
                }
              }
            ]
          },
          ....
          }
      ],
      ....
  },
  ....
}

Not included in allowed list of options

{
  "quote": {
    ....,
    "profile": {
      ....,
      "homeownerStatus": {
        "value": "ow",
        "valid": false,
        "message": "'ow' is not an allowed value for Homeowner status",
        "requirements": [
          {
            "fulfilled": false,
            "kind": "inclusion",
            "message": "'ow' is not an allowed value for Homeowner status",
            "metadata": {
              "options": [
                "own",
                "rent",
                "other"
              ]
            }
          }
        ]
      },
      ....
  },
  ....
}

Not unique

{
  "quote": {
    ....,
    "profile": {
      ....,
      "vehicles": [
        {
          ....,
          "vin": {
            "value": "5N1AT2MT1HC810254",
            "valid": false,
            "message": "Vin must be unique from '5N1AT2MT1HC810254, 5N1AT2MT1HC810254, 4T1BF1FK4HU295805', but is '5N1AT2MT1HC810254'",
            "requirements": [
              {
                "fulfilled": false,
                "kind": "uniqueness",
                "message": "Vin must be unique from '5N1AT2MT1HC810254, 5N1AT2MT1HC810254, 4T1BF1FK4HU295805', but is '5N1AT2MT1HC810254'",
                "metadata": {
                  "set": [
                    "5N1AT2MT1HC810254",
                    "5N1AT2MT1HC810254",
                    "4T1BF1FK4HU295805"
                  ]
                }
              }
            ]
          }
        }
      ]
      ....
  },
  ....
}