{
  "sealed_hash": "22aca6e881d84c15c6da6d86ba42cc089c8520411f4883c50a2e994c4fcd88f5",
  "report": {
    "engine_version": "0.1.0",
    "profile_id": "default",
    "profile_version": "1",
    "source": {
      "id": "a3139ef4f142d3702c305353a7af583baab09812c21fc089b29cf3fdafa58eb1",
      "name": "fulfilment-api.json"
    },
    "sources": [
      {
        "id": "a3139ef4f142d3702c305353a7af583baab09812c21fc089b29cf3fdafa58eb1",
        "name": "fulfilment-api.json"
      }
    ],
    "coverage": "complete",
    "coverage_notes": [],
    "partial_notice": null,
    "score": {
      "coverage": "complete",
      "trace": [
        {
          "fingerprint": "3793ec2223696e5af920cefc3a0610b4fddf4c553f8897a07bd0dc190528256c",
          "rule_id": "CC-SCHEMA-01",
          "family": "contract",
          "severity": "high",
          "points": 10.0,
          "withheld": 0.0
        },
        {
          "fingerprint": "3be1333302eb0a6242c7c89b497495f50bb42511e5ab6231ac6fafa8ea240242",
          "rule_id": "CC-SCHEMA-01",
          "family": "contract",
          "severity": "high",
          "points": 5.0,
          "withheld": 5.0
        },
        {
          "fingerprint": "007572904bd49c4e3ff4a59bad7020ea7914af9d4d448225a236ea367a5fc97f",
          "rule_id": "CC-ERR-01",
          "family": "contract",
          "severity": "medium",
          "points": 4.0,
          "withheld": 0.0
        },
        {
          "fingerprint": "026e9969da35301d57082dbe59d3ccef21ca5cc291dbafb4834a632f9f673e92",
          "rule_id": "CC-ERR-01",
          "family": "contract",
          "severity": "medium",
          "points": 4.0,
          "withheld": 0.0
        },
        {
          "fingerprint": "039fe5e246dc5e54313c2997c203206117dae58c655408c4c7a8ceefcfcf237d",
          "rule_id": "CC-PARAM-01",
          "family": "contract",
          "severity": "medium",
          "points": 4.0,
          "withheld": 0.0
        },
        {
          "fingerprint": "05f0b820b2ae2c72658f0dd0e748c4d7ad7af70ddfc04a42e8373262c726beba",
          "rule_id": "CC-ERR-01",
          "family": "contract",
          "severity": "medium",
          "points": 4.0,
          "withheld": 0.0
        },
        {
          "fingerprint": "0c118ddce9a193ba326bc463d59c1c99bb772bc9b14a0d0a2c17dd6761ce0af8",
          "rule_id": "CC-ERR-01",
          "family": "contract",
          "severity": "medium",
          "points": 3.0,
          "withheld": 1.0
        },
        {
          "fingerprint": "0c46bb1f4536b06b41454bc276d415813e716e98944a2f686fb73a831bc3fae4",
          "rule_id": "CC-ERR-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "0c4da5d1241c97b79c27285fcaa629bb19186a0045f79ecdfd79ae4403c53178",
          "rule_id": "CC-ERR-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "13371dfff35649822f95d2ffd0640710b8647f065df67d9b516da0aa47a2afc7",
          "rule_id": "CC-PARAM-01",
          "family": "contract",
          "severity": "medium",
          "points": 4.0,
          "withheld": 0.0
        },
        {
          "fingerprint": "16375bd73cc814d9a62587e16039f0f09efc85b573bc9f4f5864080543651229",
          "rule_id": "CC-PARAM-01",
          "family": "contract",
          "severity": "medium",
          "points": 4.0,
          "withheld": 0.0
        },
        {
          "fingerprint": "16b51192faff53fff5864b0d9d551838dd7897ecd1015a353e198ad687f7b662",
          "rule_id": "CC-ERR-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "21db7482ca22a82638c6e26a215c8e617a0d609b5740f26e10db2ad301cc92c8",
          "rule_id": "CC-ERR-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "2216249ec45abc7e54a6278c55cea22f0afe4cbb487a1845abbaee16748fa697",
          "rule_id": "CC-PARAM-01",
          "family": "contract",
          "severity": "medium",
          "points": 3.0,
          "withheld": 1.0
        },
        {
          "fingerprint": "2324c6a04f49efeefcb64c9037d73c014142638f94456054420d2142f902c61b",
          "rule_id": "CC-PARAM-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "24af8b0d2d46156d660286227e7e532cd4dd2de580e3e5f053098e489312ad3b",
          "rule_id": "CC-PARAM-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "24bc3220f44b1625b455d574453b917eb9429a4aeb0a40351966f4afe0ee3bde",
          "rule_id": "CC-ERR-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "2533a8b3a5cbeba9c6b4dc7a97b0fe29d669788516dbd71968c9a0a7b3d15bfd",
          "rule_id": "CC-ERR-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "28d92f743e901f571c435f762e8370d8c219e4c137e642ecae444d8c6092efd2",
          "rule_id": "CC-ERR-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "2a471f6b02382bd53e4c2b2180737c3a7f6045de91b665c3823195081728b2ff",
          "rule_id": "CC-ERR-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "2cb72dce8474238c166aad3c989a693bb289313ff99a4e55a808825e5469348a",
          "rule_id": "CC-PARAM-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "3097cc4277a2a667282aceb75cb04e43e4e4f6d716b7f1924c47ea149a2f1425",
          "rule_id": "PAG-01",
          "family": "pagination",
          "severity": "medium",
          "points": 4.0,
          "withheld": 0.0
        },
        {
          "fingerprint": "31c25f57b22363da6112c0f47a96ac4f27357cbbf84154f676a95d2e514508b1",
          "rule_id": "CC-PARAM-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "3428fca2d06026739a755e9547f812faee0504d8c0076c06b6df304786bbdfc6",
          "rule_id": "CC-ERR-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "36117b7ea44f65592707730e142b1ea3545f8b0ee9584154d777bd9895da93b0",
          "rule_id": "CC-PARAM-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "36d565a9e44f1f81b55a40361b0624374242b0362ad4641c9a8a0fc36532cd5a",
          "rule_id": "CC-ERR-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "3920be6d6071728964099dcfb95f550bef7943d5b932626e6d5a3c9e2795f332",
          "rule_id": "PAG-01",
          "family": "pagination",
          "severity": "medium",
          "points": 4.0,
          "withheld": 0.0
        },
        {
          "fingerprint": "3b87824eecf836dbe1809c3ce576609bba9e7a8b97d6965db9f16cede90b5c5c",
          "rule_id": "CC-PARAM-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "3de17423d7921b191d35cbb66a629dbd7f4858294040fb2241b254e669d26c61",
          "rule_id": "CC-ERR-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "3e2f4b202c836a9e18290615505e03863703e6fd8a7b3e559254635ab405da2c",
          "rule_id": "CC-ERR-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "3fa1bda063574793c3fa1a889a82d00810b97842ccac4d8f732f0fbbf6983b90",
          "rule_id": "CC-PARAM-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "411484bd3d0bf3f2e712bad137a2273a431f5687ba22bdbb7908650a3771b51c",
          "rule_id": "CC-PARAM-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "416ed696462e3d4ae23024e34b69cca527f79c635c963eb862df9833f17a8b22",
          "rule_id": "CC-ERR-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "41fd01cb884ce5c8ba212292b1ced4122ac25fedc229d716b133ab2cd3dbd3b5",
          "rule_id": "CC-ERR-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "425c72c9eb340fd9fb032223480714fd86dec09702520ee1f56fcffb2816cd0b",
          "rule_id": "CC-PARAM-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "426a811d1fd2aa5a1d62d876cea5b3b5b471d66d5c16277e8ffe69dd05911dde",
          "rule_id": "CC-PARAM-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "427ea496e42a68e749b3e4e7391a4b1c87999cb8920e62ba963e0ce30d19ebca",
          "rule_id": "CC-PARAM-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "4aa17e0ba0fc444e4f6614229ea578fe936ebf152047c2759e0750a9d84d835e",
          "rule_id": "CC-ERR-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "4e2ee7615c2928866a68a4fadf4f4e06edf1ba79a5f5a051f4b138a7ae42ff7d",
          "rule_id": "CC-PARAM-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "4fe60abe89f40764686919b80556b4a3db73bc67e60a9cf58036dfb11e26a3da",
          "rule_id": "CC-PARAM-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "53987ac913e1504dcb9188201a796e17937d67a05bbda046f31353415be97d03",
          "rule_id": "CC-ERR-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "550789988db956eec4d4dcb613a9f79996404288e674f17c1f8f772552a06f80",
          "rule_id": "CC-PARAM-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "5a52d17aee75cd53cb712afd589255bb7447bcff734c1c8ba4a58655ffee5112",
          "rule_id": "CC-ERR-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "5b1bc27a5633db5877eb8877d625debd15e1736d524b2cdd1efad569b8a24d65",
          "rule_id": "CC-ERR-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "5bec5219343f00044afe282d325e3d12c9a649dabd6309732f1556255a5750ac",
          "rule_id": "CC-ERR-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "5c91353f0a71afa3e819ac6694a86d63b4fcef8eaec780cfaefb0a7573bf1fba",
          "rule_id": "CC-PARAM-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "5e91f93bb42289842160df5be591304c4c37d2171add9d1f4f02e37061a3c61d",
          "rule_id": "CC-PARAM-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "5f010ff633fc2006fb5220e6fbd7e2e597e1bc68e1650198b0d5e6d21cbdb8a4",
          "rule_id": "CC-ERR-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "63717576d756c4965834a1e01847507ff18cd80b5005f983131be6542fdfb7f3",
          "rule_id": "CC-ERR-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "69b68afb82022914feebd50c8a29c15cb0346086e386aa3fcc4d22e478c41143",
          "rule_id": "CC-PARAM-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "69de451d1f6fcd90bfdd6aa624354f81652074f14b351c53032f087329ac4a7a",
          "rule_id": "CC-PARAM-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "6d0a7aad4710753a588c802056bf8a48e0466ebc0a77494a98e04774253ad227",
          "rule_id": "CC-PARAM-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "78dba06f6fcdb1f80fb47598fceb4dc54d83e4b0570c17d3b6a98f23e224126e",
          "rule_id": "CC-PARAM-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "8173235e2ae3f18d1032c3d63058d0e835985638777af374e5820dd7060ea787",
          "rule_id": "CC-PARAM-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "88857508cce282f5809a021979dc8686dc0faae1bb2d32f987e76556383c8bb2",
          "rule_id": "CC-ERR-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "893d393681fce3198924e693f0bef23d68d2835fcb433657ed120a265e710ffd",
          "rule_id": "CC-ERR-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "8a1fa70ee24b4477fb0178edd3ee0aa634ff327dfaba3385e78d03bd798b1b8f",
          "rule_id": "CC-PARAM-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "8a4e6410e886e6b5747b3c47756451386fad6774e6dffac8707b83d4782edc7f",
          "rule_id": "CC-ERR-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "8f928c13b05ad01205be6cb20da0a7dc076730b1652f01e050f1a0d626a88a64",
          "rule_id": "CC-ERR-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "8f9ad145fb4388834001554efc9b9619e7c00ef2dec4644551e37244caea96a7",
          "rule_id": "CC-ERR-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "8fb0e67e37380bb092bc9f8e970deb3591a4a50c6eb668674ba54cf9253a03a4",
          "rule_id": "CC-ERR-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "95af5d1a259a50fae5f1970e31843195cf173460515db175d80c127238bce4cf",
          "rule_id": "CC-ERR-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "a116d36feab344a69a164444013e2dc6adecc1b87a703764f8732c0933280cad",
          "rule_id": "CC-ERR-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "a471b422e1603e7fcd94bf5232f69cfe4460847cfd7831645ee818503c97d948",
          "rule_id": "CC-PARAM-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "ac5f58ea550e09cedfded5e4cf64f93ea972aeabd6040b7b33b94987cf89419f",
          "rule_id": "CC-PARAM-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "ad90fb6c0ea23c57affa4aadc3bea922d6e97673b1c76914a4367d86dc78684e",
          "rule_id": "PAG-01",
          "family": "pagination",
          "severity": "medium",
          "points": 4.0,
          "withheld": 0.0
        },
        {
          "fingerprint": "b0321c70a0914c10f9122634fdab7de5e652db3d8e9a5fdf3a8265447bd968ba",
          "rule_id": "CC-ERR-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "b47992d281af850662934cdacdbe93a0db114e9bcaa3bc952aaf9e31bf386ecb",
          "rule_id": "CC-PARAM-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "b53da0df132d044760a73637c64d05bd84d041021b297bc696227a5eef906205",
          "rule_id": "CC-PARAM-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "b53ed68360feb18ee2f77ca64b94eeb2e9623824967a4e18cc6519e37530a9ad",
          "rule_id": "CC-ERR-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "b717371444de064299dd8305256933e770db962cfda97636748ec2232e117e39",
          "rule_id": "CC-PARAM-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "bbb0a1cb85d4507a774e4c35a099b1bef982f612e679ab5b8186ec78b766fb6c",
          "rule_id": "CC-ERR-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "bc6c61ed35a54293cc6bfb851db32421c11ad2a03e4fda4d21912c3e00e58c5e",
          "rule_id": "CC-ERR-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "bfd8ff47506b08480cfde99ca5aeecdeebde07b89a06b641f46b1c5625e247a3",
          "rule_id": "CC-PARAM-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "c19b3a28e6bac82addc5eedd2b30c109bc88dae2aee51434706ae39d2b10e34c",
          "rule_id": "CC-ERR-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "c3524fe903d4a17779b3d2796fa85eb3f63cf5434678760c4e7959b93c37bb3f",
          "rule_id": "CC-CONSIST-01",
          "family": "contract",
          "severity": "medium",
          "points": 4.0,
          "withheld": 0.0
        },
        {
          "fingerprint": "c45c362328c7805e468792ed5fb438376fd0369c5ee781f202750063e13a4af9",
          "rule_id": "CC-ERR-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "c559cd70febf306b812033bbdddcf458a52aa64349324165393ebfdc630bce47",
          "rule_id": "CC-PARAM-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "c73e13f5323d6045a76bf0d5d0d32d89b3a6df27bffff4dfb92fae68d048f46e",
          "rule_id": "CC-PARAM-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "c85ca3048a6475f537b7573403377c526bcc7afc1a65e866d6e42fc296faffcc",
          "rule_id": "CC-PARAM-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "cb6fb45af11246d1b865bde4e63c6945089183de7b76baf577d1cc07440cf078",
          "rule_id": "CC-ERR-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "ce184a2beed2be633c21f1c94337e9bcd15b7858c54026a4c7a4615e01d49df1",
          "rule_id": "CC-PARAM-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "ce18c374b6a8c9da5a18c75e35784787b015f0c38df65f8fc73c57ed6c9e59a5",
          "rule_id": "CC-PARAM-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "d381d16a8ea53a9877ed4cb25c5188b219eb7d153cb462ab5cda5753e2c5befb",
          "rule_id": "PAG-01",
          "family": "pagination",
          "severity": "medium",
          "points": 3.0,
          "withheld": 1.0
        },
        {
          "fingerprint": "d6071277cecdbba8b07602d846e0e0ff9dfd48709c37247fe837ddb5b23e9f8f",
          "rule_id": "CC-ERR-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "d92cb104d5597234aa89c044b12710cfe6a4d84741249a9a4c973ee7cea34fe7",
          "rule_id": "CC-ERR-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "d9c19252e17962b1fb85a51cde729380492dedeea226388363f405c8c3f3e1c9",
          "rule_id": "CC-ERR-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "d9e3ad40391f83300a97e7e7381ce7856b2e22a280a8b675a14c80d6c5792d93",
          "rule_id": "CC-ERR-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "da3f41a5ec6f2c330dff744d981e2a1b86215da737e6a04fbe3b2995c02e27a5",
          "rule_id": "CC-ERR-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "dd2ef861be378d209addda5210c468bf18550a69df0c97e7e3485a9103955158",
          "rule_id": "PAG-01",
          "family": "pagination",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "dfa10d8816b6d567d85c2af79c3fda9ee0ec0f34dee7fc08edaecbe387ca9116",
          "rule_id": "CC-PARAM-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "e125ff3491d1aeb6a0ce25d7e8dc08d91a8bb4c11ab55737fc46b31ec39371f3",
          "rule_id": "CC-ERR-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "e2051b5414f591e438206e6c90e9cb62e550a1ac4064ff2bfc500fb579162cf7",
          "rule_id": "CC-PARAM-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "e268298c0149eb59b2a2c00533e1ddfb953952f58b1b362bfe8018ff02228fb4",
          "rule_id": "CC-ERR-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "ec9137cb0c713b0d7c1b165a581ebeb016ee5b9e20198891914764825d66cd3d",
          "rule_id": "CC-ERR-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "ed39215974cc90a6378e094af41bf2499f79dac29c082a78a6cd9d06ecf7fa7f",
          "rule_id": "CC-PARAM-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "ed823e534b8c623e3240016eea4a9d0ed4295a02c80d96f7af2c09da346526b1",
          "rule_id": "CC-PARAM-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "ee5c7bad355fdfe3e30eb3e8032141ba5db536fdcacae98f0d6494ba71323c71",
          "rule_id": "CC-PARAM-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "f0c867d875df7a7a9a9447f7d9dd5a874ad720b1c2e263d9a3f21012c4bdaf6f",
          "rule_id": "CC-ERR-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "f70a4c54bc23a3ae0e5f31108ed657173f82dd9975870bb80e7bacdc09316cae",
          "rule_id": "CC-ERR-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "fbaf8282a94f10ebdcc1624b2120d22f9fcf8aa8b0520defff3acbd7defda34a",
          "rule_id": "CC-ERR-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "fbd17d8d762af2990fc5a5a207a95b3a9c39a420f6d37e4cbfa078c48e8f8f89",
          "rule_id": "CC-ERR-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "fce73999683d53296a1e9f330a849c2569f3d0d62c116c039fb3f8620b7d1a4b",
          "rule_id": "CC-ERR-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "fda03ede32b0262dff8e878a92b0c3f5a91e0d3d7aec8de8a9ff1099ee1f645a",
          "rule_id": "CC-PARAM-01",
          "family": "contract",
          "severity": "medium",
          "points": 0.0,
          "withheld": 4.0
        },
        {
          "fingerprint": "066f22907222d2b6c4f2d64058a02524d935755fbb240ac3c8dc3ca95622d462",
          "rule_id": "CC-DESC-02",
          "family": "contract",
          "severity": "low",
          "points": 1.0,
          "withheld": 0.0
        },
        {
          "fingerprint": "06abada4c17a5f25568d045591e0aecd8632f0fec67352670bfe815fe7aaa038",
          "rule_id": "CC-DESC-02",
          "family": "contract",
          "severity": "low",
          "points": 1.0,
          "withheld": 0.0
        },
        {
          "fingerprint": "08a0d7169e2bef62d434eb7aaa8bd718b292dc3f1eaf5b2512dc974c0430db13",
          "rule_id": "DATA-02",
          "family": "data",
          "severity": "low",
          "points": 1.0,
          "withheld": 0.0
        },
        {
          "fingerprint": "110941b701bc100514f50ee8118081eb96c203755a3d85c6b91863784f4290d5",
          "rule_id": "CC-RESP-01",
          "family": "contract",
          "severity": "low",
          "points": 1.0,
          "withheld": 0.0
        },
        {
          "fingerprint": "143066492c43ffd70d53fc32c1313e54c128602be9d597378b6c6ea8f854efbb",
          "rule_id": "CC-DESC-02",
          "family": "contract",
          "severity": "low",
          "points": 1.0,
          "withheld": 0.0
        },
        {
          "fingerprint": "1486583de5b8770a1986d76902a792b377026efca1cc9de588de519210636904",
          "rule_id": "CC-RESP-01",
          "family": "contract",
          "severity": "low",
          "points": 1.0,
          "withheld": 0.0
        },
        {
          "fingerprint": "2584f4b51597ce771e1037f64d36dccc592f1d5094908066ed4713f91129361d",
          "rule_id": "NAME-01",
          "family": "contract",
          "severity": "low",
          "points": 1.0,
          "withheld": 0.0
        },
        {
          "fingerprint": "4c220183f42bca01dfa51b3a04afd4e437654ff5e5182e569e06781a8b1a246f",
          "rule_id": "CC-DESC-02",
          "family": "contract",
          "severity": "low",
          "points": 1.0,
          "withheld": 0.0
        },
        {
          "fingerprint": "4d7893a3d2ae2e403303234441a5b0e2597274fd1aeba7d221e957c0604ce207",
          "rule_id": "CC-DESC-02",
          "family": "contract",
          "severity": "low",
          "points": 1.0,
          "withheld": 0.0
        },
        {
          "fingerprint": "652e9d0aafb76b66499eb96184d42f382faa6253be0fa286bee9d50e937d0b10",
          "rule_id": "RATE-01",
          "family": "limits",
          "severity": "low",
          "points": 1.0,
          "withheld": 0.0
        },
        {
          "fingerprint": "67aaa40d55a6eac5f44194541ebb923274497eb3f37fbe261367691dd6743c1d",
          "rule_id": "CC-RESP-01",
          "family": "contract",
          "severity": "low",
          "points": 1.0,
          "withheld": 0.0
        },
        {
          "fingerprint": "6a18f373b5042409f0095746e61847cf0c1d2888a26f819b05763a8f89ddec14",
          "rule_id": "CC-DESC-02",
          "family": "contract",
          "severity": "low",
          "points": 1.0,
          "withheld": 0.0
        },
        {
          "fingerprint": "6df3161ba76cf4612f3420f520b9ff157d91fbf64f8ace56193db3d6e0b5266e",
          "rule_id": "CC-DESC-02",
          "family": "contract",
          "severity": "low",
          "points": 1.0,
          "withheld": 0.0
        },
        {
          "fingerprint": "6fd6515a7aedc9a2f18946a9d108ed254cbdd09889b8273203c6b81bb2908356",
          "rule_id": "CC-DESC-02",
          "family": "contract",
          "severity": "low",
          "points": 1.0,
          "withheld": 0.0
        },
        {
          "fingerprint": "8378e896fb51be85e40da14688c4459f34c959b75613dadcd343cda1e28d6b84",
          "rule_id": "AUTH-02",
          "family": "onboarding",
          "severity": "low",
          "points": 1.0,
          "withheld": 0.0
        },
        {
          "fingerprint": "9a649c5e36c2ab680016b01681fe54e925968723e69a351c5d0d0b0b3e6ccad0",
          "rule_id": "CC-DESC-02",
          "family": "contract",
          "severity": "low",
          "points": 1.0,
          "withheld": 0.0
        },
        {
          "fingerprint": "9fb455134636cdd9211dff34b822165fb2989220ca3e41ad0b1cb717c3015ba8",
          "rule_id": "AUTH-02",
          "family": "onboarding",
          "severity": "low",
          "points": 1.0,
          "withheld": 0.0
        },
        {
          "fingerprint": "bae9f63f9d9c2119d04b7b03ba07dc677332418c5733f336b1f3b1cf2551d047",
          "rule_id": "IDEM-01",
          "family": "reliability",
          "severity": "low",
          "points": 1.0,
          "withheld": 0.0
        },
        {
          "fingerprint": "cc6169f384f92130ef491977d3ad3f41142515bbb4948c8ceac82862c0bfc2ef",
          "rule_id": "CC-EX-01",
          "family": "examples",
          "severity": "low",
          "points": 1.0,
          "withheld": 0.0
        },
        {
          "fingerprint": "d04b10a8229c8b548d24dfc5a495328d7b930934a449a4fb024de9e3c0ae50a0",
          "rule_id": "CC-DESC-02",
          "family": "contract",
          "severity": "low",
          "points": 1.0,
          "withheld": 0.0
        },
        {
          "fingerprint": "e836157489665e9068081cae331ba29ff931795cab9b2345046d7fab458d3a4d",
          "rule_id": "CC-DESC-02",
          "family": "contract",
          "severity": "low",
          "points": 1.0,
          "withheld": 0.0
        },
        {
          "fingerprint": "ed175b5ef36691dd8e6e0a96aaf458988e6b8fb962e7e3b442261803122dc755",
          "rule_id": "CC-RESP-01",
          "family": "contract",
          "severity": "low",
          "points": 1.0,
          "withheld": 0.0
        },
        {
          "fingerprint": "fe865ec8543e2c432da01ff082a03ea4cab805c5ac087c102bff6acdbf5f6414",
          "rule_id": "NAME-01",
          "family": "contract",
          "severity": "low",
          "points": 1.0,
          "withheld": 0.0
        }
      ],
      "by_family": {
        "contract": 34.0,
        "data": 99.0,
        "examples": 99.0,
        "limits": 99.0,
        "onboarding": 98.0,
        "pagination": 85.0,
        "reliability": 99.0
      }
    },
    "families": [
      {
        "family": "contract",
        "score": 34.0,
        "findings": 116,
        "rules_applied": 13,
        "rules_not_applicable": 1,
        "rules_failed": 0,
        "rules_unassessable": 1
      },
      {
        "family": "pagination",
        "score": 85.0,
        "findings": 5,
        "rules_applied": 1,
        "rules_not_applicable": 0,
        "rules_failed": 0
      },
      {
        "family": "onboarding",
        "score": 98.0,
        "findings": 2,
        "rules_applied": 2,
        "rules_not_applicable": 2,
        "rules_failed": 0,
        "rules_unassessable": 1
      },
      {
        "family": "data",
        "score": 99.0,
        "findings": 1,
        "rules_applied": 1,
        "rules_not_applicable": 1,
        "rules_failed": 0
      },
      {
        "family": "examples",
        "score": 99.0,
        "findings": 1,
        "rules_applied": 2,
        "rules_not_applicable": 0,
        "rules_failed": 0
      },
      {
        "family": "limits",
        "score": 99.0,
        "findings": 1,
        "rules_applied": 1,
        "rules_not_applicable": 1,
        "rules_failed": 0
      },
      {
        "family": "reliability",
        "score": 99.0,
        "findings": 1,
        "rules_applied": 1,
        "rules_not_applicable": 1,
        "rules_failed": 0
      },
      {
        "family": "documentation",
        "score": null,
        "findings": 0,
        "rules_applied": 0,
        "rules_not_applicable": 0,
        "rules_failed": 0,
        "rules_unassessable": 1
      },
      {
        "family": "errors",
        "score": null,
        "findings": 0,
        "rules_applied": 0,
        "rules_not_applicable": 3,
        "rules_failed": 0
      },
      {
        "family": "lifecycle",
        "score": null,
        "findings": 0,
        "rules_applied": 0,
        "rules_not_applicable": 1,
        "rules_failed": 0
      },
      {
        "family": "links",
        "score": null,
        "findings": 0,
        "rules_applied": 0,
        "rules_not_applicable": 0,
        "rules_failed": 0,
        "rules_unassessable": 1
      },
      {
        "family": "webhooks",
        "score": null,
        "findings": 0,
        "rules_applied": 0,
        "rules_not_applicable": 3,
        "rules_failed": 0
      },
      {
        "family": "workflow",
        "score": null,
        "findings": 0,
        "rules_applied": 0,
        "rules_not_applicable": 1,
        "rules_failed": 0
      }
    ],
    "fragment_count": 968,
    "redactions": {},
    "rules": [
      {
        "rule_id": "CC-REF-01",
        "family": "contract",
        "rule_version": "1",
        "status": "not_applicable",
        "findings": 0,
        "suppressed": 0,
        "message": null,
        "needs": [
          "description"
        ]
      },
      {
        "rule_id": "CC-DESC-01",
        "family": "contract",
        "rule_version": "1",
        "status": "applied",
        "findings": 0,
        "suppressed": 0,
        "message": null,
        "needs": [
          "description"
        ]
      },
      {
        "rule_id": "CC-PARAM-01",
        "family": "contract",
        "rule_version": "1",
        "status": "applied",
        "findings": 43,
        "suppressed": 0,
        "message": null,
        "needs": [
          "description"
        ]
      },
      {
        "rule_id": "CC-RESP-01",
        "family": "contract",
        "rule_version": "1",
        "status": "applied",
        "findings": 4,
        "suppressed": 0,
        "message": null,
        "needs": [
          "description"
        ]
      },
      {
        "rule_id": "CC-ERR-01",
        "family": "contract",
        "rule_version": "1",
        "status": "applied",
        "findings": 53,
        "suppressed": 0,
        "message": null,
        "needs": [
          "description"
        ]
      },
      {
        "rule_id": "CC-EX-01",
        "family": "examples",
        "rule_version": "1",
        "status": "applied",
        "findings": 1,
        "suppressed": 0,
        "message": null,
        "needs": [
          "description"
        ]
      },
      {
        "rule_id": "CC-EX-02",
        "family": "examples",
        "rule_version": "1",
        "status": "applied",
        "findings": 0,
        "suppressed": 0,
        "message": null,
        "needs": [
          "description"
        ],
        "limited_by": [
          "1 example was not checked against its schema: the example is too long to keep"
        ]
      },
      {
        "rule_id": "ERR-05",
        "family": "errors",
        "rule_version": "1",
        "status": "not_applicable",
        "findings": 0,
        "suppressed": 0,
        "message": null,
        "needs": [
          "description"
        ]
      },
      {
        "rule_id": "CC-CONFLICT-01",
        "family": "contract",
        "rule_version": "1",
        "status": "unassessable",
        "findings": 0,
        "suppressed": 0,
        "message": "needs guide pages; none was supplied",
        "needs": [
          "description",
          "guides"
        ]
      },
      {
        "rule_id": "CC-PATH-01",
        "family": "contract",
        "rule_version": "1",
        "status": "applied",
        "findings": 0,
        "suppressed": 0,
        "message": null,
        "needs": [
          "description"
        ]
      },
      {
        "rule_id": "CC-SCHEMA-01",
        "family": "contract",
        "rule_version": "1",
        "status": "applied",
        "findings": 2,
        "suppressed": 0,
        "message": null,
        "needs": [
          "description"
        ]
      },
      {
        "rule_id": "CC-TYPE-01",
        "family": "contract",
        "rule_version": "1",
        "status": "applied",
        "findings": 0,
        "suppressed": 0,
        "message": null,
        "needs": [
          "description"
        ]
      },
      {
        "rule_id": "CC-CONSIST-01",
        "family": "contract",
        "rule_version": "1",
        "status": "applied",
        "findings": 1,
        "suppressed": 0,
        "message": null,
        "needs": [
          "description"
        ]
      },
      {
        "rule_id": "RATE-02",
        "family": "limits",
        "rule_version": "1",
        "status": "not_applicable",
        "findings": 0,
        "suppressed": 0,
        "message": null,
        "needs": [
          "description"
        ]
      },
      {
        "rule_id": "WH-01",
        "family": "webhooks",
        "rule_version": "1",
        "status": "not_applicable",
        "findings": 0,
        "suppressed": 0,
        "message": null,
        "needs": [
          "description"
        ]
      },
      {
        "rule_id": "WH-02",
        "family": "webhooks",
        "rule_version": "1",
        "status": "not_applicable",
        "findings": 0,
        "suppressed": 0,
        "message": null,
        "needs": [
          "description"
        ]
      },
      {
        "rule_id": "WH-03",
        "family": "webhooks",
        "rule_version": "1",
        "status": "not_applicable",
        "findings": 0,
        "suppressed": 0,
        "message": null,
        "needs": [
          "description"
        ]
      },
      {
        "rule_id": "AUTH-03",
        "family": "onboarding",
        "rule_version": "1",
        "status": "not_applicable",
        "findings": 0,
        "suppressed": 0,
        "message": null,
        "needs": [
          "description"
        ]
      },
      {
        "rule_id": "IDEM-02",
        "family": "reliability",
        "rule_version": "1",
        "status": "not_applicable",
        "findings": 0,
        "suppressed": 0,
        "message": null,
        "needs": [
          "description"
        ]
      },
      {
        "rule_id": "ERR-04",
        "family": "errors",
        "rule_version": "1",
        "status": "not_applicable",
        "findings": 0,
        "suppressed": 0,
        "message": null,
        "needs": [
          "description"
        ]
      },
      {
        "rule_id": "WF-04",
        "family": "workflow",
        "rule_version": "1",
        "status": "not_applicable",
        "findings": 0,
        "suppressed": 0,
        "message": null,
        "needs": [
          "description"
        ]
      },
      {
        "rule_id": "DATA-02",
        "family": "data",
        "rule_version": "1",
        "status": "applied",
        "findings": 1,
        "suppressed": 0,
        "message": null,
        "needs": [
          "description"
        ]
      },
      {
        "rule_id": "DATA-03",
        "family": "data",
        "rule_version": "1",
        "status": "not_applicable",
        "findings": 0,
        "suppressed": 0,
        "message": null,
        "needs": [
          "description"
        ]
      },
      {
        "rule_id": "CC-ENV-01",
        "family": "contract",
        "rule_version": "1",
        "status": "applied",
        "findings": 0,
        "suppressed": 0,
        "message": null,
        "needs": [
          "description"
        ]
      },
      {
        "rule_id": "AUTH-04",
        "family": "onboarding",
        "rule_version": "1",
        "status": "not_applicable",
        "findings": 0,
        "suppressed": 0,
        "message": null,
        "needs": [
          "description"
        ]
      },
      {
        "rule_id": "AUTH-01",
        "family": "onboarding",
        "rule_version": "1",
        "status": "applied",
        "findings": 0,
        "suppressed": 0,
        "message": null,
        "needs": [
          "description"
        ]
      },
      {
        "rule_id": "AUTH-02",
        "family": "onboarding",
        "rule_version": "1",
        "status": "applied",
        "findings": 2,
        "suppressed": 0,
        "message": null,
        "needs": [
          "description"
        ]
      },
      {
        "rule_id": "CC-SEC-01",
        "family": "contract",
        "rule_version": "1",
        "status": "applied",
        "findings": 0,
        "suppressed": 0,
        "message": null,
        "needs": [
          "description"
        ]
      },
      {
        "rule_id": "NAME-01",
        "family": "contract",
        "rule_version": "1",
        "status": "applied",
        "findings": 2,
        "suppressed": 0,
        "message": null,
        "needs": [
          "description"
        ]
      },
      {
        "rule_id": "PAG-01",
        "family": "pagination",
        "rule_version": "1",
        "status": "applied",
        "findings": 5,
        "suppressed": 0,
        "message": null,
        "needs": [
          "description"
        ]
      },
      {
        "rule_id": "PAG-02",
        "family": "pagination",
        "rule_version": "1",
        "status": "disabled",
        "findings": 0,
        "suppressed": 0,
        "message": null
      },
      {
        "rule_id": "RATE-01",
        "family": "limits",
        "rule_version": "1",
        "status": "applied",
        "findings": 1,
        "suppressed": 0,
        "message": null,
        "needs": [
          "description"
        ]
      },
      {
        "rule_id": "ERR-02",
        "family": "errors",
        "rule_version": "1",
        "status": "not_applicable",
        "findings": 0,
        "suppressed": 0,
        "message": null,
        "needs": [
          "description"
        ]
      },
      {
        "rule_id": "IDEM-01",
        "family": "reliability",
        "rule_version": "1",
        "status": "applied",
        "findings": 1,
        "suppressed": 0,
        "message": null,
        "needs": [
          "description"
        ]
      },
      {
        "rule_id": "CC-DEP-01",
        "family": "lifecycle",
        "rule_version": "1",
        "status": "not_applicable",
        "findings": 0,
        "suppressed": 0,
        "message": null,
        "needs": [
          "description"
        ]
      },
      {
        "rule_id": "CC-DESC-02",
        "family": "contract",
        "rule_version": "1",
        "status": "applied",
        "findings": 11,
        "suppressed": 0,
        "message": null,
        "needs": [
          "description"
        ]
      },
      {
        "rule_id": "CC-DESC-03",
        "family": "contract",
        "rule_version": "1",
        "status": "disabled",
        "findings": 0,
        "suppressed": 0,
        "message": null
      },
      {
        "rule_id": "CC-DESC-04",
        "family": "contract",
        "rule_version": "1",
        "status": "applied",
        "findings": 0,
        "suppressed": 0,
        "message": null,
        "needs": [
          "description"
        ]
      },
      {
        "rule_id": "LINK-01",
        "family": "links",
        "rule_version": "1",
        "status": "unassessable",
        "findings": 0,
        "suppressed": 0,
        "message": "needs guide pages; none was supplied",
        "needs": [
          "guides"
        ]
      },
      {
        "rule_id": "ON-ENV-01",
        "family": "onboarding",
        "rule_version": "1",
        "status": "unassessable",
        "findings": 0,
        "suppressed": 0,
        "message": "needs guide pages; none was supplied",
        "needs": [
          "guides"
        ]
      },
      {
        "rule_id": "DOC-CODE-01",
        "family": "documentation",
        "rule_version": "1",
        "status": "unassessable",
        "findings": 0,
        "suppressed": 0,
        "message": "needs guide pages; none was supplied",
        "needs": [
          "guides"
        ]
      }
    ],
    "readings": [
      {
        "id": "a3139ef4f142d3702c305353a7af583baab09812c21fc089b29cf3fdafa58eb1",
        "name": "fulfilment-api.json",
        "roles": [
          "description"
        ],
        "coverage": "complete",
        "readable": true,
        "documents_read": 1,
        "documents_not_read": 0,
        "documents_failed": 0,
        "notes": []
      }
    ],
    "findings": [
      {
        "id": "CC-SCHEMA-01-3793ec222369",
        "rule_id": "CC-SCHEMA-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "high",
        "state": "not_in_spec",
        "title": "GET /api/fulfilment-capacity/resources/carrier@{capacityType}@{shippingPolicyId}/time-frames/{windowDay}F{windowStartTime}T{windowEndTime}: response declares application/json but no schema",
        "impact": "Developers cannot know the fields, types or required properties, and generated clients fall back to untyped data.",
        "recommendation": "Add a schema to each structured media type, or remove the media type if no body is exchanged.",
        "confidence": 1.0,
        "operation": "GET /api/fulfilment-capacity/resources/carrier@{capacityType}@{shippingPolicyId}/time-frames/{windowDay}F{windowStartTime}T{windowEndTime}",
        "fingerprint": "3793ec2223696e5af920cefc3a0610b4fddf4c553f8897a07bd0dc190528256c",
        "cause": "no schema for application/json",
        "evidence": [
          {
            "kind": "absence",
            "expected": "a schema for application/json",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment-capacity~1resources~1carrier@{capacityType}@{shippingPolicyId}~1time-frames~1{windowDay}F{windowStartTime}T{windowEndTime}/get/responses/200"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment-capacity~1resources~1carrier@{capacityType}@{shippingPolicyId}~1time-frames~1{windowDay}F{windowStartTime}T{windowEndTime}/get/responses/200"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-SCHEMA-01-3be1333302eb",
        "rule_id": "CC-SCHEMA-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "high",
        "state": "not_in_spec",
        "title": "GET /api/fulfilment-capacity/resources/carrier@{capacityType}@{shippingPolicyId}/time-frames: response declares application/json but no schema",
        "impact": "Developers cannot know the fields, types or required properties, and generated clients fall back to untyped data.",
        "recommendation": "Add a schema to each structured media type, or remove the media type if no body is exchanged.",
        "confidence": 1.0,
        "operation": "GET /api/fulfilment-capacity/resources/carrier@{capacityType}@{shippingPolicyId}/time-frames",
        "fingerprint": "3be1333302eb0a6242c7c89b497495f50bb42511e5ab6231ac6fafa8ea240242",
        "cause": "no schema for application/json",
        "evidence": [
          {
            "kind": "absence",
            "expected": "a schema for application/json",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment-capacity~1resources~1carrier@{capacityType}@{shippingPolicyId}~1time-frames/get/responses/200"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment-capacity~1resources~1carrier@{capacityType}@{shippingPolicyId}~1time-frames/get/responses/200"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-CONSIST-01-c3524fe903d4",
        "rule_id": "CC-CONSIST-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "contradictory",
        "title": "Property `absoluteMoneyCost` has different types across variants of `freight-values`: number in `ListFreightValues`, string in `CreateUpdateFreightValuesRequest`",
        "impact": "A client that models the property once breaks on the other schema, and readers cannot tell which type is meant.",
        "recommendation": "Use one type for a property name across schemas, or rename one of them to say it is a different thing.",
        "confidence": 0.6,
        "operation": null,
        "fingerprint": "c3524fe903d4a17779b3d2796fa85eb3f63cf5434678760c4e7959b93c37bb3f",
        "cause": "conflicting types for freight-values.absolutemoneycost",
        "evidence": [
          {
            "kind": "quote",
            "at": {
              "locator": {
                "kind": "openapi_pointer",
                "path": "fulfilment-api.json",
                "pointer": "#/components/schemas/ListFreightValues/properties"
              },
              "rendered_locator": "fulfilment-api.json#/components/schemas/ListFreightValues/properties"
            },
            "quote": "absoluteMoneyCost"
          },
          {
            "kind": "quote",
            "at": {
              "locator": {
                "kind": "openapi_pointer",
                "path": "fulfilment-api.json",
                "pointer": "#/components/schemas/CreateUpdateFreightValuesRequest/properties"
              },
              "rendered_locator": "fulfilment-api.json#/components/schemas/CreateUpdateFreightValuesRequest/properties"
            },
            "quote": "absoluteMoneyCost"
          }
        ]
      },
      {
        "id": "CC-ERR-01-007572904bd4",
        "rule_id": "CC-ERR-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "GET /api/fulfilment/v1/configuration/warehouses/{warehouseId} documents no error responses",
        "impact": "Developers cannot tell which failures to expect or how to handle them, so error paths are discovered in production.",
        "recommendation": "Document the error responses (4xx and 5xx or a default) with their bodies and when each occurs.",
        "confidence": 0.9,
        "operation": "GET /api/fulfilment/v1/configuration/warehouses/{warehouseId}",
        "fingerprint": "007572904bd49c4e3ff4a59bad7020ea7914af9d4d448225a236ea367a5fc97f",
        "cause": "no error response documented",
        "evidence": [
          {
            "kind": "absence",
            "expected": "an error response (4xx, 5xx or default)",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1warehouses~1{warehouseId}/get"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1warehouses~1{warehouseId}/get"
              },
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1warehouses~1{warehouseId}/get/responses/200"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1warehouses~1{warehouseId}/get/responses/200"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-ERR-01-026e9969da35",
        "rule_id": "CC-ERR-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "GET /api/fulfilment/v1/configuration/warehouses documents no error responses",
        "impact": "Developers cannot tell which failures to expect or how to handle them, so error paths are discovered in production.",
        "recommendation": "Document the error responses (4xx and 5xx or a default) with their bodies and when each occurs.",
        "confidence": 0.9,
        "operation": "GET /api/fulfilment/v1/configuration/warehouses",
        "fingerprint": "026e9969da35301d57082dbe59d3ccef21ca5cc291dbafb4834a632f9f673e92",
        "cause": "no error response documented",
        "evidence": [
          {
            "kind": "absence",
            "expected": "an error response (4xx, 5xx or default)",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1warehouses/get"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1warehouses/get"
              },
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1warehouses/get/responses/200"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1warehouses/get/responses/200"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-ERR-01-05f0b820b2ae",
        "rule_id": "CC-ERR-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "POST /api/fulfilment/v1/inventory/items/{skuId}/warehouses/{warehouseId}/supplyLots/{supplyLotId}/transfer documents no error responses",
        "impact": "Developers cannot tell which failures to expect or how to handle them, so error paths are discovered in production.",
        "recommendation": "Document the error responses (4xx and 5xx or a default) with their bodies and when each occurs.",
        "confidence": 0.9,
        "operation": "POST /api/fulfilment/v1/inventory/items/{skuId}/warehouses/{warehouseId}/supplyLots/{supplyLotId}/transfer",
        "fingerprint": "05f0b820b2ae2c72658f0dd0e748c4d7ad7af70ddfc04a42e8373262c726beba",
        "cause": "no error response documented",
        "evidence": [
          {
            "kind": "absence",
            "expected": "an error response (4xx, 5xx or default)",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1inventory~1items~1{skuId}~1warehouses~1{warehouseId}~1supplyLots~1{supplyLotId}~1transfer/post"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1inventory~1items~1{skuId}~1warehouses~1{warehouseId}~1supplyLots~1{supplyLotId}~1transfer/post"
              },
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1inventory~1items~1{skuId}~1warehouses~1{warehouseId}~1supplyLots~1{supplyLotId}~1transfer/post/responses/200"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1inventory~1items~1{skuId}~1warehouses~1{warehouseId}~1supplyLots~1{supplyLotId}~1transfer/post/responses/200"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-ERR-01-0c118ddce9a1",
        "rule_id": "CC-ERR-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "POST /api/fulfilment/v1/configuration/docks/{dockId}/activation documents no error responses",
        "impact": "Developers cannot tell which failures to expect or how to handle them, so error paths are discovered in production.",
        "recommendation": "Document the error responses (4xx and 5xx or a default) with their bodies and when each occurs.",
        "confidence": 0.9,
        "operation": "POST /api/fulfilment/v1/configuration/docks/{dockId}/activation",
        "fingerprint": "0c118ddce9a193ba326bc463d59c1c99bb772bc9b14a0d0a2c17dd6761ce0af8",
        "cause": "no error response documented",
        "evidence": [
          {
            "kind": "absence",
            "expected": "an error response (4xx, 5xx or default)",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1docks~1{dockId}~1activation/post"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1docks~1{dockId}~1activation/post"
              },
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1docks~1{dockId}~1activation/post/responses/200"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1docks~1{dockId}~1activation/post/responses/200"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-ERR-01-0c46bb1f4536",
        "rule_id": "CC-ERR-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "DELETE /api/fulfilment/v1/configuration/warehouses/{warehouseId} documents no error responses",
        "impact": "Developers cannot tell which failures to expect or how to handle them, so error paths are discovered in production.",
        "recommendation": "Document the error responses (4xx and 5xx or a default) with their bodies and when each occurs.",
        "confidence": 0.9,
        "operation": "DELETE /api/fulfilment/v1/configuration/warehouses/{warehouseId}",
        "fingerprint": "0c46bb1f4536b06b41454bc276d415813e716e98944a2f686fb73a831bc3fae4",
        "cause": "no error response documented",
        "evidence": [
          {
            "kind": "absence",
            "expected": "an error response (4xx, 5xx or default)",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1warehouses~1{warehouseId}/delete"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1warehouses~1{warehouseId}/delete"
              },
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1warehouses~1{warehouseId}/delete/responses/200"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1warehouses~1{warehouseId}/delete/responses/200"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-ERR-01-0c4da5d1241c",
        "rule_id": "CC-ERR-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "GET /api/fulfilment/v1/inventory/skus/{skuId} documents no error responses",
        "impact": "Developers cannot tell which failures to expect or how to handle them, so error paths are discovered in production.",
        "recommendation": "Document the error responses (4xx and 5xx or a default) with their bodies and when each occurs.",
        "confidence": 0.9,
        "operation": "GET /api/fulfilment/v1/inventory/skus/{skuId}",
        "fingerprint": "0c4da5d1241c97b79c27285fcaa629bb19186a0045f79ecdfd79ae4403c53178",
        "cause": "no error response documented",
        "evidence": [
          {
            "kind": "absence",
            "expected": "an error response (4xx, 5xx or default)",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1inventory~1skus~1{skuId}/get"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1inventory~1skus~1{skuId}/get"
              },
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1inventory~1skus~1{skuId}/get/responses/200"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1inventory~1skus~1{skuId}/get/responses/200"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-ERR-01-16b51192faff",
        "rule_id": "CC-ERR-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "GET /api/fulfilment/v1/configuration/geoshape documents no error responses",
        "impact": "Developers cannot tell which failures to expect or how to handle them, so error paths are discovered in production.",
        "recommendation": "Document the error responses (4xx and 5xx or a default) with their bodies and when each occurs.",
        "confidence": 0.9,
        "operation": "GET /api/fulfilment/v1/configuration/geoshape",
        "fingerprint": "16b51192faff53fff5864b0d9d551838dd7897ecd1015a353e198ad687f7b662",
        "cause": "no error response documented",
        "evidence": [
          {
            "kind": "absence",
            "expected": "an error response (4xx, 5xx or default)",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1geoshape/get"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1geoshape/get"
              },
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1geoshape/get/responses/200"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1geoshape/get/responses/200"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-ERR-01-21db7482ca22",
        "rule_id": "CC-ERR-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "POST /api/fulfilment/v1/inventory/reservations/{reservationId}/confirm documents no error responses",
        "impact": "Developers cannot tell which failures to expect or how to handle them, so error paths are discovered in production.",
        "recommendation": "Document the error responses (4xx and 5xx or a default) with their bodies and when each occurs.",
        "confidence": 0.9,
        "operation": "POST /api/fulfilment/v1/inventory/reservations/{reservationId}/confirm",
        "fingerprint": "21db7482ca22a82638c6e26a215c8e617a0d609b5740f26e10db2ad301cc92c8",
        "cause": "no error response documented",
        "evidence": [
          {
            "kind": "absence",
            "expected": "an error response (4xx, 5xx or default)",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1inventory~1reservations~1{reservationId}~1confirm/post"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1inventory~1reservations~1{reservationId}~1confirm/post"
              },
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1inventory~1reservations~1{reservationId}~1confirm/post/responses/200"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1inventory~1reservations~1{reservationId}~1confirm/post/responses/200"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-ERR-01-24bc3220f44b",
        "rule_id": "CC-ERR-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "PUT /api/fulfilment/v1/configuration/geoshape documents no error responses",
        "impact": "Developers cannot tell which failures to expect or how to handle them, so error paths are discovered in production.",
        "recommendation": "Document the error responses (4xx and 5xx or a default) with their bodies and when each occurs.",
        "confidence": 0.9,
        "operation": "PUT /api/fulfilment/v1/configuration/geoshape",
        "fingerprint": "24bc3220f44b1625b455d574453b917eb9429a4aeb0a40351966f4afe0ee3bde",
        "cause": "no error response documented",
        "evidence": [
          {
            "kind": "absence",
            "expected": "an error response (4xx, 5xx or default)",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1geoshape/put"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1geoshape/put"
              },
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1geoshape/put/responses/200"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1geoshape/put/responses/200"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-ERR-01-2533a8b3a5cb",
        "rule_id": "CC-ERR-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "PUT /api/fulfilment/v1/inventory/skus/{skuId}/warehouses/{warehouseId} documents no error responses",
        "impact": "Developers cannot tell which failures to expect or how to handle them, so error paths are discovered in production.",
        "recommendation": "Document the error responses (4xx and 5xx or a default) with their bodies and when each occurs.",
        "confidence": 0.9,
        "operation": "PUT /api/fulfilment/v1/inventory/skus/{skuId}/warehouses/{warehouseId}",
        "fingerprint": "2533a8b3a5cbeba9c6b4dc7a97b0fe29d669788516dbd71968c9a0a7b3d15bfd",
        "cause": "no error response documented",
        "evidence": [
          {
            "kind": "absence",
            "expected": "an error response (4xx, 5xx or default)",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1inventory~1skus~1{skuId}~1warehouses~1{warehouseId}/put"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1inventory~1skus~1{skuId}~1warehouses~1{warehouseId}/put"
              },
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1inventory~1skus~1{skuId}~1warehouses~1{warehouseId}/put/responses/200"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1inventory~1skus~1{skuId}~1warehouses~1{warehouseId}/put/responses/200"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-ERR-01-28d92f743e90",
        "rule_id": "CC-ERR-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "GET /api/fulfilment/v1/inventory/items/{skuId}/docks/{dockId} documents no error responses",
        "impact": "Developers cannot tell which failures to expect or how to handle them, so error paths are discovered in production.",
        "recommendation": "Document the error responses (4xx and 5xx or a default) with their bodies and when each occurs.",
        "confidence": 0.9,
        "operation": "GET /api/fulfilment/v1/inventory/items/{skuId}/docks/{dockId}",
        "fingerprint": "28d92f743e901f571c435f762e8370d8c219e4c137e642ecae444d8c6092efd2",
        "cause": "no error response documented",
        "evidence": [
          {
            "kind": "absence",
            "expected": "an error response (4xx, 5xx or default)",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1inventory~1items~1{skuId}~1docks~1{dockId}/get"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1inventory~1items~1{skuId}~1docks~1{dockId}/get"
              },
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1inventory~1items~1{skuId}~1docks~1{dockId}/get/responses/200"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1inventory~1items~1{skuId}~1docks~1{dockId}/get/responses/200"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-ERR-01-2a471f6b0238",
        "rule_id": "CC-ERR-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "GET /api/fulfilment/v1/inventory/reservations/{reservationId} documents no error responses",
        "impact": "Developers cannot tell which failures to expect or how to handle them, so error paths are discovered in production.",
        "recommendation": "Document the error responses (4xx and 5xx or a default) with their bodies and when each occurs.",
        "confidence": 0.9,
        "operation": "GET /api/fulfilment/v1/inventory/reservations/{reservationId}",
        "fingerprint": "2a471f6b02382bd53e4c2b2180737c3a7f6045de91b665c3823195081728b2ff",
        "cause": "no error response documented",
        "evidence": [
          {
            "kind": "absence",
            "expected": "an error response (4xx, 5xx or default)",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1inventory~1reservations~1{reservationId}/get"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1inventory~1reservations~1{reservationId}/get"
              },
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1inventory~1reservations~1{reservationId}/get/responses/200"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1inventory~1reservations~1{reservationId}/get/responses/200"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-ERR-01-3428fca2d060",
        "rule_id": "CC-ERR-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "PUT /api/fulfilment/v1/configuration/holidays/{holidayId} documents no error responses",
        "impact": "Developers cannot tell which failures to expect or how to handle them, so error paths are discovered in production.",
        "recommendation": "Document the error responses (4xx and 5xx or a default) with their bodies and when each occurs.",
        "confidence": 0.9,
        "operation": "PUT /api/fulfilment/v1/configuration/holidays/{holidayId}",
        "fingerprint": "3428fca2d06026739a755e9547f812faee0504d8c0076c06b6df304786bbdfc6",
        "cause": "no error response documented",
        "evidence": [
          {
            "kind": "absence",
            "expected": "an error response (4xx, 5xx or default)",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1holidays~1{holidayId}/put"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1holidays~1{holidayId}/put"
              },
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1holidays~1{holidayId}/put/responses/200"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1holidays~1{holidayId}/put/responses/200"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-ERR-01-36d565a9e44f",
        "rule_id": "CC-ERR-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "GET /api/fulfilment/v1/configuration/docks documents no error responses",
        "impact": "Developers cannot tell which failures to expect or how to handle them, so error paths are discovered in production.",
        "recommendation": "Document the error responses (4xx and 5xx or a default) with their bodies and when each occurs.",
        "confidence": 0.9,
        "operation": "GET /api/fulfilment/v1/configuration/docks",
        "fingerprint": "36d565a9e44f1f81b55a40361b0624374242b0362ad4641c9a8a0fc36532cd5a",
        "cause": "no error response documented",
        "evidence": [
          {
            "kind": "absence",
            "expected": "an error response (4xx, 5xx or default)",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1docks/get"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1docks/get"
              },
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1docks/get/responses/200"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1docks/get/responses/200"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-ERR-01-3de17423d792",
        "rule_id": "CC-ERR-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "POST /api/fulfilment/v1/configuration/freights/{carrierId}/values/update documents no error responses",
        "impact": "Developers cannot tell which failures to expect or how to handle them, so error paths are discovered in production.",
        "recommendation": "Document the error responses (4xx and 5xx or a default) with their bodies and when each occurs.",
        "confidence": 0.9,
        "operation": "POST /api/fulfilment/v1/configuration/freights/{carrierId}/values/update",
        "fingerprint": "3de17423d7921b191d35cbb66a629dbd7f4858294040fb2241b254e669d26c61",
        "cause": "no error response documented",
        "evidence": [
          {
            "kind": "absence",
            "expected": "an error response (4xx, 5xx or default)",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1freights~1{carrierId}~1values~1update/post"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1freights~1{carrierId}~1values~1update/post"
              },
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1freights~1{carrierId}~1values~1update/post/responses/200"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1freights~1{carrierId}~1values~1update/post/responses/200"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-ERR-01-3e2f4b202c83",
        "rule_id": "CC-ERR-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "POST /api/fulfilment/v1/configuration/warehouses/{warehouseId}/activation documents no error responses",
        "impact": "Developers cannot tell which failures to expect or how to handle them, so error paths are discovered in production.",
        "recommendation": "Document the error responses (4xx and 5xx or a default) with their bodies and when each occurs.",
        "confidence": 0.9,
        "operation": "POST /api/fulfilment/v1/configuration/warehouses/{warehouseId}/activation",
        "fingerprint": "3e2f4b202c836a9e18290615505e03863703e6fd8a7b3e559254635ab405da2c",
        "cause": "no error response documented",
        "evidence": [
          {
            "kind": "absence",
            "expected": "an error response (4xx, 5xx or default)",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1warehouses~1{warehouseId}~1activation/post"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1warehouses~1{warehouseId}~1activation/post"
              },
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1warehouses~1{warehouseId}~1activation/post/responses/200"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1warehouses~1{warehouseId}~1activation/post/responses/200"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-ERR-01-416ed696462e",
        "rule_id": "CC-ERR-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "POST /api/fulfilment/v1/shipping/calculate documents no error responses",
        "impact": "Developers cannot tell which failures to expect or how to handle them, so error paths are discovered in production.",
        "recommendation": "Document the error responses (4xx and 5xx or a default) with their bodies and when each occurs.",
        "confidence": 0.9,
        "operation": "POST /api/fulfilment/v1/shipping/calculate",
        "fingerprint": "416ed696462e3d4ae23024e34b69cca527f79c635c963eb862df9833f17a8b22",
        "cause": "no error response documented",
        "evidence": [
          {
            "kind": "absence",
            "expected": "an error response (4xx, 5xx or default)",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1shipping~1calculate/post"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1shipping~1calculate/post"
              },
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1shipping~1calculate/post/responses/200"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1shipping~1calculate/post/responses/200"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-ERR-01-41fd01cb884c",
        "rule_id": "CC-ERR-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "DELETE /api/fulfilment/v1/configuration/geoshape/{polygonName} documents no error responses",
        "impact": "Developers cannot tell which failures to expect or how to handle them, so error paths are discovered in production.",
        "recommendation": "Document the error responses (4xx and 5xx or a default) with their bodies and when each occurs.",
        "confidence": 0.9,
        "operation": "DELETE /api/fulfilment/v1/configuration/geoshape/{polygonName}",
        "fingerprint": "41fd01cb884ce5c8ba212292b1ced4122ac25fedc229d716b133ab2cd3dbd3b5",
        "cause": "no error response documented",
        "evidence": [
          {
            "kind": "absence",
            "expected": "an error response (4xx, 5xx or default)",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1geoshape~1{polygonName}/delete"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1geoshape~1{polygonName}/delete"
              },
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1geoshape~1{polygonName}/delete/responses/200"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1geoshape~1{polygonName}/delete/responses/200"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-ERR-01-4aa17e0ba0fc",
        "rule_id": "CC-ERR-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "GET /api/fulfilment/v1/configuration/geoshape/{polygonName} documents no error responses",
        "impact": "Developers cannot tell which failures to expect or how to handle them, so error paths are discovered in production.",
        "recommendation": "Document the error responses (4xx and 5xx or a default) with their bodies and when each occurs.",
        "confidence": 0.9,
        "operation": "GET /api/fulfilment/v1/configuration/geoshape/{polygonName}",
        "fingerprint": "4aa17e0ba0fc444e4f6614229ea578fe936ebf152047c2759e0750a9d84d835e",
        "cause": "no error response documented",
        "evidence": [
          {
            "kind": "absence",
            "expected": "an error response (4xx, 5xx or default)",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1geoshape~1{polygonName}/get"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1geoshape~1{polygonName}/get"
              },
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1geoshape~1{polygonName}/get/responses/200"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1geoshape~1{polygonName}/get/responses/200"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-ERR-01-53987ac913e1",
        "rule_id": "CC-ERR-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "POST /api/fulfilment/v1/configuration/warehouses/{warehouseId}/deactivation documents no error responses",
        "impact": "Developers cannot tell which failures to expect or how to handle them, so error paths are discovered in production.",
        "recommendation": "Document the error responses (4xx and 5xx or a default) with their bodies and when each occurs.",
        "confidence": 0.9,
        "operation": "POST /api/fulfilment/v1/configuration/warehouses/{warehouseId}/deactivation",
        "fingerprint": "53987ac913e1504dcb9188201a796e17937d67a05bbda046f31353415be97d03",
        "cause": "no error response documented",
        "evidence": [
          {
            "kind": "absence",
            "expected": "an error response (4xx, 5xx or default)",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1warehouses~1{warehouseId}~1deactivation/post"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1warehouses~1{warehouseId}~1deactivation/post"
              },
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1warehouses~1{warehouseId}~1deactivation/post/responses/200"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1warehouses~1{warehouseId}~1deactivation/post/responses/200"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-ERR-01-5a52d17aee75",
        "rule_id": "CC-ERR-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "POST /api/fulfilment/v1/shipping-policies documents no error responses",
        "impact": "Developers cannot tell which failures to expect or how to handle them, so error paths are discovered in production.",
        "recommendation": "Document the error responses (4xx and 5xx or a default) with their bodies and when each occurs.",
        "confidence": 0.9,
        "operation": "POST /api/fulfilment/v1/shipping-policies",
        "fingerprint": "5a52d17aee75cd53cb712afd589255bb7447bcff734c1c8ba4a58655ffee5112",
        "cause": "no error response documented",
        "evidence": [
          {
            "kind": "absence",
            "expected": "an error response (4xx, 5xx or default)",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1shipping-policies/post"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1shipping-policies/post"
              },
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1shipping-policies/post/responses/200"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1shipping-policies/post/responses/200"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-ERR-01-5b1bc27a5633",
        "rule_id": "CC-ERR-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "GET /api/fulfilment/v1/inventory/items/{itemId}/warehouses/{warehouseId}/dispatched documents no error responses",
        "impact": "Developers cannot tell which failures to expect or how to handle them, so error paths are discovered in production.",
        "recommendation": "Document the error responses (4xx and 5xx or a default) with their bodies and when each occurs.",
        "confidence": 0.9,
        "operation": "GET /api/fulfilment/v1/inventory/items/{itemId}/warehouses/{warehouseId}/dispatched",
        "fingerprint": "5b1bc27a5633db5877eb8877d625debd15e1736d524b2cdd1efad569b8a24d65",
        "cause": "no error response documented",
        "evidence": [
          {
            "kind": "absence",
            "expected": "an error response (4xx, 5xx or default)",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1inventory~1items~1{itemId}~1warehouses~1{warehouseId}~1dispatched/get"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1inventory~1items~1{itemId}~1warehouses~1{warehouseId}~1dispatched/get"
              },
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1inventory~1items~1{itemId}~1warehouses~1{warehouseId}~1dispatched/get/responses/200"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1inventory~1items~1{itemId}~1warehouses~1{warehouseId}~1dispatched/get/responses/200"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-ERR-01-5bec5219343f",
        "rule_id": "CC-ERR-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "GET /api/fulfilment/v1/configuration/freights/{carrierId}/{postalCode}/values documents no error responses",
        "impact": "Developers cannot tell which failures to expect or how to handle them, so error paths are discovered in production.",
        "recommendation": "Document the error responses (4xx and 5xx or a default) with their bodies and when each occurs.",
        "confidence": 0.9,
        "operation": "GET /api/fulfilment/v1/configuration/freights/{carrierId}/{postalCode}/values",
        "fingerprint": "5bec5219343f00044afe282d325e3d12c9a649dabd6309732f1556255a5750ac",
        "cause": "no error response documented",
        "evidence": [
          {
            "kind": "absence",
            "expected": "an error response (4xx, 5xx or default)",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1freights~1{carrierId}~1{postalCode}~1values/get"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1freights~1{carrierId}~1{postalCode}~1values/get"
              },
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1freights~1{carrierId}~1{postalCode}~1values/get/responses/200"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1freights~1{carrierId}~1{postalCode}~1values/get/responses/200"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-ERR-01-5f010ff633fc",
        "rule_id": "CC-ERR-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "GET /api/fulfilment/v1/shipping-policies documents no error responses",
        "impact": "Developers cannot tell which failures to expect or how to handle them, so error paths are discovered in production.",
        "recommendation": "Document the error responses (4xx and 5xx or a default) with their bodies and when each occurs.",
        "confidence": 0.9,
        "operation": "GET /api/fulfilment/v1/shipping-policies",
        "fingerprint": "5f010ff633fc2006fb5220e6fbd7e2e597e1bc68e1650198b0d5e6d21cbdb8a4",
        "cause": "no error response documented",
        "evidence": [
          {
            "kind": "absence",
            "expected": "an error response (4xx, 5xx or default)",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1shipping-policies/get"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1shipping-policies/get"
              },
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1shipping-policies/get/responses/200"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1shipping-policies/get/responses/200"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-ERR-01-63717576d756",
        "rule_id": "CC-ERR-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "GET /api/fulfilment/v1/inventory/items/{skuId}/docks/{dockId}/warehouses/{warehouseId} documents no error responses",
        "impact": "Developers cannot tell which failures to expect or how to handle them, so error paths are discovered in production.",
        "recommendation": "Document the error responses (4xx and 5xx or a default) with their bodies and when each occurs.",
        "confidence": 0.9,
        "operation": "GET /api/fulfilment/v1/inventory/items/{skuId}/docks/{dockId}/warehouses/{warehouseId}",
        "fingerprint": "63717576d756c4965834a1e01847507ff18cd80b5005f983131be6542fdfb7f3",
        "cause": "no error response documented",
        "evidence": [
          {
            "kind": "absence",
            "expected": "an error response (4xx, 5xx or default)",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1inventory~1items~1{skuId}~1docks~1{dockId}~1warehouses~1{warehouseId}/get"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1inventory~1items~1{skuId}~1docks~1{dockId}~1warehouses~1{warehouseId}/get"
              },
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1inventory~1items~1{skuId}~1docks~1{dockId}~1warehouses~1{warehouseId}/get/responses/200"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1inventory~1items~1{skuId}~1docks~1{dockId}~1warehouses~1{warehouseId}/get/responses/200"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-ERR-01-88857508cce2",
        "rule_id": "CC-ERR-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "GET /api/fulfilment/v1/configuration/carriers/{carrierId}/getdayofweekblocked documents no error responses",
        "impact": "Developers cannot tell which failures to expect or how to handle them, so error paths are discovered in production.",
        "recommendation": "Document the error responses (4xx and 5xx or a default) with their bodies and when each occurs.",
        "confidence": 0.9,
        "operation": "GET /api/fulfilment/v1/configuration/carriers/{carrierId}/getdayofweekblocked",
        "fingerprint": "88857508cce282f5809a021979dc8686dc0faae1bb2d32f987e76556383c8bb2",
        "cause": "no error response documented",
        "evidence": [
          {
            "kind": "absence",
            "expected": "an error response (4xx, 5xx or default)",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1carriers~1{carrierId}~1getdayofweekblocked/get"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1carriers~1{carrierId}~1getdayofweekblocked/get"
              },
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1carriers~1{carrierId}~1getdayofweekblocked/get/responses/200"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1carriers~1{carrierId}~1getdayofweekblocked/get/responses/200"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-ERR-01-893d393681fc",
        "rule_id": "CC-ERR-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "POST /api/fulfilment/v1/configuration/carriers/{carrierId}/adddayofweekblocked documents no error responses",
        "impact": "Developers cannot tell which failures to expect or how to handle them, so error paths are discovered in production.",
        "recommendation": "Document the error responses (4xx and 5xx or a default) with their bodies and when each occurs.",
        "confidence": 0.9,
        "operation": "POST /api/fulfilment/v1/configuration/carriers/{carrierId}/adddayofweekblocked",
        "fingerprint": "893d393681fce3198924e693f0bef23d68d2835fcb433657ed120a265e710ffd",
        "cause": "no error response documented",
        "evidence": [
          {
            "kind": "absence",
            "expected": "an error response (4xx, 5xx or default)",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1carriers~1{carrierId}~1adddayofweekblocked/post"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1carriers~1{carrierId}~1adddayofweekblocked/post"
              },
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1carriers~1{carrierId}~1adddayofweekblocked/post/responses/200"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1carriers~1{carrierId}~1adddayofweekblocked/post/responses/200"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-ERR-01-8a4e6410e886",
        "rule_id": "CC-ERR-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "GET /api/fulfilment/v1/inventory/reservations/{warehouseId}/{skuId} documents no error responses",
        "impact": "Developers cannot tell which failures to expect or how to handle them, so error paths are discovered in production.",
        "recommendation": "Document the error responses (4xx and 5xx or a default) with their bodies and when each occurs.",
        "confidence": 0.9,
        "operation": "GET /api/fulfilment/v1/inventory/reservations/{warehouseId}/{skuId}",
        "fingerprint": "8a4e6410e886e6b5747b3c47756451386fad6774e6dffac8707b83d4782edc7f",
        "cause": "no error response documented",
        "evidence": [
          {
            "kind": "absence",
            "expected": "an error response (4xx, 5xx or default)",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1inventory~1reservations~1{warehouseId}~1{skuId}/get"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1inventory~1reservations~1{warehouseId}~1{skuId}/get"
              },
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1inventory~1reservations~1{warehouseId}~1{skuId}/get/responses/200"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1inventory~1reservations~1{warehouseId}~1{skuId}/get/responses/200"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-ERR-01-8f928c13b05a",
        "rule_id": "CC-ERR-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "DELETE /api/fulfilment/v1/shipping-policies/{id} documents no error responses",
        "impact": "Developers cannot tell which failures to expect or how to handle them, so error paths are discovered in production.",
        "recommendation": "Document the error responses (4xx and 5xx or a default) with their bodies and when each occurs.",
        "confidence": 0.9,
        "operation": "DELETE /api/fulfilment/v1/shipping-policies/{id}",
        "fingerprint": "8f928c13b05ad01205be6cb20da0a7dc076730b1652f01e050f1a0d626a88a64",
        "cause": "no error response documented",
        "evidence": [
          {
            "kind": "absence",
            "expected": "an error response (4xx, 5xx or default)",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1shipping-policies~1{id}/delete"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1shipping-policies~1{id}/delete"
              },
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1shipping-policies~1{id}/delete/responses/200"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1shipping-policies~1{id}/delete/responses/200"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-ERR-01-8f9ad145fb43",
        "rule_id": "CC-ERR-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "POST /api/fulfilment/v1/configuration/carriers/{carrierId}/removedayofweekblocked documents no error responses",
        "impact": "Developers cannot tell which failures to expect or how to handle them, so error paths are discovered in production.",
        "recommendation": "Document the error responses (4xx and 5xx or a default) with their bodies and when each occurs.",
        "confidence": 0.9,
        "operation": "POST /api/fulfilment/v1/configuration/carriers/{carrierId}/removedayofweekblocked",
        "fingerprint": "8f9ad145fb4388834001554efc9b9619e7c00ef2dec4644551e37244caea96a7",
        "cause": "no error response documented",
        "evidence": [
          {
            "kind": "absence",
            "expected": "an error response (4xx, 5xx or default)",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1carriers~1{carrierId}~1removedayofweekblocked/post"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1carriers~1{carrierId}~1removedayofweekblocked/post"
              },
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1carriers~1{carrierId}~1removedayofweekblocked/post/responses/200"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1carriers~1{carrierId}~1removedayofweekblocked/post/responses/200"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-ERR-01-8fb0e67e3738",
        "rule_id": "CC-ERR-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "POST /api/fulfilment/v1/configuration/docks documents no error responses",
        "impact": "Developers cannot tell which failures to expect or how to handle them, so error paths are discovered in production.",
        "recommendation": "Document the error responses (4xx and 5xx or a default) with their bodies and when each occurs.",
        "confidence": 0.9,
        "operation": "POST /api/fulfilment/v1/configuration/docks",
        "fingerprint": "8fb0e67e37380bb092bc9f8e970deb3591a4a50c6eb668674ba54cf9253a03a4",
        "cause": "no error response documented",
        "evidence": [
          {
            "kind": "absence",
            "expected": "an error response (4xx, 5xx or default)",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1docks/post"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1docks/post"
              },
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1docks/post/responses/200"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1docks/post/responses/200"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-ERR-01-95af5d1a259a",
        "rule_id": "CC-ERR-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "POST /api/fulfilment/v1/configuration/warehouses documents no error responses",
        "impact": "Developers cannot tell which failures to expect or how to handle them, so error paths are discovered in production.",
        "recommendation": "Document the error responses (4xx and 5xx or a default) with their bodies and when each occurs.",
        "confidence": 0.9,
        "operation": "POST /api/fulfilment/v1/configuration/warehouses",
        "fingerprint": "95af5d1a259a50fae5f1970e31843195cf173460515db175d80c127238bce4cf",
        "cause": "no error response documented",
        "evidence": [
          {
            "kind": "absence",
            "expected": "an error response (4xx, 5xx or default)",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1warehouses/post"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1warehouses/post"
              },
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1warehouses/post/responses/200"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1warehouses/post/responses/200"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-ERR-01-a116d36feab3",
        "rule_id": "CC-ERR-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "GET /api/fulfilment/v1/inventory/items/{skuId}/warehouses/{warehouseId} documents no error responses",
        "impact": "Developers cannot tell which failures to expect or how to handle them, so error paths are discovered in production.",
        "recommendation": "Document the error responses (4xx and 5xx or a default) with their bodies and when each occurs.",
        "confidence": 0.9,
        "operation": "GET /api/fulfilment/v1/inventory/items/{skuId}/warehouses/{warehouseId}",
        "fingerprint": "a116d36feab344a69a164444013e2dc6adecc1b87a703764f8732c0933280cad",
        "cause": "no error response documented",
        "evidence": [
          {
            "kind": "absence",
            "expected": "an error response (4xx, 5xx or default)",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1inventory~1items~1{skuId}~1warehouses~1{warehouseId}/get"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1inventory~1items~1{skuId}~1warehouses~1{warehouseId}/get"
              },
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1inventory~1items~1{skuId}~1warehouses~1{warehouseId}/get/responses/200"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1inventory~1items~1{skuId}~1warehouses~1{warehouseId}/get/responses/200"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-ERR-01-b0321c70a091",
        "rule_id": "CC-ERR-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "GET /api/fulfilment/v1/configuration/holidays documents no error responses",
        "impact": "Developers cannot tell which failures to expect or how to handle them, so error paths are discovered in production.",
        "recommendation": "Document the error responses (4xx and 5xx or a default) with their bodies and when each occurs.",
        "confidence": 0.9,
        "operation": "GET /api/fulfilment/v1/configuration/holidays",
        "fingerprint": "b0321c70a0914c10f9122634fdab7de5e652db3d8e9a5fdf3a8265447bd968ba",
        "cause": "no error response documented",
        "evidence": [
          {
            "kind": "absence",
            "expected": "an error response (4xx, 5xx or default)",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1holidays/get"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1holidays/get"
              },
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1holidays/get/responses/200"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1holidays/get/responses/200"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-ERR-01-b53ed68360fe",
        "rule_id": "CC-ERR-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "DELETE /api/fulfilment/v1/configuration/holidays/{holidayId} documents no error responses",
        "impact": "Developers cannot tell which failures to expect or how to handle them, so error paths are discovered in production.",
        "recommendation": "Document the error responses (4xx and 5xx or a default) with their bodies and when each occurs.",
        "confidence": 0.9,
        "operation": "DELETE /api/fulfilment/v1/configuration/holidays/{holidayId}",
        "fingerprint": "b53ed68360feb18ee2f77ca64b94eeb2e9623824967a4e18cc6519e37530a9ad",
        "cause": "no error response documented",
        "evidence": [
          {
            "kind": "absence",
            "expected": "an error response (4xx, 5xx or default)",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1holidays~1{holidayId}/delete"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1holidays~1{holidayId}/delete"
              },
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1holidays~1{holidayId}/delete/responses/200"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1holidays~1{holidayId}/delete/responses/200"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-ERR-01-bbb0a1cb85d4",
        "rule_id": "CC-ERR-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "POST /api/fulfilment/v1/inventory/reservations documents no error responses",
        "impact": "Developers cannot tell which failures to expect or how to handle them, so error paths are discovered in production.",
        "recommendation": "Document the error responses (4xx and 5xx or a default) with their bodies and when each occurs.",
        "confidence": 0.9,
        "operation": "POST /api/fulfilment/v1/inventory/reservations",
        "fingerprint": "bbb0a1cb85d4507a774e4c35a099b1bef982f612e679ab5b8186ec78b766fb6c",
        "cause": "no error response documented",
        "evidence": [
          {
            "kind": "absence",
            "expected": "an error response (4xx, 5xx or default)",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1inventory~1reservations/post"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1inventory~1reservations/post"
              },
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1inventory~1reservations/post/responses/200"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1inventory~1reservations/post/responses/200"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-ERR-01-bc6c61ed35a5",
        "rule_id": "CC-ERR-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "POST /api/fulfilment/v1/inventory/reservations/{reservationId}/cancel documents no error responses",
        "impact": "Developers cannot tell which failures to expect or how to handle them, so error paths are discovered in production.",
        "recommendation": "Document the error responses (4xx and 5xx or a default) with their bodies and when each occurs.",
        "confidence": 0.9,
        "operation": "POST /api/fulfilment/v1/inventory/reservations/{reservationId}/cancel",
        "fingerprint": "bc6c61ed35a54293cc6bfb851db32421c11ad2a03e4fda4d21912c3e00e58c5e",
        "cause": "no error response documented",
        "evidence": [
          {
            "kind": "absence",
            "expected": "an error response (4xx, 5xx or default)",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1inventory~1reservations~1{reservationId}~1cancel/post"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1inventory~1reservations~1{reservationId}~1cancel/post"
              },
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1inventory~1reservations~1{reservationId}~1cancel/post/responses/200"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1inventory~1reservations~1{reservationId}~1cancel/post/responses/200"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-ERR-01-c19b3a28e6ba",
        "rule_id": "CC-ERR-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "GET /api/fulfilment/v1/inventory/items/{skuId}/warehouses/{warehouseId}/supplyLots documents no error responses",
        "impact": "Developers cannot tell which failures to expect or how to handle them, so error paths are discovered in production.",
        "recommendation": "Document the error responses (4xx and 5xx or a default) with their bodies and when each occurs.",
        "confidence": 0.9,
        "operation": "GET /api/fulfilment/v1/inventory/items/{skuId}/warehouses/{warehouseId}/supplyLots",
        "fingerprint": "c19b3a28e6bac82addc5eedd2b30c109bc88dae2aee51434706ae39d2b10e34c",
        "cause": "no error response documented",
        "evidence": [
          {
            "kind": "absence",
            "expected": "an error response (4xx, 5xx or default)",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1inventory~1items~1{skuId}~1warehouses~1{warehouseId}~1supplyLots/get"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1inventory~1items~1{skuId}~1warehouses~1{warehouseId}~1supplyLots/get"
              },
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1inventory~1items~1{skuId}~1warehouses~1{warehouseId}~1supplyLots/get/responses/200"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1inventory~1items~1{skuId}~1warehouses~1{warehouseId}~1supplyLots/get/responses/200"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-ERR-01-c45c362328c7",
        "rule_id": "CC-ERR-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "POST /api/fulfilment/v1/configuration/docks/{dockId}/deactivation documents no error responses",
        "impact": "Developers cannot tell which failures to expect or how to handle them, so error paths are discovered in production.",
        "recommendation": "Document the error responses (4xx and 5xx or a default) with their bodies and when each occurs.",
        "confidence": 0.9,
        "operation": "POST /api/fulfilment/v1/configuration/docks/{dockId}/deactivation",
        "fingerprint": "c45c362328c7805e468792ed5fb438376fd0369c5ee781f202750063e13a4af9",
        "cause": "no error response documented",
        "evidence": [
          {
            "kind": "absence",
            "expected": "an error response (4xx, 5xx or default)",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1docks~1{dockId}~1deactivation/post"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1docks~1{dockId}~1deactivation/post"
              },
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1docks~1{dockId}~1deactivation/post/responses/200"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1docks~1{dockId}~1deactivation/post/responses/200"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-ERR-01-cb6fb45af112",
        "rule_id": "CC-ERR-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "DELETE /api/fulfilment/v1/configuration/pickuppoints/{pickupPointId} documents no error responses",
        "impact": "Developers cannot tell which failures to expect or how to handle them, so error paths are discovered in production.",
        "recommendation": "Document the error responses (4xx and 5xx or a default) with their bodies and when each occurs.",
        "confidence": 0.9,
        "operation": "DELETE /api/fulfilment/v1/configuration/pickuppoints/{pickupPointId}",
        "fingerprint": "cb6fb45af11246d1b865bde4e63c6945089183de7b76baf577d1cc07440cf078",
        "cause": "no error response documented",
        "evidence": [
          {
            "kind": "absence",
            "expected": "an error response (4xx, 5xx or default)",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1pickuppoints~1{pickupPointId}/delete"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1pickuppoints~1{pickupPointId}/delete"
              },
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1pickuppoints~1{pickupPointId}/delete/responses/200"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1pickuppoints~1{pickupPointId}/delete/responses/200"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-ERR-01-d6071277cecd",
        "rule_id": "CC-ERR-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "GET /api/fulfilment/v1/shipping-policies/{id} documents no error responses",
        "impact": "Developers cannot tell which failures to expect or how to handle them, so error paths are discovered in production.",
        "recommendation": "Document the error responses (4xx and 5xx or a default) with their bodies and when each occurs.",
        "confidence": 0.9,
        "operation": "GET /api/fulfilment/v1/shipping-policies/{id}",
        "fingerprint": "d6071277cecdbba8b07602d846e0e0ff9dfd48709c37247fe837ddb5b23e9f8f",
        "cause": "no error response documented",
        "evidence": [
          {
            "kind": "absence",
            "expected": "an error response (4xx, 5xx or default)",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1shipping-policies~1{id}/get"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1shipping-policies~1{id}/get"
              },
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1shipping-policies~1{id}/get/responses/200"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1shipping-policies~1{id}/get/responses/200"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-ERR-01-d92cb104d559",
        "rule_id": "CC-ERR-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "POST /api/fulfilment/v1/inventory/reservations/{reservationId}/acknowledge documents no error responses",
        "impact": "Developers cannot tell which failures to expect or how to handle them, so error paths are discovered in production.",
        "recommendation": "Document the error responses (4xx and 5xx or a default) with their bodies and when each occurs.",
        "confidence": 0.9,
        "operation": "POST /api/fulfilment/v1/inventory/reservations/{reservationId}/acknowledge",
        "fingerprint": "d92cb104d5597234aa89c044b12710cfe6a4d84741249a9a4c973ee7cea34fe7",
        "cause": "no error response documented",
        "evidence": [
          {
            "kind": "absence",
            "expected": "an error response (4xx, 5xx or default)",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1inventory~1reservations~1{reservationId}~1acknowledge/post"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1inventory~1reservations~1{reservationId}~1acknowledge/post"
              },
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1inventory~1reservations~1{reservationId}~1acknowledge/post/responses/200"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1inventory~1reservations~1{reservationId}~1acknowledge/post/responses/200"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-ERR-01-d9c19252e179",
        "rule_id": "CC-ERR-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "GET /api/fulfilment-capacity/resources/carrier@{capacityType}@{shippingPolicyId}/time-frames/{windowDay}F{windowStartTime}T{windowEndTime} documents no error responses",
        "impact": "Developers cannot tell which failures to expect or how to handle them, so error paths are discovered in production.",
        "recommendation": "Document the error responses (4xx and 5xx or a default) with their bodies and when each occurs.",
        "confidence": 0.9,
        "operation": "GET /api/fulfilment-capacity/resources/carrier@{capacityType}@{shippingPolicyId}/time-frames/{windowDay}F{windowStartTime}T{windowEndTime}",
        "fingerprint": "d9c19252e17962b1fb85a51cde729380492dedeea226388363f405c8c3f3e1c9",
        "cause": "no error response documented",
        "evidence": [
          {
            "kind": "absence",
            "expected": "an error response (4xx, 5xx or default)",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment-capacity~1resources~1carrier@{capacityType}@{shippingPolicyId}~1time-frames~1{windowDay}F{windowStartTime}T{windowEndTime}/get"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment-capacity~1resources~1carrier@{capacityType}@{shippingPolicyId}~1time-frames~1{windowDay}F{windowStartTime}T{windowEndTime}/get"
              },
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment-capacity~1resources~1carrier@{capacityType}@{shippingPolicyId}~1time-frames~1{windowDay}F{windowStartTime}T{windowEndTime}/get/responses/200"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment-capacity~1resources~1carrier@{capacityType}@{shippingPolicyId}~1time-frames~1{windowDay}F{windowStartTime}T{windowEndTime}/get/responses/200"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-ERR-01-d9e3ad40391f",
        "rule_id": "CC-ERR-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "PUT /api/fulfilment/v1/inventory/items/{skuId}/warehouses/{warehouseId}/supplyLots/{supplyLotId} documents no error responses",
        "impact": "Developers cannot tell which failures to expect or how to handle them, so error paths are discovered in production.",
        "recommendation": "Document the error responses (4xx and 5xx or a default) with their bodies and when each occurs.",
        "confidence": 0.9,
        "operation": "PUT /api/fulfilment/v1/inventory/items/{skuId}/warehouses/{warehouseId}/supplyLots/{supplyLotId}",
        "fingerprint": "d9e3ad40391f83300a97e7e7381ce7856b2e22a280a8b675a14c80d6c5792d93",
        "cause": "no error response documented",
        "evidence": [
          {
            "kind": "absence",
            "expected": "an error response (4xx, 5xx or default)",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1inventory~1items~1{skuId}~1warehouses~1{warehouseId}~1supplyLots~1{supplyLotId}/put"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1inventory~1items~1{skuId}~1warehouses~1{warehouseId}~1supplyLots~1{supplyLotId}/put"
              },
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1inventory~1items~1{skuId}~1warehouses~1{warehouseId}~1supplyLots~1{supplyLotId}/put/responses/200"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1inventory~1items~1{skuId}~1warehouses~1{warehouseId}~1supplyLots~1{supplyLotId}/put/responses/200"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-ERR-01-da3f41a5ec6f",
        "rule_id": "CC-ERR-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "GET /api/fulfilment/v1/configuration/pickuppoints/{pickupPointId} documents no error responses",
        "impact": "Developers cannot tell which failures to expect or how to handle them, so error paths are discovered in production.",
        "recommendation": "Document the error responses (4xx and 5xx or a default) with their bodies and when each occurs.",
        "confidence": 0.9,
        "operation": "GET /api/fulfilment/v1/configuration/pickuppoints/{pickupPointId}",
        "fingerprint": "da3f41a5ec6f2c330dff744d981e2a1b86215da737e6a04fbe3b2995c02e27a5",
        "cause": "no error response documented",
        "evidence": [
          {
            "kind": "absence",
            "expected": "an error response (4xx, 5xx or default)",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1pickuppoints~1{pickupPointId}/get"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1pickuppoints~1{pickupPointId}/get"
              },
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1pickuppoints~1{pickupPointId}/get/responses/200"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1pickuppoints~1{pickupPointId}/get/responses/200"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-ERR-01-e125ff3491d1",
        "rule_id": "CC-ERR-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "PUT /api/fulfilment/v1/shipping-policies/{id} documents no error responses",
        "impact": "Developers cannot tell which failures to expect or how to handle them, so error paths are discovered in production.",
        "recommendation": "Document the error responses (4xx and 5xx or a default) with their bodies and when each occurs.",
        "confidence": 0.9,
        "operation": "PUT /api/fulfilment/v1/shipping-policies/{id}",
        "fingerprint": "e125ff3491d1aeb6a0ce25d7e8dc08d91a8bb4c11ab55737fc46b31ec39371f3",
        "cause": "no error response documented",
        "evidence": [
          {
            "kind": "absence",
            "expected": "an error response (4xx, 5xx or default)",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1shipping-policies~1{id}/put"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1shipping-policies~1{id}/put"
              },
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1shipping-policies~1{id}/put/responses/200"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1shipping-policies~1{id}/put/responses/200"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-ERR-01-e268298c0149",
        "rule_id": "CC-ERR-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "GET /api/fulfilment/v1/configuration/pickuppoints/_search documents no error responses",
        "impact": "Developers cannot tell which failures to expect or how to handle them, so error paths are discovered in production.",
        "recommendation": "Document the error responses (4xx and 5xx or a default) with their bodies and when each occurs.",
        "confidence": 0.9,
        "operation": "GET /api/fulfilment/v1/configuration/pickuppoints/_search",
        "fingerprint": "e268298c0149eb59b2a2c00533e1ddfb953952f58b1b362bfe8018ff02228fb4",
        "cause": "no error response documented",
        "evidence": [
          {
            "kind": "absence",
            "expected": "an error response (4xx, 5xx or default)",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1pickuppoints~1_search/get"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1pickuppoints~1_search/get"
              },
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1pickuppoints~1_search/get/responses/200"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1pickuppoints~1_search/get/responses/200"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-ERR-01-ec9137cb0c71",
        "rule_id": "CC-ERR-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "GET /api/fulfilment/v1/configuration/pickuppoints documents no error responses",
        "impact": "Developers cannot tell which failures to expect or how to handle them, so error paths are discovered in production.",
        "recommendation": "Document the error responses (4xx and 5xx or a default) with their bodies and when each occurs.",
        "confidence": 0.9,
        "operation": "GET /api/fulfilment/v1/configuration/pickuppoints",
        "fingerprint": "ec9137cb0c713b0d7c1b165a581ebeb016ee5b9e20198891914764825d66cd3d",
        "cause": "no error response documented",
        "evidence": [
          {
            "kind": "absence",
            "expected": "an error response (4xx, 5xx or default)",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1pickuppoints/get"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1pickuppoints/get"
              },
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1pickuppoints/get/responses/200"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1pickuppoints/get/responses/200"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-ERR-01-f0c867d875df",
        "rule_id": "CC-ERR-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "PUT /api/fulfilment/v1/configuration/pickuppoints/{pickupPointId} documents no error responses",
        "impact": "Developers cannot tell which failures to expect or how to handle them, so error paths are discovered in production.",
        "recommendation": "Document the error responses (4xx and 5xx or a default) with their bodies and when each occurs.",
        "confidence": 0.9,
        "operation": "PUT /api/fulfilment/v1/configuration/pickuppoints/{pickupPointId}",
        "fingerprint": "f0c867d875df7a7a9a9447f7d9dd5a874ad720b1c2e263d9a3f21012c4bdaf6f",
        "cause": "no error response documented",
        "evidence": [
          {
            "kind": "absence",
            "expected": "an error response (4xx, 5xx or default)",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1pickuppoints~1{pickupPointId}/put"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1pickuppoints~1{pickupPointId}/put"
              },
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1pickuppoints~1{pickupPointId}/put/responses/200"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1pickuppoints~1{pickupPointId}/put/responses/200"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-ERR-01-f70a4c54bc23",
        "rule_id": "CC-ERR-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "GET /api/fulfilment/v1/configuration/holidays/{holidayId} documents no error responses",
        "impact": "Developers cannot tell which failures to expect or how to handle them, so error paths are discovered in production.",
        "recommendation": "Document the error responses (4xx and 5xx or a default) with their bodies and when each occurs.",
        "confidence": 0.9,
        "operation": "GET /api/fulfilment/v1/configuration/holidays/{holidayId}",
        "fingerprint": "f70a4c54bc23a3ae0e5f31108ed657173f82dd9975870bb80e7bacdc09316cae",
        "cause": "no error response documented",
        "evidence": [
          {
            "kind": "absence",
            "expected": "an error response (4xx, 5xx or default)",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1holidays~1{holidayId}/get"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1holidays~1{holidayId}/get"
              },
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1holidays~1{holidayId}/get/responses/200"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1holidays~1{holidayId}/get/responses/200"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-ERR-01-fbaf8282a94f",
        "rule_id": "CC-ERR-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "GET /api/fulfilment/v1/configuration/docks/{dockId} documents no error responses",
        "impact": "Developers cannot tell which failures to expect or how to handle them, so error paths are discovered in production.",
        "recommendation": "Document the error responses (4xx and 5xx or a default) with their bodies and when each occurs.",
        "confidence": 0.9,
        "operation": "GET /api/fulfilment/v1/configuration/docks/{dockId}",
        "fingerprint": "fbaf8282a94f10ebdcc1624b2120d22f9fcf8aa8b0520defff3acbd7defda34a",
        "cause": "no error response documented",
        "evidence": [
          {
            "kind": "absence",
            "expected": "an error response (4xx, 5xx or default)",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1docks~1{dockId}/get"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1docks~1{dockId}/get"
              },
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1docks~1{dockId}/get/responses/200"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1docks~1{dockId}/get/responses/200"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-ERR-01-fbd17d8d762a",
        "rule_id": "CC-ERR-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "DELETE /api/fulfilment/v1/configuration/docks/{dockId} documents no error responses",
        "impact": "Developers cannot tell which failures to expect or how to handle them, so error paths are discovered in production.",
        "recommendation": "Document the error responses (4xx and 5xx or a default) with their bodies and when each occurs.",
        "confidence": 0.9,
        "operation": "DELETE /api/fulfilment/v1/configuration/docks/{dockId}",
        "fingerprint": "fbd17d8d762af2990fc5a5a207a95b3a9c39a420f6d37e4cbfa078c48e8f8f89",
        "cause": "no error response documented",
        "evidence": [
          {
            "kind": "absence",
            "expected": "an error response (4xx, 5xx or default)",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1docks~1{dockId}/delete"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1docks~1{dockId}/delete"
              },
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1docks~1{dockId}/delete/responses/200"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1docks~1{dockId}/delete/responses/200"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-ERR-01-fce73999683d",
        "rule_id": "CC-ERR-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "GET /api/fulfilment-capacity/resources/carrier@{capacityType}@{shippingPolicyId}/time-frames documents no error responses",
        "impact": "Developers cannot tell which failures to expect or how to handle them, so error paths are discovered in production.",
        "recommendation": "Document the error responses (4xx and 5xx or a default) with their bodies and when each occurs.",
        "confidence": 0.9,
        "operation": "GET /api/fulfilment-capacity/resources/carrier@{capacityType}@{shippingPolicyId}/time-frames",
        "fingerprint": "fce73999683d53296a1e9f330a849c2569f3d0d62c116c039fb3f8620b7d1a4b",
        "cause": "no error response documented",
        "evidence": [
          {
            "kind": "absence",
            "expected": "an error response (4xx, 5xx or default)",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment-capacity~1resources~1carrier@{capacityType}@{shippingPolicyId}~1time-frames/get"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment-capacity~1resources~1carrier@{capacityType}@{shippingPolicyId}~1time-frames/get"
              },
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment-capacity~1resources~1carrier@{capacityType}@{shippingPolicyId}~1time-frames/get/responses/200"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment-capacity~1resources~1carrier@{capacityType}@{shippingPolicyId}~1time-frames/get/responses/200"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-PARAM-01-039fe5e246dc",
        "rule_id": "CC-PARAM-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "Required path parameter `warehouseId` has no description",
        "impact": "Developers must guess the meaning, format and valid values of a parameter they are required to send.",
        "recommendation": "Describe what the parameter means, its format and valid values.",
        "confidence": 1.0,
        "operation": "GET /api/fulfilment/v1/configuration/warehouses/{warehouseId}",
        "fingerprint": "039fe5e246dc5e54313c2997c203206117dae58c655408c4c7a8ceefcfcf237d",
        "cause": "required parameter without description",
        "evidence": [
          {
            "kind": "absence",
            "expected": "description",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1warehouses~1{warehouseId}/get/parameters/2"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1warehouses~1{warehouseId}/get/parameters/2"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-PARAM-01-13371dfff356",
        "rule_id": "CC-PARAM-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "Required path parameter `pickupPointId` has no description",
        "impact": "Developers must guess the meaning, format and valid values of a parameter they are required to send.",
        "recommendation": "Describe what the parameter means, its format and valid values.",
        "confidence": 1.0,
        "operation": "DELETE /api/fulfilment/v1/configuration/pickuppoints/{pickupPointId}",
        "fingerprint": "13371dfff35649822f95d2ffd0640710b8647f065df67d9b516da0aa47a2afc7",
        "cause": "required parameter without description",
        "evidence": [
          {
            "kind": "absence",
            "expected": "description",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1pickuppoints~1{pickupPointId}/delete/parameters/2"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1pickuppoints~1{pickupPointId}/delete/parameters/2"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-PARAM-01-16375bd73cc8",
        "rule_id": "CC-PARAM-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "Required path parameter `holidayId` has no description",
        "impact": "Developers must guess the meaning, format and valid values of a parameter they are required to send.",
        "recommendation": "Describe what the parameter means, its format and valid values.",
        "confidence": 1.0,
        "operation": "DELETE /api/fulfilment/v1/configuration/holidays/{holidayId}",
        "fingerprint": "16375bd73cc814d9a62587e16039f0f09efc85b573bc9f4f5864080543651229",
        "cause": "required parameter without description",
        "evidence": [
          {
            "kind": "absence",
            "expected": "description",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1holidays~1{holidayId}/delete/parameters/2"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1holidays~1{holidayId}/delete/parameters/2"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-PARAM-01-2216249ec45a",
        "rule_id": "CC-PARAM-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "Required path parameter `pickupPointId` has no description",
        "impact": "Developers must guess the meaning, format and valid values of a parameter they are required to send.",
        "recommendation": "Describe what the parameter means, its format and valid values.",
        "confidence": 1.0,
        "operation": "GET /api/fulfilment/v1/configuration/pickuppoints/{pickupPointId}",
        "fingerprint": "2216249ec45abc7e54a6278c55cea22f0afe4cbb487a1845abbaee16748fa697",
        "cause": "required parameter without description",
        "evidence": [
          {
            "kind": "absence",
            "expected": "description",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1pickuppoints~1{pickupPointId}/get/parameters/2"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1pickuppoints~1{pickupPointId}/get/parameters/2"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-PARAM-01-2324c6a04f49",
        "rule_id": "CC-PARAM-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "Required request property `cubicWeightSettings.minimunAcceptableVolumetricWeight` has no description",
        "impact": "Developers must guess the meaning, format and valid values of a field they are required to send.",
        "recommendation": "Describe what the property means, its format and valid values.",
        "confidence": 1.0,
        "operation": "POST /api/fulfilment/v1/shipping-policies",
        "fingerprint": "2324c6a04f49efeefcb64c9037d73c014142638f94456054420d2142f902c61b",
        "cause": "required request property without description",
        "evidence": [
          {
            "kind": "absence",
            "expected": "description",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1shipping-policies/post/requestBody/content/application~1json/schema/properties/cubicWeightSettings/properties/minimunAcceptableVolumetricWeight"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1shipping-policies/post/requestBody/content/application~1json/schema/properties/cubicWeightSettings/properties/minimunAcceptableVolumetricWeight"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-PARAM-01-24af8b0d2d46",
        "rule_id": "CC-PARAM-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "Required query parameter `pageSize` has no description",
        "impact": "Developers must guess the meaning, format and valid values of a parameter they are required to send.",
        "recommendation": "Describe what the parameter means, its format and valid values.",
        "confidence": 1.0,
        "operation": "GET /api/fulfilment/v1/configuration/pickuppoints/_search",
        "fingerprint": "24af8b0d2d46156d660286227e7e532cd4dd2de580e3e5f053098e489312ad3b",
        "cause": "required parameter without description",
        "evidence": [
          {
            "kind": "absence",
            "expected": "description",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1pickuppoints~1_search/get/parameters/1"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1pickuppoints~1_search/get/parameters/1"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-PARAM-01-2cb72dce8474",
        "rule_id": "CC-PARAM-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "Required path parameter `dockId` has no description",
        "impact": "Developers must guess the meaning, format and valid values of a parameter they are required to send.",
        "recommendation": "Describe what the parameter means, its format and valid values.",
        "confidence": 1.0,
        "operation": "GET /api/fulfilment/v1/inventory/items/{skuId}/docks/{dockId}/warehouses/{warehouseId}",
        "fingerprint": "2cb72dce8474238c166aad3c989a693bb289313ff99a4e55a808825e5469348a",
        "cause": "required parameter without description",
        "evidence": [
          {
            "kind": "absence",
            "expected": "description",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1inventory~1items~1{skuId}~1docks~1{dockId}~1warehouses~1{warehouseId}/get/parameters/3"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1inventory~1items~1{skuId}~1docks~1{dockId}~1warehouses~1{warehouseId}/get/parameters/3"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-PARAM-01-31c25f57b223",
        "rule_id": "CC-PARAM-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "Required path parameter `dockId` has no description",
        "impact": "Developers must guess the meaning, format and valid values of a parameter they are required to send.",
        "recommendation": "Describe what the parameter means, its format and valid values.",
        "confidence": 1.0,
        "operation": "GET /api/fulfilment/v1/inventory/items/{skuId}/docks/{dockId}",
        "fingerprint": "31c25f57b22363da6112c0f47a96ac4f27357cbbf84154f676a95d2e514508b1",
        "cause": "required parameter without description",
        "evidence": [
          {
            "kind": "absence",
            "expected": "description",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1inventory~1items~1{skuId}~1docks~1{dockId}/get/parameters/3"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1inventory~1items~1{skuId}~1docks~1{dockId}/get/parameters/3"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-PARAM-01-36117b7ea44f",
        "rule_id": "CC-PARAM-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "Required path parameter `skuId` has no description",
        "impact": "Developers must guess the meaning, format and valid values of a parameter they are required to send.",
        "recommendation": "Describe what the parameter means, its format and valid values.",
        "confidence": 1.0,
        "operation": "GET /api/fulfilment/v1/inventory/items/{skuId}/docks/{dockId}",
        "fingerprint": "36117b7ea44f65592707730e142b1ea3545f8b0ee9584154d777bd9895da93b0",
        "cause": "required parameter without description",
        "evidence": [
          {
            "kind": "absence",
            "expected": "description",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1inventory~1items~1{skuId}~1docks~1{dockId}/get/parameters/2"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1inventory~1items~1{skuId}~1docks~1{dockId}/get/parameters/2"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-PARAM-01-3b87824eecf8",
        "rule_id": "CC-PARAM-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "Required path parameter `skuId` has no description",
        "impact": "Developers must guess the meaning, format and valid values of a parameter they are required to send.",
        "recommendation": "Describe what the parameter means, its format and valid values.",
        "confidence": 1.0,
        "operation": "GET /api/fulfilment/v1/inventory/items/{skuId}/warehouses/{warehouseId}",
        "fingerprint": "3b87824eecf836dbe1809c3ce576609bba9e7a8b97d6965db9f16cede90b5c5c",
        "cause": "required parameter without description",
        "evidence": [
          {
            "kind": "absence",
            "expected": "description",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1inventory~1items~1{skuId}~1warehouses~1{warehouseId}/get/parameters/2"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1inventory~1items~1{skuId}~1warehouses~1{warehouseId}/get/parameters/2"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-PARAM-01-3fa1bda06357",
        "rule_id": "CC-PARAM-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "Required path parameter `warehouseId` has no description",
        "impact": "Developers must guess the meaning, format and valid values of a parameter they are required to send.",
        "recommendation": "Describe what the parameter means, its format and valid values.",
        "confidence": 1.0,
        "operation": "POST /api/fulfilment/v1/configuration/warehouses/{warehouseId}/activation",
        "fingerprint": "3fa1bda063574793c3fa1a889a82d00810b97842ccac4d8f732f0fbbf6983b90",
        "cause": "required parameter without description",
        "evidence": [
          {
            "kind": "absence",
            "expected": "description",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1warehouses~1{warehouseId}~1activation/post/parameters/2"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1warehouses~1{warehouseId}~1activation/post/parameters/2"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-PARAM-01-411484bd3d0b",
        "rule_id": "CC-PARAM-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "Required path parameter `warehouseId` has no description",
        "impact": "Developers must guess the meaning, format and valid values of a parameter they are required to send.",
        "recommendation": "Describe what the parameter means, its format and valid values.",
        "confidence": 1.0,
        "operation": "DELETE /api/fulfilment/v1/configuration/warehouses/{warehouseId}",
        "fingerprint": "411484bd3d0bf3f2e712bad137a2273a431f5687ba22bdbb7908650a3771b51c",
        "cause": "required parameter without description",
        "evidence": [
          {
            "kind": "absence",
            "expected": "description",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1warehouses~1{warehouseId}/delete/parameters/2"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1warehouses~1{warehouseId}/delete/parameters/2"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-PARAM-01-425c72c9eb34",
        "rule_id": "CC-PARAM-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "Required path parameter `dockId` has no description",
        "impact": "Developers must guess the meaning, format and valid values of a parameter they are required to send.",
        "recommendation": "Describe what the parameter means, its format and valid values.",
        "confidence": 1.0,
        "operation": "POST /api/fulfilment/v1/configuration/docks/{dockId}/deactivation",
        "fingerprint": "425c72c9eb340fd9fb032223480714fd86dec09702520ee1f56fcffb2816cd0b",
        "cause": "required parameter without description",
        "evidence": [
          {
            "kind": "absence",
            "expected": "description",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1docks~1{dockId}~1deactivation/post/parameters/2"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1docks~1{dockId}~1deactivation/post/parameters/2"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-PARAM-01-426a811d1fd2",
        "rule_id": "CC-PARAM-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "Required path parameter `warehouseId` has no description",
        "impact": "Developers must guess the meaning, format and valid values of a parameter they are required to send.",
        "recommendation": "Describe what the parameter means, its format and valid values.",
        "confidence": 1.0,
        "operation": "GET /api/fulfilment/v1/inventory/items/{skuId}/warehouses/{warehouseId}",
        "fingerprint": "426a811d1fd2aa5a1d62d876cea5b3b5b471d66d5c16277e8ffe69dd05911dde",
        "cause": "required parameter without description",
        "evidence": [
          {
            "kind": "absence",
            "expected": "description",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1inventory~1items~1{skuId}~1warehouses~1{warehouseId}/get/parameters/3"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1inventory~1items~1{skuId}~1warehouses~1{warehouseId}/get/parameters/3"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-PARAM-01-427ea496e42a",
        "rule_id": "CC-PARAM-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "Required path parameter `warehouseId` has no description",
        "impact": "Developers must guess the meaning, format and valid values of a parameter they are required to send.",
        "recommendation": "Describe what the parameter means, its format and valid values.",
        "confidence": 1.0,
        "operation": "PUT /api/fulfilment/v1/inventory/skus/{skuId}/warehouses/{warehouseId}",
        "fingerprint": "427ea496e42a68e749b3e4e7391a4b1c87999cb8920e62ba963e0ce30d19ebca",
        "cause": "required parameter without description",
        "evidence": [
          {
            "kind": "absence",
            "expected": "description",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1inventory~1skus~1{skuId}~1warehouses~1{warehouseId}/put/parameters/3"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1inventory~1skus~1{skuId}~1warehouses~1{warehouseId}/put/parameters/3"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-PARAM-01-4e2ee7615c29",
        "rule_id": "CC-PARAM-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "Required path parameter `carrierId` has no description",
        "impact": "Developers must guess the meaning, format and valid values of a parameter they are required to send.",
        "recommendation": "Describe what the parameter means, its format and valid values.",
        "confidence": 1.0,
        "operation": "POST /api/fulfilment/v1/configuration/carriers/{carrierId}/adddayofweekblocked",
        "fingerprint": "4e2ee7615c2928866a68a4fadf4f4e06edf1ba79a5f5a051f4b138a7ae42ff7d",
        "cause": "required parameter without description",
        "evidence": [
          {
            "kind": "absence",
            "expected": "description",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1carriers~1{carrierId}~1adddayofweekblocked/post/parameters/2"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1carriers~1{carrierId}~1adddayofweekblocked/post/parameters/2"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-PARAM-01-4fe60abe89f4",
        "rule_id": "CC-PARAM-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "Required path parameter `reservationId` has no description",
        "impact": "Developers must guess the meaning, format and valid values of a parameter they are required to send.",
        "recommendation": "Describe what the parameter means, its format and valid values.",
        "confidence": 1.0,
        "operation": "POST /api/fulfilment/v1/inventory/reservations/{reservationId}/cancel",
        "fingerprint": "4fe60abe89f40764686919b80556b4a3db73bc67e60a9cf58036dfb11e26a3da",
        "cause": "required parameter without description",
        "evidence": [
          {
            "kind": "absence",
            "expected": "description",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1inventory~1reservations~1{reservationId}~1cancel/post/parameters/2"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1inventory~1reservations~1{reservationId}~1cancel/post/parameters/2"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-PARAM-01-550789988db9",
        "rule_id": "CC-PARAM-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "Required path parameter `warehouseId` has no description",
        "impact": "Developers must guess the meaning, format and valid values of a parameter they are required to send.",
        "recommendation": "Describe what the parameter means, its format and valid values.",
        "confidence": 1.0,
        "operation": "POST /api/fulfilment/v1/configuration/warehouses/{warehouseId}/deactivation",
        "fingerprint": "550789988db956eec4d4dcb613a9f79996404288e674f17c1f8f772552a06f80",
        "cause": "required parameter without description",
        "evidence": [
          {
            "kind": "absence",
            "expected": "description",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1warehouses~1{warehouseId}~1deactivation/post/parameters/2"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1warehouses~1{warehouseId}~1deactivation/post/parameters/2"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-PARAM-01-5c91353f0a71",
        "rule_id": "CC-PARAM-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "Required path parameter `skuId` has no description",
        "impact": "Developers must guess the meaning, format and valid values of a parameter they are required to send.",
        "recommendation": "Describe what the parameter means, its format and valid values.",
        "confidence": 1.0,
        "operation": "PUT /api/fulfilment/v1/inventory/skus/{skuId}/warehouses/{warehouseId}",
        "fingerprint": "5c91353f0a71afa3e819ac6694a86d63b4fcef8eaec780cfaefb0a7573bf1fba",
        "cause": "required parameter without description",
        "evidence": [
          {
            "kind": "absence",
            "expected": "description",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1inventory~1skus~1{skuId}~1warehouses~1{warehouseId}/put/parameters/2"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1inventory~1skus~1{skuId}~1warehouses~1{warehouseId}/put/parameters/2"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-PARAM-01-5e91f93bb422",
        "rule_id": "CC-PARAM-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "Required path parameter `reservationId` has no description",
        "impact": "Developers must guess the meaning, format and valid values of a parameter they are required to send.",
        "recommendation": "Describe what the parameter means, its format and valid values.",
        "confidence": 1.0,
        "operation": "POST /api/fulfilment/v1/inventory/reservations/{reservationId}/acknowledge",
        "fingerprint": "5e91f93bb42289842160df5be591304c4c37d2171add9d1f4f02e37061a3c61d",
        "cause": "required parameter without description",
        "evidence": [
          {
            "kind": "absence",
            "expected": "description",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1inventory~1reservations~1{reservationId}~1acknowledge/post/parameters/2"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1inventory~1reservations~1{reservationId}~1acknowledge/post/parameters/2"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-PARAM-01-69b68afb8202",
        "rule_id": "CC-PARAM-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "Required path parameter `itemId` has no description",
        "impact": "Developers must guess the meaning, format and valid values of a parameter they are required to send.",
        "recommendation": "Describe what the parameter means, its format and valid values.",
        "confidence": 1.0,
        "operation": "GET /api/fulfilment/v1/inventory/items/{itemId}/warehouses/{warehouseId}/dispatched",
        "fingerprint": "69b68afb82022914feebd50c8a29c15cb0346086e386aa3fcc4d22e478c41143",
        "cause": "required parameter without description",
        "evidence": [
          {
            "kind": "absence",
            "expected": "description",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1inventory~1items~1{itemId}~1warehouses~1{warehouseId}~1dispatched/get/parameters/2"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1inventory~1items~1{itemId}~1warehouses~1{warehouseId}~1dispatched/get/parameters/2"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-PARAM-01-69de451d1f6f",
        "rule_id": "CC-PARAM-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "Required path parameter `skuId` has no description",
        "impact": "Developers must guess the meaning, format and valid values of a parameter they are required to send.",
        "recommendation": "Describe what the parameter means, its format and valid values.",
        "confidence": 1.0,
        "operation": "GET /api/fulfilment/v1/inventory/skus/{skuId}",
        "fingerprint": "69de451d1f6fcd90bfdd6aa624354f81652074f14b351c53032f087329ac4a7a",
        "cause": "required parameter without description",
        "evidence": [
          {
            "kind": "absence",
            "expected": "description",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1inventory~1skus~1{skuId}/get/parameters/2"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1inventory~1skus~1{skuId}/get/parameters/2"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-PARAM-01-6d0a7aad4710",
        "rule_id": "CC-PARAM-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "Required path parameter `reservationId` has no description",
        "impact": "Developers must guess the meaning, format and valid values of a parameter they are required to send.",
        "recommendation": "Describe what the parameter means, its format and valid values.",
        "confidence": 1.0,
        "operation": "GET /api/fulfilment/v1/inventory/reservations/{reservationId}",
        "fingerprint": "6d0a7aad4710753a588c802056bf8a48e0466ebc0a77494a98e04774253ad227",
        "cause": "required parameter without description",
        "evidence": [
          {
            "kind": "absence",
            "expected": "description",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1inventory~1reservations~1{reservationId}/get/parameters/2"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1inventory~1reservations~1{reservationId}/get/parameters/2"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-PARAM-01-78dba06f6fcd",
        "rule_id": "CC-PARAM-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "Required path parameter `warehouseId` has no description",
        "impact": "Developers must guess the meaning, format and valid values of a parameter they are required to send.",
        "recommendation": "Describe what the parameter means, its format and valid values.",
        "confidence": 1.0,
        "operation": "GET /api/fulfilment/v1/inventory/items/{skuId}/docks/{dockId}/warehouses/{warehouseId}",
        "fingerprint": "78dba06f6fcdb1f80fb47598fceb4dc54d83e4b0570c17d3b6a98f23e224126e",
        "cause": "required parameter without description",
        "evidence": [
          {
            "kind": "absence",
            "expected": "description",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1inventory~1items~1{skuId}~1docks~1{dockId}~1warehouses~1{warehouseId}/get/parameters/4"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1inventory~1items~1{skuId}~1docks~1{dockId}~1warehouses~1{warehouseId}/get/parameters/4"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-PARAM-01-8173235e2ae3",
        "rule_id": "CC-PARAM-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "Required path parameter `polygonName` has no description",
        "impact": "Developers must guess the meaning, format and valid values of a parameter they are required to send.",
        "recommendation": "Describe what the parameter means, its format and valid values.",
        "confidence": 1.0,
        "operation": "GET /api/fulfilment/v1/configuration/geoshape/{polygonName}",
        "fingerprint": "8173235e2ae3f18d1032c3d63058d0e835985638777af374e5820dd7060ea787",
        "cause": "required parameter without description",
        "evidence": [
          {
            "kind": "absence",
            "expected": "description",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1geoshape~1{polygonName}/get/parameters/2"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1geoshape~1{polygonName}/get/parameters/2"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-PARAM-01-8a1fa70ee24b",
        "rule_id": "CC-PARAM-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "Required path parameter `holidayId` has no description",
        "impact": "Developers must guess the meaning, format and valid values of a parameter they are required to send.",
        "recommendation": "Describe what the parameter means, its format and valid values.",
        "confidence": 1.0,
        "operation": "GET /api/fulfilment/v1/configuration/holidays/{holidayId}",
        "fingerprint": "8a1fa70ee24b4477fb0178edd3ee0aa634ff327dfaba3385e78d03bd798b1b8f",
        "cause": "required parameter without description",
        "evidence": [
          {
            "kind": "absence",
            "expected": "description",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1holidays~1{holidayId}/get/parameters/2"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1holidays~1{holidayId}/get/parameters/2"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-PARAM-01-a471b422e160",
        "rule_id": "CC-PARAM-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "Required path parameter `reservationId` has no description",
        "impact": "Developers must guess the meaning, format and valid values of a parameter they are required to send.",
        "recommendation": "Describe what the parameter means, its format and valid values.",
        "confidence": 1.0,
        "operation": "POST /api/fulfilment/v1/inventory/reservations/{reservationId}/confirm",
        "fingerprint": "a471b422e1603e7fcd94bf5232f69cfe4460847cfd7831645ee818503c97d948",
        "cause": "required parameter without description",
        "evidence": [
          {
            "kind": "absence",
            "expected": "description",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1inventory~1reservations~1{reservationId}~1confirm/post/parameters/2"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1inventory~1reservations~1{reservationId}~1confirm/post/parameters/2"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-PARAM-01-ac5f58ea550e",
        "rule_id": "CC-PARAM-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "Required query parameter `keyword` has no description",
        "impact": "Developers must guess the meaning, format and valid values of a parameter they are required to send.",
        "recommendation": "Describe what the parameter means, its format and valid values.",
        "confidence": 1.0,
        "operation": "GET /api/fulfilment/v1/configuration/pickuppoints/_search",
        "fingerprint": "ac5f58ea550e09cedfded5e4cf64f93ea972aeabd6040b7b33b94987cf89419f",
        "cause": "required parameter without description",
        "evidence": [
          {
            "kind": "absence",
            "expected": "description",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1pickuppoints~1_search/get/parameters/2"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1pickuppoints~1_search/get/parameters/2"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-PARAM-01-b47992d281af",
        "rule_id": "CC-PARAM-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "Required path parameter `carrierId` has no description",
        "impact": "Developers must guess the meaning, format and valid values of a parameter they are required to send.",
        "recommendation": "Describe what the parameter means, its format and valid values.",
        "confidence": 1.0,
        "operation": "GET /api/fulfilment/v1/configuration/carriers/{carrierId}/getdayofweekblocked",
        "fingerprint": "b47992d281af850662934cdacdbe93a0db114e9bcaa3bc952aaf9e31bf386ecb",
        "cause": "required parameter without description",
        "evidence": [
          {
            "kind": "absence",
            "expected": "description",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1carriers~1{carrierId}~1getdayofweekblocked/get/parameters/2"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1carriers~1{carrierId}~1getdayofweekblocked/get/parameters/2"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-PARAM-01-b53da0df132d",
        "rule_id": "CC-PARAM-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "Required query parameter `page` has no description",
        "impact": "Developers must guess the meaning, format and valid values of a parameter they are required to send.",
        "recommendation": "Describe what the parameter means, its format and valid values.",
        "confidence": 1.0,
        "operation": "GET /api/fulfilment/v1/configuration/pickuppoints/_search",
        "fingerprint": "b53da0df132d044760a73637c64d05bd84d041021b297bc696227a5eef906205",
        "cause": "required parameter without description",
        "evidence": [
          {
            "kind": "absence",
            "expected": "description",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1pickuppoints~1_search/get/parameters/0"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1pickuppoints~1_search/get/parameters/0"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-PARAM-01-b717371444de",
        "rule_id": "CC-PARAM-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "Required path parameter `dockId` has no description",
        "impact": "Developers must guess the meaning, format and valid values of a parameter they are required to send.",
        "recommendation": "Describe what the parameter means, its format and valid values.",
        "confidence": 1.0,
        "operation": "GET /api/fulfilment/v1/configuration/docks/{dockId}",
        "fingerprint": "b717371444de064299dd8305256933e770db962cfda97636748ec2232e117e39",
        "cause": "required parameter without description",
        "evidence": [
          {
            "kind": "absence",
            "expected": "description",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1docks~1{dockId}/get/parameters/2"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1docks~1{dockId}/get/parameters/2"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-PARAM-01-bfd8ff47506b",
        "rule_id": "CC-PARAM-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "Required query parameter `page` has no description",
        "impact": "Developers must guess the meaning, format and valid values of a parameter they are required to send.",
        "recommendation": "Describe what the parameter means, its format and valid values.",
        "confidence": 1.0,
        "operation": "GET /api/fulfilment/v1/configuration/geoshape",
        "fingerprint": "bfd8ff47506b08480cfde99ca5aeecdeebde07b89a06b641f46b1c5625e247a3",
        "cause": "required parameter without description",
        "evidence": [
          {
            "kind": "absence",
            "expected": "description",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1geoshape/get/parameters/0"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1geoshape/get/parameters/0"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-PARAM-01-c559cd70febf",
        "rule_id": "CC-PARAM-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "Required path parameter `holidayId` has no description",
        "impact": "Developers must guess the meaning, format and valid values of a parameter they are required to send.",
        "recommendation": "Describe what the parameter means, its format and valid values.",
        "confidence": 1.0,
        "operation": "PUT /api/fulfilment/v1/configuration/holidays/{holidayId}",
        "fingerprint": "c559cd70febf306b812033bbdddcf458a52aa64349324165393ebfdc630bce47",
        "cause": "required parameter without description",
        "evidence": [
          {
            "kind": "absence",
            "expected": "description",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1holidays~1{holidayId}/put/parameters/2"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1holidays~1{holidayId}/put/parameters/2"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-PARAM-01-c73e13f5323d",
        "rule_id": "CC-PARAM-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "Required path parameter `carrierId` has no description",
        "impact": "Developers must guess the meaning, format and valid values of a parameter they are required to send.",
        "recommendation": "Describe what the parameter means, its format and valid values.",
        "confidence": 1.0,
        "operation": "POST /api/fulfilment/v1/configuration/freights/{carrierId}/values/update",
        "fingerprint": "c73e13f5323d6045a76bf0d5d0d32d89b3a6df27bffff4dfb92fae68d048f46e",
        "cause": "required parameter without description",
        "evidence": [
          {
            "kind": "absence",
            "expected": "description",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1freights~1{carrierId}~1values~1update/post/parameters/2"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1freights~1{carrierId}~1values~1update/post/parameters/2"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-PARAM-01-c85ca3048a64",
        "rule_id": "CC-PARAM-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "Required path parameter `skuId` has no description",
        "impact": "Developers must guess the meaning, format and valid values of a parameter they are required to send.",
        "recommendation": "Describe what the parameter means, its format and valid values.",
        "confidence": 1.0,
        "operation": "GET /api/fulfilment/v1/inventory/reservations/{warehouseId}/{skuId}",
        "fingerprint": "c85ca3048a6475f537b7573403377c526bcc7afc1a65e866d6e42fc296faffcc",
        "cause": "required parameter without description",
        "evidence": [
          {
            "kind": "absence",
            "expected": "description",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1inventory~1reservations~1{warehouseId}~1{skuId}/get/parameters/3"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1inventory~1reservations~1{warehouseId}~1{skuId}/get/parameters/3"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-PARAM-01-ce184a2beed2",
        "rule_id": "CC-PARAM-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "Required path parameter `warehouseId` has no description",
        "impact": "Developers must guess the meaning, format and valid values of a parameter they are required to send.",
        "recommendation": "Describe what the parameter means, its format and valid values.",
        "confidence": 1.0,
        "operation": "GET /api/fulfilment/v1/inventory/reservations/{warehouseId}/{skuId}",
        "fingerprint": "ce184a2beed2be633c21f1c94337e9bcd15b7858c54026a4c7a4615e01d49df1",
        "cause": "required parameter without description",
        "evidence": [
          {
            "kind": "absence",
            "expected": "description",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1inventory~1reservations~1{warehouseId}~1{skuId}/get/parameters/2"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1inventory~1reservations~1{warehouseId}~1{skuId}/get/parameters/2"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-PARAM-01-ce18c374b6a8",
        "rule_id": "CC-PARAM-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "Required path parameter `polygonName` has no description",
        "impact": "Developers must guess the meaning, format and valid values of a parameter they are required to send.",
        "recommendation": "Describe what the parameter means, its format and valid values.",
        "confidence": 1.0,
        "operation": "DELETE /api/fulfilment/v1/configuration/geoshape/{polygonName}",
        "fingerprint": "ce18c374b6a8c9da5a18c75e35784787b015f0c38df65f8fc73c57ed6c9e59a5",
        "cause": "required parameter without description",
        "evidence": [
          {
            "kind": "absence",
            "expected": "description",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1geoshape~1{polygonName}/delete/parameters/2"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1geoshape~1{polygonName}/delete/parameters/2"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-PARAM-01-dfa10d8816b6",
        "rule_id": "CC-PARAM-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "Required path parameter `warehouseId` has no description",
        "impact": "Developers must guess the meaning, format and valid values of a parameter they are required to send.",
        "recommendation": "Describe what the parameter means, its format and valid values.",
        "confidence": 1.0,
        "operation": "GET /api/fulfilment/v1/inventory/items/{itemId}/warehouses/{warehouseId}/dispatched",
        "fingerprint": "dfa10d8816b6d567d85c2af79c3fda9ee0ec0f34dee7fc08edaecbe387ca9116",
        "cause": "required parameter without description",
        "evidence": [
          {
            "kind": "absence",
            "expected": "description",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1inventory~1items~1{itemId}~1warehouses~1{warehouseId}~1dispatched/get/parameters/3"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1inventory~1items~1{itemId}~1warehouses~1{warehouseId}~1dispatched/get/parameters/3"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-PARAM-01-e2051b5414f5",
        "rule_id": "CC-PARAM-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "Required path parameter `dockId` has no description",
        "impact": "Developers must guess the meaning, format and valid values of a parameter they are required to send.",
        "recommendation": "Describe what the parameter means, its format and valid values.",
        "confidence": 1.0,
        "operation": "POST /api/fulfilment/v1/configuration/docks/{dockId}/activation",
        "fingerprint": "e2051b5414f591e438206e6c90e9cb62e550a1ac4064ff2bfc500fb579162cf7",
        "cause": "required parameter without description",
        "evidence": [
          {
            "kind": "absence",
            "expected": "description",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1docks~1{dockId}~1activation/post/parameters/2"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1docks~1{dockId}~1activation/post/parameters/2"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-PARAM-01-ed39215974cc",
        "rule_id": "CC-PARAM-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "Required query parameter `perPage` has no description",
        "impact": "Developers must guess the meaning, format and valid values of a parameter they are required to send.",
        "recommendation": "Describe what the parameter means, its format and valid values.",
        "confidence": 1.0,
        "operation": "GET /api/fulfilment/v1/configuration/geoshape",
        "fingerprint": "ed39215974cc90a6378e094af41bf2499f79dac29c082a78a6cd9d06ecf7fa7f",
        "cause": "required parameter without description",
        "evidence": [
          {
            "kind": "absence",
            "expected": "description",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1geoshape/get/parameters/1"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1geoshape/get/parameters/1"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-PARAM-01-ed823e534b8c",
        "rule_id": "CC-PARAM-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "Required path parameter `skuId` has no description",
        "impact": "Developers must guess the meaning, format and valid values of a parameter they are required to send.",
        "recommendation": "Describe what the parameter means, its format and valid values.",
        "confidence": 1.0,
        "operation": "GET /api/fulfilment/v1/inventory/items/{skuId}/docks/{dockId}/warehouses/{warehouseId}",
        "fingerprint": "ed823e534b8c623e3240016eea4a9d0ed4295a02c80d96f7af2c09da346526b1",
        "cause": "required parameter without description",
        "evidence": [
          {
            "kind": "absence",
            "expected": "description",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1inventory~1items~1{skuId}~1docks~1{dockId}~1warehouses~1{warehouseId}/get/parameters/2"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1inventory~1items~1{skuId}~1docks~1{dockId}~1warehouses~1{warehouseId}/get/parameters/2"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-PARAM-01-ee5c7bad355f",
        "rule_id": "CC-PARAM-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "Required path parameter `dockId` has no description",
        "impact": "Developers must guess the meaning, format and valid values of a parameter they are required to send.",
        "recommendation": "Describe what the parameter means, its format and valid values.",
        "confidence": 1.0,
        "operation": "DELETE /api/fulfilment/v1/configuration/docks/{dockId}",
        "fingerprint": "ee5c7bad355fdfe3e30eb3e8032141ba5db536fdcacae98f0d6494ba71323c71",
        "cause": "required parameter without description",
        "evidence": [
          {
            "kind": "absence",
            "expected": "description",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1docks~1{dockId}/delete/parameters/2"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1docks~1{dockId}/delete/parameters/2"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-PARAM-01-fda03ede32b0",
        "rule_id": "CC-PARAM-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "Required path parameter `carrierId` has no description",
        "impact": "Developers must guess the meaning, format and valid values of a parameter they are required to send.",
        "recommendation": "Describe what the parameter means, its format and valid values.",
        "confidence": 1.0,
        "operation": "POST /api/fulfilment/v1/configuration/carriers/{carrierId}/removedayofweekblocked",
        "fingerprint": "fda03ede32b0262dff8e878a92b0c3f5a91e0d3d7aec8de8a9ff1099ee1f645a",
        "cause": "required parameter without description",
        "evidence": [
          {
            "kind": "absence",
            "expected": "description",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1carriers~1{carrierId}~1removedayofweekblocked/post/parameters/2"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1carriers~1{carrierId}~1removedayofweekblocked/post/parameters/2"
              }
            ]
          }
        ]
      },
      {
        "id": "PAG-01-3097cc4277a2",
        "rule_id": "PAG-01",
        "rule_version": "1",
        "family": "pagination",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "GET /api/fulfilment/v1/configuration/warehouses returns a collection with no documented pagination",
        "impact": "Clients cannot retrieve more than the first batch reliably, or must guess how paging works.",
        "recommendation": "Document a pagination mechanism (cursor or page parameters and the field or header carrying the next position).",
        "confidence": 0.8,
        "operation": "GET /api/fulfilment/v1/configuration/warehouses",
        "fingerprint": "3097cc4277a2a667282aceb75cb04e43e4e4f6d716b7f1924c47ea149a2f1425",
        "cause": "no pagination",
        "evidence": [
          {
            "kind": "absence",
            "expected": "pagination parameters, next-page field or Link header",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1warehouses/get"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1warehouses/get"
              },
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1warehouses/get/responses/200"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1warehouses/get/responses/200"
              }
            ]
          }
        ]
      },
      {
        "id": "PAG-01-3920be6d6071",
        "rule_id": "PAG-01",
        "rule_version": "1",
        "family": "pagination",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "GET /api/fulfilment/v1/configuration/docks returns a collection with no documented pagination",
        "impact": "Clients cannot retrieve more than the first batch reliably, or must guess how paging works.",
        "recommendation": "Document a pagination mechanism (cursor or page parameters and the field or header carrying the next position).",
        "confidence": 0.8,
        "operation": "GET /api/fulfilment/v1/configuration/docks",
        "fingerprint": "3920be6d6071728964099dcfb95f550bef7943d5b932626e6d5a3c9e2795f332",
        "cause": "no pagination",
        "evidence": [
          {
            "kind": "absence",
            "expected": "pagination parameters, next-page field or Link header",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1docks/get"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1docks/get"
              },
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1docks/get/responses/200"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1docks/get/responses/200"
              }
            ]
          }
        ]
      },
      {
        "id": "PAG-01-ad90fb6c0ea2",
        "rule_id": "PAG-01",
        "rule_version": "1",
        "family": "pagination",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "GET /api/fulfilment/v1/configuration/freights/{carrierId}/{postalCode}/values returns a collection with no documented pagination",
        "impact": "Clients cannot retrieve more than the first batch reliably, or must guess how paging works.",
        "recommendation": "Document a pagination mechanism (cursor or page parameters and the field or header carrying the next position).",
        "confidence": 0.8,
        "operation": "GET /api/fulfilment/v1/configuration/freights/{carrierId}/{postalCode}/values",
        "fingerprint": "ad90fb6c0ea23c57affa4aadc3bea922d6e97673b1c76914a4367d86dc78684e",
        "cause": "no pagination",
        "evidence": [
          {
            "kind": "absence",
            "expected": "pagination parameters, next-page field or Link header",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1freights~1{carrierId}~1{postalCode}~1values/get"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1freights~1{carrierId}~1{postalCode}~1values/get"
              },
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1freights~1{carrierId}~1{postalCode}~1values/get/responses/200"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1freights~1{carrierId}~1{postalCode}~1values/get/responses/200"
              }
            ]
          }
        ]
      },
      {
        "id": "PAG-01-d381d16a8ea5",
        "rule_id": "PAG-01",
        "rule_version": "1",
        "family": "pagination",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "GET /api/fulfilment/v1/inventory/items/{itemId}/warehouses/{warehouseId}/dispatched returns a collection with no documented pagination",
        "impact": "Clients cannot retrieve more than the first batch reliably, or must guess how paging works.",
        "recommendation": "Document a pagination mechanism (cursor or page parameters and the field or header carrying the next position).",
        "confidence": 0.8,
        "operation": "GET /api/fulfilment/v1/inventory/items/{itemId}/warehouses/{warehouseId}/dispatched",
        "fingerprint": "d381d16a8ea53a9877ed4cb25c5188b219eb7d153cb462ab5cda5753e2c5befb",
        "cause": "no pagination",
        "evidence": [
          {
            "kind": "absence",
            "expected": "pagination parameters, next-page field or Link header",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1inventory~1items~1{itemId}~1warehouses~1{warehouseId}~1dispatched/get"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1inventory~1items~1{itemId}~1warehouses~1{warehouseId}~1dispatched/get"
              },
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1inventory~1items~1{itemId}~1warehouses~1{warehouseId}~1dispatched/get/responses/200"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1inventory~1items~1{itemId}~1warehouses~1{warehouseId}~1dispatched/get/responses/200"
              }
            ]
          }
        ]
      },
      {
        "id": "PAG-01-dd2ef861be37",
        "rule_id": "PAG-01",
        "rule_version": "1",
        "family": "pagination",
        "severity": "medium",
        "state": "not_in_spec",
        "title": "GET /api/fulfilment/v1/configuration/pickuppoints returns a collection with no documented pagination",
        "impact": "Clients cannot retrieve more than the first batch reliably, or must guess how paging works.",
        "recommendation": "Document a pagination mechanism (cursor or page parameters and the field or header carrying the next position).",
        "confidence": 0.8,
        "operation": "GET /api/fulfilment/v1/configuration/pickuppoints",
        "fingerprint": "dd2ef861be378d209addda5210c468bf18550a69df0c97e7e3485a9103955158",
        "cause": "no pagination",
        "evidence": [
          {
            "kind": "absence",
            "expected": "pagination parameters, next-page field or Link header",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1pickuppoints/get"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1pickuppoints/get"
              },
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1pickuppoints/get/responses/200"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1pickuppoints/get/responses/200"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-DESC-02-066f22907222",
        "rule_id": "CC-DESC-02",
        "rule_version": "1",
        "family": "contract",
        "severity": "low",
        "state": "ambiguous",
        "title": "The description of parameter `postalCode` is weak (too short)",
        "impact": "A description that says nothing beyond the name gives a developer no more than the name already did.",
        "recommendation": "Say what it does, what it returns or accepts, and anything the name does not show.",
        "confidence": 0.7,
        "operation": "GET /api/fulfilment/v1/configuration/freights/{carrierId}/{postalCode}/values",
        "fingerprint": "066f22907222d2b6c4f2d64058a02524d935755fbb240ac3c8dc3ca95622d462",
        "cause": "weak description: too short",
        "evidence": [
          {
            "kind": "quote",
            "at": {
              "locator": {
                "kind": "openapi_pointer",
                "path": "fulfilment-api.json",
                "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1freights~1{carrierId}~1{postalCode}~1values/get/parameters/3"
              },
              "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1freights~1{carrierId}~1{postalCode}~1values/get/parameters/3"
            },
            "quote": "Postal code."
          }
        ]
      },
      {
        "id": "CC-DESC-02-06abada4c17a",
        "rule_id": "CC-DESC-02",
        "rule_version": "1",
        "family": "contract",
        "severity": "low",
        "state": "ambiguous",
        "title": "The description of POST /api/fulfilment/v1/inventory/reservations/{reservationId}/confirm is weak (restates its name)",
        "impact": "A description that says nothing beyond the name gives a developer no more than the name already did.",
        "recommendation": "Say what it does, what it returns or accepts, and anything the name does not show.",
        "confidence": 0.7,
        "operation": "POST /api/fulfilment/v1/inventory/reservations/{reservationId}/confirm",
        "fingerprint": "06abada4c17a5f25568d045591e0aecd8632f0fec67352670bfe815fe7aaa038",
        "cause": "weak description: restates its name",
        "evidence": [
          {
            "kind": "quote",
            "at": {
              "locator": {
                "kind": "openapi_pointer",
                "path": "fulfilment-api.json",
                "pointer": "#/paths/~1api~1fulfilment~1v1~1inventory~1reservations~1{reservationId}~1confirm/post"
              },
              "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1inventory~1reservations~1{reservationId}~1confirm/post"
            },
            "quote": "Confirms reservation by reservation ID."
          }
        ]
      },
      {
        "id": "CC-DESC-02-143066492c43",
        "rule_id": "CC-DESC-02",
        "rule_version": "1",
        "family": "contract",
        "severity": "low",
        "state": "ambiguous",
        "title": "The description of POST /api/fulfilment/v1/configuration/warehouses/{warehouseId}/activation is weak (restates its name)",
        "impact": "A description that says nothing beyond the name gives a developer no more than the name already did.",
        "recommendation": "Say what it does, what it returns or accepts, and anything the name does not show.",
        "confidence": 0.7,
        "operation": "POST /api/fulfilment/v1/configuration/warehouses/{warehouseId}/activation",
        "fingerprint": "143066492c43ffd70d53fc32c1313e54c128602be9d597378b6c6ea8f854efbb",
        "cause": "weak description: restates its name",
        "evidence": [
          {
            "kind": "quote",
            "at": {
              "locator": {
                "kind": "openapi_pointer",
                "path": "fulfilment-api.json",
                "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1warehouses~1{warehouseId}~1activation/post"
              },
              "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1warehouses~1{warehouseId}~1activation/post"
            },
            "quote": "Activates a given warehouse, by warehouse ID."
          }
        ]
      },
      {
        "id": "CC-DESC-02-4c220183f42b",
        "rule_id": "CC-DESC-02",
        "rule_version": "1",
        "family": "contract",
        "severity": "low",
        "state": "ambiguous",
        "title": "The description of PUT /api/fulfilment/v1/configuration/holidays/{holidayId} is weak (restates its name)",
        "impact": "A description that says nothing beyond the name gives a developer no more than the name already did.",
        "recommendation": "Say what it does, what it returns or accepts, and anything the name does not show.",
        "confidence": 0.7,
        "operation": "PUT /api/fulfilment/v1/configuration/holidays/{holidayId}",
        "fingerprint": "4c220183f42bca01dfa51b3a04afd4e437654ff5e5182e569e06781a8b1a246f",
        "cause": "weak description: restates its name",
        "evidence": [
          {
            "kind": "quote",
            "at": {
              "locator": {
                "kind": "openapi_pointer",
                "path": "fulfilment-api.json",
                "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1holidays~1{holidayId}/put"
              },
              "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1holidays~1{holidayId}/put"
            },
            "quote": "Creates or updates holidays through holiday ID."
          }
        ]
      },
      {
        "id": "CC-DESC-02-4d7893a3d2ae",
        "rule_id": "CC-DESC-02",
        "rule_version": "1",
        "family": "contract",
        "severity": "low",
        "state": "ambiguous",
        "title": "The description of POST /api/fulfilment/v1/configuration/warehouses/{warehouseId}/deactivation is weak (restates its name)",
        "impact": "A description that says nothing beyond the name gives a developer no more than the name already did.",
        "recommendation": "Say what it does, what it returns or accepts, and anything the name does not show.",
        "confidence": 0.7,
        "operation": "POST /api/fulfilment/v1/configuration/warehouses/{warehouseId}/deactivation",
        "fingerprint": "4d7893a3d2ae2e403303234441a5b0e2597274fd1aeba7d221e957c0604ce207",
        "cause": "weak description: restates its name",
        "evidence": [
          {
            "kind": "quote",
            "at": {
              "locator": {
                "kind": "openapi_pointer",
                "path": "fulfilment-api.json",
                "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1warehouses~1{warehouseId}~1deactivation/post"
              },
              "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1warehouses~1{warehouseId}~1deactivation/post"
            },
            "quote": "Deactivates a given warehouse by warehouse ID."
          }
        ]
      },
      {
        "id": "CC-DESC-02-6a18f373b504",
        "rule_id": "CC-DESC-02",
        "rule_version": "1",
        "family": "contract",
        "severity": "low",
        "state": "ambiguous",
        "title": "The description of POST /api/fulfilment/v1/inventory/reservations/{reservationId}/acknowledge is weak (restates its name)",
        "impact": "A description that says nothing beyond the name gives a developer no more than the name already did.",
        "recommendation": "Say what it does, what it returns or accepts, and anything the name does not show.",
        "confidence": 0.7,
        "operation": "POST /api/fulfilment/v1/inventory/reservations/{reservationId}/acknowledge",
        "fingerprint": "6a18f373b5042409f0095746e61847cf0c1d2888a26f819b05763a8f89ddec14",
        "cause": "weak description: restates its name",
        "evidence": [
          {
            "kind": "quote",
            "at": {
              "locator": {
                "kind": "openapi_pointer",
                "path": "fulfilment-api.json",
                "pointer": "#/paths/~1api~1fulfilment~1v1~1inventory~1reservations~1{reservationId}~1acknowledge/post"
              },
              "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1inventory~1reservations~1{reservationId}~1acknowledge/post"
            },
            "quote": "Acknowledges reservations made by reservation ID."
          }
        ]
      },
      {
        "id": "CC-DESC-02-6df3161ba76c",
        "rule_id": "CC-DESC-02",
        "rule_version": "1",
        "family": "contract",
        "severity": "low",
        "state": "ambiguous",
        "title": "The description of POST /api/fulfilment/v1/inventory/reservations/{reservationId}/cancel is weak (restates its name)",
        "impact": "A description that says nothing beyond the name gives a developer no more than the name already did.",
        "recommendation": "Say what it does, what it returns or accepts, and anything the name does not show.",
        "confidence": 0.7,
        "operation": "POST /api/fulfilment/v1/inventory/reservations/{reservationId}/cancel",
        "fingerprint": "6df3161ba76cf4612f3420f520b9ff157d91fbf64f8ace56193db3d6e0b5266e",
        "cause": "weak description: restates its name",
        "evidence": [
          {
            "kind": "quote",
            "at": {
              "locator": {
                "kind": "openapi_pointer",
                "path": "fulfilment-api.json",
                "pointer": "#/paths/~1api~1fulfilment~1v1~1inventory~1reservations~1{reservationId}~1cancel/post"
              },
              "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1inventory~1reservations~1{reservationId}~1cancel/post"
            },
            "quote": "Cancels reservation by reservation ID."
          }
        ]
      },
      {
        "id": "CC-DESC-02-6fd6515a7aed",
        "rule_id": "CC-DESC-02",
        "rule_version": "1",
        "family": "contract",
        "severity": "low",
        "state": "ambiguous",
        "title": "The description of parameter `carrierId` is weak (too short)",
        "impact": "A description that says nothing beyond the name gives a developer no more than the name already did.",
        "recommendation": "Say what it does, what it returns or accepts, and anything the name does not show.",
        "confidence": 0.7,
        "operation": "GET /api/fulfilment/v1/configuration/freights/{carrierId}/{postalCode}/values",
        "fingerprint": "6fd6515a7aedc9a2f18946a9d108ed254cbdd09889b8273203c6b81bb2908356",
        "cause": "weak description: too short",
        "evidence": [
          {
            "kind": "quote",
            "at": {
              "locator": {
                "kind": "openapi_pointer",
                "path": "fulfilment-api.json",
                "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1freights~1{carrierId}~1{postalCode}~1values/get/parameters/2"
              },
              "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1freights~1{carrierId}~1{postalCode}~1values/get/parameters/2"
            },
            "quote": "Carrier ID"
          }
        ]
      },
      {
        "id": "CC-DESC-02-9a649c5e36c2",
        "rule_id": "CC-DESC-02",
        "rule_version": "1",
        "family": "contract",
        "severity": "low",
        "state": "ambiguous",
        "title": "The description of POST /api/fulfilment/v1/configuration/docks/{dockId}/deactivation is weak (restates its name)",
        "impact": "A description that says nothing beyond the name gives a developer no more than the name already did.",
        "recommendation": "Say what it does, what it returns or accepts, and anything the name does not show.",
        "confidence": 0.7,
        "operation": "POST /api/fulfilment/v1/configuration/docks/{dockId}/deactivation",
        "fingerprint": "9a649c5e36c2ab680016b01681fe54e925968723e69a351c5d0d0b0b3e6ccad0",
        "cause": "weak description: restates its name",
        "evidence": [
          {
            "kind": "quote",
            "at": {
              "locator": {
                "kind": "openapi_pointer",
                "path": "fulfilment-api.json",
                "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1docks~1{dockId}~1deactivation/post"
              },
              "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1docks~1{dockId}~1deactivation/post"
            },
            "quote": "Deactivate dock by dock ID"
          }
        ]
      },
      {
        "id": "CC-DESC-02-d04b10a8229c",
        "rule_id": "CC-DESC-02",
        "rule_version": "1",
        "family": "contract",
        "severity": "low",
        "state": "ambiguous",
        "title": "The description of PUT /api/fulfilment/v1/inventory/skus/{skuId}/warehouses/{warehouseId} is weak (restates its name)",
        "impact": "A description that says nothing beyond the name gives a developer no more than the name already did.",
        "recommendation": "Say what it does, what it returns or accepts, and anything the name does not show.",
        "confidence": 0.7,
        "operation": "PUT /api/fulfilment/v1/inventory/skus/{skuId}/warehouses/{warehouseId}",
        "fingerprint": "d04b10a8229c8b548d24dfc5a495328d7b930934a449a4fb024de9e3c0ae50a0",
        "cause": "weak description: restates its name",
        "evidence": [
          {
            "kind": "quote",
            "at": {
              "locator": {
                "kind": "openapi_pointer",
                "path": "fulfilment-api.json",
                "pointer": "#/paths/~1api~1fulfilment~1v1~1inventory~1skus~1{skuId}~1warehouses~1{warehouseId}/put"
              },
              "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1inventory~1skus~1{skuId}~1warehouses~1{warehouseId}/put"
            },
            "quote": "Updates inventory for a given SKU and warehouse."
          }
        ]
      },
      {
        "id": "CC-DESC-02-e83615748966",
        "rule_id": "CC-DESC-02",
        "rule_version": "1",
        "family": "contract",
        "severity": "low",
        "state": "ambiguous",
        "title": "The description of POST /api/fulfilment/v1/configuration/docks/{dockId}/activation is weak (restates its name)",
        "impact": "A description that says nothing beyond the name gives a developer no more than the name already did.",
        "recommendation": "Say what it does, what it returns or accepts, and anything the name does not show.",
        "confidence": 0.7,
        "operation": "POST /api/fulfilment/v1/configuration/docks/{dockId}/activation",
        "fingerprint": "e836157489665e9068081cae331ba29ff931795cab9b2345046d7fab458d3a4d",
        "cause": "weak description: restates its name",
        "evidence": [
          {
            "kind": "quote",
            "at": {
              "locator": {
                "kind": "openapi_pointer",
                "path": "fulfilment-api.json",
                "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1docks~1{dockId}~1activation/post"
              },
              "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1docks~1{dockId}~1activation/post"
            },
            "quote": "Activates dock through dock ID."
          }
        ]
      },
      {
        "id": "CC-RESP-01-110941b701bc",
        "rule_id": "CC-RESP-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "low",
        "state": "not_in_spec",
        "title": "Response has no description",
        "impact": "Developers do not learn what the response means or when it occurs.",
        "recommendation": "Describe when this response is returned and what it contains.",
        "confidence": 1.0,
        "operation": "PUT /api/fulfilment/v1/configuration/pickuppoints/{pickupPointId}",
        "fingerprint": "110941b701bc100514f50ee8118081eb96c203755a3d85c6b91863784f4290d5",
        "cause": "response without description",
        "evidence": [
          {
            "kind": "absence",
            "expected": "description",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1pickuppoints~1{pickupPointId}/put/responses/200"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1pickuppoints~1{pickupPointId}/put/responses/200"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-RESP-01-1486583de5b8",
        "rule_id": "CC-RESP-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "low",
        "state": "not_in_spec",
        "title": "Response has no description",
        "impact": "Developers do not learn what the response means or when it occurs.",
        "recommendation": "Describe when this response is returned and what it contains.",
        "confidence": 1.0,
        "operation": "GET /api/fulfilment/v1/inventory/skus/{skuId}",
        "fingerprint": "1486583de5b8770a1986d76902a792b377026efca1cc9de588de519210636904",
        "cause": "response without description",
        "evidence": [
          {
            "kind": "absence",
            "expected": "description",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1inventory~1skus~1{skuId}/get/responses/200"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1inventory~1skus~1{skuId}/get/responses/200"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-RESP-01-67aaa40d55a6",
        "rule_id": "CC-RESP-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "low",
        "state": "not_in_spec",
        "title": "Response has no description",
        "impact": "Developers do not learn what the response means or when it occurs.",
        "recommendation": "Describe when this response is returned and what it contains.",
        "confidence": 1.0,
        "operation": "GET /api/fulfilment/v1/configuration/pickuppoints/{pickupPointId}",
        "fingerprint": "67aaa40d55a6eac5f44194541ebb923274497eb3f37fbe261367691dd6743c1d",
        "cause": "response without description",
        "evidence": [
          {
            "kind": "absence",
            "expected": "description",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1pickuppoints~1{pickupPointId}/get/responses/200"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1pickuppoints~1{pickupPointId}/get/responses/200"
              }
            ]
          }
        ]
      },
      {
        "id": "CC-RESP-01-ed175b5ef366",
        "rule_id": "CC-RESP-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "low",
        "state": "not_in_spec",
        "title": "Response has no description",
        "impact": "Developers do not learn what the response means or when it occurs.",
        "recommendation": "Describe when this response is returned and what it contains.",
        "confidence": 1.0,
        "operation": "POST /api/fulfilment/v1/shipping/calculate",
        "fingerprint": "ed175b5ef36691dd8e6e0a96aaf458988e6b8fb962e7e3b442261803122dc755",
        "cause": "response without description",
        "evidence": [
          {
            "kind": "absence",
            "expected": "description",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1shipping~1calculate/post/responses/200"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1shipping~1calculate/post/responses/200"
              }
            ]
          }
        ]
      },
      {
        "id": "NAME-01-2584f4b51597",
        "rule_id": "NAME-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "low",
        "state": "ambiguous",
        "title": "paths mix kebab-case, snake_case, camelCase with no dominant convention",
        "impact": "Inconsistent naming makes the API harder to learn and guess; developers cannot predict names from the ones they have seen.",
        "recommendation": "Choose one naming convention and apply it everywhere; keep old names only as documented deprecated aliases.",
        "confidence": 0.8,
        "operation": null,
        "fingerprint": "2584f4b51597ce771e1037f64d36dccc592f1d5094908066ed4713f91129361d",
        "cause": "inconsistent casing: kebab-case,snake_case,camelcase",
        "evidence": [
          {
            "kind": "quote",
            "at": {
              "locator": {
                "kind": "openapi_pointer",
                "path": "fulfilment-api.json",
                "pointer": "#/paths/~1api~1fulfilment-capacity~1resources~1carrier@{capacityType}@{shippingPolicyId}~1time-frames/get"
              },
              "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment-capacity~1resources~1carrier@{capacityType}@{shippingPolicyId}~1time-frames/get"
            },
            "quote": "/api/fulfilment-capacity/resources/carrier@{capacityType}@{shippingPolicyId}/time-frames"
          },
          {
            "kind": "quote",
            "at": {
              "locator": {
                "kind": "openapi_pointer",
                "path": "fulfilment-api.json",
                "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1pickuppoints~1_search/get"
              },
              "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1pickuppoints~1_search/get"
            },
            "quote": "/api/fulfilment/v1/configuration/pickuppoints/_search"
          },
          {
            "kind": "quote",
            "at": {
              "locator": {
                "kind": "openapi_pointer",
                "path": "fulfilment-api.json",
                "pointer": "#/paths/~1api~1fulfilment~1v1~1inventory~1items~1{skuId}~1warehouses~1{warehouseId}~1supplyLots/get"
              },
              "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1inventory~1items~1{skuId}~1warehouses~1{warehouseId}~1supplyLots/get"
            },
            "quote": "/api/fulfilment/v1/inventory/items/{skuId}/warehouses/{warehouseId}/supplyLots"
          },
          {
            "kind": "quote",
            "at": {
              "locator": {
                "kind": "openapi_pointer",
                "path": "fulfilment-api.json",
                "pointer": "#/paths/~1api~1fulfilment-capacity~1resources~1carrier@{capacityType}@{shippingPolicyId}~1time-frames~1{windowDay}F{windowStartTime}T{windowEndTime}/get"
              },
              "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment-capacity~1resources~1carrier@{capacityType}@{shippingPolicyId}~1time-frames~1{windowDay}F{windowStartTime}T{windowEndTime}/get"
            },
            "quote": "/api/fulfilment-capacity/resources/carrier@{capacityType}@{shippingPolicyId}/time-frames/{windowDay}F{windowStartTime}T{windowEndTime}"
          },
          {
            "kind": "quote",
            "at": {
              "locator": {
                "kind": "openapi_pointer",
                "path": "fulfilment-api.json",
                "pointer": "#/paths/~1api~1fulfilment~1v1~1inventory~1items~1{skuId}~1warehouses~1{warehouseId}~1supplyLots~1{supplyLotId}/put"
              },
              "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1inventory~1items~1{skuId}~1warehouses~1{warehouseId}~1supplyLots~1{supplyLotId}/put"
            },
            "quote": "/api/fulfilment/v1/inventory/items/{skuId}/warehouses/{warehouseId}/supplyLots/{supplyLotId}"
          },
          {
            "kind": "quote",
            "at": {
              "locator": {
                "kind": "openapi_pointer",
                "path": "fulfilment-api.json",
                "pointer": "#/paths/~1api~1fulfilment~1v1~1inventory~1items~1{skuId}~1warehouses~1{warehouseId}~1supplyLots~1{supplyLotId}~1transfer/post"
              },
              "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1inventory~1items~1{skuId}~1warehouses~1{warehouseId}~1supplyLots~1{supplyLotId}~1transfer/post"
            },
            "quote": "/api/fulfilment/v1/inventory/items/{skuId}/warehouses/{warehouseId}/supplyLots/{supplyLotId}/transfer"
          },
          {
            "kind": "quote",
            "at": {
              "locator": {
                "kind": "openapi_pointer",
                "path": "fulfilment-api.json",
                "pointer": "#/paths/~1api~1fulfilment~1v1~1shipping-policies/get"
              },
              "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1shipping-policies/get"
            },
            "quote": "/api/fulfilment/v1/shipping-policies"
          },
          {
            "kind": "quote",
            "at": {
              "locator": {
                "kind": "openapi_pointer",
                "path": "fulfilment-api.json",
                "pointer": "#/paths/~1api~1fulfilment~1v1~1shipping-policies~1{id}/get"
              },
              "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1shipping-policies~1{id}/get"
            },
            "quote": "/api/fulfilment/v1/shipping-policies/{id}"
          }
        ]
      },
      {
        "id": "NAME-01-fe865ec8543e",
        "rule_id": "NAME-01",
        "rule_version": "1",
        "family": "contract",
        "severity": "low",
        "state": "ambiguous",
        "title": "1 of 40 paths put an action verb in the path while the rest do not",
        "impact": "Action verbs in some resource paths duplicate what the HTTP method already says and break the pattern of the other paths.",
        "recommendation": "Name paths after resources and express the action with the HTTP method.",
        "confidence": 0.7,
        "operation": null,
        "fingerprint": "fe865ec8543e2c432da01ff082a03ea4cab805c5ac087c102bff6acdbf5f6414",
        "cause": "verbs in some paths",
        "evidence": [
          {
            "kind": "quote",
            "at": {
              "locator": {
                "kind": "openapi_pointer",
                "path": "fulfilment-api.json",
                "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1freights~1{carrierId}~1values~1update/post"
              },
              "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1freights~1{carrierId}~1values~1update/post"
            },
            "quote": "/api/fulfilment/v1/configuration/freights/{carrierId}/values/update"
          }
        ]
      },
      {
        "id": "DATA-02-08a0d7169e2b",
        "rule_id": "DATA-02",
        "rule_version": "1",
        "family": "data",
        "severity": "low",
        "state": "not_in_spec",
        "title": "25 date/time-named string properties declare no format or timezone",
        "impact": "Clients cannot tell whether values are ISO 8601, epoch text or local time, so parsing and timezone handling are guesses.",
        "recommendation": "Set `format: date-time` or `date`, or describe the format and timezone (for example ISO 8601 in UTC).",
        "confidence": 0.6,
        "operation": null,
        "fingerprint": "08a0d7169e2bef62d434eb7aaa8bd718b292dc3f1eaf5b2512dc974c0430db13",
        "cause": "unformatted date/time properties",
        "evidence": [
          {
            "kind": "quote",
            "at": {
              "locator": {
                "kind": "openapi_pointer",
                "path": "fulfilment-api.json",
                "pointer": "#/components/schemas/BusinessHour/properties"
              },
              "rendered_locator": "fulfilment-api.json#/components/schemas/BusinessHour/properties"
            },
            "quote": "closingTime"
          },
          {
            "kind": "quote",
            "at": {
              "locator": {
                "kind": "openapi_pointer",
                "path": "fulfilment-api.json",
                "pointer": "#/components/schemas/BusinessHour/properties"
              },
              "rendered_locator": "fulfilment-api.json#/components/schemas/BusinessHour/properties"
            },
            "quote": "openingTime"
          },
          {
            "kind": "quote",
            "at": {
              "locator": {
                "kind": "openapi_pointer",
                "path": "fulfilment-api.json",
                "pointer": "#/components/schemas/CreateUpdateHolidayRequest/properties"
              },
              "rendered_locator": "fulfilment-api.json#/components/schemas/CreateUpdateHolidayRequest/properties"
            },
            "quote": "startDate"
          },
          {
            "kind": "quote",
            "at": {
              "locator": {
                "kind": "openapi_pointer",
                "path": "fulfilment-api.json",
                "pointer": "#/components/schemas/DeliveryItemOption/properties"
              },
              "rendered_locator": "fulfilment-api.json#/components/schemas/DeliveryItemOption/properties"
            },
            "quote": "dockTime"
          },
          {
            "kind": "quote",
            "at": {
              "locator": {
                "kind": "openapi_pointer",
                "path": "fulfilment-api.json",
                "pointer": "#/components/schemas/DeliveryItemOption/properties"
              },
              "rendered_locator": "fulfilment-api.json#/components/schemas/DeliveryItemOption/properties"
            },
            "quote": "timeToDockPlusDockTime"
          },
          {
            "kind": "quote",
            "at": {
              "locator": {
                "kind": "openapi_pointer",
                "path": "fulfilment-api.json",
                "pointer": "#/components/schemas/DeliveryItemOption/properties"
              },
              "rendered_locator": "fulfilment-api.json#/components/schemas/DeliveryItemOption/properties"
            },
            "quote": "totalTime"
          },
          {
            "kind": "quote",
            "at": {
              "locator": {
                "kind": "openapi_pointer",
                "path": "fulfilment-api.json",
                "pointer": "#/components/schemas/DeliveryItemOption/properties"
              },
              "rendered_locator": "fulfilment-api.json#/components/schemas/DeliveryItemOption/properties"
            },
            "quote": "transitTime"
          },
          {
            "kind": "quote",
            "at": {
              "locator": {
                "kind": "openapi_pointer",
                "path": "fulfilment-api.json",
                "pointer": "#/components/schemas/DeliveryRange/properties"
              },
              "rendered_locator": "fulfilment-api.json#/components/schemas/DeliveryRange/properties"
            },
            "quote": "endTime"
          },
          {
            "kind": "quote",
            "at": {
              "locator": {
                "kind": "openapi_pointer",
                "path": "fulfilment-api.json",
                "pointer": "#/components/schemas/DeliveryRange/properties"
              },
              "rendered_locator": "fulfilment-api.json#/components/schemas/DeliveryRange/properties"
            },
            "quote": "startTime"
          },
          {
            "kind": "quote",
            "at": {
              "locator": {
                "kind": "openapi_pointer",
                "path": "fulfilment-api.json",
                "pointer": "#/components/schemas/DeliveryRange1/properties"
              },
              "rendered_locator": "fulfilment-api.json#/components/schemas/DeliveryRange1/properties"
            },
            "quote": "endTime"
          }
        ]
      },
      {
        "id": "CC-EX-01-cc6169f384f9",
        "rule_id": "CC-EX-01",
        "rule_version": "1",
        "family": "examples",
        "severity": "low",
        "state": "not_in_spec",
        "title": "PUT /api/fulfilment/v1/configuration/geoshape has no example request or response",
        "impact": "Developers have to infer payload shape from the schema alone, which slows a first successful call.",
        "recommendation": "Add a realistic example for the request body and the success response.",
        "confidence": 0.9,
        "operation": "PUT /api/fulfilment/v1/configuration/geoshape",
        "fingerprint": "cc6169f384f92130ef491977d3ad3f41142515bbb4948c8ceac82862c0bfc2ef",
        "cause": "no request or response example",
        "evidence": [
          {
            "kind": "absence",
            "expected": "an example request or response body",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1geoshape/put"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1geoshape/put"
              },
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1geoshape/put/responses/200"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1geoshape/put/responses/200"
              }
            ]
          }
        ]
      },
      {
        "id": "RATE-01-652e9d0aafb7",
        "rule_id": "RATE-01",
        "rule_version": "1",
        "family": "limits",
        "severity": "low",
        "state": "not_in_spec",
        "title": "No rate limiting is documented",
        "impact": "Integrators cannot size their clients or plan back-off, and learn the limits from production errors.",
        "recommendation": "Document the limits, a 429 response and the headers that report remaining quota and when to retry.",
        "confidence": 0.7,
        "operation": null,
        "fingerprint": "652e9d0aafb76b66499eb96184d42f382faa6253be0fa286bee9d50e937d0b10",
        "cause": "no rate limit documentation",
        "evidence": [
          {
            "kind": "absence",
            "expected": "a 429 response, rate-limit headers, or a description of rate limits",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#"
                },
                "rendered_locator": "fulfilment-api.json#"
              },
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment-capacity~1resources~1carrier@{capacityType}@{shippingPolicyId}~1time-frames/get"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment-capacity~1resources~1carrier@{capacityType}@{shippingPolicyId}~1time-frames/get"
              },
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment-capacity~1resources~1carrier@{capacityType}@{shippingPolicyId}~1time-frames~1{windowDay}F{windowStartTime}T{windowEndTime}/get"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment-capacity~1resources~1carrier@{capacityType}@{shippingPolicyId}~1time-frames~1{windowDay}F{windowStartTime}T{windowEndTime}/get"
              },
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1carriers~1{carrierId}~1adddayofweekblocked/post"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1carriers~1{carrierId}~1adddayofweekblocked/post"
              },
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1carriers~1{carrierId}~1getdayofweekblocked/get"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1carriers~1{carrierId}~1getdayofweekblocked/get"
              },
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1carriers~1{carrierId}~1removedayofweekblocked/post"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1carriers~1{carrierId}~1removedayofweekblocked/post"
              }
            ]
          }
        ]
      },
      {
        "id": "AUTH-02-8378e896fb51",
        "rule_id": "AUTH-02",
        "rule_version": "1",
        "family": "onboarding",
        "severity": "low",
        "state": "not_in_spec",
        "title": "Security scheme `appToken` has no description",
        "impact": "Developers are not told how to obtain or send credentials for this scheme.",
        "recommendation": "Describe how to obtain credentials and how to send them.",
        "confidence": 1.0,
        "operation": null,
        "fingerprint": "8378e896fb51be85e40da14688c4459f34c959b75613dadcd343cda1e28d6b84",
        "cause": "security scheme without description",
        "evidence": [
          {
            "kind": "absence",
            "expected": "description",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/components/securitySchemes/appToken"
                },
                "rendered_locator": "fulfilment-api.json#/components/securitySchemes/appToken"
              }
            ]
          }
        ]
      },
      {
        "id": "AUTH-02-9fb455134636",
        "rule_id": "AUTH-02",
        "rule_version": "1",
        "family": "onboarding",
        "severity": "low",
        "state": "not_in_spec",
        "title": "Security scheme `appKey` has no description",
        "impact": "Developers are not told how to obtain or send credentials for this scheme.",
        "recommendation": "Describe how to obtain credentials and how to send them.",
        "confidence": 1.0,
        "operation": null,
        "fingerprint": "9fb455134636cdd9211dff34b822165fb2989220ca3e41ad0b1cb717c3015ba8",
        "cause": "security scheme without description",
        "evidence": [
          {
            "kind": "absence",
            "expected": "description",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/components/securitySchemes/appKey"
                },
                "rendered_locator": "fulfilment-api.json#/components/securitySchemes/appKey"
              }
            ]
          }
        ]
      },
      {
        "id": "IDEM-01-bae9f63f9d9c",
        "rule_id": "IDEM-01",
        "rule_version": "1",
        "family": "reliability",
        "severity": "low",
        "state": "not_in_spec",
        "title": "None of the 4 resource-creating POST operations documents an idempotency key",
        "impact": "A retry after a timeout can create the resource twice, so clients cannot retry safely.",
        "recommendation": "Accept an Idempotency-Key header on creating operations and document how long keys are remembered.",
        "confidence": 0.7,
        "operation": null,
        "fingerprint": "bae9f63f9d9c2119d04b7b03ba07dc677332418c5733f336b1f3b1cf2551d047",
        "cause": "no idempotency",
        "evidence": [
          {
            "kind": "absence",
            "expected": "an Idempotency-Key header parameter",
            "inspected": [
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1docks/post"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1docks/post"
              },
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1configuration~1warehouses/post"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1configuration~1warehouses/post"
              },
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1inventory~1reservations/post"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1inventory~1reservations/post"
              },
              {
                "locator": {
                  "kind": "openapi_pointer",
                  "path": "fulfilment-api.json",
                  "pointer": "#/paths/~1api~1fulfilment~1v1~1shipping-policies/post"
                },
                "rendered_locator": "fulfilment-api.json#/paths/~1api~1fulfilment~1v1~1shipping-policies/post"
              }
            ]
          }
        ]
      }
    ],
    "groups": [
      {
        "id": "9cc3d5d45e847e8f8dab7d29fec499f2a60c4928cf2d780c528661a3d19e6cbe",
        "rule_id": "CC-SCHEMA-01",
        "family": "contract",
        "severity": "high",
        "cause": "no schema for application/json",
        "recommendation": "Add a schema to each structured media type, or remove the media type if no body is exchanged.",
        "example_title": "GET /api/fulfilment-capacity/resources/carrier@{capacityType}@{shippingPolicyId}/time-frames/{windowDay}F{windowStartTime}T{windowEndTime}: response declares application/json but no schema",
        "fingerprints": [
          "3793ec2223696e5af920cefc3a0610b4fddf4c553f8897a07bd0dc190528256c",
          "3be1333302eb0a6242c7c89b497495f50bb42511e5ab6231ac6fafa8ea240242"
        ],
        "locations": [
          "GET /api/fulfilment-capacity/resources/carrier@{capacityType}@{shippingPolicyId}/time-frames/{windowDay}F{windowStartTime}T{windowEndTime}",
          "GET /api/fulfilment-capacity/resources/carrier@{capacityType}@{shippingPolicyId}/time-frames"
        ]
      },
      {
        "id": "c5a23cf7da8dabb56928bc0c6ec0300a53ad061e568de1243c457a14dab5b4f3",
        "rule_id": "CC-ERR-01",
        "family": "contract",
        "severity": "medium",
        "cause": "no error response documented",
        "recommendation": "Document the error responses (4xx and 5xx or a default) with their bodies and when each occurs.",
        "example_title": "GET /api/fulfilment/v1/configuration/warehouses/{warehouseId} documents no error responses",
        "fingerprints": [
          "007572904bd49c4e3ff4a59bad7020ea7914af9d4d448225a236ea367a5fc97f",
          "026e9969da35301d57082dbe59d3ccef21ca5cc291dbafb4834a632f9f673e92",
          "05f0b820b2ae2c72658f0dd0e748c4d7ad7af70ddfc04a42e8373262c726beba",
          "0c118ddce9a193ba326bc463d59c1c99bb772bc9b14a0d0a2c17dd6761ce0af8",
          "0c46bb1f4536b06b41454bc276d415813e716e98944a2f686fb73a831bc3fae4",
          "0c4da5d1241c97b79c27285fcaa629bb19186a0045f79ecdfd79ae4403c53178",
          "16b51192faff53fff5864b0d9d551838dd7897ecd1015a353e198ad687f7b662",
          "21db7482ca22a82638c6e26a215c8e617a0d609b5740f26e10db2ad301cc92c8",
          "24bc3220f44b1625b455d574453b917eb9429a4aeb0a40351966f4afe0ee3bde",
          "2533a8b3a5cbeba9c6b4dc7a97b0fe29d669788516dbd71968c9a0a7b3d15bfd",
          "28d92f743e901f571c435f762e8370d8c219e4c137e642ecae444d8c6092efd2",
          "2a471f6b02382bd53e4c2b2180737c3a7f6045de91b665c3823195081728b2ff",
          "3428fca2d06026739a755e9547f812faee0504d8c0076c06b6df304786bbdfc6",
          "36d565a9e44f1f81b55a40361b0624374242b0362ad4641c9a8a0fc36532cd5a",
          "3de17423d7921b191d35cbb66a629dbd7f4858294040fb2241b254e669d26c61",
          "3e2f4b202c836a9e18290615505e03863703e6fd8a7b3e559254635ab405da2c",
          "416ed696462e3d4ae23024e34b69cca527f79c635c963eb862df9833f17a8b22",
          "41fd01cb884ce5c8ba212292b1ced4122ac25fedc229d716b133ab2cd3dbd3b5",
          "4aa17e0ba0fc444e4f6614229ea578fe936ebf152047c2759e0750a9d84d835e",
          "53987ac913e1504dcb9188201a796e17937d67a05bbda046f31353415be97d03",
          "5a52d17aee75cd53cb712afd589255bb7447bcff734c1c8ba4a58655ffee5112",
          "5b1bc27a5633db5877eb8877d625debd15e1736d524b2cdd1efad569b8a24d65",
          "5bec5219343f00044afe282d325e3d12c9a649dabd6309732f1556255a5750ac",
          "5f010ff633fc2006fb5220e6fbd7e2e597e1bc68e1650198b0d5e6d21cbdb8a4",
          "63717576d756c4965834a1e01847507ff18cd80b5005f983131be6542fdfb7f3",
          "88857508cce282f5809a021979dc8686dc0faae1bb2d32f987e76556383c8bb2",
          "893d393681fce3198924e693f0bef23d68d2835fcb433657ed120a265e710ffd",
          "8a4e6410e886e6b5747b3c47756451386fad6774e6dffac8707b83d4782edc7f",
          "8f928c13b05ad01205be6cb20da0a7dc076730b1652f01e050f1a0d626a88a64",
          "8f9ad145fb4388834001554efc9b9619e7c00ef2dec4644551e37244caea96a7",
          "8fb0e67e37380bb092bc9f8e970deb3591a4a50c6eb668674ba54cf9253a03a4",
          "95af5d1a259a50fae5f1970e31843195cf173460515db175d80c127238bce4cf",
          "a116d36feab344a69a164444013e2dc6adecc1b87a703764f8732c0933280cad",
          "b0321c70a0914c10f9122634fdab7de5e652db3d8e9a5fdf3a8265447bd968ba",
          "b53ed68360feb18ee2f77ca64b94eeb2e9623824967a4e18cc6519e37530a9ad",
          "bbb0a1cb85d4507a774e4c35a099b1bef982f612e679ab5b8186ec78b766fb6c",
          "bc6c61ed35a54293cc6bfb851db32421c11ad2a03e4fda4d21912c3e00e58c5e",
          "c19b3a28e6bac82addc5eedd2b30c109bc88dae2aee51434706ae39d2b10e34c",
          "c45c362328c7805e468792ed5fb438376fd0369c5ee781f202750063e13a4af9",
          "cb6fb45af11246d1b865bde4e63c6945089183de7b76baf577d1cc07440cf078",
          "d6071277cecdbba8b07602d846e0e0ff9dfd48709c37247fe837ddb5b23e9f8f",
          "d92cb104d5597234aa89c044b12710cfe6a4d84741249a9a4c973ee7cea34fe7",
          "d9c19252e17962b1fb85a51cde729380492dedeea226388363f405c8c3f3e1c9",
          "d9e3ad40391f83300a97e7e7381ce7856b2e22a280a8b675a14c80d6c5792d93",
          "da3f41a5ec6f2c330dff744d981e2a1b86215da737e6a04fbe3b2995c02e27a5",
          "e125ff3491d1aeb6a0ce25d7e8dc08d91a8bb4c11ab55737fc46b31ec39371f3",
          "e268298c0149eb59b2a2c00533e1ddfb953952f58b1b362bfe8018ff02228fb4",
          "ec9137cb0c713b0d7c1b165a581ebeb016ee5b9e20198891914764825d66cd3d",
          "f0c867d875df7a7a9a9447f7d9dd5a874ad720b1c2e263d9a3f21012c4bdaf6f",
          "f70a4c54bc23a3ae0e5f31108ed657173f82dd9975870bb80e7bacdc09316cae",
          "fbaf8282a94f10ebdcc1624b2120d22f9fcf8aa8b0520defff3acbd7defda34a",
          "fbd17d8d762af2990fc5a5a207a95b3a9c39a420f6d37e4cbfa078c48e8f8f89",
          "fce73999683d53296a1e9f330a849c2569f3d0d62c116c039fb3f8620b7d1a4b"
        ],
        "locations": [
          "GET /api/fulfilment/v1/configuration/warehouses/{warehouseId}",
          "GET /api/fulfilment/v1/configuration/warehouses",
          "POST /api/fulfilment/v1/inventory/items/{skuId}/warehouses/{warehouseId}/supplyLots/{supplyLotId}/transfer",
          "POST /api/fulfilment/v1/configuration/docks/{dockId}/activation",
          "DELETE /api/fulfilment/v1/configuration/warehouses/{warehouseId}",
          "GET /api/fulfilment/v1/inventory/skus/{skuId}",
          "GET /api/fulfilment/v1/configuration/geoshape",
          "POST /api/fulfilment/v1/inventory/reservations/{reservationId}/confirm",
          "PUT /api/fulfilment/v1/configuration/geoshape",
          "PUT /api/fulfilment/v1/inventory/skus/{skuId}/warehouses/{warehouseId}",
          "GET /api/fulfilment/v1/inventory/items/{skuId}/docks/{dockId}",
          "GET /api/fulfilment/v1/inventory/reservations/{reservationId}",
          "PUT /api/fulfilment/v1/configuration/holidays/{holidayId}",
          "GET /api/fulfilment/v1/configuration/docks",
          "POST /api/fulfilment/v1/configuration/freights/{carrierId}/values/update",
          "POST /api/fulfilment/v1/configuration/warehouses/{warehouseId}/activation",
          "POST /api/fulfilment/v1/shipping/calculate",
          "DELETE /api/fulfilment/v1/configuration/geoshape/{polygonName}",
          "GET /api/fulfilment/v1/configuration/geoshape/{polygonName}",
          "POST /api/fulfilment/v1/configuration/warehouses/{warehouseId}/deactivation",
          "POST /api/fulfilment/v1/shipping-policies",
          "GET /api/fulfilment/v1/inventory/items/{itemId}/warehouses/{warehouseId}/dispatched",
          "GET /api/fulfilment/v1/configuration/freights/{carrierId}/{postalCode}/values",
          "GET /api/fulfilment/v1/shipping-policies",
          "GET /api/fulfilment/v1/inventory/items/{skuId}/docks/{dockId}/warehouses/{warehouseId}",
          "GET /api/fulfilment/v1/configuration/carriers/{carrierId}/getdayofweekblocked",
          "POST /api/fulfilment/v1/configuration/carriers/{carrierId}/adddayofweekblocked",
          "GET /api/fulfilment/v1/inventory/reservations/{warehouseId}/{skuId}",
          "DELETE /api/fulfilment/v1/shipping-policies/{id}",
          "POST /api/fulfilment/v1/configuration/carriers/{carrierId}/removedayofweekblocked",
          "POST /api/fulfilment/v1/configuration/docks",
          "POST /api/fulfilment/v1/configuration/warehouses",
          "GET /api/fulfilment/v1/inventory/items/{skuId}/warehouses/{warehouseId}",
          "GET /api/fulfilment/v1/configuration/holidays",
          "DELETE /api/fulfilment/v1/configuration/holidays/{holidayId}",
          "POST /api/fulfilment/v1/inventory/reservations",
          "POST /api/fulfilment/v1/inventory/reservations/{reservationId}/cancel",
          "GET /api/fulfilment/v1/inventory/items/{skuId}/warehouses/{warehouseId}/supplyLots",
          "POST /api/fulfilment/v1/configuration/docks/{dockId}/deactivation",
          "DELETE /api/fulfilment/v1/configuration/pickuppoints/{pickupPointId}",
          "GET /api/fulfilment/v1/shipping-policies/{id}",
          "POST /api/fulfilment/v1/inventory/reservations/{reservationId}/acknowledge",
          "GET /api/fulfilment-capacity/resources/carrier@{capacityType}@{shippingPolicyId}/time-frames/{windowDay}F{windowStartTime}T{windowEndTime}",
          "PUT /api/fulfilment/v1/inventory/items/{skuId}/warehouses/{warehouseId}/supplyLots/{supplyLotId}",
          "GET /api/fulfilment/v1/configuration/pickuppoints/{pickupPointId}",
          "PUT /api/fulfilment/v1/shipping-policies/{id}",
          "GET /api/fulfilment/v1/configuration/pickuppoints/_search",
          "GET /api/fulfilment/v1/configuration/pickuppoints",
          "PUT /api/fulfilment/v1/configuration/pickuppoints/{pickupPointId}",
          "GET /api/fulfilment/v1/configuration/holidays/{holidayId}",
          "GET /api/fulfilment/v1/configuration/docks/{dockId}",
          "DELETE /api/fulfilment/v1/configuration/docks/{dockId}",
          "GET /api/fulfilment-capacity/resources/carrier@{capacityType}@{shippingPolicyId}/time-frames"
        ]
      },
      {
        "id": "a8c486c4181c6fd3b16d6469dc404ce8224993d8584144a12cfb00b8b7a92725",
        "rule_id": "CC-PARAM-01",
        "family": "contract",
        "severity": "medium",
        "cause": "required parameter without description",
        "recommendation": "Describe what the parameter means, its format and valid values.",
        "example_title": "Required path parameter `warehouseId` has no description",
        "fingerprints": [
          "039fe5e246dc5e54313c2997c203206117dae58c655408c4c7a8ceefcfcf237d",
          "13371dfff35649822f95d2ffd0640710b8647f065df67d9b516da0aa47a2afc7",
          "16375bd73cc814d9a62587e16039f0f09efc85b573bc9f4f5864080543651229",
          "2216249ec45abc7e54a6278c55cea22f0afe4cbb487a1845abbaee16748fa697",
          "24af8b0d2d46156d660286227e7e532cd4dd2de580e3e5f053098e489312ad3b",
          "2cb72dce8474238c166aad3c989a693bb289313ff99a4e55a808825e5469348a",
          "31c25f57b22363da6112c0f47a96ac4f27357cbbf84154f676a95d2e514508b1",
          "36117b7ea44f65592707730e142b1ea3545f8b0ee9584154d777bd9895da93b0",
          "3b87824eecf836dbe1809c3ce576609bba9e7a8b97d6965db9f16cede90b5c5c",
          "3fa1bda063574793c3fa1a889a82d00810b97842ccac4d8f732f0fbbf6983b90",
          "411484bd3d0bf3f2e712bad137a2273a431f5687ba22bdbb7908650a3771b51c",
          "425c72c9eb340fd9fb032223480714fd86dec09702520ee1f56fcffb2816cd0b",
          "426a811d1fd2aa5a1d62d876cea5b3b5b471d66d5c16277e8ffe69dd05911dde",
          "427ea496e42a68e749b3e4e7391a4b1c87999cb8920e62ba963e0ce30d19ebca",
          "4e2ee7615c2928866a68a4fadf4f4e06edf1ba79a5f5a051f4b138a7ae42ff7d",
          "4fe60abe89f40764686919b80556b4a3db73bc67e60a9cf58036dfb11e26a3da",
          "550789988db956eec4d4dcb613a9f79996404288e674f17c1f8f772552a06f80",
          "5c91353f0a71afa3e819ac6694a86d63b4fcef8eaec780cfaefb0a7573bf1fba",
          "5e91f93bb42289842160df5be591304c4c37d2171add9d1f4f02e37061a3c61d",
          "69b68afb82022914feebd50c8a29c15cb0346086e386aa3fcc4d22e478c41143",
          "69de451d1f6fcd90bfdd6aa624354f81652074f14b351c53032f087329ac4a7a",
          "6d0a7aad4710753a588c802056bf8a48e0466ebc0a77494a98e04774253ad227",
          "78dba06f6fcdb1f80fb47598fceb4dc54d83e4b0570c17d3b6a98f23e224126e",
          "8173235e2ae3f18d1032c3d63058d0e835985638777af374e5820dd7060ea787",
          "8a1fa70ee24b4477fb0178edd3ee0aa634ff327dfaba3385e78d03bd798b1b8f",
          "a471b422e1603e7fcd94bf5232f69cfe4460847cfd7831645ee818503c97d948",
          "ac5f58ea550e09cedfded5e4cf64f93ea972aeabd6040b7b33b94987cf89419f",
          "b47992d281af850662934cdacdbe93a0db114e9bcaa3bc952aaf9e31bf386ecb",
          "b53da0df132d044760a73637c64d05bd84d041021b297bc696227a5eef906205",
          "b717371444de064299dd8305256933e770db962cfda97636748ec2232e117e39",
          "bfd8ff47506b08480cfde99ca5aeecdeebde07b89a06b641f46b1c5625e247a3",
          "c559cd70febf306b812033bbdddcf458a52aa64349324165393ebfdc630bce47",
          "c73e13f5323d6045a76bf0d5d0d32d89b3a6df27bffff4dfb92fae68d048f46e",
          "c85ca3048a6475f537b7573403377c526bcc7afc1a65e866d6e42fc296faffcc",
          "ce184a2beed2be633c21f1c94337e9bcd15b7858c54026a4c7a4615e01d49df1",
          "ce18c374b6a8c9da5a18c75e35784787b015f0c38df65f8fc73c57ed6c9e59a5",
          "dfa10d8816b6d567d85c2af79c3fda9ee0ec0f34dee7fc08edaecbe387ca9116",
          "e2051b5414f591e438206e6c90e9cb62e550a1ac4064ff2bfc500fb579162cf7",
          "ed39215974cc90a6378e094af41bf2499f79dac29c082a78a6cd9d06ecf7fa7f",
          "ed823e534b8c623e3240016eea4a9d0ed4295a02c80d96f7af2c09da346526b1",
          "ee5c7bad355fdfe3e30eb3e8032141ba5db536fdcacae98f0d6494ba71323c71",
          "fda03ede32b0262dff8e878a92b0c3f5a91e0d3d7aec8de8a9ff1099ee1f645a"
        ],
        "locations": [
          "GET /api/fulfilment/v1/configuration/warehouses/{warehouseId}",
          "DELETE /api/fulfilment/v1/configuration/pickuppoints/{pickupPointId}",
          "DELETE /api/fulfilment/v1/configuration/holidays/{holidayId}",
          "GET /api/fulfilment/v1/configuration/pickuppoints/{pickupPointId}",
          "GET /api/fulfilment/v1/configuration/pickuppoints/_search",
          "GET /api/fulfilment/v1/inventory/items/{skuId}/docks/{dockId}/warehouses/{warehouseId}",
          "GET /api/fulfilment/v1/inventory/items/{skuId}/docks/{dockId}",
          "GET /api/fulfilment/v1/inventory/items/{skuId}/docks/{dockId}",
          "GET /api/fulfilment/v1/inventory/items/{skuId}/warehouses/{warehouseId}",
          "POST /api/fulfilment/v1/configuration/warehouses/{warehouseId}/activation",
          "DELETE /api/fulfilment/v1/configuration/warehouses/{warehouseId}",
          "POST /api/fulfilment/v1/configuration/docks/{dockId}/deactivation",
          "GET /api/fulfilment/v1/inventory/items/{skuId}/warehouses/{warehouseId}",
          "PUT /api/fulfilment/v1/inventory/skus/{skuId}/warehouses/{warehouseId}",
          "POST /api/fulfilment/v1/configuration/carriers/{carrierId}/adddayofweekblocked",
          "POST /api/fulfilment/v1/inventory/reservations/{reservationId}/cancel",
          "POST /api/fulfilment/v1/configuration/warehouses/{warehouseId}/deactivation",
          "PUT /api/fulfilment/v1/inventory/skus/{skuId}/warehouses/{warehouseId}",
          "POST /api/fulfilment/v1/inventory/reservations/{reservationId}/acknowledge",
          "GET /api/fulfilment/v1/inventory/items/{itemId}/warehouses/{warehouseId}/dispatched",
          "GET /api/fulfilment/v1/inventory/skus/{skuId}",
          "GET /api/fulfilment/v1/inventory/reservations/{reservationId}",
          "GET /api/fulfilment/v1/inventory/items/{skuId}/docks/{dockId}/warehouses/{warehouseId}",
          "GET /api/fulfilment/v1/configuration/geoshape/{polygonName}",
          "GET /api/fulfilment/v1/configuration/holidays/{holidayId}",
          "POST /api/fulfilment/v1/inventory/reservations/{reservationId}/confirm",
          "GET /api/fulfilment/v1/configuration/pickuppoints/_search",
          "GET /api/fulfilment/v1/configuration/carriers/{carrierId}/getdayofweekblocked",
          "GET /api/fulfilment/v1/configuration/pickuppoints/_search",
          "GET /api/fulfilment/v1/configuration/docks/{dockId}",
          "GET /api/fulfilment/v1/configuration/geoshape",
          "PUT /api/fulfilment/v1/configuration/holidays/{holidayId}",
          "POST /api/fulfilment/v1/configuration/freights/{carrierId}/values/update",
          "GET /api/fulfilment/v1/inventory/reservations/{warehouseId}/{skuId}",
          "GET /api/fulfilment/v1/inventory/reservations/{warehouseId}/{skuId}",
          "DELETE /api/fulfilment/v1/configuration/geoshape/{polygonName}",
          "GET /api/fulfilment/v1/inventory/items/{itemId}/warehouses/{warehouseId}/dispatched",
          "POST /api/fulfilment/v1/configuration/docks/{dockId}/activation",
          "GET /api/fulfilment/v1/configuration/geoshape",
          "GET /api/fulfilment/v1/inventory/items/{skuId}/docks/{dockId}/warehouses/{warehouseId}",
          "DELETE /api/fulfilment/v1/configuration/docks/{dockId}",
          "POST /api/fulfilment/v1/configuration/carriers/{carrierId}/removedayofweekblocked"
        ]
      },
      {
        "id": "967d2af43c268ef11579b67327d1ec4416d1e478af90c96987e97d3ff0041033",
        "rule_id": "PAG-01",
        "family": "pagination",
        "severity": "medium",
        "cause": "no pagination",
        "recommendation": "Document a pagination mechanism (cursor or page parameters and the field or header carrying the next position).",
        "example_title": "GET /api/fulfilment/v1/configuration/warehouses returns a collection with no documented pagination",
        "fingerprints": [
          "3097cc4277a2a667282aceb75cb04e43e4e4f6d716b7f1924c47ea149a2f1425",
          "3920be6d6071728964099dcfb95f550bef7943d5b932626e6d5a3c9e2795f332",
          "ad90fb6c0ea23c57affa4aadc3bea922d6e97673b1c76914a4367d86dc78684e",
          "d381d16a8ea53a9877ed4cb25c5188b219eb7d153cb462ab5cda5753e2c5befb",
          "dd2ef861be378d209addda5210c468bf18550a69df0c97e7e3485a9103955158"
        ],
        "locations": [
          "GET /api/fulfilment/v1/configuration/warehouses",
          "GET /api/fulfilment/v1/configuration/docks",
          "GET /api/fulfilment/v1/configuration/freights/{carrierId}/{postalCode}/values",
          "GET /api/fulfilment/v1/inventory/items/{itemId}/warehouses/{warehouseId}/dispatched",
          "GET /api/fulfilment/v1/configuration/pickuppoints"
        ]
      },
      {
        "id": "a03b5f875df11a059c7b36d68cd91657fb30467784765fb19aa814867f5e773f",
        "rule_id": "CC-CONSIST-01",
        "family": "contract",
        "severity": "medium",
        "cause": "conflicting types for freight-values.absolutemoneycost",
        "recommendation": "Use one type for a property name across schemas, or rename one of them to say it is a different thing.",
        "example_title": "Property `absoluteMoneyCost` has different types across variants of `freight-values`: number in `ListFreightValues`, string in `CreateUpdateFreightValuesRequest`",
        "fingerprints": [
          "c3524fe903d4a17779b3d2796fa85eb3f63cf5434678760c4e7959b93c37bb3f"
        ],
        "locations": []
      },
      {
        "id": "11f52393dfea44790ae6d72b445c8ca6d5aeb6a143cf3a8e72cccbc627471137",
        "rule_id": "CC-PARAM-01",
        "family": "contract",
        "severity": "medium",
        "cause": "required request property without description",
        "recommendation": "Describe what the property means, its format and valid values.",
        "example_title": "Required request property `cubicWeightSettings.minimunAcceptableVolumetricWeight` has no description",
        "fingerprints": [
          "2324c6a04f49efeefcb64c9037d73c014142638f94456054420d2142f902c61b"
        ],
        "locations": [
          "POST /api/fulfilment/v1/shipping-policies"
        ]
      },
      {
        "id": "c610480f5e0fdc25d574a95d118b67620cd2ce39e7f3803d999fffbe1c350d84",
        "rule_id": "CC-DESC-02",
        "family": "contract",
        "severity": "low",
        "cause": "weak description: restates its name",
        "recommendation": "Say what it does, what it returns or accepts, and anything the name does not show.",
        "example_title": "The description of POST /api/fulfilment/v1/inventory/reservations/{reservationId}/confirm is weak (restates its name)",
        "fingerprints": [
          "06abada4c17a5f25568d045591e0aecd8632f0fec67352670bfe815fe7aaa038",
          "143066492c43ffd70d53fc32c1313e54c128602be9d597378b6c6ea8f854efbb",
          "4c220183f42bca01dfa51b3a04afd4e437654ff5e5182e569e06781a8b1a246f",
          "4d7893a3d2ae2e403303234441a5b0e2597274fd1aeba7d221e957c0604ce207",
          "6a18f373b5042409f0095746e61847cf0c1d2888a26f819b05763a8f89ddec14",
          "6df3161ba76cf4612f3420f520b9ff157d91fbf64f8ace56193db3d6e0b5266e",
          "9a649c5e36c2ab680016b01681fe54e925968723e69a351c5d0d0b0b3e6ccad0",
          "d04b10a8229c8b548d24dfc5a495328d7b930934a449a4fb024de9e3c0ae50a0",
          "e836157489665e9068081cae331ba29ff931795cab9b2345046d7fab458d3a4d"
        ],
        "locations": [
          "POST /api/fulfilment/v1/inventory/reservations/{reservationId}/confirm",
          "POST /api/fulfilment/v1/configuration/warehouses/{warehouseId}/activation",
          "PUT /api/fulfilment/v1/configuration/holidays/{holidayId}",
          "POST /api/fulfilment/v1/configuration/warehouses/{warehouseId}/deactivation",
          "POST /api/fulfilment/v1/inventory/reservations/{reservationId}/acknowledge",
          "POST /api/fulfilment/v1/inventory/reservations/{reservationId}/cancel",
          "POST /api/fulfilment/v1/configuration/docks/{dockId}/deactivation",
          "PUT /api/fulfilment/v1/inventory/skus/{skuId}/warehouses/{warehouseId}",
          "POST /api/fulfilment/v1/configuration/docks/{dockId}/activation"
        ]
      },
      {
        "id": "94315ebeacdaae09d263e9a3c47219b0836eeb013e26b648838b07f7aebd6ba9",
        "rule_id": "CC-RESP-01",
        "family": "contract",
        "severity": "low",
        "cause": "response without description",
        "recommendation": "Describe when this response is returned and what it contains.",
        "example_title": "Response has no description",
        "fingerprints": [
          "110941b701bc100514f50ee8118081eb96c203755a3d85c6b91863784f4290d5",
          "1486583de5b8770a1986d76902a792b377026efca1cc9de588de519210636904",
          "67aaa40d55a6eac5f44194541ebb923274497eb3f37fbe261367691dd6743c1d",
          "ed175b5ef36691dd8e6e0a96aaf458988e6b8fb962e7e3b442261803122dc755"
        ],
        "locations": [
          "PUT /api/fulfilment/v1/configuration/pickuppoints/{pickupPointId}",
          "GET /api/fulfilment/v1/inventory/skus/{skuId}",
          "GET /api/fulfilment/v1/configuration/pickuppoints/{pickupPointId}",
          "POST /api/fulfilment/v1/shipping/calculate"
        ]
      },
      {
        "id": "e0420cae792b90abe0d150f65899a7d94c61faef9a71a642b9a47fe22edd5088",
        "rule_id": "CC-DESC-02",
        "family": "contract",
        "severity": "low",
        "cause": "weak description: too short",
        "recommendation": "Say what it does, what it returns or accepts, and anything the name does not show.",
        "example_title": "The description of parameter `postalCode` is weak (too short)",
        "fingerprints": [
          "066f22907222d2b6c4f2d64058a02524d935755fbb240ac3c8dc3ca95622d462",
          "6fd6515a7aedc9a2f18946a9d108ed254cbdd09889b8273203c6b81bb2908356"
        ],
        "locations": [
          "GET /api/fulfilment/v1/configuration/freights/{carrierId}/{postalCode}/values",
          "GET /api/fulfilment/v1/configuration/freights/{carrierId}/{postalCode}/values"
        ]
      },
      {
        "id": "13730abd27d13e0050b780fc6daf9e88b9b178eb05caed06271fa63cdc8d388f",
        "rule_id": "AUTH-02",
        "family": "onboarding",
        "severity": "low",
        "cause": "security scheme without description",
        "recommendation": "Describe how to obtain credentials and how to send them.",
        "example_title": "Security scheme `appToken` has no description",
        "fingerprints": [
          "8378e896fb51be85e40da14688c4459f34c959b75613dadcd343cda1e28d6b84",
          "9fb455134636cdd9211dff34b822165fb2989220ca3e41ad0b1cb717c3015ba8"
        ],
        "locations": []
      },
      {
        "id": "9f092f43ceebcc3d19c10cd7f753a8cf9ab9426ac7d00785feace19d606c0dbd",
        "rule_id": "NAME-01",
        "family": "contract",
        "severity": "low",
        "cause": "verbs in some paths",
        "recommendation": "Name paths after resources and express the action with the HTTP method.",
        "example_title": "1 of 40 paths put an action verb in the path while the rest do not",
        "fingerprints": [
          "fe865ec8543e2c432da01ff082a03ea4cab805c5ac087c102bff6acdbf5f6414"
        ],
        "locations": []
      },
      {
        "id": "ed231a226bb7589c93489c52083e16a9fe693898a65a7b76b407b363d87be066",
        "rule_id": "NAME-01",
        "family": "contract",
        "severity": "low",
        "cause": "inconsistent casing: kebab-case,snake_case,camelcase",
        "recommendation": "Choose one naming convention and apply it everywhere; keep old names only as documented deprecated aliases.",
        "example_title": "paths mix kebab-case, snake_case, camelCase with no dominant convention",
        "fingerprints": [
          "2584f4b51597ce771e1037f64d36dccc592f1d5094908066ed4713f91129361d"
        ],
        "locations": []
      },
      {
        "id": "29ff7476c1fad9dc6eeceeb7a01a40723908970537582a0bfa9f5d1a812da2c8",
        "rule_id": "DATA-02",
        "family": "data",
        "severity": "low",
        "cause": "unformatted date/time properties",
        "recommendation": "Set `format: date-time` or `date`, or describe the format and timezone (for example ISO 8601 in UTC).",
        "example_title": "25 date/time-named string properties declare no format or timezone",
        "fingerprints": [
          "08a0d7169e2bef62d434eb7aaa8bd718b292dc3f1eaf5b2512dc974c0430db13"
        ],
        "locations": []
      },
      {
        "id": "ad5c0ad8303678f61ad58737fa6b0c5c3de251c160ceb7521d2d0cf8da081554",
        "rule_id": "CC-EX-01",
        "family": "examples",
        "severity": "low",
        "cause": "no request or response example",
        "recommendation": "Add a realistic example for the request body and the success response.",
        "example_title": "PUT /api/fulfilment/v1/configuration/geoshape has no example request or response",
        "fingerprints": [
          "cc6169f384f92130ef491977d3ad3f41142515bbb4948c8ceac82862c0bfc2ef"
        ],
        "locations": [
          "PUT /api/fulfilment/v1/configuration/geoshape"
        ]
      },
      {
        "id": "81d925e983fe9b26b158ff068cd4e0b3e687269ba27cc6b4b090db3dba09343c",
        "rule_id": "RATE-01",
        "family": "limits",
        "severity": "low",
        "cause": "no rate limit documentation",
        "recommendation": "Document the limits, a 429 response and the headers that report remaining quota and when to retry.",
        "example_title": "No rate limiting is documented",
        "fingerprints": [
          "652e9d0aafb76b66499eb96184d42f382faa6253be0fa286bee9d50e937d0b10"
        ],
        "locations": []
      },
      {
        "id": "df8a941b48a198907368e93a2f67af8d2a924c421f758dc60a3e27d8f6d6e805",
        "rule_id": "IDEM-01",
        "family": "reliability",
        "severity": "low",
        "cause": "no idempotency",
        "recommendation": "Accept an Idempotency-Key header on creating operations and document how long keys are remembered.",
        "example_title": "None of the 4 resource-creating POST operations documents an idempotency key",
        "fingerprints": [
          "bae9f63f9d9c2119d04b7b03ba07dc677332418c5733f336b1f3b1cf2551d047"
        ],
        "locations": []
      }
    ]
  }
}