openapi: 3.2.0 info: title: WMS (DEMO) Inventory API description: 'Contract Logistics API - WMS Inventory (DEMO) ' version: v1 servers: - url: https://api.dsv.com/cl-demo/inventory/v1 security: - apiKeyHeader: [] - apiKeyQuery: [] tags: - name: Inventory paths: /inventory/{warehouseId}: get: tags: - Inventory summary: Request a full inventory description: This message is sent by Client to DSV Warehouse to retrieve a full inventory report over Webhook operationId: Inventory_Get parameters: - name: warehouseId in: path required: true schema: type: string - name: api-version in: header description: api-version schema: type: string example: 1 - name: Authorization in: header description: OAuth header schema: type: string responses: '200': description: Success '401': description: '' content: application/json: schema: $ref: '#/components/schemas/ErrorDTO' example: code: ERR12345 message: 'Not found id : 4025988810785188' fields: - name: field_name message: validation error code: ERR12345 development: message: string exception: string '500': description: '' content: application/json: schema: $ref: '#/components/schemas/ErrorDTO' example: code: ERR12345 message: 'Not found id : 4025988810785188' fields: - name: field_name message: validation error code: ERR12345 development: message: string exception: string /inventory/{warehouseId}/{productId}: get: tags: - Inventory summary: Get inventory by a single Product Id description: This message is sent by Client to DSV Warehouse to retrieve inventory report on a particular Product id. operationId: Inventory_Get2 parameters: - name: warehouseId in: path required: true schema: type: string - name: productId in: path required: true schema: type: string - name: api-version in: header description: api-version schema: type: string example: 1 - name: Authorization in: header description: OAuth header schema: type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/InventoryByProductDto' example: warehouseId: 36643f9b7c1c48ef inventory: productId: PId123 details: - expirationDate: '2025-03-25' lotId: '2025-03-25' origin: AF conditionOfProduct: OK1 quantities: totalQuantity: 10 quantityReservedForOrders: 10 additionalInformation: numericFields: - sequence: 1 value: 999999999.999999 textFields: - sequence: 1 value: Value1 '401': description: '' content: application/json: schema: $ref: '#/components/schemas/ErrorDTO' example: code: ERR12345 message: 'Not found id : 4025988810785188' fields: - name: field_name message: validation error code: ERR12345 development: message: string exception: string '500': description: '' content: application/json: schema: $ref: '#/components/schemas/ErrorDTO' example: code: ERR12345 message: 'Not found id : 4025988810785188' fields: - name: field_name message: validation error code: ERR12345 development: message: string exception: string components: schemas: TextFieldDto: required: - sequence type: object properties: sequence: maximum: 8.0 minimum: 1.0 type: integer description: User Def Type 1-8 format: int32 example: 1 value: maxLength: 30 minLength: 0 type: string description: Max length 30 characters example: Value1 description: User defined text fields DevelopmentDTO: type: object properties: message: type: string description: Verbose, plain language description of the problem for the app developer with hints on how to fix it exception: type: string description: Dump from exception ErrorDTO: required: - code - message type: object properties: code: minLength: 1 type: string description: Unique error code example: ERR12345 message: minLength: 1 type: string description: Error message passed to the user example: 'Not found id : 4025988810785188' fields: type: array items: $ref: '#/components/schemas/FieldDTO' development: $ref: '#/components/schemas/DevelopmentDTO' CountryCode: enum: - AF - AL - DZ - AS - AD - AO - AI - AQ - AG - AR - AM - AW - AU - AT - AZ - BS - BH - BD - BB - BY - BE - BZ - BJ - BM - BT - BO - BQ - BA - BW - BV - BR - IO - BN - BG - BF - BI - CV - KH - CM - CA - KY - CF - TD - CL - CN - CX - CC - CO - KM - CD - CG - CK - CR - HR - CU - CW - CY - CZ - CI - DK - DJ - DM - DO - EC - EG - SV - GQ - ER - EE - SZ - ET - FK - FO - FJ - FI - FR - GF - PF - TF - GA - GM - GE - DE - GH - GI - GR - GL - GD - GP - GU - GT - GG - GN - GW - GY - HT - HM - VA - HN - HK - HU - IS - IN - ID - IR - IQ - IE - IM - IL - IT - JM - JP - JE - JO - KZ - KE - KI - KP - KR - KW - KG - LA - LV - LB - LR - LY - LI - LT - LU - MO - MG - MW - MY - MV - ML - MT - MH - MQ - MR - MU - YT - MX - FM - MD - MC - MN - ME - MS - MA - MZ - MM - NA - NR - NP - NL - NC - NZ - NI - NE - NG - NU - NF - MP - 'NO' - OM - PK - PW - PS - PA - PG - PY - PE - PH - PN - PL - PT - PR - QA - MK - RU - RW - RE - BL - SH - KN - LC - MF - PM - VC - WS - SM - ST - SA - SN - RS - SC - SL - SG - SX - SK - SI - SB - SO - ZA - GS - SS - ES - LK - SD - SR - SJ - SE - CH - SY - TW - TJ - TZ - TH - TL - TG - TK - TO - TT - TN - TR - TM - TC - TV - UG - UA - AE - GB - UM - US - UY - UZ - VU - VE - VN - VG - VI - WF - EH - YE - ZM - ZW - AX type: string description: '' AdditionalInformationDto: type: object properties: numericFields: type: array items: $ref: '#/components/schemas/NumericFieldDto' description: User defined numeric fields textFields: type: array items: $ref: '#/components/schemas/TextFieldDto' description: User defined text fields description: Additional Information ConditionCode: enum: - OK1 - OK2 - DM1 - DM2 - HO1 - HO2 - QU1 - QU2 - RN1 - RN2 - SC1 - SC2 type: string description: '' NumericFieldDto: required: - sequence type: object properties: sequence: maximum: 4.0 minimum: 1.0 type: integer description: User Def Num 1-4 format: int32 example: 1 value: maximum: 999999999.999999 minimum: 0.0 type: number description: 'min: 0, max: 999999999.999999 (9.6)' example: 999999999.999999 description: User defined numeric fields QuantityDto: type: object properties: totalQuantity: maximum: 999999999.0 minimum: 0.0 type: integer description: Total stock quantity of OK1 condition subtracted allocated inventory format: int32 example: 10 quantityReservedForOrders: maximum: 999999999.0 minimum: 0.0 type: integer description: Allocated quantity format: int32 example: 10 description: Quantity Dto FieldDTO: type: object properties: name: type: string description: Error name example: field_name message: type: string description: Description of error example: validation error code: type: string description: Type of error example: ERR12345 InventoryDto: type: object properties: productId: maxLength: 50 minLength: 0 type: string description: Stock Keeping Unit identifier example: PId123 details: type: array items: $ref: '#/components/schemas/InventoryDetailsDto' description: Inventory Details description: Inventory InventoryByProductDto: required: - warehouseId type: object properties: warehouseId: maxLength: 20 minLength: 0 type: string description: To be resolved in Token database example: 36643f9b7c1c48ef inventory: $ref: '#/components/schemas/InventoryDto' InventoryDetailsDto: type: object properties: expirationDate: maxLength: 25 minLength: 0 type: string description: 'Expiry date Format: CCYY-MM-DD' example: '2025-03-25' lotId: maxLength: 20 minLength: 0 type: string description: Batch identifier example: '2025-03-25' origin: $ref: '#/components/schemas/CountryCode' conditionOfProduct: $ref: '#/components/schemas/ConditionCode' quantities: $ref: '#/components/schemas/QuantityDto' additionalInformation: $ref: '#/components/schemas/AdditionalInformationDto' description: InventoryDetailsDto securitySchemes: apiKeyHeader: type: apiKey name: DSV-Subscription-Key in: header apiKeyQuery: type: apiKey name: DSV-Subscription-Key in: query