TEIV API Uplift - ProblemDetails implementation 73/14973/2
authorKrupaNagabhushan <krupa.nagabhushan@est.tech>
Fri, 19 Sep 2025 09:06:09 +0000 (10:06 +0100)
committerKrupaNagabhushan <krupa.nagabhushan@est.tech>
Tue, 23 Sep 2025 15:25:05 +0000 (16:25 +0100)
Issue-ID: SMO-196
Change-Id: I3be2de258bf34e85cdfb5bbeff1119667ecff3b1
Signed-off-by: KrupaNagabhushan <krupa.nagabhushan@est.tech>
36 files changed:
docs/offeredapis/html/index.html
docs/offeredapis/index.html
docs/offeredapis/topology-exposure-inventory-openapi.json
docs/offeredapis/topology-exposure-inventory-openapi.yaml
teiv/src/main/java/org/oran/smo/teiv/RequestFilter.java
teiv/src/main/java/org/oran/smo/teiv/exposure/OranTeivErrorJsonMessage.java
teiv/src/main/java/org/oran/smo/teiv/exposure/exception/ApplicationExceptionHandler.java
teiv/src/main/java/org/oran/smo/teiv/groups/rest/controller/GroupsController.java
teiv/src/main/java/org/oran/smo/teiv/utils/TeivConstants.java
teiv/src/main/resources/v1/topology-exposure-inventory-openapi.yaml
teiv/src/test/resources/contracts/exposure/classifiers/01_getClassifiers_getRelationshipsByType.groovy
teiv/src/test/resources/contracts/exposure/classifiers/03_postClassifiers_merge.groovy
teiv/src/test/resources/contracts/exposure/classifiers/04_postClassifiers_delete.groovy
teiv/src/test/resources/contracts/exposure/data/00_getAllDomains.groovy
teiv/src/test/resources/contracts/exposure/data/01_getTopologyEntityTypes.groovy
teiv/src/test/resources/contracts/exposure/data/02_getTopologyByEntityTypeName.groovy
teiv/src/test/resources/contracts/exposure/data/03_getTopologyById.groovy
teiv/src/test/resources/contracts/exposure/data/04_getAllRelationshipsForEntityId.groovy
teiv/src/test/resources/contracts/exposure/data/05_getRelationshipTypes.groovy
teiv/src/test/resources/contracts/exposure/data/06_getRelationshipsByType.groovy
teiv/src/test/resources/contracts/exposure/data/07_getRelationshipById.groovy
teiv/src/test/resources/contracts/exposure/data/08_getEntitiesByDomain.groovy
teiv/src/test/resources/contracts/exposure/decorators/03_postDecoratorsMerge.groovy
teiv/src/test/resources/contracts/exposure/decorators/04_postDecoratorsDelete.groovy
teiv/src/test/resources/contracts/exposure/schemas/00_getAllSchemas.groovy
teiv/src/test/resources/contracts/exposure/schemas/01_getSchemaContent.groovy
teiv/src/test/resources/contracts/exposure/schemas/02_postSchemas.groovy
teiv/src/test/resources/contracts/exposure/schemas/03_deleteSchemas.groovy
teiv/src/test/resources/contracts/groups/00_createGroup.groovy
teiv/src/test/resources/contracts/groups/01_getGroups.groovy
teiv/src/test/resources/contracts/groups/02_getGroupById.groovy
teiv/src/test/resources/contracts/groups/03_deleteGroup.groovy
teiv/src/test/resources/contracts/groups/04_putGroup.groovy
teiv/src/test/resources/contracts/groups/05_getMembers.groovy
teiv/src/test/resources/contracts/groups/06_getProvidedMembers.groovy
teiv/src/test/resources/contracts/groups/07_updateProvidedMembers.groovy

index 926de1b..b784e45 100644 (file)
@@ -1111,21 +1111,6 @@ ul.nav-tabs {
       "$ref" : "#/components/schemas/Href"
     }
   }
-};
-    defs["ErrorMessage"] = {
-  "title" : "Error",
-  "type" : "object",
-  "properties" : {
-    "status" : {
-      "type" : "string"
-    },
-    "message" : {
-      "type" : "string"
-    },
-    "details" : {
-      "type" : "string"
-    }
-  }
 };
     defs["getEntitiesByDomain"] = {
   "title" : "getEntitiesByDomain",
@@ -2318,7 +2303,7 @@ $(document).ready(function() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -2394,7 +2379,7 @@ $(document).ready(function() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -2470,7 +2455,7 @@ $(document).ready(function() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -2546,7 +2531,7 @@ $(document).ready(function() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -2622,7 +2607,7 @@ $(document).ready(function() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -2698,7 +2683,7 @@ $(document).ready(function() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -2774,7 +2759,7 @@ $(document).ready(function() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -2850,7 +2835,7 @@ $(document).ready(function() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -2926,7 +2911,7 @@ $(document).ready(function() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -3002,7 +2987,7 @@ $(document).ready(function() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -3078,7 +3063,7 @@ $(document).ready(function() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -3154,7 +3139,7 @@ $(document).ready(function() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -3681,7 +3666,7 @@ $(document).ready(function() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       },
       "example" : {
         "status" : "400",
@@ -3762,7 +3747,7 @@ $(document).ready(function() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       },
       "example" : {
         "status" : "401",
@@ -3843,7 +3828,7 @@ $(document).ready(function() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       },
       "example" : {
         "status" : "403",
@@ -3924,7 +3909,7 @@ $(document).ready(function() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       },
       "example" : {
         "status" : "409",
@@ -4005,7 +3990,7 @@ $(document).ready(function() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       },
       "example" : {
         "status" : "500",
@@ -4542,7 +4527,7 @@ $(document).ready(function() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -4618,7 +4603,7 @@ $(document).ready(function() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -4694,7 +4679,7 @@ $(document).ready(function() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -4770,7 +4755,7 @@ $(document).ready(function() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -4846,7 +4831,7 @@ $(document).ready(function() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -4922,7 +4907,7 @@ $(document).ready(function() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -4998,7 +4983,7 @@ $(document).ready(function() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -5074,7 +5059,7 @@ $(document).ready(function() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -5150,7 +5135,7 @@ $(document).ready(function() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -5226,7 +5211,7 @@ $(document).ready(function() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -5302,7 +5287,7 @@ $(document).ready(function() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -5378,7 +5363,7 @@ $(document).ready(function() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -5907,7 +5892,7 @@ $(document).ready(function() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       },
       "example" : {
         "status" : "400",
@@ -5988,7 +5973,7 @@ $(document).ready(function() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       },
       "example" : {
         "status" : "401",
@@ -6069,7 +6054,7 @@ $(document).ready(function() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       },
       "example" : {
         "status" : "403",
@@ -6150,7 +6135,7 @@ $(document).ready(function() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       },
       "example" : {
         "status" : "409",
@@ -6231,7 +6216,7 @@ $(document).ready(function() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       },
       "example" : {
         "status" : "500",
@@ -6757,7 +6742,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -6833,7 +6818,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -6909,7 +6894,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -6985,7 +6970,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -7061,7 +7046,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -7137,7 +7122,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -7213,7 +7198,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -7289,7 +7274,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -7365,7 +7350,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -7441,7 +7426,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -8124,7 +8109,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -8200,7 +8185,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -8276,7 +8261,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -8352,7 +8337,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -8428,7 +8413,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -8504,7 +8489,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -8580,7 +8565,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -8656,7 +8641,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -8732,7 +8717,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -8808,7 +8793,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -9429,7 +9414,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -9505,7 +9490,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -9581,7 +9566,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -9657,7 +9642,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -9733,7 +9718,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -9809,7 +9794,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -9885,7 +9870,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -9961,7 +9946,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -10037,7 +10022,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -10113,7 +10098,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -10664,7 +10649,7 @@ domain name
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -10740,7 +10725,7 @@ domain name
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -10816,7 +10801,7 @@ domain name
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -10892,7 +10877,7 @@ domain name
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -10968,7 +10953,7 @@ domain name
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -11044,7 +11029,7 @@ domain name
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -11120,7 +11105,7 @@ domain name
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -11196,7 +11181,7 @@ domain name
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -11272,7 +11257,7 @@ domain name
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -11348,7 +11333,7 @@ domain name
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -12000,7 +11985,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -12076,7 +12061,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -12152,7 +12137,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -12228,7 +12213,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -12304,7 +12289,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -12380,7 +12365,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -12456,7 +12441,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -12532,7 +12517,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -12608,7 +12593,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -12684,7 +12669,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -13336,7 +13321,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -13412,7 +13397,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -13488,7 +13473,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -13564,7 +13549,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -13640,7 +13625,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -13716,7 +13701,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -13792,7 +13777,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -13868,7 +13853,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -13944,7 +13929,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -14020,7 +14005,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -14571,7 +14556,7 @@ domain name
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -14647,7 +14632,7 @@ domain name
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -14723,7 +14708,7 @@ domain name
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -14799,7 +14784,7 @@ domain name
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -14875,7 +14860,7 @@ domain name
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -14951,7 +14936,7 @@ domain name
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -15027,7 +15012,7 @@ domain name
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -15103,7 +15088,7 @@ domain name
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -15179,7 +15164,7 @@ domain name
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -15255,7 +15240,7 @@ domain name
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -15814,7 +15799,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -15890,7 +15875,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -15966,7 +15951,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -16042,7 +16027,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -16118,7 +16103,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -16194,7 +16179,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -16270,7 +16255,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -16346,7 +16331,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -16422,7 +16407,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -16498,7 +16483,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -17057,7 +17042,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -17133,7 +17118,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -17209,7 +17194,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -17285,7 +17270,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -17361,7 +17346,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -17437,7 +17422,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -17513,7 +17498,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -17589,7 +17574,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -17665,7 +17650,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -17741,7 +17726,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -18298,7 +18283,7 @@ $(document).ready(function() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       },
       "example" : {
         "status" : "400",
@@ -18379,7 +18364,7 @@ $(document).ready(function() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       },
       "example" : {
         "status" : "500",
@@ -18806,7 +18791,7 @@ pub fn main() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -18882,7 +18867,7 @@ pub fn main() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -18958,7 +18943,7 @@ pub fn main() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -19507,7 +19492,7 @@ Group name. If not specified, returns all the groups.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -19583,7 +19568,7 @@ Group name. If not specified, returns all the groups.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -20071,7 +20056,7 @@ pub fn main() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -20147,7 +20132,7 @@ pub fn main() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -20223,7 +20208,7 @@ pub fn main() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -20779,7 +20764,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -20855,7 +20840,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -20931,7 +20916,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -21518,7 +21503,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -21594,7 +21579,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -21670,7 +21655,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -22198,7 +22183,7 @@ $(document).ready(function() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -22274,7 +22259,7 @@ $(document).ready(function() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -22350,7 +22335,7 @@ $(document).ready(function() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -22913,7 +22898,7 @@ $(document).ready(function() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -22989,7 +22974,7 @@ $(document).ready(function() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -23489,7 +23474,7 @@ multipartFile
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       },
       "example" : {
         "status" : "400",
@@ -23570,7 +23555,7 @@ multipartFile
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       },
       "example" : {
         "status" : "401",
@@ -23651,7 +23636,7 @@ multipartFile
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       },
       "example" : {
         "status" : "403",
@@ -23732,7 +23717,7 @@ multipartFile
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       },
       "example" : {
         "status" : "409",
@@ -23813,7 +23798,7 @@ multipartFile
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       },
       "example" : {
         "status" : "500",
@@ -24278,7 +24263,7 @@ pub fn main() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       },
       "example" : {
         "status" : "400",
@@ -24359,7 +24344,7 @@ pub fn main() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       },
       "example" : {
         "status" : "401",
@@ -24440,7 +24425,7 @@ pub fn main() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       },
       "example" : {
         "status" : "403",
@@ -24521,7 +24506,7 @@ pub fn main() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       },
       "example" : {
         "status" : "500",
@@ -25011,7 +24996,7 @@ pub fn main() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -25087,7 +25072,7 @@ pub fn main() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -25163,7 +25148,7 @@ pub fn main() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -25239,7 +25224,7 @@ pub fn main() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -25315,7 +25300,7 @@ pub fn main() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -25391,7 +25376,7 @@ pub fn main() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -25467,7 +25452,7 @@ pub fn main() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -25543,7 +25528,7 @@ pub fn main() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -25619,7 +25604,7 @@ pub fn main() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -25695,7 +25680,7 @@ pub fn main() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -26241,7 +26226,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -26317,7 +26302,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -26393,7 +26378,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -26469,7 +26454,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -26545,7 +26530,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -26621,7 +26606,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -26697,7 +26682,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -26773,7 +26758,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -26849,7 +26834,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -26925,7 +26910,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -27476,7 +27461,7 @@ multipartFile
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -27552,7 +27537,7 @@ multipartFile
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -27628,7 +27613,7 @@ multipartFile
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -27704,7 +27689,7 @@ multipartFile
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -27780,7 +27765,7 @@ multipartFile
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -27856,7 +27841,7 @@ multipartFile
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -27932,7 +27917,7 @@ multipartFile
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -28008,7 +27993,7 @@ multipartFile
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -28084,7 +28069,7 @@ multipartFile
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -28160,7 +28145,7 @@ multipartFile
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -28236,7 +28221,7 @@ multipartFile
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -28312,7 +28297,7 @@ multipartFile
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -28772,7 +28757,7 @@ pub fn main() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -28848,7 +28833,7 @@ pub fn main() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -28924,7 +28909,7 @@ pub fn main() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -29000,7 +28985,7 @@ pub fn main() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -29076,7 +29061,7 @@ pub fn main() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -29152,7 +29137,7 @@ pub fn main() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -29228,7 +29213,7 @@ pub fn main() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -29304,7 +29289,7 @@ pub fn main() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -29789,7 +29774,7 @@ pub fn main() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -29865,7 +29850,7 @@ pub fn main() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -29941,7 +29926,7 @@ pub fn main() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -30017,7 +30002,7 @@ pub fn main() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -30093,7 +30078,7 @@ pub fn main() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -30169,7 +30154,7 @@ pub fn main() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -30245,7 +30230,7 @@ pub fn main() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -30321,7 +30306,7 @@ pub fn main() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -30397,7 +30382,7 @@ pub fn main() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -30473,7 +30458,7 @@ pub fn main() {
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -30986,7 +30971,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -31062,7 +31047,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -31138,7 +31123,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -31214,7 +31199,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -31290,7 +31275,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -31366,7 +31351,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -31442,7 +31427,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -31518,7 +31503,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -31594,7 +31579,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
@@ -31670,7 +31655,7 @@ Result limiter.
   "content" : {
     "application/problem+json" : {
       "schema" : {
-        "$ref" : "#/components/schemas/ErrorMessage"
+        "$ref" : "#/components/schemas/ProblemDetails"
       }
     }
   }
index e86f08e..861acc1 100644 (file)
@@ -436,40 +436,40 @@ retrieved and filtered using the <em>/attributes</em>.</p>
         <a href="#"></a>
     <h4 class="field-label">400</h4>
     Bad Request
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">401</h4>
     Unauthorized
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">403</h4>
     Forbidden
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">404</h4>
     Not Found
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">409</h4>
     Conflict
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">411</h4>
     Length Required
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">413</h4>
     Payload Too Large
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">415</h4>
     Unsupported Media Type
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">429</h4>
     Too Many Requests
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">500</h4>
     Internal Server Error
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">502</h4>
     Bad Gateway
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">503</h4>
     Service Unavailable
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
   </div> <!-- method -->
   <hr/>
   <div class="method"><a name="updateClassifierDeprecated"/>
@@ -539,19 +539,19 @@ retrieved and filtered using the <em>/attributes</em>.</p>
         <a href="#"></a>
     <h4 class="field-label">400</h4>
     Bad Request
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">401</h4>
     Unauthorized
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">403</h4>
     Forbidden
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">409</h4>
     Conflict
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">500</h4>
     Internal Server Error
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
   </div> <!-- method -->
   <hr/>
   <h1><a name="Decorators">Decorators</a></h1>
@@ -643,40 +643,40 @@ retrieved and filtered using the <em>/attributes</em>.</p>
         <a href="#"></a>
     <h4 class="field-label">400</h4>
     Bad Request
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">401</h4>
     Unauthorized
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">403</h4>
     Forbidden
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">404</h4>
     Not Found
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">409</h4>
     Conflict
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">411</h4>
     Length Required
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">413</h4>
     Payload Too Large
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">415</h4>
     Unsupported Media Type
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">429</h4>
     Too Many Requests
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">500</h4>
     Internal Server Error
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">502</h4>
     Bad Gateway
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">503</h4>
     Service Unavailable
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
   </div> <!-- method -->
   <hr/>
   <div class="method"><a name="updateDecoratorDeprecated"/>
@@ -746,19 +746,19 @@ retrieved and filtered using the <em>/attributes</em>.</p>
         <a href="#"></a>
     <h4 class="field-label">400</h4>
     Bad Request
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">401</h4>
     Unauthorized
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">403</h4>
     Forbidden
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">409</h4>
     Conflict
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">500</h4>
     Internal Server Error
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
   </div> <!-- method -->
   <hr/>
   <h1><a name="EntitiesAndRelationships">EntitiesAndRelationships</a></h1>
@@ -880,34 +880,34 @@ retrieved and filtered using the <em>/attributes</em>.</p>
         <a href="#Domains">Domains</a>
     <h4 class="field-label">400</h4>
     Bad Request
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">401</h4>
     Unauthorized
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">403</h4>
     Forbidden
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">404</h4>
     Not Found
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">406</h4>
     Not Acceptable
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">414</h4>
     URI Too Large
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">429</h4>
     Too Many Requests
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">500</h4>
     Internal Server Error
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">502</h4>
     Bad Gateway
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">503</h4>
     Service Unavailable
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
   </div> <!-- method -->
   <hr/>
   <div class="method"><a name="getAllRelationshipsForEntityId"/>
@@ -1026,34 +1026,34 @@ retrieved and filtered using the <em>/attributes</em>.</p>
         <a href="#Relationships">Relationships</a>
     <h4 class="field-label">400</h4>
     Bad Request
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">401</h4>
     Unauthorized
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">403</h4>
     Forbidden
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">404</h4>
     Not Found
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">406</h4>
     Not Acceptable
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">414</h4>
     URI Too Large
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">429</h4>
     Too Many Requests
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">500</h4>
     Internal Server Error
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">502</h4>
     Bad Gateway
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">503</h4>
     Service Unavailable
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
   </div> <!-- method -->
   <hr/>
   <div class="method"><a name="getEntitiesByDomain"/>
@@ -1168,34 +1168,34 @@ retrieved and filtered using the <em>/attributes</em>.</p>
         <a href="#Entities">Entities</a>
     <h4 class="field-label">400</h4>
     Bad Request
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">401</h4>
     Unauthorized
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">403</h4>
     Forbidden
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">404</h4>
     Not Found
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">406</h4>
     Not Acceptable
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">414</h4>
     URI Too Large
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">429</h4>
     Too Many Requests
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">500</h4>
     Internal Server Error
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">502</h4>
     Bad Gateway
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">503</h4>
     Service Unavailable
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
   </div> <!-- method -->
   <hr/>
   <div class="method"><a name="getRelationshipById"/>
@@ -1281,34 +1281,34 @@ retrieved and filtered using the <em>/attributes</em>.</p>
         <a href="#Object">Object</a>
     <h4 class="field-label">400</h4>
     Bad Request
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">401</h4>
     Unauthorized
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">403</h4>
     Forbidden
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">404</h4>
     Not Found
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">406</h4>
     Not Acceptable
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">414</h4>
     URI Too Large
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">429</h4>
     Too Many Requests
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">500</h4>
     Internal Server Error
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">502</h4>
     Bad Gateway
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">503</h4>
     Service Unavailable
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
   </div> <!-- method -->
   <hr/>
   <div class="method"><a name="getRelationshipsByType"/>
@@ -1425,34 +1425,34 @@ retrieved and filtered using the <em>/attributes</em>.</p>
         <a href="#Relationships">Relationships</a>
     <h4 class="field-label">400</h4>
     Bad Request
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">401</h4>
     Unauthorized
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">403</h4>
     Forbidden
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">404</h4>
     Not Found
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">406</h4>
     Not Acceptable
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">414</h4>
     URI Too Large
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">429</h4>
     Too Many Requests
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">500</h4>
     Internal Server Error
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">502</h4>
     Bad Gateway
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">503</h4>
     Service Unavailable
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
   </div> <!-- method -->
   <hr/>
   <div class="method"><a name="getTopologyByEntityTypeName"/>
@@ -1569,34 +1569,34 @@ retrieved and filtered using the <em>/attributes</em>.</p>
         <a href="#Entities">Entities</a>
     <h4 class="field-label">400</h4>
     Bad Request
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">401</h4>
     Unauthorized
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">403</h4>
     Forbidden
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">404</h4>
     Not Found
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">406</h4>
     Not Acceptable
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">414</h4>
     URI Too Large
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">429</h4>
     Too Many Requests
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">500</h4>
     Internal Server Error
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">502</h4>
     Bad Gateway
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">503</h4>
     Service Unavailable
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
   </div> <!-- method -->
   <hr/>
   <div class="method"><a name="getTopologyById"/>
@@ -1682,34 +1682,34 @@ retrieved and filtered using the <em>/attributes</em>.</p>
         <a href="#Object">Object</a>
     <h4 class="field-label">400</h4>
     Bad Request
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">401</h4>
     Unauthorized
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">403</h4>
     Forbidden
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">404</h4>
     Not Found
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">406</h4>
     Not Acceptable
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">414</h4>
     URI Too Large
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">429</h4>
     Too Many Requests
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">500</h4>
     Internal Server Error
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">502</h4>
     Bad Gateway
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">503</h4>
     Service Unavailable
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
   </div> <!-- method -->
   <hr/>
   <div class="method"><a name="getTopologyEntityTypes"/>
@@ -1830,34 +1830,34 @@ retrieved and filtered using the <em>/attributes</em>.</p>
         <a href="#EntityTypes">EntityTypes</a>
     <h4 class="field-label">400</h4>
     Bad Request
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">401</h4>
     Unauthorized
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">403</h4>
     Forbidden
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">404</h4>
     Not Found
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">406</h4>
     Not Acceptable
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">414</h4>
     URI Too Large
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">429</h4>
     Too Many Requests
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">500</h4>
     Internal Server Error
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">502</h4>
     Bad Gateway
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">503</h4>
     Service Unavailable
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
   </div> <!-- method -->
   <hr/>
   <div class="method"><a name="getTopologyRelationshipTypes"/>
@@ -1978,34 +1978,34 @@ retrieved and filtered using the <em>/attributes</em>.</p>
         <a href="#RelationshipTypes">RelationshipTypes</a>
     <h4 class="field-label">400</h4>
     Bad Request
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">401</h4>
     Unauthorized
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">403</h4>
     Forbidden
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">404</h4>
     Not Found
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">406</h4>
     Not Acceptable
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">414</h4>
     URI Too Large
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">429</h4>
     Too Many Requests
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">500</h4>
     Internal Server Error
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">502</h4>
     Bad Gateway
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">503</h4>
     Service Unavailable
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
   </div> <!-- method -->
   <hr/>
   <h1><a name="Groups">Groups</a></h1>
@@ -2086,10 +2086,10 @@ retrieved and filtered using the <em>/attributes</em>.</p>
         <a href="#GroupByIdResponse">GroupByIdResponse</a>
     <h4 class="field-label">400</h4>
     Bad Request
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">500</h4>
     Internal Server Error
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
   </div> <!-- method -->
   <hr/>
   <div class="method"><a name="deleteGroup"/>
@@ -2137,13 +2137,13 @@ retrieved and filtered using the <em>/attributes</em>.</p>
         <a href="#"></a>
     <h4 class="field-label">400</h4>
     Bad Request
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">404</h4>
     Not Found
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">500</h4>
     Internal Server Error
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
   </div> <!-- method -->
   <hr/>
   <div class="method"><a name="getAllGroups"/>
@@ -2246,10 +2246,10 @@ retrieved and filtered using the <em>/attributes</em>.</p>
         <a href="#GroupsResponse">GroupsResponse</a>
     <h4 class="field-label">400</h4>
     Bad Request
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">500</h4>
     Internal Server Error
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
   </div> <!-- method -->
   <hr/>
   <div class="method"><a name="getGroupById"/>
@@ -2323,13 +2323,13 @@ retrieved and filtered using the <em>/attributes</em>.</p>
         <a href="#GroupByIdResponse">GroupByIdResponse</a>
     <h4 class="field-label">400</h4>
     Bad Request
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">404</h4>
     Not Found
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">500</h4>
     Internal Server Error
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
   </div> <!-- method -->
   <hr/>
   <div class="method"><a name="getMembers"/>
@@ -2419,13 +2419,13 @@ retrieved and filtered using the <em>/attributes</em>.</p>
         <a href="#MembersResponse">MembersResponse</a>
     <h4 class="field-label">400</h4>
     Bad Request
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">404</h4>
     Not Found
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">500</h4>
     Internal Server Error
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
   </div> <!-- method -->
   <hr/>
   <div class="method"><a name="getProvidedMembers"/>
@@ -2517,13 +2517,13 @@ retrieved and filtered using the <em>/attributes</em>.</p>
         <a href="#MembersResponse">MembersResponse</a>
     <h4 class="field-label">400</h4>
     Bad Request
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">404</h4>
     Not Found
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">500</h4>
     Internal Server Error
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
   </div> <!-- method -->
   <hr/>
   <div class="method"><a name="updateGroupName"/>
@@ -2590,13 +2590,13 @@ retrieved and filtered using the <em>/attributes</em>.</p>
         <a href="#"></a>
     <h4 class="field-label">400</h4>
     Bad Request
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">404</h4>
     Not Found
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">500</h4>
     Internal Server Error
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
   </div> <!-- method -->
   <hr/>
   <div class="method"><a name="updateProvidedMembers"/>
@@ -2663,10 +2663,10 @@ retrieved and filtered using the <em>/attributes</em>.</p>
         <a href="#"></a>
     <h4 class="field-label">400</h4>
     Bad Request
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">500</h4>
     Internal Server Error
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
   </div> <!-- method -->
   <hr/>
   <h1><a name="Schemas">Schemas</a></h1>
@@ -2736,19 +2736,19 @@ retrieved and filtered using the <em>/attributes</em>.</p>
         <a href="#"></a>
     <h4 class="field-label">400</h4>
     Bad Request
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">401</h4>
     Unauthorized
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">403</h4>
     Forbidden
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">409</h4>
     Conflict
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">500</h4>
     Internal Server Error
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
   </div> <!-- method -->
   <hr/>
   <div class="method"><a name="deleteSchema"/>
@@ -2806,16 +2806,16 @@ retrieved and filtered using the <em>/attributes</em>.</p>
         <a href="#"></a>
     <h4 class="field-label">400</h4>
     Bad Request
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">401</h4>
     Unauthorized
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">403</h4>
     Forbidden
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">500</h4>
     Internal Server Error
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
   </div> <!-- method -->
   <hr/>
   <div class="method"><a name="getSchemaByName"/>
@@ -2897,34 +2897,34 @@ retrieved and filtered using the <em>/attributes</em>.</p>
         <a href="#String">String</a>
     <h4 class="field-label">400</h4>
     Bad Request
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">401</h4>
     Unauthorized
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">403</h4>
     Forbidden
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">404</h4>
     Not Found
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">406</h4>
     Not Acceptable
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">414</h4>
     URI Too Large
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">429</h4>
     Too Many Requests
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">500</h4>
     Internal Server Error
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">502</h4>
     Bad Gateway
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">503</h4>
     Service Unavailable
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
   </div> <!-- method -->
   <hr/>
   <div class="method"><a name="getSchemas"/>
@@ -3045,34 +3045,34 @@ retrieved and filtered using the <em>/attributes</em>.</p>
         <a href="#Schemas">Schemas</a>
     <h4 class="field-label">400</h4>
     Bad Request
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">401</h4>
     Unauthorized
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">403</h4>
     Forbidden
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">404</h4>
     Not Found
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">406</h4>
     Not Acceptable
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">414</h4>
     URI Too Large
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">429</h4>
     Too Many Requests
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">500</h4>
     Internal Server Error
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">502</h4>
     Bad Gateway
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">503</h4>
     Service Unavailable
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
   </div> <!-- method -->
   <hr/>
   <h1><a name="UserDefinedSchemas">UserDefinedSchemas</a></h1>
@@ -3179,40 +3179,40 @@ retrieved and filtered using the <em>/attributes</em>.</p>
         <a href="#UserDefinedSchema">UserDefinedSchema</a>
     <h4 class="field-label">400</h4>
     Bad Request
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">401</h4>
     Unauthorized
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">403</h4>
     Forbidden
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">404</h4>
     Not Found
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">409</h4>
     Conflict
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">411</h4>
     Length Required
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">413</h4>
     Payload Too Large
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">415</h4>
     Unsupported Media Type
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">429</h4>
     Too Many Requests
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">500</h4>
     Internal Server Error
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">502</h4>
     Bad Gateway
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">503</h4>
     Service Unavailable
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
   </div> <!-- method -->
   <hr/>
   <div class="method"><a name="deleteUserDefinedSchema"/>
@@ -3282,28 +3282,28 @@ retrieved and filtered using the <em>/attributes</em>.</p>
         <a href="#"></a>
     <h4 class="field-label">400</h4>
     Bad Request
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">401</h4>
     Unauthorized
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">403</h4>
     Forbidden
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">404</h4>
     Not Found
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">429</h4>
     Too Many Requests
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">500</h4>
     Internal Server Error
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">502</h4>
     Bad Gateway
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">503</h4>
     Service Unavailable
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
   </div> <!-- method -->
   <hr/>
   <div class="method"><a name="getUserDefinedSchemaByName"/>
@@ -3385,34 +3385,34 @@ retrieved and filtered using the <em>/attributes</em>.</p>
         <a href="#String">String</a>
     <h4 class="field-label">400</h4>
     Bad Request
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">401</h4>
     Unauthorized
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">403</h4>
     Forbidden
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">404</h4>
     Not Found
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">406</h4>
     Not Acceptable
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">414</h4>
     URI Too Large
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">429</h4>
     Too Many Requests
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">500</h4>
     Internal Server Error
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">502</h4>
     Bad Gateway
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">503</h4>
     Service Unavailable
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
   </div> <!-- method -->
   <hr/>
   <div class="method"><a name="getUserDefinedSchemas"/>
@@ -3515,34 +3515,34 @@ retrieved and filtered using the <em>/attributes</em>.</p>
         <a href="#UserDefinedSchemas">UserDefinedSchemas</a>
     <h4 class="field-label">400</h4>
     Bad Request
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">401</h4>
     Unauthorized
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">403</h4>
     Forbidden
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">404</h4>
     Not Found
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">406</h4>
     Not Acceptable
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">414</h4>
     URI Too Large
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">429</h4>
     Too Many Requests
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">500</h4>
     Internal Server Error
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">502</h4>
     Bad Gateway
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
     <h4 class="field-label">503</h4>
     Service Unavailable
-        <a href="#ErrorMessage">ErrorMessage</a>
+        <a href="#ProblemDetails">ProblemDetails</a>
   </div> <!-- method -->
   <hr/>
 
@@ -3563,7 +3563,6 @@ retrieved and filtered using the <em>/attributes</em>.</p>
     <li><a href="#Entities"><code>Entities</code> - Entities</a></li>
     <li><a href="#EntityTypes"><code>EntityTypes</code> - EntityTypes</a></li>
     <li><a href="#EntityTypes_items_inner"><code>EntityTypes_items_inner</code> - </a></li>
-    <li><a href="#ErrorMessage"><code>ErrorMessage</code> - Error</a></li>
     <li><a href="#GroupByIdResponse"><code>GroupByIdResponse</code> - Group</a></li>
     <li><a href="#GroupResponse"><code>GroupResponse</code> - Group</a></li>
     <li><a href="#GroupsResponse"><code>GroupsResponse</code> - Groups</a></li>
@@ -3720,15 +3719,6 @@ retrieved and filtered using the <em>/attributes</em>.</p>
 <div class="param">entities (optional)</div><div class="param-desc"><span class="param-type"><a href="#Href">Href</a></span>  </div>
     </div>  <!-- field-items -->
   </div>
-  <div class="model">
-    <h3><a name="ErrorMessage"><code>ErrorMessage</code> - Error</a> <a class="up" href="#__Models">Up</a></h3>
-    <div class='model-description'></div>
-    <div class="field-items">
-      <div class="param">status (optional)</div><div class="param-desc"><span class="param-type"><a href="#string">String</a></span>  </div>
-<div class="param">message (optional)</div><div class="param-desc"><span class="param-type"><a href="#string">String</a></span>  </div>
-<div class="param">details (optional)</div><div class="param-desc"><span class="param-type"><a href="#string">String</a></span>  </div>
-    </div>  <!-- field-items -->
-  </div>
   <div class="model">
     <h3><a name="GroupByIdResponse"><code>GroupByIdResponse</code> - Group</a> <a class="up" href="#__Models">Up</a></h3>
     <div class='model-description'></div>
index b6e7633..ec826f4 100644 (file)
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
                   "details" : "The provided request is not valid"
                 },
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
                   "details" : "This request is unauthorized"
                 },
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
                   "details" : "This request is forbidden"
                 },
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
                   "details" : "The request cannot be processed as the resource is in use."
                 },
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
                   "details" : "Internal Server Error occurred"
                 },
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
                   "details" : "The provided request is not valid"
                 },
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
                   "details" : "This request is unauthorized"
                 },
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
                   "details" : "This request is forbidden"
                 },
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
                   "details" : "Internal Server Error occurred"
                 },
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
                   "details" : "The provided request is not valid"
                 },
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
                   "details" : "This request is unauthorized"
                 },
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
                   "details" : "This request is forbidden"
                 },
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
                   "details" : "The request cannot be processed as the resource is in use."
                 },
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
                   "details" : "Internal Server Error occurred"
                 },
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
                   "details" : "The provided request is not valid"
                 },
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
                   "details" : "This request is unauthorized"
                 },
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
                   "details" : "This request is forbidden"
                 },
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
                   "details" : "The request cannot be processed as the resource is in use."
                 },
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
                   "details" : "Internal Server Error occurred"
                 },
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
                   "details" : "The provided request is not valid"
                 },
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
                   "details" : "Internal Server Error occurred"
                 },
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
             "content" : {
               "application/problem+json" : {
                 "schema" : {
-                  "$ref" : "#/components/schemas/ErrorMessage"
+                  "$ref" : "#/components/schemas/ProblemDetails"
                 }
               }
             },
         "content" : {
           "application/problem+json" : {
             "schema" : {
-              "$ref" : "#/components/schemas/ErrorMessage"
+              "$ref" : "#/components/schemas/ProblemDetails"
             }
           }
         },
         "content" : {
           "application/problem+json" : {
             "schema" : {
-              "$ref" : "#/components/schemas/ErrorMessage"
+              "$ref" : "#/components/schemas/ProblemDetails"
             }
           }
         },
         "content" : {
           "application/problem+json" : {
             "schema" : {
-              "$ref" : "#/components/schemas/ErrorMessage"
+              "$ref" : "#/components/schemas/ProblemDetails"
             }
           }
         },
         "content" : {
           "application/problem+json" : {
             "schema" : {
-              "$ref" : "#/components/schemas/ErrorMessage"
+              "$ref" : "#/components/schemas/ProblemDetails"
             }
           }
         },
         "content" : {
           "application/problem+json" : {
             "schema" : {
-              "$ref" : "#/components/schemas/ErrorMessage"
+              "$ref" : "#/components/schemas/ProblemDetails"
             }
           }
         },
         "content" : {
           "application/problem+json" : {
             "schema" : {
-              "$ref" : "#/components/schemas/ErrorMessage"
+              "$ref" : "#/components/schemas/ProblemDetails"
             }
           }
         },
         "content" : {
           "application/problem+json" : {
             "schema" : {
-              "$ref" : "#/components/schemas/ErrorMessage"
+              "$ref" : "#/components/schemas/ProblemDetails"
             }
           }
         },
         "content" : {
           "application/problem+json" : {
             "schema" : {
-              "$ref" : "#/components/schemas/ErrorMessage"
+              "$ref" : "#/components/schemas/ProblemDetails"
             }
           }
         },
         "content" : {
           "application/problem+json" : {
             "schema" : {
-              "$ref" : "#/components/schemas/ErrorMessage"
+              "$ref" : "#/components/schemas/ProblemDetails"
             }
           }
         },
         "content" : {
           "application/problem+json" : {
             "schema" : {
-              "$ref" : "#/components/schemas/ErrorMessage"
+              "$ref" : "#/components/schemas/ProblemDetails"
             }
           }
         },
         "content" : {
           "application/problem+json" : {
             "schema" : {
-              "$ref" : "#/components/schemas/ErrorMessage"
+              "$ref" : "#/components/schemas/ProblemDetails"
             }
           }
         },
         "content" : {
           "application/problem+json" : {
             "schema" : {
-              "$ref" : "#/components/schemas/ErrorMessage"
+              "$ref" : "#/components/schemas/ProblemDetails"
             }
           }
         },
         "content" : {
           "application/problem+json" : {
             "schema" : {
-              "$ref" : "#/components/schemas/ErrorMessage"
+              "$ref" : "#/components/schemas/ProblemDetails"
             }
           }
         },
         "content" : {
           "application/problem+json" : {
             "schema" : {
-              "$ref" : "#/components/schemas/ErrorMessage"
+              "$ref" : "#/components/schemas/ProblemDetails"
             }
           }
         },
         "content" : {
           "application/problem+json" : {
             "schema" : {
-              "$ref" : "#/components/schemas/ErrorMessage"
+              "$ref" : "#/components/schemas/ProblemDetails"
             }
           }
         },
               "details" : "The requested resource is not found"
             },
             "schema" : {
-              "$ref" : "#/components/schemas/ErrorMessage"
+              "$ref" : "#/components/schemas/ProblemDetails"
             }
           }
         },
               "details" : "This request is unauthorized"
             },
             "schema" : {
-              "$ref" : "#/components/schemas/ErrorMessage"
+              "$ref" : "#/components/schemas/ProblemDetails"
             }
           }
         },
               "details" : "This request is forbidden"
             },
             "schema" : {
-              "$ref" : "#/components/schemas/ErrorMessage"
+              "$ref" : "#/components/schemas/ProblemDetails"
             }
           }
         },
               "details" : "The provided request is not valid"
             },
             "schema" : {
-              "$ref" : "#/components/schemas/ErrorMessage"
+              "$ref" : "#/components/schemas/ProblemDetails"
             }
           }
         },
               "details" : "The request cannot be processed as the resource is in use."
             },
             "schema" : {
-              "$ref" : "#/components/schemas/ErrorMessage"
+              "$ref" : "#/components/schemas/ProblemDetails"
             }
           }
         },
               "details" : "Internal Server Error occurred"
             },
             "schema" : {
-              "$ref" : "#/components/schemas/ErrorMessage"
+              "$ref" : "#/components/schemas/ProblemDetails"
             }
           }
         },
         "title" : "Relationships",
         "type" : "object"
       },
-      "ErrorMessage" : {
-        "properties" : {
-          "status" : {
-            "type" : "string"
-          },
-          "message" : {
-            "type" : "string"
-          },
-          "details" : {
-            "type" : "string"
-          }
-        },
-        "title" : "Error",
-        "type" : "object"
-      },
       "ProblemDetails" : {
         "description" : "A problem detail to carry details in an HTTP response according to RFC 7807",
         "properties" : {
index c4d7abe..5b16d7a 100644 (file)
@@ -1446,16 +1446,6 @@ components:
         totalCount:
           type: integer
       required: ['items']
-    ErrorMessage:
-      type: object
-      title: Error
-      properties:
-        status:
-          type: string
-        message:
-          type: string
-        details:
-          type: string
     ProblemDetails:
       description: 'A problem detail to carry details in an HTTP response according to RFC 7807'
       type: object
@@ -1861,97 +1851,97 @@ components:
       content:
         application/problem+json:
           schema:
-            $ref: '#/components/schemas/ErrorMessage'
+            $ref: '#/components/schemas/ProblemDetails'
     '401':
       description: 'Unauthorized'
       content:
         application/problem+json:
           schema:
-            $ref: '#/components/schemas/ErrorMessage'
+            $ref: '#/components/schemas/ProblemDetails'
     '403':
       description: 'Forbidden'
       content:
         application/problem+json:
           schema:
-            $ref: '#/components/schemas/ErrorMessage'
+            $ref: '#/components/schemas/ProblemDetails'
     '404':
       description: 'Not Found'
       content:
         application/problem+json:
           schema:
-            $ref: '#/components/schemas/ErrorMessage'
+            $ref: '#/components/schemas/ProblemDetails'
     '405':
       description: 'Method Not Allowed'
       content:
         application/problem+json:
           schema:
-            $ref: '#/components/schemas/ErrorMessage'
+            $ref: '#/components/schemas/ProblemDetails'
     '406':
       description: 'Not Acceptable'
       content:
         application/problem+json:
           schema:
-            $ref: '#/components/schemas/ErrorMessage'
+            $ref: '#/components/schemas/ProblemDetails'
     '409':
       description: 'Conflict'
       content:
         application/problem+json:
           schema:
-            $ref: '#/components/schemas/ErrorMessage'
+            $ref: '#/components/schemas/ProblemDetails'
     '411':
       description: 'Length Required'
       content:
         application/problem+json:
           schema:
-            $ref: '#/components/schemas/ErrorMessage'
+            $ref: '#/components/schemas/ProblemDetails'
     '413':
       description: 'Payload Too Large'
       content:
         application/problem+json:
           schema:
-            $ref: '#/components/schemas/ErrorMessage'
+            $ref: '#/components/schemas/ProblemDetails'
     '414':
       description: 'URI Too Large'
       content:
         application/problem+json:
           schema:
-            $ref: '#/components/schemas/ErrorMessage'
+            $ref: '#/components/schemas/ProblemDetails'
     '415':
       description: 'Unsupported Media Type'
       content:
         application/problem+json:
           schema:
-            $ref: '#/components/schemas/ErrorMessage'
+            $ref: '#/components/schemas/ProblemDetails'
     '429':
       description: 'Too Many Requests'
       content:
         application/problem+json:
           schema:
-            $ref: '#/components/schemas/ErrorMessage'
+            $ref: '#/components/schemas/ProblemDetails'
     '500':
       description: 'Internal Server Error'
       content:
         application/problem+json:
           schema:
-            $ref: '#/components/schemas/ErrorMessage'
+            $ref: '#/components/schemas/ProblemDetails'
     '502':
       description: 'Bad Gateway'
       content:
         application/problem+json:
           schema:
-            $ref: '#/components/schemas/ErrorMessage'
+            $ref: '#/components/schemas/ProblemDetails'
     '503':
       description: 'Service Unavailable'
       content:
         application/problem+json:
           schema:
-            $ref: '#/components/schemas/ErrorMessage'
+            $ref: '#/components/schemas/ProblemDetails'
     NotFound:
       description: Not Found
       content:
         application/problem+json:
           schema:
-            $ref: '#/components/schemas/ErrorMessage'
+            $ref: '#/components/schemas/ProblemDetails'
           example:
             status: '404'
             title: Resource Not Found
@@ -1961,7 +1951,7 @@ components:
       content:
         application/problem+json:
           schema:
-            $ref: '#/components/schemas/ErrorMessage'
+            $ref: '#/components/schemas/ProblemDetails'
           example:
             status: '401'
             title: Unauthorized request
@@ -1971,7 +1961,7 @@ components:
       content:
         application/problem+json:
           schema:
-            $ref: '#/components/schemas/ErrorMessage'
+            $ref: '#/components/schemas/ProblemDetails'
           example:
             status: '403'
             title: Request Forbidden
@@ -1981,7 +1971,7 @@ components:
       content:
         application/problem+json:
           schema:
-            $ref: '#/components/schemas/ErrorMessage'
+            $ref: '#/components/schemas/ProblemDetails'
           example:
             status: '400'
             title: Bad Request
@@ -1991,7 +1981,7 @@ components:
       content:
         application/problem+json:
           schema:
-            $ref: '#/components/schemas/ErrorMessage'
+            $ref: '#/components/schemas/ProblemDetails'
           example:
             status: '409'
             title: Conflicting request
@@ -2003,7 +1993,7 @@ components:
       content:
         application/problem+json:
           schema:
-            $ref: '#/components/schemas/ErrorMessage'
+            $ref: '#/components/schemas/ProblemDetails'
           example:
             status: '500'
             title: Internal Server Error
index 01f51ea..d15d53e 100644 (file)
@@ -29,16 +29,20 @@ import org.oran.smo.teiv.exposure.OranTeivErrorJsonMessage;
 import org.springframework.http.HttpStatus;
 
 import java.io.IOException;
+import java.math.BigDecimal;
 import java.util.List;
 
+import static org.oran.smo.teiv.utils.TeivConstants.TYPE_DEFAULT_VALUE;
+
 public abstract class RequestFilter implements Filter {
     protected void writeError(final ServletResponse servletResponse, final JsonProcessingException exception,
             final String message) throws IOException {
         HttpServletResponse httpResponse = (HttpServletResponse) servletResponse;
         httpResponse.setStatus(HttpServletResponse.SC_BAD_REQUEST);
         httpResponse.setContentType("application/problem+json");
-        final OranTeivErrorJsonMessage errorMessage = OranTeivErrorJsonMessage.extendedBuilder().status(
-                HttpStatus.BAD_REQUEST.name()).message(message).details(getErrorDetails(exception)).build();
+        final OranTeivErrorJsonMessage errorMessage = OranTeivErrorJsonMessage.extendedBuilder().type(TYPE_DEFAULT_VALUE)
+                .title(HttpStatus.BAD_REQUEST.name()).status(new BigDecimal(HttpStatus.BAD_REQUEST.value())).detail(
+                        getErrorDetails(exception)).instance("").build();
         httpResponse.getWriter().write(errorMessage.toJson());
         httpResponse.getWriter().flush();
     }
index 9eeb2b6..54f0803 100644 (file)
 package org.oran.smo.teiv.exposure;
 
 import lombok.Builder;
-import org.oran.smo.teiv.api.model.OranTeivErrorMessage;
+import org.oran.smo.teiv.api.model.OranTeivProblemDetails;
 
-public class OranTeivErrorJsonMessage extends OranTeivErrorMessage {
+import java.math.BigDecimal;
+
+public class OranTeivErrorJsonMessage extends OranTeivProblemDetails {
     @Builder(builderMethodName = "extendedBuilder")
-    public OranTeivErrorJsonMessage(String status, final String message, final String details) {
-        super(status, message, details);
+    public OranTeivErrorJsonMessage(String type, String title, BigDecimal status, String detail, String instance) {
+        super(type, title, status, detail, instance);
     }
 
     public String toJson() {
-        return "{" + "\"status\": \"" + this.getStatus() + "\"," + "\"message\": \"" + this
-                .getMessage() + "\"," + "\"details\": \"" + this.getDetails() + "\"}";
+        return "{" + "\"type\": \"" + this.getType() + "\"," + "\"title\": \"" + this
+                .getTitle() + "\"," + "\"status\": \"" + this.getStatus() + "\", " + "\"detail\": \"" + this
+                        .getDetail() + "\" , " + "\"instance\": \"" + this.getInstance() + "\"}";
     }
 }
index 90bb607..d9447c0 100644 (file)
@@ -20,7 +20,7 @@
  */
 package org.oran.smo.teiv.exposure.exception;
 
-import org.oran.smo.teiv.api.model.OranTeivErrorMessage;
+import org.oran.smo.teiv.api.model.OranTeivProblemDetails;
 import org.oran.smo.teiv.exception.TeivException;
 import org.oran.smo.teiv.utils.query.exception.TeivPathException;
 import jakarta.validation.ConstraintViolationException;
@@ -38,7 +38,10 @@ import org.springframework.web.context.request.WebRequest;
 import org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExceptionHandler;
 import org.springframework.web.servlet.resource.NoResourceFoundException;
 
+import java.math.BigDecimal;
+
 import static org.oran.smo.teiv.utils.ResponseUtil.getHeadersContentTypeAppProblemJson;
+import static org.oran.smo.teiv.utils.TeivConstants.TYPE_DEFAULT_VALUE;
 
 @Slf4j
 @ControllerAdvice
@@ -46,13 +49,13 @@ public class ApplicationExceptionHandler extends ResponseEntityExceptionHandler
 
     @ResponseBody
     @ExceptionHandler(TeivException.class)
-    public ResponseEntity<OranTeivErrorMessage> handleTeivException(final TeivException exception) {
+    public ResponseEntity<OranTeivProblemDetails> handleTeivException(final TeivException exception) {
         if (exception.getException() != null) {
             log.error(exception.getMessage(), exception.getException());
         }
         return ResponseEntity.status(exception.getStatus()).headers(getHeadersContentTypeAppProblemJson()).body(
-                OranTeivErrorMessage.builder().status(exception.getStatus().name()).message(exception.getMessage()).details(
-                        exception.getDetails()).build());
+                OranTeivProblemDetails.builder().type(TYPE_DEFAULT_VALUE).title(exception.getStatus().name()).status(
+                        new BigDecimal(exception.getStatus().value())).detail(exception.getDetails()).instance("").build());
     }
 
     @ResponseBody
@@ -62,22 +65,25 @@ public class ApplicationExceptionHandler extends ResponseEntityExceptionHandler
             return new ResponseEntity<>(exception.getResponse(), HttpStatus.OK);
         } else {
             return ResponseEntity.status(exception.getHttpStatus()).headers(getHeadersContentTypeAppProblemJson()).body(
-                    OranTeivErrorMessage.builder().status(exception.getHttpStatus().name()).message(exception.getMessage())
-                            .details(exception.getDetails()).build());
+                    OranTeivProblemDetails.builder().type(TYPE_DEFAULT_VALUE).title(exception.getHttpStatus().name())
+                            .status(new BigDecimal(exception.getHttpStatus().value())).detail(exception.getDetails())
+                            .instance("").build());
         }
     }
 
     @ResponseBody
     @ExceptionHandler(Exception.class)
-    protected ResponseEntity<OranTeivErrorMessage> handleGeneralException(final Exception ex) {
+    protected ResponseEntity<OranTeivProblemDetails> handleGeneralException(final Exception ex) {
         log.error("Handling general exception", ex);
         return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).headers(getHeadersContentTypeAppProblemJson()).body(
-                new OranTeivErrorMessage().status(HttpStatus.INTERNAL_SERVER_ERROR.name()));
+                new OranTeivProblemDetails().type(TYPE_DEFAULT_VALUE).title(HttpStatus.INTERNAL_SERVER_ERROR.name()).status(
+                        new BigDecimal(HttpStatus.INTERNAL_SERVER_ERROR.value())).detail(ex.getMessage()).instance(""));
     }
 
     @ResponseBody
     @ExceptionHandler(ConstraintViolationException.class)
-    public ResponseEntity<OranTeivErrorMessage> handleConstraintViolationException(ConstraintViolationException exception) {
+    public ResponseEntity<OranTeivProblemDetails> handleConstraintViolationException(
+            ConstraintViolationException exception) {
         return ResponseEntity.status(HttpStatus.BAD_REQUEST).headers(getHeadersContentTypeAppProblemJson()).body(
                 getBadRequestErrorMessage(exception));
     }
@@ -96,7 +102,8 @@ public class ApplicationExceptionHandler extends ResponseEntityExceptionHandler
                 getBadRequestErrorMessage(exception));
     }
 
-    public static OranTeivErrorMessage getBadRequestErrorMessage(final Exception e) {
-        return OranTeivErrorMessage.builder().status(HttpStatus.BAD_REQUEST.name()).message(e.getMessage()).build();
+    public static OranTeivProblemDetails getBadRequestErrorMessage(final Exception e) {
+        return OranTeivProblemDetails.builder().type(TYPE_DEFAULT_VALUE).title(HttpStatus.BAD_REQUEST.name()).status(
+                new BigDecimal(HttpStatus.BAD_REQUEST.value())).detail(e.getMessage()).instance("").build();
     }
 }
index cad025f..9893824 100644 (file)
@@ -31,7 +31,9 @@ import static org.oran.smo.teiv.groups.rest.controller.GroupsConstants.MEMBERS_H
 import static org.oran.smo.teiv.groups.rest.controller.GroupsConstants.PROVIDED_MEMBERS_HREF_TEMPLATE;
 import static org.oran.smo.teiv.utils.ResponseUtil.getHeadersContentTypeAppProblemJson;
 import static org.oran.smo.teiv.utils.TeivConstants.REQUEST_MAPPING;
+import static org.oran.smo.teiv.utils.TeivConstants.TYPE_DEFAULT_VALUE;
 
+import java.math.BigDecimal;
 import java.util.function.Consumer;
 import java.util.function.Supplier;
 
@@ -39,6 +41,12 @@ import com.fasterxml.jackson.databind.ObjectMapper;
 import org.apache.commons.lang3.tuple.Pair;
 import org.oran.smo.teiv.api.model.OranTeivDynamicGroupByIdResponse;
 import org.oran.smo.teiv.api.model.OranTeivStaticGroupByIdResponse;
+import org.oran.smo.teiv.api.model.OranTeivCreateGroupPayload;
+import org.oran.smo.teiv.api.model.OranTeivGroupByIdResponse;
+import org.oran.smo.teiv.api.model.OranTeivGroupsResponse;
+import org.oran.smo.teiv.api.model.OranTeivMembersResponse;
+import org.oran.smo.teiv.api.model.OranTeivProblemDetails;
+import org.oran.smo.teiv.api.model.OranTeivUpdateGroupNamePayload;
 import org.oran.smo.teiv.exposure.audit.LoggerHandler;
 import org.oran.smo.teiv.groups.audit.AuditInfo;
 import org.oran.smo.teiv.groups.audit.ExecutionStatus;
@@ -59,12 +67,6 @@ import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 
 import org.oran.smo.teiv.api.GroupsApi;
-import org.oran.smo.teiv.api.model.OranTeivCreateGroupPayload;
-import org.oran.smo.teiv.api.model.OranTeivErrorMessage;
-import org.oran.smo.teiv.api.model.OranTeivGroupByIdResponse;
-import org.oran.smo.teiv.api.model.OranTeivGroupsResponse;
-import org.oran.smo.teiv.api.model.OranTeivMembersResponse;
-import org.oran.smo.teiv.api.model.OranTeivUpdateGroupNamePayload;
 import org.oran.smo.teiv.exposure.utils.RequestDetails;
 import org.oran.smo.teiv.groups.GroupsCustomMetrics;
 import org.oran.smo.teiv.groups.api.GroupsService;
@@ -189,15 +191,16 @@ public class GroupsController implements GroupsApi {
     }
 
     @ExceptionHandler(GroupsException.class)
-    public ResponseEntity<OranTeivErrorMessage> handleGroupsException(final GroupsException exception) {
+    public ResponseEntity<OranTeivProblemDetails> handleGroupsException(final GroupsException exception) {
         if (exception.getException() != null) {
             log.warn(exception.getMessage(), exception.getException());
         }
-        final OranTeivErrorMessage errorMessage = OranTeivErrorMessage.builder().status(exception.getStatus().name())
-                .message(exception.getMessage()).details(exception.getDetails()).build();
+        final OranTeivProblemDetails problemMessage = OranTeivProblemDetails.builder().type(TYPE_DEFAULT_VALUE).title(
+                exception.getStatus().name()).status(new BigDecimal(exception.getStatus().value())).detail(exception
+                        .getDetails()).instance("").build();
 
         return ResponseEntity.status(exception.getStatus()).headers(getHeadersContentTypeAppProblemJson()).body(
-                errorMessage);
+                problemMessage);
     }
 
     private <T> T runWithFailCheck(final Supplier<T> supp, final Runnable runnable) {
index e4ff9e8..8303c8c 100644 (file)
@@ -83,4 +83,5 @@ public class TeivConstants {
     public static final String TOPOLOGY_INVENTORY_AUDIT_TYPE = "topology-inventory-audit.initiate";
 
     public static final String URN_PREFIX = "urn:";
+    public static final String TYPE_DEFAULT_VALUE = "about:blank";
 }
index c4d7abe..5b16d7a 100644 (file)
@@ -1446,16 +1446,6 @@ components:
         totalCount:
           type: integer
       required: ['items']
-    ErrorMessage:
-      type: object
-      title: Error
-      properties:
-        status:
-          type: string
-        message:
-          type: string
-        details:
-          type: string
     ProblemDetails:
       description: 'A problem detail to carry details in an HTTP response according to RFC 7807'
       type: object
@@ -1861,97 +1851,97 @@ components:
       content:
         application/problem+json:
           schema:
-            $ref: '#/components/schemas/ErrorMessage'
+            $ref: '#/components/schemas/ProblemDetails'
     '401':
       description: 'Unauthorized'
       content:
         application/problem+json:
           schema:
-            $ref: '#/components/schemas/ErrorMessage'
+            $ref: '#/components/schemas/ProblemDetails'
     '403':
       description: 'Forbidden'
       content:
         application/problem+json:
           schema:
-            $ref: '#/components/schemas/ErrorMessage'
+            $ref: '#/components/schemas/ProblemDetails'
     '404':
       description: 'Not Found'
       content:
         application/problem+json:
           schema:
-            $ref: '#/components/schemas/ErrorMessage'
+            $ref: '#/components/schemas/ProblemDetails'
     '405':
       description: 'Method Not Allowed'
       content:
         application/problem+json:
           schema:
-            $ref: '#/components/schemas/ErrorMessage'
+            $ref: '#/components/schemas/ProblemDetails'
     '406':
       description: 'Not Acceptable'
       content:
         application/problem+json:
           schema:
-            $ref: '#/components/schemas/ErrorMessage'
+            $ref: '#/components/schemas/ProblemDetails'
     '409':
       description: 'Conflict'
       content:
         application/problem+json:
           schema:
-            $ref: '#/components/schemas/ErrorMessage'
+            $ref: '#/components/schemas/ProblemDetails'
     '411':
       description: 'Length Required'
       content:
         application/problem+json:
           schema:
-            $ref: '#/components/schemas/ErrorMessage'
+            $ref: '#/components/schemas/ProblemDetails'
     '413':
       description: 'Payload Too Large'
       content:
         application/problem+json:
           schema:
-            $ref: '#/components/schemas/ErrorMessage'
+            $ref: '#/components/schemas/ProblemDetails'
     '414':
       description: 'URI Too Large'
       content:
         application/problem+json:
           schema:
-            $ref: '#/components/schemas/ErrorMessage'
+            $ref: '#/components/schemas/ProblemDetails'
     '415':
       description: 'Unsupported Media Type'
       content:
         application/problem+json:
           schema:
-            $ref: '#/components/schemas/ErrorMessage'
+            $ref: '#/components/schemas/ProblemDetails'
     '429':
       description: 'Too Many Requests'
       content:
         application/problem+json:
           schema:
-            $ref: '#/components/schemas/ErrorMessage'
+            $ref: '#/components/schemas/ProblemDetails'
     '500':
       description: 'Internal Server Error'
       content:
         application/problem+json:
           schema:
-            $ref: '#/components/schemas/ErrorMessage'
+            $ref: '#/components/schemas/ProblemDetails'
     '502':
       description: 'Bad Gateway'
       content:
         application/problem+json:
           schema:
-            $ref: '#/components/schemas/ErrorMessage'
+            $ref: '#/components/schemas/ProblemDetails'
     '503':
       description: 'Service Unavailable'
       content:
         application/problem+json:
           schema:
-            $ref: '#/components/schemas/ErrorMessage'
+            $ref: '#/components/schemas/ProblemDetails'
     NotFound:
       description: Not Found
       content:
         application/problem+json:
           schema:
-            $ref: '#/components/schemas/ErrorMessage'
+            $ref: '#/components/schemas/ProblemDetails'
           example:
             status: '404'
             title: Resource Not Found
@@ -1961,7 +1951,7 @@ components:
       content:
         application/problem+json:
           schema:
-            $ref: '#/components/schemas/ErrorMessage'
+            $ref: '#/components/schemas/ProblemDetails'
           example:
             status: '401'
             title: Unauthorized request
@@ -1971,7 +1961,7 @@ components:
       content:
         application/problem+json:
           schema:
-            $ref: '#/components/schemas/ErrorMessage'
+            $ref: '#/components/schemas/ProblemDetails'
           example:
             status: '403'
             title: Request Forbidden
@@ -1981,7 +1971,7 @@ components:
       content:
         application/problem+json:
           schema:
-            $ref: '#/components/schemas/ErrorMessage'
+            $ref: '#/components/schemas/ProblemDetails'
           example:
             status: '400'
             title: Bad Request
@@ -1991,7 +1981,7 @@ components:
       content:
         application/problem+json:
           schema:
-            $ref: '#/components/schemas/ErrorMessage'
+            $ref: '#/components/schemas/ProblemDetails'
           example:
             status: '409'
             title: Conflicting request
@@ -2003,7 +1993,7 @@ components:
       content:
         application/problem+json:
           schema:
-            $ref: '#/components/schemas/ErrorMessage'
+            $ref: '#/components/schemas/ProblemDetails'
           example:
             status: '500'
             title: Internal Server Error
index b876288..a8636bf 100644 (file)
@@ -236,14 +236,18 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                    "status": "NOT_FOUND",
-                    "message": "Invalid classifiers",
-                    "details": "The provided classifiers are invalid [NOT_EXISTING]"
-                }''')
+                "type": "about:blank",
+                "title": "NOT_FOUND",
+                "status": 404,
+                "detail": "The provided classifiers are invalid [NOT_EXISTING]",
+                "instance": ""
+            }''')
             bodyMatchers {
+                jsonPath('$.type', byEquality())
+                jsonPath('$.title', byEquality())
                 jsonPath('$.status', byEquality())
-                jsonPath('$.message', byEquality())
-                jsonPath('$.details', byEquality())
+                jsonPath('$.detail', byEquality())
+                jsonPath('$.instance', byEquality())
             }
         }
     },
index 9337bfb..a21b0df 100644 (file)
@@ -50,14 +50,18 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                    "status": "NOT_FOUND",
-                    "message": "Resource Not Found",
-                    "details": "The requested resource with the following ids cannot be found. Entities: [urn:WRONG_ENTITY_ID] Relationships: []"
+                    "type": "about:blank",
+                    "title": "NOT_FOUND",
+                    "status": 404,
+                    "detail": "The requested resource with the following ids cannot be found. Entities: [urn:WRONG_ENTITY_ID] Relationships: []",
+                    "instance": ""
                 }''')
             bodyMatchers {
+                jsonPath('$.type', byEquality())
+                jsonPath('$.title', byEquality())
                 jsonPath('$.status', byEquality())
-                jsonPath('$.message', byEquality())
-                jsonPath('$.details', byEquality())
+                jsonPath('$.detail', byEquality())
+                jsonPath('$.instance', byEquality())
             }
         }
     },
@@ -88,9 +92,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Topology ID format not supported",
-                "details": "Topology ID : WRONG_ENTITY_ID is not in supported format. Topology ID should start with urn:"
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Topology ID : WRONG_ENTITY_ID is not in supported format. Topology ID should start with urn:",
+                "instance": ""
             }''')
         }
     },
@@ -121,14 +127,18 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                    "status": "NOT_FOUND",
-                    "message": "Resource Not Found",
-                    "details": "The requested resource with the following ids cannot be found. Entities: [] Relationships: [urn:WRONG_RELATIONSHIP_ID]"
+                    "type": "about:blank",
+                    "title": "NOT_FOUND",
+                    "status": 404,
+                    "detail": "The requested resource with the following ids cannot be found. Entities: [] Relationships: [urn:WRONG_RELATIONSHIP_ID]",
+                    "instance": ""
                 }''')
             bodyMatchers {
+                jsonPath('$.type', byEquality())
+                jsonPath('$.title', byEquality())
                 jsonPath('$.status', byEquality())
-                jsonPath('$.message', byEquality())
-                jsonPath('$.details', byEquality())
+                jsonPath('$.detail', byEquality())
+                jsonPath('$.instance', byEquality())
             }
         }
     },
@@ -159,9 +169,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Topology ID format not supported",
-                "details": "Topology ID : WRONG_RELATIONSHIP_ID is not in supported format. Topology ID should start with urn:"
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Topology ID : WRONG_RELATIONSHIP_ID is not in supported format. Topology ID should start with urn:",
+                "instance": ""
             }''')
         }
     },
index ed8584a..929d3a6 100644 (file)
@@ -50,13 +50,18 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-            "status": "NOT_FOUND",
-            "message": "Resource Not Found",
-            "details": "The requested resource with the following ids cannot be found. Entities: [WRONG_ENTITY_ID] Relationships: []"}''')
+                "type": "about:blank",
+                "title": "NOT_FOUND",
+                "status": 404,
+                "detail": "The requested resource with the following ids cannot be found. Entities: [WRONG_ENTITY_ID] Relationships: []",
+                "instance": ""
+            }''')
             bodyMatchers {
+                jsonPath('$.type', byEquality())
+                jsonPath('$.title', byEquality())
                 jsonPath('$.status', byEquality())
-                jsonPath('$.message', byEquality())
-                jsonPath('$.details', byEquality())
+                jsonPath('$.detail', byEquality())
+                jsonPath('$.instance', byEquality())
             }
         }
     },
@@ -87,13 +92,18 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-            "status": "NOT_FOUND",
-            "message": "Resource Not Found",
-            "details": "The requested resource with the following ids cannot be found. Entities: [] Relationships: [WRONG_RELATIONSHIP_ID]"}''')
+                "type": "about:blank",
+                "title": "NOT_FOUND",
+                "status": 404,
+                "detail": "The requested resource with the following ids cannot be found. Entities: [] Relationships: [WRONG_RELATIONSHIP_ID]",
+                "instance": ""
+            }''')
             bodyMatchers {
+                jsonPath('$.type', byEquality())
+                jsonPath('$.title', byEquality())
                 jsonPath('$.status', byEquality())
-                jsonPath('$.message', byEquality())
-                jsonPath('$.details', byEquality())
+                jsonPath('$.detail', byEquality())
+                jsonPath('$.instance', byEquality())
             }
         }
     },
@@ -124,13 +134,18 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-            "status": "BAD_REQUEST",
-            "message": "Invalid schema name",
-            "details": "Invalid schema name: test-app-module-wrong"}''')
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Invalid schema name: test-app-module-wrong",
+                "instance": ""
+            }''')
             bodyMatchers {
+                jsonPath('$.type', byEquality())
+                jsonPath('$.title', byEquality())
                 jsonPath('$.status', byEquality())
-                jsonPath('$.message', byEquality())
-                jsonPath('$.details', byEquality())
+                jsonPath('$.detail', byEquality())
+                jsonPath('$.instance', byEquality())
             }
         }
     },
@@ -261,14 +276,18 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Failed to process the request to merge/remove classifiers",
-                "details": "Unexpected value 'unknown'. Invalid value for OperationEnum, allowed values: [merge, delete]"
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Unexpected value 'unknown'. Invalid value for OperationEnum, allowed values: [merge, delete]",
+                "instance": ""
             }''')
             bodyMatchers {
+                jsonPath('$.type', byEquality())
+                jsonPath('$.title', byEquality())
                 jsonPath('$.status', byEquality())
-                jsonPath('$.message', byEquality())
-                jsonPath('$.details', byEquality())
+                jsonPath('$.detail', byEquality())
+                jsonPath('$.instance', byEquality())
             }
         }
     },
@@ -299,14 +318,18 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Failed to process the request to merge/remove classifiers",
-                "details": "Cannot deserialize value of type `java.util.ArrayList<java.lang.String>` from Object value (token `JsonToken.START_OBJECT`)"
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Cannot deserialize value of type `java.util.ArrayList<java.lang.String>` from Object value (token `JsonToken.START_OBJECT`)",
+                "instance": ""
             }''')
             bodyMatchers {
+                jsonPath('$.type', byEquality())
+                jsonPath('$.title', byEquality())
                 jsonPath('$.status', byEquality())
-                jsonPath('$.message', byEquality())
-                jsonPath('$.details', byEquality())
+                jsonPath('$.detail', byEquality())
+                jsonPath('$.instance', byEquality())
             }
         }
     }
index b6b984b..3643243 100644 (file)
@@ -291,9 +291,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Invalid Value",
-                "details": "Offset cannot be larger than 11"
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Offset cannot be larger than 11",
+                "instance": ""
             }''')
         }
     }
index 8bd3bbd..0811293 100644 (file)
@@ -563,9 +563,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Unknown domain",
-                "details": "Unknown domain: INVALID, known domains: [CLOUD, EQUIPMENT, OAM, PHYSICAL, RAN, REL_CLOUD_RAN, REL_EQUIPMENT_RAN, REL_OAM_CLOUD, REL_OAM_RAN, REL_PHYSICAL_RAN, TEIV, TEST]"
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Unknown domain: INVALID, known domains: [CLOUD, EQUIPMENT, OAM, PHYSICAL, RAN, REL_CLOUD_RAN, REL_EQUIPMENT_RAN, REL_OAM_CLOUD, REL_OAM_RAN, REL_PHYSICAL_RAN, TEIV, TEST]",
+                "instance": ""
             }''')
         }
     },
@@ -581,9 +583,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Invalid Value",
-                "details": "Offset cannot be larger than 22"
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Offset cannot be larger than 22",
+                "instance": ""
             }''')
         }
     }
index 03e0be5..51e92e5 100644 (file)
@@ -1523,9 +1523,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Invalid query condition",
-                "details": "Invalid geographic format, geographic type must be 2D or 3D coordinates. For example: POINT(39.40 67.94) or POINT Z (47.49 19.04 111.11)"
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Invalid geographic format, geographic type must be 2D or 3D coordinates. For example: POINT(39.40 67.94) or POINT Z (47.49 19.04 111.11)",
+                "instance": ""
             }''')
         }
     },
@@ -1541,9 +1543,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Invalid query condition",
-                "details": "Invalid geographic format, geographic type must be 2D or 3D coordinates. For example: POINT(39.40 67.94) or POINT Z (47.49 19.04 111.11)"
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Invalid geographic format, geographic type must be 2D or 3D coordinates. For example: POINT(39.40 67.94) or POINT Z (47.49 19.04 111.11)",
+                "instance": ""
             }''')
         }
     },
@@ -1559,9 +1563,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Invalid query condition",
-                "details": "Invalid parameter for covered by condition"
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Invalid parameter for covered by condition",
+                "instance": ""
             }''')
         }
     },
@@ -1577,9 +1583,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Invalid query condition",
-                "details": "Invalid geographic format, geographic type must be 2D or 3D coordinates. For example: POINT(39.40 67.94) or POINT Z (47.49 19.04 111.11)"
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Invalid geographic format, geographic type must be 2D or 3D coordinates. For example: POINT(39.40 67.94) or POINT Z (47.49 19.04 111.11)",
+                "instance": ""
              }''')
         }
     },
@@ -1595,9 +1603,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Invalid query condition",
-                "details": "Invalid geographic format, geographic type must be 2D or 3D coordinates. For example: POINT(39.40 67.94) or POINT Z (47.49 19.04 111.11)"
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Invalid geographic format, geographic type must be 2D or 3D coordinates. For example: POINT(39.40 67.94) or POINT Z (47.49 19.04 111.11)",
+                "instance": ""
             }''')
         }
     },
@@ -1613,9 +1623,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Unknown entity type",
-                "details": "Entity type NRCellDU is not part of the domain EQUIPMENT, known entity types: [AntennaModule, Site]"
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Entity type NRCellDU is not part of the domain EQUIPMENT, known entity types: [AntennaModule, Site]",
+                "instance": ""
             }''')
         }
     },
@@ -1631,9 +1643,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Unknown entity type",
-                "details": "Entity type NRCellDU1 is not part of the model, known entity types: [AntennaCapability, AntennaModule, CloudifiedNF, EntityTypeA, EntityTypeAWithEntityTypeNameLengthLongerThanSixtyThreeCharacters, ManagedElement, NFDeployment, NRCellCU, NRCellDU, NRSectorCarrier, NearRTRICFunction, NodeCluster, OCUCPFunction, OCUUPFunction, OCloudNamespace, OCloudSite, ODUFunction, ORUFunction, PhysicalAppliance, SMO, Sector, Site, Site]"
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Entity type NRCellDU1 is not part of the model, known entity types: [AntennaCapability, AntennaModule, CloudifiedNF, EntityTypeA, EntityTypeAWithEntityTypeNameLengthLongerThanSixtyThreeCharacters, ManagedElement, NFDeployment, NRCellCU, NRCellDU, NRSectorCarrier, NearRTRICFunction, NodeCluster, OCUCPFunction, OCUUPFunction, OCloudNamespace, OCloudSite, ODUFunction, ORUFunction, PhysicalAppliance, SMO, Sector, Site, Site]",
+                "instance": ""
             }''')
         }
     },
@@ -1650,9 +1664,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Grammar error",
-                "details": "no viable alternative at input '[contains(gNBCUName' at line 1:21"
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "no viable alternative at input '[contains(gNBCUName' at line 1:21",
+                "instance": ""
             }''')
         }
     },
@@ -1668,9 +1684,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Invalid Value",
-                "details": "Offset cannot be larger than 6"
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Offset cannot be larger than 6",
+                "instance": ""
             }''')
         }
     },
@@ -1856,14 +1874,18 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-               "status": "BAD_REQUEST",
-               "message": "Invalid query condition",
-               "details": "Invalid query function"
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Invalid query function",
+                "instance": ""
             }''')
             bodyMatchers {
+                jsonPath('$.type', byEquality())
+                jsonPath('$.title', byEquality())
                 jsonPath('$.status', byEquality())
-                jsonPath('$.message', byEquality())
-                jsonPath('$.details', byEquality())
+                jsonPath('$.detail', byEquality())
+                jsonPath('$.instance', byEquality())
             }
         }
     },
@@ -1879,14 +1901,18 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-               "status": "BAD_REQUEST",
-               "message": "Grammar error",
-               "details": "Invalid parameter type provided for scopeFilter"
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Invalid parameter type provided for scopeFilter",
+                "instance": ""
             }''')
             bodyMatchers {
+                jsonPath('$.type', byEquality())
+                jsonPath('$.title', byEquality())
                 jsonPath('$.status', byEquality())
-                jsonPath('$.message', byEquality())
-                jsonPath('$.details', byEquality())
+                jsonPath('$.detail', byEquality())
+                jsonPath('$.instance', byEquality())
             }
         }
     },
@@ -1902,14 +1928,18 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-               "status": "BAD_REQUEST",
-               "message": "Invalid metadata content",
-               "details": "reliabilityYIndicator is not a valid metadata"
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "reliabilityYIndicator is not a valid metadata",
+                "instance": ""
             }''')
             bodyMatchers {
+                jsonPath('$.type', byEquality())
+                jsonPath('$.title', byEquality())
                 jsonPath('$.status', byEquality())
-                jsonPath('$.message', byEquality())
-                jsonPath('$.details', byEquality())
+                jsonPath('$.detail', byEquality())
+                jsonPath('$.instance', byEquality())
             }
         }
     },
@@ -1925,14 +1955,18 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-               "status": "BAD_REQUEST",
-               "message": "Grammar error",
-               "details": "Invalid data type provided for scopeFilter"
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Invalid data type provided for scopeFilter",
+                "instance": ""
             }''')
             bodyMatchers {
+                jsonPath('$.type', byEquality())
+                jsonPath('$.title', byEquality())
                 jsonPath('$.status', byEquality())
-                jsonPath('$.message', byEquality())
-                jsonPath('$.details', byEquality())
+                jsonPath('$.detail', byEquality())
+                jsonPath('$.instance', byEquality())
             }
         }
     },
@@ -2821,9 +2855,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Invalid query condition",
-                "details": "Invalid timestamp: 2025-23-23T27:12:48.62817246Z"
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Invalid timestamp: 2025-23-23T27:12:48.62817246Z",
+                "instance": ""
             }''')
         }
     },
@@ -2839,9 +2875,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Invalid query condition",
-                "details": "Invalid timestamp: 202510-11T20:12:48.62817246Z"
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Invalid timestamp: 202510-11T20:12:48.62817246Z",
+                "instance": ""
             }''')
         }
     },
@@ -3384,14 +3422,18 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                    "status": "BAD_REQUEST",
-                    "message": "Grammar error",
-                    "details": "Missing container type for queried leaf antennaModelNumber"
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Missing container type for queried leaf antennaModelNumber",
+                "instance": ""
             }''')
             bodyMatchers {
+                jsonPath('$.type', byEquality())
+                jsonPath('$.title', byEquality())
                 jsonPath('$.status', byEquality())
-                jsonPath('$.message', byEquality())
-                jsonPath('$.details', byEquality())
+                jsonPath('$.detail', byEquality())
+                jsonPath('$.instance', byEquality())
             }
         }
     },
@@ -3407,14 +3449,18 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                    "status": "BAD_REQUEST",
-                    "message": "Invalid parameters for association",
-                    "details": "Invalid parameters provided for association serving-antennaModule"
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Invalid parameters provided for association serving-antennaModule",
+                "instance": ""
             }''')
             bodyMatchers {
+                jsonPath('$.type', byEquality())
+                jsonPath('$.title', byEquality())
                 jsonPath('$.status', byEquality())
-                jsonPath('$.message', byEquality())
-                jsonPath('$.details', byEquality())
+                jsonPath('$.detail', byEquality())
+                jsonPath('$.instance', byEquality())
             }
         }
     },
@@ -3538,14 +3584,18 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                    "status": "BAD_REQUEST",
-                    "message": "Grammar error",
-                    "details": "Target/Scope filter can only contain Root Object types mentioned in the path parameter"
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Target/Scope filter can only contain Root Object types mentioned in the path parameter",
+                "instance": ""
             }''')
             bodyMatchers {
+                jsonPath('$.type', byEquality())
+                jsonPath('$.title', byEquality())
                 jsonPath('$.status', byEquality())
-                jsonPath('$.message', byEquality())
-                jsonPath('$.details', byEquality())
+                jsonPath('$.detail', byEquality())
+                jsonPath('$.instance', byEquality())
             }
         }
     },
@@ -3561,9 +3611,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Grammar error",
-                "details": "More than one valid containerType appeared in path: attributes, sourceIds"
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "More than one valid containerType appeared in path: attributes, sourceIds",
+                "instance": ""
             }''')
         }
     },
@@ -3579,9 +3631,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Grammar error",
-                "details": "More than one valid containerType appeared in path: attributes, decorators"
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "More than one valid containerType appeared in path: attributes, decorators",
+                "instance": ""
             }''')
         }
     },
@@ -3691,9 +3745,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Grammar error",
-                "details": "Invalid data in scopeFilter"
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Invalid data in scopeFilter",
+                "instance": ""
             }''')
         }
     },
@@ -3709,9 +3765,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Grammar error",
-                "details": "Invalid data in scopeFilter"
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Invalid data in scopeFilter",
+                "instance": ""
             }''')
         }
     },
index 987f4c2..0796556 100644 (file)
@@ -86,7 +86,7 @@ import org.springframework.cloud.contract.spec.Contract
         }
     },
     Contract.make {
-        description "ERROR - 400: Get topology for ODUFunction entity with non existing id 'urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=99999'."
+        description "ERROR - 404: Get topology for ODUFunction entity with non existing id 'urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=99999'."
         request {
             method GET()
             url "/topology-inventory/v1/domains/REL_EQUIPMENT_RAN/entity-types/ODUFunction/entities/urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=99999"
@@ -97,9 +97,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "NOT_FOUND",
-                "message": "Resource Not Found",
-                "details": "The requested resource is not found. ID: urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=99999"
+                "type": "about:blank",
+                "title": "NOT_FOUND",
+                "status": 404,
+                "detail": "The requested resource is not found. ID: urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=99999",
+                "instance": ""
             }''')
         }
     },
@@ -115,9 +117,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Topology ID format not supported",
-                "details": "Topology ID : 3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9 is not in supported format. Topology ID should start with urn:"
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Topology ID : 3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9 is not in supported format. Topology ID should start with urn:",
+                "instance": ""
             }''')
         }
     }
index f39b9a3..74fe543 100644 (file)
@@ -740,9 +740,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-            "status": "BAD_REQUEST",
-            "message": "Invalid Value",
-            "details": "Offset cannot be larger than 2"
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Offset cannot be larger than 2",
+                "instance": ""
         }''')
         }
     },
@@ -758,9 +760,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-            "status": "NOT_FOUND",
-            "message": "Resource Not Found",
-            "details": "The requested resource is not found. ID: urn:non-existent"
+                "type": "about:blank",
+                "title": "NOT_FOUND",
+                "status": 404,
+                "detail": "The requested resource is not found. ID: urn:non-existent",
+                "instance": ""
         }''')
         }
     },
index ddaf1e1..9742a4a 100644 (file)
@@ -956,9 +956,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Unknown domain",
-                "details": "Unknown domain: INVALID, known domains: [CLOUD, EQUIPMENT, OAM, PHYSICAL, RAN, REL_CLOUD_RAN, REL_EQUIPMENT_RAN, REL_OAM_CLOUD, REL_OAM_RAN, REL_PHYSICAL_RAN, TEIV, TEST]"
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Unknown domain: INVALID, known domains: [CLOUD, EQUIPMENT, OAM, PHYSICAL, RAN, REL_CLOUD_RAN, REL_EQUIPMENT_RAN, REL_OAM_CLOUD, REL_OAM_RAN, REL_PHYSICAL_RAN, TEIV, TEST]",
+                "instance": ""
             }''')
         }
     }
index f11af1a..f36e3f1 100644 (file)
@@ -680,9 +680,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Invalid Value",
-                "details": "Offset cannot be larger than 6"
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Offset cannot be larger than 6",
+                "instance": ""
             }''')
         }
     },
@@ -698,9 +700,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Unknown relationship type",
-                "details": "Relationship type SECTOR_GROUPS_NRCELLDU is not part of the domain OAM, known relationship types: []"
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Relationship type SECTOR_GROUPS_NRCELLDU is not part of the domain OAM, known relationship types: []",
+                "instance": ""
             }''')
         }
     },
index 024cc7d..aa1f11c 100644 (file)
@@ -81,9 +81,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "NOT_FOUND",
-                "message": "Resource Not Found",
-                "details": "The requested resource is not found. ID: urn:non-existing-id"
+                "type": "about:blank",
+                "title": "NOT_FOUND",
+                "status": 404,
+                "detail": "The requested resource is not found. ID: urn:non-existing-id",
+                "instance": ""
             }''')
         }
     },
index 0b22f3e..90fe282 100644 (file)
@@ -1102,9 +1102,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Invalid Value",
-                "details": "Offset cannot be larger than 5"
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Offset cannot be larger than 5",
+                "instance": ""
             }''')
         }
     },
@@ -1120,9 +1122,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Invalid parameter error",
-                "details": "Invalid source id parameter provided for NRCellDU"
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Invalid source id parameter provided for NRCellDU",
+                "instance": ""
             }''')
         }
     },
index 48da18c..20b3945 100644 (file)
@@ -50,19 +50,23 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "NOT_FOUND",
-                "message": "Resource Not Found",
-                "details": "The requested resource with the following ids cannot be found. Entities: [urn:WRONG_ENTITY_ID] Relationships: []"
+                "type": "about:blank",
+                "title": "NOT_FOUND",
+                "status": 404,
+                "detail": "The requested resource with the following ids cannot be found. Entities: [urn:WRONG_ENTITY_ID] Relationships: []",
+                "instance": ""
             }''')
             bodyMatchers {
+                jsonPath('$.type', byEquality())
+                jsonPath('$.title', byEquality())
                 jsonPath('$.status', byEquality())
-                jsonPath('$.message', byEquality())
-                jsonPath('$.details', byEquality())
+                jsonPath('$.detail', byEquality())
+                jsonPath('$.instance', byEquality())
             }
         }
     },
     Contract.make {
-        description "NOT FOUND - 404: Merge decorators where entity id does not start with urn:"
+        description "BAD Request - 400: Merge decorators where entity id does not start with urn:"
         request {
             method POST()
             url "/topology-inventory/v1/manage-decorators"
@@ -88,9 +92,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Topology ID format not supported",
-                "details": "Topology ID : WRONG_ENTITY_ID is not in supported format. Topology ID should start with urn:"
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Topology ID : WRONG_ENTITY_ID is not in supported format. Topology ID should start with urn:",
+                "instance": ""
             }''')
         }
     },
@@ -121,14 +127,18 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "NOT_FOUND",
-                "message": "Resource Not Found",
-                "details": "The requested resource with the following ids cannot be found. Entities: [] Relationships: [urn:WRONG_RELATIONSHIP_ID]"
+                "type": "about:blank",
+                "title": "NOT_FOUND",
+                "status": 404,
+                "detail": "The requested resource with the following ids cannot be found. Entities: [] Relationships: [urn:WRONG_RELATIONSHIP_ID]",
+                "instance": ""
             }''')
             bodyMatchers {
+                jsonPath('$.type', byEquality())
+                jsonPath('$.title', byEquality())
                 jsonPath('$.status', byEquality())
-                jsonPath('$.message', byEquality())
-                jsonPath('$.details', byEquality())
+                jsonPath('$.detail', byEquality())
+                jsonPath('$.instance', byEquality())
             }
         }
     },
@@ -159,9 +169,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Topology ID format not supported",
-                "details": "Topology ID : WRONG_RELATIONSHIP_ID is not in supported format. Topology ID should start with urn:"
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Topology ID : WRONG_RELATIONSHIP_ID is not in supported format. Topology ID should start with urn:",
+                "instance": ""
             }''')
         }
     },
@@ -195,14 +207,18 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "NOT_FOUND",
-                "message": "Resource Not Found",
-                "details": "The requested resource with the following ids cannot be found. Entities: [urn:WRONG_ENTITY_ID] Relationships: [urn:WRONG_RELATIONSHIP_ID]"
+                "type": "about:blank",
+                "title": "NOT_FOUND",
+                "status": 404,
+                "detail": "The requested resource with the following ids cannot be found. Entities: [urn:WRONG_ENTITY_ID] Relationships: [urn:WRONG_RELATIONSHIP_ID]",
+                "instance": ""
             }''')
             bodyMatchers {
+                jsonPath('$.type', byEquality())
+                jsonPath('$.title', byEquality())
                 jsonPath('$.status', byEquality())
-                jsonPath('$.message', byEquality())
-                jsonPath('$.details', byEquality())
+                jsonPath('$.detail', byEquality())
+                jsonPath('$.instance', byEquality())
             }
         }
     },
@@ -236,14 +252,18 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "NOT_FOUND",
-                "message": "Invalid decorators",
-                "details": "The provided decorators are invalid {test-app-module:intdata=is_not_compatible, test-app-module:te=is_not_available}"
+                "type": "about:blank",
+                "title": "NOT_FOUND",
+                "status": 404,
+                "detail": "The provided decorators are invalid {test-app-module:intdata=is_not_compatible, test-app-module:te=is_not_available}",
+                "instance": ""
             }''')
             bodyMatchers {
+                jsonPath('$.type', byEquality())
+                jsonPath('$.title', byEquality())
                 jsonPath('$.status', byEquality())
-                jsonPath('$.message', byEquality())
-                jsonPath('$.details', byEquality())
+                jsonPath('$.detail', byEquality())
+                jsonPath('$.instance', byEquality())
             }
         }
     },
index e724e46..440e4a0 100644 (file)
@@ -50,14 +50,18 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "NOT_FOUND",
-                "message": "Resource Not Found",
-                "details": "The requested resource with the following ids cannot be found. Entities: [WRONG_ENTITY_ID] Relationships: []"
+                "type": "about:blank",
+                "title": "NOT_FOUND",
+                "status": 404,
+                "detail": "The requested resource with the following ids cannot be found. Entities: [WRONG_ENTITY_ID] Relationships: []",
+                "instance": ""
             }''')
             bodyMatchers {
+                jsonPath('$.type', byEquality())
+                jsonPath('$.title', byEquality())
                 jsonPath('$.status', byEquality())
-                jsonPath('$.message', byEquality())
-                jsonPath('$.details', byEquality())
+                jsonPath('$.detail', byEquality())
+                jsonPath('$.instance', byEquality())
             }
         }
     },
@@ -88,14 +92,18 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "NOT_FOUND",
-                "message": "Resource Not Found",
-                "details": "The requested resource with the following ids cannot be found. Entities: [] Relationships: [WRONG_RELATIONSHIP_ID]"
+                "type": "about:blank",
+                "title": "NOT_FOUND",
+                "status": 404,
+                "detail": "The requested resource with the following ids cannot be found. Entities: [] Relationships: [WRONG_RELATIONSHIP_ID]",
+                "instance": ""
             }''')
             bodyMatchers {
+                jsonPath('$.type', byEquality())
+                jsonPath('$.title', byEquality())
                 jsonPath('$.status', byEquality())
-                jsonPath('$.message', byEquality())
-                jsonPath('$.details', byEquality())
+                jsonPath('$.detail', byEquality())
+                jsonPath('$.instance', byEquality())
             }
         }
     },
@@ -129,14 +137,18 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "NOT_FOUND",
-                "message": "Resource Not Found",
-                "details": "The requested resource with the following ids cannot be found. Entities: [WRONG_ENTITY_ID] Relationships: [WRONG_RELATIONSHIP_ID]"
+                "type": "about:blank",
+                "title": "NOT_FOUND",
+                "status": 404,
+                "detail": "The requested resource with the following ids cannot be found. Entities: [WRONG_ENTITY_ID] Relationships: [WRONG_RELATIONSHIP_ID]",
+                "instance": ""
             }''')
             bodyMatchers {
+                jsonPath('$.type', byEquality())
+                jsonPath('$.title', byEquality())
                 jsonPath('$.status', byEquality())
-                jsonPath('$.message', byEquality())
-                jsonPath('$.details', byEquality())
+                jsonPath('$.detail', byEquality())
+                jsonPath('$.instance', byEquality())
             }
         }
     },
@@ -167,13 +179,18 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-            "status": "BAD_REQUEST",
-            "message": "Invalid schema name",
-            "details": "Invalid schema name: test-app-module-wrong"}''')
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Invalid schema name: test-app-module-wrong",
+                "instance": ""
+            }''')
             bodyMatchers {
+                jsonPath('$.type', byEquality())
+                jsonPath('$.title', byEquality())
                 jsonPath('$.status', byEquality())
-                jsonPath('$.message', byEquality())
-                jsonPath('$.details', byEquality())
+                jsonPath('$.detail', byEquality())
+                jsonPath('$.instance', byEquality())
             }
         }
     },
@@ -325,14 +342,18 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Failed to process the request to merge/remove decorators",
-                "details": "Unexpected value 'unknown'. Invalid value for OperationEnum, allowed values: [merge, delete]"
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Unexpected value 'unknown'. Invalid value for OperationEnum, allowed values: [merge, delete]",
+                "instance": ""
             }''')
             bodyMatchers {
+                jsonPath('$.type', byEquality())
+                jsonPath('$.title', byEquality())
                 jsonPath('$.status', byEquality())
-                jsonPath('$.message', byEquality())
-                jsonPath('$.details', byEquality())
+                jsonPath('$.detail', byEquality())
+                jsonPath('$.instance', byEquality())
             }
         }
     },
@@ -362,14 +383,18 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Failed to process the request to merge/remove decorators",
-                "details": "Cannot deserialize value of type `java.util.LinkedHashMap<java.lang.String,java.lang.Object>` from Array value (token `JsonToken.START_ARRAY`)"
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Cannot deserialize value of type `java.util.LinkedHashMap<java.lang.String,java.lang.Object>` from Array value (token `JsonToken.START_ARRAY`)",
+                "instance": ""
             }''')
             bodyMatchers {
+                jsonPath('$.type', byEquality())
+                jsonPath('$.title', byEquality())
                 jsonPath('$.status', byEquality())
-                jsonPath('$.message', byEquality())
-                jsonPath('$.details', byEquality())
+                jsonPath('$.detail', byEquality())
+                jsonPath('$.instance', byEquality())
             }
         }
     }
index e1fcabf..ee845fe 100644 (file)
@@ -628,9 +628,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Invalid Value",
-                "details": "Offset cannot be larger than 0"
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Offset cannot be larger than 0",
+                "instance": ""
             }''')
         }
     }
index ebd8943..18989f6 100644 (file)
@@ -239,9 +239,11 @@ import org.springframework.cloud.contract.spec.Contract
         response {
             status BAD_REQUEST()
             body('''{
-                    "status": "BAD_REQUEST",
-                    "message": "Invalid schema name",
-                    "details": "Invalid schema name: invalid"
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Invalid schema name: invalid",
+                "instance": ""
                 }''')
             headers {
                 contentType('application/problem+json')
@@ -307,9 +309,11 @@ import org.springframework.cloud.contract.spec.Contract
         response {
             status BAD_REQUEST()
             body('''{
-                    "status": "BAD_REQUEST",
-                    "message": "Invalid schema name",
-                    "details": "Invalid schema name: invalid"
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Invalid schema name: invalid",
+                "instance": ""
                 }''')
             headers {
                 contentType('application/problem+json')
index 07aa235..ce4bb36 100644 (file)
@@ -232,9 +232,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Invalid schema name",
-                "details": "Invalid schema name: Invalid classifier classifierTest1"
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Invalid schema name: Invalid classifier classifierTest1",
+                "instance": ""
             }''')
         }
     },
@@ -298,9 +300,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Invalid schema name",
-                "details": "Invalid schema name: Invalid classifier geo-classifier"
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Invalid schema name: Invalid classifier geo-classifier",
+                "instance": ""
             }''')
         }
     },
@@ -376,9 +380,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Invalid file input",
-                "details": "Invalid file input: Schema already exists"
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Invalid file input: Schema already exists",
+                "instance": ""
             }''')
         }
     },
@@ -445,9 +451,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Invalid file input",
-                "details": "Invalid file input: Schema already exists"
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Invalid file input: Schema already exists",
+                "instance": ""
             }''')
         }
     },
@@ -515,9 +523,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Invalid file input",
-                "details": "Invalid file input: Schema already exists"
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Invalid file input: Schema already exists",
+                "instance": ""
             }''')
         }
     },
@@ -574,9 +584,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Invalid schema name",
-                "details": "Invalid schema name: Invalid classifier classifierTest1"
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Invalid schema name: Invalid classifier classifierTest1",
+                "instance": ""
             }''')
         }
     },
@@ -644,9 +656,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Invalid file input",
-                "details": "Invalid file input: Schema already exists"
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Invalid file input: Schema already exists",
+                "instance": ""
             }''')
         }
     },
@@ -714,9 +728,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Invalid file input",
-                "details": "Invalid file input: Module 'o-ran-smo-teiv-ran' has multiple revisions in the input, but desired exact revision not specified in the 'import' statement."
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Invalid file input: Module 'o-ran-smo-teiv-ran' has multiple revisions in the input, but desired exact revision not specified in the 'import' statement.",
+                "instance": ""
             }''')
         }
     },
@@ -742,10 +758,12 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                    "status": "BAD_REQUEST",
-                    "message": "Invalid file input",
-                    "details": "Invalid file input: Invalid file"
-                }''')
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Invalid file input: Invalid file",
+                "instance": ""
+            }''')
         }
     },
     Contract.make {
@@ -768,10 +786,12 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-            "status": "BAD_REQUEST",
-            "message": "Invalid file input",
-            "details": "Invalid file input: Expected single statement ('module' or 'submodule')."
-        }''')
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Invalid file input: Expected single statement ('module' or 'submodule').",
+                "instance": ""
+            }''')
         }
     },
     Contract.make {
@@ -831,10 +851,12 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                    "status": "BAD_REQUEST",
-                    "message": "Invalid file input",
-                    "details": "Invalid file input: 'select*fromocucpfunction' is not a valid YANG identifier."
-                }''')
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Invalid file input: 'select*fromocucpfunction' is not a valid YANG identifier.",
+                "instance": ""
+            }''')
         }
     },
     Contract.make {
@@ -894,10 +916,12 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                    "status": "BAD_REQUEST",
-                    "message": "Invalid file input",
-                    "details": "Invalid file input: Unexpected content at end of document. Check curly braces balance throughout document."
-                }''')
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Invalid file input: Unexpected content at end of document. Check curly braces balance throughout document.",
+                "instance": ""
+            }''')
         }
     },
     Contract.make {
@@ -945,10 +969,12 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                    "status": "BAD_REQUEST",
-                    "message": "Invalid file input",
-                    "details": "Invalid file input: Encountered '{}', which does nothing. Replace with ';' or un-comment the contents."
-                }''')
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Invalid file input: Encountered '{}', which does nothing. Replace with ';' or un-comment the contents.",
+                "instance": ""
+            }''')
         }
     },
     Contract.make {
@@ -988,10 +1014,12 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                    "status": "BAD_REQUEST",
-                    "message": "Invalid file input",
-                    "details": "Invalid file input: Invalid schema"
-                }''')
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Invalid file input: Invalid schema",
+                "instance": ""
+            }''')
         }
     },
     Contract.make {
@@ -1058,9 +1086,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Invalid file input",
-                "details": "Invalid file input: Encountered '{}', which does nothing. Replace with ';' or un-comment the contents."
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Invalid file input: Encountered '{}', which does nothing. Replace with ';' or un-comment the contents.",
+                "instance": ""
             }''')
         }
     },
@@ -1128,10 +1158,12 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                    "status": "BAD_REQUEST",
-                    "message": "Invalid file input",
-                    "details": "Invalid file input: Cannot resolve typedef 'wrong'."
-                }''')
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Invalid file input: Cannot resolve typedef 'wrong'.",
+                "instance": ""
+            }''')
         }
     },
     Contract.make {
@@ -1171,10 +1203,12 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                    "status": "BAD_REQUEST",
-                    "message": "Invalid file input",
-                    "details": "Invalid file input: Invalid schema"
-                }''')
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Invalid file input: Invalid schema",
+                "instance": ""
+            }''')
         }
     },
     Contract.make {
@@ -1235,9 +1269,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Invalid file input",
-                "details": "Invalid file input: (Sub-)Module does not have a 'revision' statement."
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Invalid file input: (Sub-)Module does not have a 'revision' statement.",
+                "instance": ""
             }''')
         }
     },
@@ -1301,10 +1337,12 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-            "status": "BAD_REQUEST",
-            "message": "Invalid file input",
-            "details": "Invalid file input: Invalid schema"
-        }''')
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Invalid file input: Invalid schema",
+                "instance": ""
+            }''')
         }
     },
     Contract.make {
@@ -1367,9 +1405,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Invalid file input",
-                "details": "Invalid file input: Path to schema node '/model:decorators', part of 'augment' statement, cannot be resolved."
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Invalid file input: Path to schema node '/model:decorators', part of 'augment' statement, cannot be resolved.",
+                "instance": ""
             }''')
         }
     },
@@ -1428,9 +1468,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "CONFLICT",
-                "message": "Schema in deleting state",
-                "details": "Schema test-app-in-deleting-status already exists and is in the process of being deleted. This may take some time, please try again later."
+                "type": "about:blank",
+                "title": "CONFLICT",
+                "status": 409,
+                "detail": "Schema test-app-in-deleting-status already exists and is in the process of being deleted. This may take some time, please try again later.",
+                "instance": ""
             }''')
         }
     },
@@ -1498,10 +1540,12 @@ import org.springframework.cloud.contract.spec.Contract
         response {
             status BAD_REQUEST()
             body('''{
-                    "status": "BAD_REQUEST",
-                    "message": "Invalid file input",
-                    "details": "Invalid file input: Cannot resolve typedef 'decimal32'."
-                }''')
+                 "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Invalid file input: Cannot resolve typedef 'decimal32'.",
+                "instance": ""
+            }''')
         }
     }
 ]
index 5e35cf3..531ec2a 100644 (file)
@@ -45,9 +45,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Invalid schema name",
-                "details": "Invalid schema name: does-not-exist-rapp-module"
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Invalid schema name: does-not-exist-rapp-module",
+                "instance": ""
             }''')
         }
     },
@@ -63,9 +65,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Invalid schema name",
-                "details": "Invalid schema name: test-module-in-deleting-state"
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Invalid schema name: test-module-in-deleting-state",
+                "instance": ""
             }''')
         }
     }
index da8af3b..708efc7 100644 (file)
@@ -461,9 +461,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Unknown domain",
-                "details": "Unknown domain: bla, known domains: [CLOUD, EQUIPMENT, OAM, PHYSICAL, RAN, REL_CLOUD_RAN, REL_EQUIPMENT_RAN, REL_OAM_CLOUD, REL_OAM_RAN, REL_PHYSICAL_RAN, TEIV, TEST]"
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Unknown domain: bla, known domains: [CLOUD, EQUIPMENT, OAM, PHYSICAL, RAN, REL_CLOUD_RAN, REL_EQUIPMENT_RAN, REL_OAM_CLOUD, REL_OAM_RAN, REL_PHYSICAL_RAN, TEIV, TEST]",
+                "instance": ""
             }''')
         }
     },
@@ -496,9 +498,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Invalid target filter, only relationship conditions can be provided",
-                "details": "NRCellDU is not a valid relation"
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "NRCellDU is not a valid relation",
+                "instance": ""
             }''')
         }
     },
@@ -528,9 +532,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Topology ID format not supported",
-                "details": "Topology ID : NRCellDU-1 is not in supported format. Topology ID should start with urn:"
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Topology ID : NRCellDU-1 is not in supported format. Topology ID should start with urn:",
+                "instance": ""
             }''')
         }
     },
@@ -615,9 +621,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Invalid providedMembers",
-                "details": "Unable to parse the given providedMembers. List elements are not of the type object."
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Unable to parse the given providedMembers. List elements are not of the type object.",
+                "instance": ""
             }''')
         }
     },
@@ -649,9 +657,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Invalid providedMembers",
-                "details": "Unable to parse the given providedMembers. List elements are not of the type object."
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Unable to parse the given providedMembers. List elements are not of the type object.",
+                "instance": ""
             }''')
         }
     },
@@ -687,9 +697,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Invalid providedMembers",
-                "details": "Unable to parse the given providedMembers. Invalid topology type 'o-ran-smo-teiv-ran:ManagedElement', not found in the model"
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Unable to parse the given providedMembers. Invalid topology type 'o-ran-smo-teiv-ran:ManagedElement', not found in the model",
+                "instance": ""
             }''')
         }
     },
@@ -725,9 +737,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Invalid providedMembers",
-                "details": "Unable to parse the given providedMembers. Topology type must be in the format 'moduleName:topologyTypeName'. Provided: o-ran-smo-teiv-oam:ManagedElement:bla"
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Unable to parse the given providedMembers. Topology type must be in the format 'moduleName:topologyTypeName'. Provided: o-ran-smo-teiv-oam:ManagedElement:bla",
+                "instance": ""
             }''')
         }
     },
@@ -763,9 +777,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Invalid providedMembers",
-                "details": "Unable to parse the given providedMembers. Topology id 3gpp:dn:NRCellDU=1,ODUFunction=1,ManagedElement=2 is not in supported format. Provided members id should start with urn:"
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Unable to parse the given providedMembers. Topology id 3gpp:dn:NRCellDU=1,ODUFunction=1,ManagedElement=2 is not in supported format. Provided members id should start with urn:",
+                "instance": ""
             }''')
         }
     },
@@ -792,9 +808,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Invalid providedMembers",
-                "details": "Unable to parse the given providedMembers. Empty object present in providedMembers."
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Unable to parse the given providedMembers. Empty object present in providedMembers.",
+                "instance": ""
             }''')
         }
     },
@@ -826,9 +844,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Invalid providedMembers",
-                "details": "Unable to parse the given providedMembers. Empty object present in providedMembers."
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Unable to parse the given providedMembers. Empty object present in providedMembers.",
+                "instance": ""
             }''')
         }
     },
@@ -861,9 +881,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Invalid providedMembers",
-                "details": "Unable to parse the given providedMembers. Invalid key/value present in {\\"idKey\\":\\"urn:3gpp:dn:ManagedElement=1,ODUFunction=1,NRCellDU=1\\"}."
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Unable to parse the given providedMembers. Invalid key/value present in {\\"idKey\\":\\"urn:3gpp:dn:ManagedElement=1,ODUFunction=1,NRCellDU=1\\"}.",
+                "instance": ""
             }''')
         }
     },
@@ -896,9 +918,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Invalid providedMembers",
-                "details": "Unable to parse the given providedMembers. Invalid key/value present in {\\"id\\":[\\"urn:3gpp:dn:ManagedElement=1,ODUFunction=1,NRCellDU=1\\"]}."
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Unable to parse the given providedMembers. Invalid key/value present in {\\"id\\":[\\"urn:3gpp:dn:ManagedElement=1,ODUFunction=1,NRCellDU=1\\"]}.",
+                "instance": ""
             }''')
         }
     },
@@ -931,9 +955,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Invalid providedMembers",
-                "details": "Unable to parse the given providedMembers. Nested topology groups is not supported. Provided members contain topology group id: urn:o-ran:smo:teiv:group=550e8400-e29b-41d4-a716-446655440050"
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Unable to parse the given providedMembers. Nested topology groups is not supported. Provided members contain topology group id: urn:o-ran:smo:teiv:group=550e8400-e29b-41d4-a716-446655440050",
+                "instance": ""
             }''')
         }
     },
@@ -967,9 +993,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Invalid providedMembers",
-                "details": "Unable to parse the given providedMembers. More than one key:value present in {\\"id\\":\\"urn:3gpp:dn:ManagedElement=1,ODUFunction=1,NRCellDU=1\\",\\"extraKey\\":\\"extraValue\\"}."
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Unable to parse the given providedMembers. More than one key:value present in {\\"id\\":\\"urn:3gpp:dn:ManagedElement=1,ODUFunction=1,NRCellDU=1\\",\\"extraKey\\":\\"extraValue\\"}.",
+                "instance": ""
             }''')
         }
     },
@@ -1007,9 +1035,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Invalid providedMembers",
-                "details": "Unable to parse the given providedMembers. More than one key:value present in {\\"o-ran-smo-teiv-ran:NRCellDU\\":[{\\"id\\":\\"urn:3gpp:dn:ManagedElement=1,ODUFunction=1,NRCellDU=1\\"}],\\"o-ran-smo-teiv-ran:ODUFunction\\":[{\\"id\\":\\"urn:3gpp:dn:ManagedElement=1,ODUFunction=1\\"}]}."
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Unable to parse the given providedMembers. More than one key:value present in {\\"o-ran-smo-teiv-ran:NRCellDU\\":[{\\"id\\":\\"urn:3gpp:dn:ManagedElement=1,ODUFunction=1,NRCellDU=1\\"}],\\"o-ran-smo-teiv-ran:ODUFunction\\":[{\\"id\\":\\"urn:3gpp:dn:ManagedElement=1,ODUFunction=1\\"}]}.",
+                "instance": ""
             }''')
         }
     },
@@ -1088,9 +1118,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Limit exceeded",
-                "details": "The total number of topology identifiers in the request is 11. The maximum allowed in a single request is 10."
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "The total number of topology identifiers in the request is 11. The maximum allowed in a single request is 10.",
+                "instance": ""
             }''')
         }
     },
@@ -1188,9 +1220,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "No static resource topology-inventory/v1/teiv-groups.",
-                "details": null
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "No static resource topology-inventory/v1/teiv-groups.",
+                "instance": ""
             }''')
         }
     } //30
index af4f0ed..0b2416b 100644 (file)
@@ -272,8 +272,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                    "status": "BAD_REQUEST",
-                    "message": "getAllGroups.limit: must be less than or equal to 500"
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "getAllGroups.limit: must be less than or equal to 500",
+                "instance": ""
                 }''')
         }
     }
index 699e98f..a5170c6 100644 (file)
@@ -197,7 +197,7 @@ import org.springframework.cloud.contract.spec.Contract
         }
     },
     Contract.make {
-        description "ERROR - 400: Get a group by id (Invalid JSON structure)"
+        description "ERROR - 500: Get a group by id (Invalid JSON structure)"
         request {
             method GET()
             url("/topology-inventory/v1/groups/urn:o-ran:smo:teiv:group=550e8400-e29b-41d4-a716-446655440100")
@@ -208,14 +208,18 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "INTERNAL_SERVER_ERROR",
-                "message": "Criteria deserialization exception",
-                "details": "Could not resolve subtype of [simple type, class org.oran.smo.teiv.api.model.OranTeivCriteria]: missing type id property 'queryType'\\n"
+                "type": "about:blank",
+                "title": "INTERNAL_SERVER_ERROR",
+                "status": 500,
+                "detail": "Could not resolve subtype of [simple type, class org.oran.smo.teiv.api.model.OranTeivCriteria]: missing type id property 'queryType'\\n",
+                "instance": ""
             }''')
             bodyMatchers {
+                jsonPath('$.type', byEquality())
+                jsonPath('$.title', byEquality())
                 jsonPath('$.status', byEquality())
-                jsonPath('$.message', byEquality())
-                jsonPath('$.details', byRegex("Could not resolve subtype of \\[simple type, class org\\.oran\\.smo\\.teiv\\.api\\.model\\.OranTeivCriteria\\]: missing type id property 'queryType'[\\s\\S]*"))
+                jsonPath('$.detail', byRegex("Could not resolve subtype of \\[simple type, class org\\.oran\\.smo\\.teiv\\.api\\.model\\.OranTeivCriteria\\]: missing type id property 'queryType'[\\s\\S]*"))
+                jsonPath('$.instance', byEquality())
             }
         }
     },
@@ -231,9 +235,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "No static resource topology-inventory/v1/get-groups/urn:o-ran:smo:teiv:group=550e8400-e29b-41d4-a716-446655440201.",
-                "details": null
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "No static resource topology-inventory/v1/get-groups/urn:o-ran:smo:teiv:group=550e8400-e29b-41d4-a716-446655440201.",
+                "instance": ""
             }''')
         }
     },
@@ -249,9 +255,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "NOT_FOUND",
-                "message": "Resource Not Found",
-                "details": "The requested group is not found"
+                "type": "about:blank",
+                "title": "NOT_FOUND",
+                "status": 404,
+                "detail": "The requested group is not found",
+                "instance": ""
             }''')
         }
     }
index dae7475..abac33b 100644 (file)
@@ -52,9 +52,11 @@ import org.springframework.cloud.contract.spec.Contract
         response {
             status NOT_FOUND()
             body('''{
-                "status": "NOT_FOUND",
-                "message": "Resource Not Found",
-                "details": "The requested group is not found"
+                "type": "about:blank",
+                "title": "NOT_FOUND",
+                "status": 404,
+                "detail": "The requested group is not found",
+                "instance": ""
             }''')
         }
     },
index c34f435..5aef22f 100644 (file)
@@ -73,14 +73,18 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "NOT_FOUND",
-                "message": "Resource Not Found",
-                "details": "The requested group is not found"
+                "type": "about:blank",
+                "title": "NOT_FOUND",
+                "status": 404,
+                "detail": "The requested group is not found",
+                "instance": ""
             }''')
             bodyMatchers {
+                jsonPath('$.type', byEquality())
+                jsonPath('$.title', byEquality())
                 jsonPath('$.status', byEquality())
-                jsonPath('$.message', byEquality())
-                jsonPath('$.details', byEquality())
+                jsonPath('$.detail', byEquality())
+                jsonPath('$.instance', byEquality())
             }
         }
     },
index 3940da2..f14b500 100644 (file)
@@ -611,9 +611,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "NOT_FOUND",
-                "message": "Resource Not Found",
-                "details": "The requested group is not found"
+                "type": "about:blank",
+                "title": "NOT_FOUND",
+                "status": 404,
+                "detail": "The requested group is not found",
+                "instance": ""
             }''')
         }
     },
@@ -629,9 +631,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body ('''{
-                "status": "NOT_FOUND",
-                "message": "Resource Not Found",
-                "details": "The requested resource is not found. ID: urn:3gpp:dn:non-existing-odufunction"
+                "type": "about:blank",
+                "title": "NOT_FOUND",
+                "status": 404,
+                "detail": "The requested resource is not found. ID: urn:3gpp:dn:non-existing-odufunction",
+                "instance": ""
             }''')
         }
     },
@@ -647,9 +651,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Grammar error",
-                "details": "Invalid data in scopeFilter"
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Invalid data in scopeFilter",
+                "instance": ""
             }''')
         }
     },
@@ -665,9 +671,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "NOT_FOUND",
-                "message": "Resource Not Found",
-                "details": "The requested group is not found"
+                "type": "about:blank",
+                "title": "NOT_FOUND",
+                "status": 404,
+                "detail": "The requested group is not found",
+                "instance": ""
             }''')
         }
     },
@@ -683,9 +691,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Filter Error",
-                "details": "TopologyObjects given in scopeFilter and targetFilter are not matching"
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "TopologyObjects given in scopeFilter and targetFilter are not matching",
+                "instance": ""
             }''')
         }
     },
@@ -701,9 +711,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Invalid target filter, only relationship conditions can be provided",
-                "details": "NRCellDU is not a valid relation"
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "NRCellDU is not a valid relation",
+                "instance": ""
             }''')
         }
     }
index a7833e9..8181674 100644 (file)
@@ -414,9 +414,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Invalid status",
-                "details": "Unsupported status for provided members: absent"
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Unsupported status for provided members: absent",
+                "instance": ""
             }''')
         }
     },
@@ -432,9 +434,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "NOT_FOUND",
-                "message": "Resource Not Found",
-                "details": "The requested group is not found"
+                "type": "about:blank",
+                "title": "NOT_FOUND",
+                "status": 404,
+                "detail": "The requested group is not found",
+                "instance": ""
             }''')
         }
     }
index 19830d7..105f0ab 100644 (file)
@@ -266,14 +266,18 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Provided members update exception",
-                "details": "The specified provided members for group cannot be updated as group type is not static"
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "The specified provided members for group cannot be updated as group type is not static",
+                "instance": ""
             }''')
             bodyMatchers {
+                jsonPath('$.type', byEquality())
+                jsonPath('$.title', byEquality())
                 jsonPath('$.status', byEquality())
-                jsonPath('$.message', byEquality())
-                jsonPath('$.details', byEquality())
+                jsonPath('$.detail', byEquality())
+                jsonPath('$.instance', byEquality())
             }
         }
     },
@@ -346,14 +350,18 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Limit exceeded",
-                "details": "The total number of topology identifiers in the request is 11. The maximum allowed in a single request is 10."
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "The total number of topology identifiers in the request is 11. The maximum allowed in a single request is 10.",
+                "instance": ""
             }''')
             bodyMatchers {
+                jsonPath('$.type', byEquality())
+                jsonPath('$.title', byEquality())
                 jsonPath('$.status', byEquality())
-                jsonPath('$.message', byEquality())
-                jsonPath('$.details', byEquality())
+                jsonPath('$.detail', byEquality())
+                jsonPath('$.instance', byEquality())
             }
         }
     },
@@ -402,14 +410,18 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Limit exceeded",
-                "details": "Merging topology identifiers in request to the group will result in 17 members. The maximum allowed members in the static group is 15."
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Merging topology identifiers in request to the group will result in 17 members. The maximum allowed members in the static group is 15.",
+                "instance": "" 
             }''')
             bodyMatchers {
+                jsonPath('$.type', byEquality())
+                jsonPath('$.title', byEquality())
                 jsonPath('$.status', byEquality())
-                jsonPath('$.message', byEquality())
-                jsonPath('$.details', byEquality())
+                jsonPath('$.detail', byEquality())
+                jsonPath('$.instance', byEquality())
             }
         }
     },
@@ -457,14 +469,18 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Limit exceeded",
-                "details": "Merging topology identifiers in request to the group will result in 16 members. The maximum allowed members in the static group is 15."
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Merging topology identifiers in request to the group will result in 16 members. The maximum allowed members in the static group is 15.",
+                "instance": ""
             }''')
             bodyMatchers {
+                jsonPath('$.type', byEquality())
+                jsonPath('$.title', byEquality())
                 jsonPath('$.status', byEquality())
-                jsonPath('$.message', byEquality())
-                jsonPath('$.details', byEquality())
+                jsonPath('$.detail', byEquality())
+                jsonPath('$.instance', byEquality())
             }
         }
     },
@@ -499,9 +515,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Invalid providedMembers",
-                "details": "Unable to parse the given providedMembers. Invalid topology type 'o-ran-smo-teiv-ran:ManagedElement', not found in the model"
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Unable to parse the given providedMembers. Invalid topology type 'o-ran-smo-teiv-ran:ManagedElement', not found in the model",
+                "instance": ""
             }''')
         }
     },
@@ -535,14 +553,18 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "NOT_FOUND",
-                "message": "Resource Not Found",
-                "details": "The requested group is not found"
+                "type": "about:blank",
+                "title": "NOT_FOUND",
+                "status": 404,
+                "detail": "The requested group is not found",
+                "instance": ""
             }''')
             bodyMatchers {
+                jsonPath('$.type', byEquality())
+                jsonPath('$.title', byEquality())
                 jsonPath('$.status', byEquality())
-                jsonPath('$.message', byEquality())
-                jsonPath('$.details', byEquality())
+                jsonPath('$.detail', byEquality())
+                jsonPath('$.instance', byEquality())
             }
         }
     },
@@ -576,14 +598,18 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Provided members update exception",
-                "details": "The specified provided members topology identifier: [urn:3gpp:dn:ManagedElement=1,ODUFunction=1,NRCellDU=non-existing-id-2, urn:3gpp:dn:ManagedElement=1,ODUFunction=1,NRCellDU=non-existing-id-1] is not part of the group."
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "The specified provided members topology identifier: [urn:3gpp:dn:ManagedElement=1,ODUFunction=1,NRCellDU=non-existing-id-2, urn:3gpp:dn:ManagedElement=1,ODUFunction=1,NRCellDU=non-existing-id-1] is not part of the group.",
+                "instance": ""
             }''')
             bodyMatchers {
+                jsonPath('$.type', byEquality())
+                jsonPath('$.title', byEquality())
                 jsonPath('$.status', byEquality())
-                jsonPath('$.message', byEquality())
-                jsonPath('$.details', byEquality())
+                jsonPath('$.detail', byEquality())
+                jsonPath('$.instance', byEquality())
             }
         }
     },
@@ -617,14 +643,18 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Provided members update exception",
-                "details": "The specified topology entity/relation: o-ran-smo-teiv-ran:NRCellDU is not part of the group."
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "The specified topology entity/relation: o-ran-smo-teiv-ran:NRCellDU is not part of the group.",
+                "instance": ""
             }''')
             bodyMatchers {
+                jsonPath('$.type', byEquality())
+                jsonPath('$.title', byEquality())
                 jsonPath('$.status', byEquality())
-                jsonPath('$.message', byEquality())
-                jsonPath('$.details', byEquality())
+                jsonPath('$.detail', byEquality())
+                jsonPath('$.instance', byEquality())
             }
         }
     },
@@ -682,14 +712,18 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Provided members update exception",
-                "details": "The specified topology entity/relation: o-ran-smo-teiv-oam:ManagedElement is not part of the group."
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "The specified topology entity/relation: o-ran-smo-teiv-oam:ManagedElement is not part of the group.",
+                "instance": ""
             }''')
             bodyMatchers {
+                jsonPath('$.type', byEquality())
+                jsonPath('$.title', byEquality())
                 jsonPath('$.status', byEquality())
-                jsonPath('$.message', byEquality())
-                jsonPath('$.details', byEquality())
+                jsonPath('$.detail', byEquality())
+                jsonPath('$.instance', byEquality())
             }
         }
     },
@@ -818,9 +852,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Invalid providedMembers",
-                "details": "Unable to parse the given providedMembers. List elements are not of the type object."
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Unable to parse the given providedMembers. List elements are not of the type object.",
+                "instance": ""
             }''')
         }
     },
@@ -850,9 +886,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Invalid providedMembers",
-                "details": "Unable to parse the given providedMembers. List elements are not of the type object."
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Unable to parse the given providedMembers. List elements are not of the type object.",
+                "instance": ""
             }''')
         }
     },
@@ -877,9 +915,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Invalid providedMembers",
-                "details": "Unable to parse the given providedMembers. Empty object present in providedMembers."
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Unable to parse the given providedMembers. Empty object present in providedMembers.",
+                "instance": ""
             }''')
         }
     },
@@ -908,9 +948,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Invalid providedMembers",
-                "details": "Unable to parse the given providedMembers. Empty object present in providedMembers."
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Unable to parse the given providedMembers. Empty object present in providedMembers.",
+                "instance": ""
             }''')
         }
     },
@@ -941,9 +983,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Invalid providedMembers",
-                "details": "Unable to parse the given providedMembers. Invalid key/value present in {\\"idKey\\":\\"urn:3gpp:dn:ManagedElement=1,ODUFunction=1,NRCellDU=1\\"}."
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Unable to parse the given providedMembers. Invalid key/value present in {\\"idKey\\":\\"urn:3gpp:dn:ManagedElement=1,ODUFunction=1,NRCellDU=1\\"}.",
+                "instance": ""
             }''')
         }
     },
@@ -974,9 +1018,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Invalid providedMembers",
-                "details": "Unable to parse the given providedMembers. Invalid key/value present in {\\"id\\":[\\"urn:3gpp:dn:ManagedElement=1,ODUFunction=1,NRCellDU=1\\"]}."
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Unable to parse the given providedMembers. Invalid key/value present in {\\"id\\":[\\"urn:3gpp:dn:ManagedElement=1,ODUFunction=1,NRCellDU=1\\"]}.",
+                "instance": ""
             }''')
         }
     },
@@ -1007,9 +1053,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Invalid providedMembers",
-                "details": "Unable to parse the given providedMembers. Nested topology groups is not supported. Provided members contain topology group id: urn:o-ran:smo:teiv:group=550e8400-e29b-41d4-a716-446655440050"
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Unable to parse the given providedMembers. Nested topology groups is not supported. Provided members contain topology group id: urn:o-ran:smo:teiv:group=550e8400-e29b-41d4-a716-446655440050",
+                "instance": ""
             }''')
         }
     },
@@ -1041,9 +1089,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Invalid providedMembers",
-                "details": "Unable to parse the given providedMembers. More than one key:value present in {\\"id\\":\\"urn:3gpp:dn:ManagedElement=1,ODUFunction=1,NRCellDU=1\\",\\"extraKey\\":\\"extraValue\\"}."
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Unable to parse the given providedMembers. More than one key:value present in {\\"id\\":\\"urn:3gpp:dn:ManagedElement=1,ODUFunction=1,NRCellDU=1\\",\\"extraKey\\":\\"extraValue\\"}.",
+                "instance": "" 
             }''')
         }
     },
@@ -1079,9 +1129,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "Invalid providedMembers",
-                "details": "Unable to parse the given providedMembers. More than one key:value present in {\\"o-ran-smo-teiv-ran:NRCellDU\\":[{\\"id\\":\\"urn:3gpp:dn:ManagedElement=1,ODUFunction=1,NRCellDU=1\\"}],\\"o-ran-smo-teiv-ran:ODUFunction\\":[{\\"id\\":\\"urn:3gpp:dn:ManagedElement=1,ODUFunction=1\\"}]}."
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "Unable to parse the given providedMembers. More than one key:value present in {\\"o-ran-smo-teiv-ran:NRCellDU\\":[{\\"id\\":\\"urn:3gpp:dn:ManagedElement=1,ODUFunction=1,NRCellDU=1\\"}],\\"o-ran-smo-teiv-ran:ODUFunction\\":[{\\"id\\":\\"urn:3gpp:dn:ManagedElement=1,ODUFunction=1\\"}]}.",
+                "instance": ""
             }''')
         }
     },
@@ -1115,14 +1167,18 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "NOT_FOUND",
-                "message": "Resource Not Found",
-                "details": "The requested group is not found"
+                "type": "about:blank",
+                "title": "NOT_FOUND",
+                "status": 404,
+                "detail": "The requested group is not found",
+                "instance": ""
             }''')
             bodyMatchers {
+                jsonPath('$.type', byEquality())
+                jsonPath('$.title', byEquality())
                 jsonPath('$.status', byEquality())
-                jsonPath('$.message', byEquality())
-                jsonPath('$.details', byEquality())
+                jsonPath('$.detail', byEquality())
+                jsonPath('$.instance', byEquality())
             }
         }
     },
@@ -1156,9 +1212,11 @@ import org.springframework.cloud.contract.spec.Contract
                 contentType('application/problem+json')
             }
             body('''{
-                "status": "BAD_REQUEST",
-                "message": "No static resource topology-inventory/v1/groups/urn:o-ran:smo:teiv:group=550e8400-e29b-41d4-a716-446655440211/provided-members-update.",
-                "details": null
+                "type": "about:blank",
+                "title": "BAD_REQUEST",
+                "status": 400,
+                "detail": "No static resource topology-inventory/v1/groups/urn:o-ran:smo:teiv:group=550e8400-e29b-41d4-a716-446655440211/provided-members-update.",
+                "instance": ""
             }''')
         }
     }