Findings, grouped by cause
Findings of one rule with the same problem at different places count as one cause, so 53 missing error responses read as one problem to fix, not 53.
HighCC-SCHEMA-01 Request or response declares a structured content type but no schema
no schema for application/json 2 places
Example: GET /api/fulfilment-capacity/resources/carrier@{capacityType}@{shippingPolicyId}/time-frames/{windowDay}F{windowStartTime}T{windowEndTime}: response declares application/json but no schema
Recommendation. Add a schema to each structured media type, or remove the media type if no body is exchanged.
Show all 2 places
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
MediumCC-ERR-01 Operation documents no error response
no error response documented 53 places
Example: GET /api/fulfilment/v1/configuration/warehouses/{warehouseId} documents no error responses
Recommendation. Document the error responses (4xx and 5xx or a default) with their bodies and when each occurs.
Show all 53 places
GET /api/fulfilment/v1/configuration/warehouses/{warehouseId}GET /api/fulfilment/v1/configuration/warehousesPOST /api/fulfilment/v1/inventory/items/{skuId}/warehouses/{warehouseId}/supplyLots/{supplyLotId}/transferPOST /api/fulfilment/v1/configuration/docks/{dockId}/activationDELETE /api/fulfilment/v1/configuration/warehouses/{warehouseId}GET /api/fulfilment/v1/inventory/skus/{skuId}GET /api/fulfilment/v1/configuration/geoshapePOST /api/fulfilment/v1/inventory/reservations/{reservationId}/confirmPUT /api/fulfilment/v1/configuration/geoshapePUT /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/docksPOST /api/fulfilment/v1/configuration/freights/{carrierId}/values/updatePOST /api/fulfilment/v1/configuration/warehouses/{warehouseId}/activationPOST /api/fulfilment/v1/shipping/calculateDELETE /api/fulfilment/v1/configuration/geoshape/{polygonName}GET /api/fulfilment/v1/configuration/geoshape/{polygonName}POST /api/fulfilment/v1/configuration/warehouses/{warehouseId}/deactivationPOST /api/fulfilment/v1/shipping-policiesGET /api/fulfilment/v1/inventory/items/{itemId}/warehouses/{warehouseId}/dispatchedGET /api/fulfilment/v1/configuration/freights/{carrierId}/{postalCode}/valuesGET /api/fulfilment/v1/shipping-policiesGET /api/fulfilment/v1/inventory/items/{skuId}/docks/{dockId}/warehouses/{warehouseId}GET /api/fulfilment/v1/configuration/carriers/{carrierId}/getdayofweekblockedPOST /api/fulfilment/v1/configuration/carriers/{carrierId}/adddayofweekblockedGET /api/fulfilment/v1/inventory/reservations/{warehouseId}/{skuId}DELETE /api/fulfilment/v1/shipping-policies/{id}POST /api/fulfilment/v1/configuration/carriers/{carrierId}/removedayofweekblockedPOST /api/fulfilment/v1/configuration/docksPOST /api/fulfilment/v1/configuration/warehousesGET /api/fulfilment/v1/inventory/items/{skuId}/warehouses/{warehouseId}GET /api/fulfilment/v1/configuration/holidaysDELETE /api/fulfilment/v1/configuration/holidays/{holidayId}POST /api/fulfilment/v1/inventory/reservationsPOST /api/fulfilment/v1/inventory/reservations/{reservationId}/cancelGET /api/fulfilment/v1/inventory/items/{skuId}/warehouses/{warehouseId}/supplyLotsPOST /api/fulfilment/v1/configuration/docks/{dockId}/deactivationDELETE /api/fulfilment/v1/configuration/pickuppoints/{pickupPointId}GET /api/fulfilment/v1/shipping-policies/{id}POST /api/fulfilment/v1/inventory/reservations/{reservationId}/acknowledgeGET /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/_searchGET /api/fulfilment/v1/configuration/pickuppointsPUT /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
MediumCC-PARAM-01 Required parameter or required request property has no description
required parameter without description 42 places
Example: Required path parameter `warehouseId` has no description
Recommendation. Describe what the parameter means, its format and valid values.
Show all 42 places
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/_searchGET /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}/activationDELETE /api/fulfilment/v1/configuration/warehouses/{warehouseId}POST /api/fulfilment/v1/configuration/docks/{dockId}/deactivationGET /api/fulfilment/v1/inventory/items/{skuId}/warehouses/{warehouseId}PUT /api/fulfilment/v1/inventory/skus/{skuId}/warehouses/{warehouseId}POST /api/fulfilment/v1/configuration/carriers/{carrierId}/adddayofweekblockedPOST /api/fulfilment/v1/inventory/reservations/{reservationId}/cancelPOST /api/fulfilment/v1/configuration/warehouses/{warehouseId}/deactivationPUT /api/fulfilment/v1/inventory/skus/{skuId}/warehouses/{warehouseId}POST /api/fulfilment/v1/inventory/reservations/{reservationId}/acknowledgeGET /api/fulfilment/v1/inventory/items/{itemId}/warehouses/{warehouseId}/dispatchedGET /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}/confirmGET /api/fulfilment/v1/configuration/pickuppoints/_searchGET /api/fulfilment/v1/configuration/carriers/{carrierId}/getdayofweekblockedGET /api/fulfilment/v1/configuration/pickuppoints/_searchGET /api/fulfilment/v1/configuration/docks/{dockId}GET /api/fulfilment/v1/configuration/geoshapePUT /api/fulfilment/v1/configuration/holidays/{holidayId}POST /api/fulfilment/v1/configuration/freights/{carrierId}/values/updateGET /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}/dispatchedPOST /api/fulfilment/v1/configuration/docks/{dockId}/activationGET /api/fulfilment/v1/configuration/geoshapeGET /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
MediumPAG-01 List operation does not document how to page through results
no pagination 5 places
Example: GET /api/fulfilment/v1/configuration/warehouses returns a collection with no documented pagination
Recommendation. Document a pagination mechanism (cursor or page parameters and the field or header carrying the next position).
Show all 5 places
GET /api/fulfilment/v1/configuration/warehousesGET /api/fulfilment/v1/configuration/docksGET /api/fulfilment/v1/configuration/freights/{carrierId}/{postalCode}/valuesGET /api/fulfilment/v1/inventory/items/{itemId}/warehouses/{warehouseId}/dispatchedGET /api/fulfilment/v1/configuration/pickuppoints
MediumCC-CONSIST-01 The same property has incompatible types in different schemas
conflicting types for freight-values.absolutemoneycost 1 place
Example: Property `absoluteMoneyCost` has different types across variants of `freight-values`: number in `ListFreightValues`, string in `CreateUpdateFreightValuesRequest`
Recommendation. Use one type for a property name across schemas, or rename one of them to say it is a different thing.
MediumCC-PARAM-01 Required parameter or required request property has no description
required request property without description 1 place
Example: Required request property `cubicWeightSettings.minimunAcceptableVolumetricWeight` has no description
Recommendation. Describe what the property means, its format and valid values.
LowCC-DESC-02 Description is a placeholder, only repeats the name, or is too short to help
weak description: restates its name 9 places
Example: The description of POST /api/fulfilment/v1/inventory/reservations/{reservationId}/confirm is weak (restates its name)
Recommendation. Say what it does, what it returns or accepts, and anything the name does not show.
Show all 9 places
POST /api/fulfilment/v1/inventory/reservations/{reservationId}/confirmPOST /api/fulfilment/v1/configuration/warehouses/{warehouseId}/activationPUT /api/fulfilment/v1/configuration/holidays/{holidayId}POST /api/fulfilment/v1/configuration/warehouses/{warehouseId}/deactivationPOST /api/fulfilment/v1/inventory/reservations/{reservationId}/acknowledgePOST /api/fulfilment/v1/inventory/reservations/{reservationId}/cancelPOST /api/fulfilment/v1/configuration/docks/{dockId}/deactivationPUT /api/fulfilment/v1/inventory/skus/{skuId}/warehouses/{warehouseId}POST /api/fulfilment/v1/configuration/docks/{dockId}/activation
LowCC-RESP-01 Response has no description
response without description 4 places
Example: Response has no description
Recommendation. Describe when this response is returned and what it contains.
Show all 4 places
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
LowCC-DESC-02 Description is a placeholder, only repeats the name, or is too short to help
weak description: too short 2 places
Example: The description of parameter `postalCode` is weak (too short)
Recommendation. Say what it does, what it returns or accepts, and anything the name does not show.
Show all 2 places
GET /api/fulfilment/v1/configuration/freights/{carrierId}/{postalCode}/valuesGET /api/fulfilment/v1/configuration/freights/{carrierId}/{postalCode}/values
LowAUTH-02 Security scheme has no description
security scheme without description 2 places
Example: Security scheme `appToken` has no description
Recommendation. Describe how to obtain credentials and how to send them.
Show all 2 places
LowNAME-01 Inconsistent casing of paths or query parameters, or verbs in some paths
verbs in some paths 1 place
Example: 1 of 40 paths put an action verb in the path while the rest do not
Recommendation. Name paths after resources and express the action with the HTTP method.
LowNAME-01 Inconsistent casing of paths or query parameters, or verbs in some paths
inconsistent casing: kebab-case,snake_case,camelcase 1 place
Example: paths mix kebab-case, snake_case, camelCase with no dominant convention
Recommendation. Choose one naming convention and apply it everywhere; keep old names only as documented deprecated aliases.
LowDATA-02 Date/time property has no format or timezone information
unformatted date/time properties 1 place
Example: 25 date/time-named string properties declare no format or timezone
Recommendation. Set `format: date-time` or `date`, or describe the format and timezone (for example ISO 8601 in UTC).
LowCC-EX-01 Operation with a body has no example request or response
no request or response example 1 place
Example: PUT /api/fulfilment/v1/configuration/geoshape has no example request or response
Recommendation. Add a realistic example for the request body and the success response.
LowRATE-01 API documents no rate limiting
no rate limit documentation 1 place
Example: No rate limiting is documented
Recommendation. Document the limits, a 429 response and the headers that report remaining quota and when to retry.
LowIDEM-01 Resource-creating POST has no idempotency key
no idempotency 1 place
Example: None of the 4 resource-creating POST operations documents an idempotency key
Recommendation. Accept an Idempotency-Key header on creating operations and document how long keys are remembered.