Kuehne+Nagel Container API

The container API from Kuehne+Nagel — 2 operation(s) for container.

Operations 2

POST /containers-search #
GET /shipments/{uniqueShipmentReference}/containers/{containerSeqNo} #

Documentation

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/kuehne-nagel-container-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

kuehne-nagel-container-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: ContainerTracking Container API
  description: 'Search for containers or retrieve detailed information for a specific container within a shipment.

    This API provides container-specific tracking data including routing, freight information, cargo details, and references.

    '
  contact:
    name: API Support
    url: https://home.kuehne-nagel.com/en/service-request-api?lead_topic=api-portal-integration
  version: v2
  x-api-version: 2.1.0
  x-api-id: ac3380eb-1569-49b3-b113-8f1c5e3cb207
  x-api-guideline-version: 1.11.6
servers:
- url: https://internal.api.kuehne-nagel.com/track-trace/container/v2
security:
- default: []
- api_key: []
tags:
- name: container
paths:
  /containers-search:
    post:
      tags:
      - container
      description: 'Search for containers matching the given criteria.

        At least one of the search parameters (reference, trackingNumber, or containerNumber) must be provided.

        '
      operationId: searchContainers
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ContainerSearchRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContainerSearchResponse'
        '400':
          description: Bad Request - No search parameters provided or all parameters are empty
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        default:
          $ref: '#/components/responses/default'
      security:
      - default: []
      - api_key: []
      x-auth-type: Application & Application User
      x-throttling-tier: 50KPerMin
  /shipments/{uniqueShipmentReference}/containers/{containerSeqNo}:
    get:
      tags:
      - container
      description: Retrieve detailed information for a specific container within a shipment.
      operationId: loadContainerForShipment
      parameters:
      - name: uniqueShipmentReference
        in: path
        description: "The unique shipment reference with required prefix.\n\nSupported reference:\n* __shipment id__\n  * `shipment-id:{shipmentId}` \n  * e.g. `shipment-id:19101910`\n"
        required: true
        style: simple
        explode: false
        schema:
          pattern: ^shipment-id:[0-9]+$
          type: string
          example: shipment-id:19101910
      - name: containerSeqNo
        in: path
        description: The container sequence number (starting with 1)
        required: true
        style: simple
        explode: false
        schema:
          type: integer
          format: int64
          example: 1
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TrackingContainerResponse'
        default:
          $ref: '#/components/responses/default'
      security:
      - default: []
      - api_key: []
      x-auth-type: Application & Application User
      x-throttling-tier: 50KPerMin
components:
  schemas:
    ShipmentId:
      type: integer
      description: The unique id of the shipment
      format: int64
      example: 19101910
    ContainerSearchRequest:
      required:
      - filters
      type: object
      properties:
        filters:
          minProperties: 0
          type: object
          properties:
            reference:
              type: string
              description: Customer reference to search for (exact match required)
              example: PO-12345
            trackingNumber:
              type: string
              description: Tracking number to search for (exact match required)
              example: 1056143482TK
            containerNumber:
              type: string
              description: Container number to search for (exact match required)
              example: CMAU1234567
          description: Filter criteria for container search
      description: Request body for searching containers
    LocationMilestoneType:
      type: string
      description: The type of activity at the location
      example: CARGO_PICKED_UP
      x-extensible-enum:
      - CONTAINER_GATE_OUT_EMPTY
      - CONTAINER_LOADED
      - CONTAINER_UNLOADED
      - CARGO_PICKED_UP
      - CARGO_AVAILABLE
      - VEHICLE_ARRIVED
      - VEHICLE_DISCHARGED
      - VEHICLE_LOADED
      - VEHICLE_DEPARTED
      - CARGO_DELIVERED
      - CARGO_AT_CARRIER
      - CARGO_CHECKED_IN
      - CONTAINER_GATE_IN_EMPTY
      - READY_FOR_PICKUP
      - GATE_IN
      - GATE_OUT
      - FREIGHT_COLLECTION
      - IN_DELIVERY
    ExplainedDateTime:
      type: object
      properties:
        dateTime:
          type: string
          description: The date and time
          format: date-time
          example: '2023-04-24T23:00:02Z'
        condition:
          type: string
          x-extensible-enum:
          - PLANNED
          - ACTUAL
        explanation:
          $ref: '#/components/schemas/Explanation'
    RouteLocationType:
      type: string
      description: The type of route location
      example: ORIGIN
      x-extensible-enum:
      - ORIGIN_DEPOT
      - ORIGIN
      - ORIGIN_CFS
      - ORIGIN_RAIL_RAMP
      - ORIGIN_RAIL_TERMINAL_ARRIVAL
      - ORIGIN_TERMINAL
      - ORIGIN_STATION
      - DEPARTURE
      - TRANSIT
      - CROSSDOCK_STATION
      - GATEWAY_STATION
      - ARRIVAL
      - DESTINATION_TERMINAL
      - DESTINATION_CFS
      - DESTINATION_RAIL_TERMINAL_DEPARTURE
      - DESTINATION_RAIL_RAMP
      - DESTINATION
      - DESTINATION_DEPOT
      - DESTINATION_STATION
    Vehicle:
      type: object
      properties:
        voyageNumber:
          type: string
          description: The voyage number of the vehicle
          example: UA305A
        truckNumber:
          type: string
          description: The truck number of the vehicle
          example: MOU370486781
        vesselName:
          type: string
          description: The vessel name of the vehicle
          example: MS Ship
        lloydsRegisterCode:
          type: string
          description: The lloyds register code of the vehicle
          example: '9247742'
        carrierCode:
          type: string
          description: The carrier code of the vehicle
          example: CMDU
        flightNumber:
          type: string
          description: The flight number of the vehicle
          example: LH 765
        aircraftType:
          type: string
          description: The aircraft type of the vehicle
          example: '332'
      description: Information about the vehicle (vessel, flight or truck)
    LocationMilestone:
      type: object
      properties:
        description:
          type: string
          description: Description of the location milestone (not populated currently)
          example: The vehicle has arrived
        reached:
          type: boolean
          description: Flag if the location milestone was already reached
          example: true
        locationMilestoneType:
          $ref: '#/components/schemas/LocationMilestoneType'
        achievementDateTime:
          $ref: '#/components/schemas/ExplainedDateTime'
      description: Provides details of where the shipment is on its journey
    TransportInformationMilestone:
      required:
      - type
      type: object
      properties:
        type:
          type: string
          description: The type of the milestone (constant)
          example: TRANSPORT_INFORMATION_MILESTONE
          enum:
          - TRANSPORT_INFORMATION_MILESTONE
        key:
          type: object
          properties:
            transportInformationMilestoneType:
              type: string
              example: BOOKING_CONFIRMATION
              x-extensible-enum:
              - BOOKING_SUBMISSION
              - BOOKING_MODIFICATION
              - BOOKING_ACKNOWLEDGEMENT
              - BOOKING_CONFIRMATION
              - CANCELLATION
              - EXPORT_CUSTOMS_CLEARANCE_START
              - EXPORT_CUSTOMS_CLEARANCE_COMPLETE
              - IMPORT_CUSTOMS_CLEARANCE_START
              - IMPORT_CUSTOMS_ENTRY_TRANSMISSION
              - IMPORT_CUSTOMS_CLEARANCE_COMPLETE
              - IMPORT_CUSTOMS_DELIVERY_AGENT_NOTIFICATION
              - IMPORT_CUSTOMS_BILLING_INVOICE_AVAILABLE
              - IMPORT_CUSTOMS_DUTIES_PAYMENT
              - CUSTOMS_CLEARANCE_START
              - CUSTOMS_CLEARANCE_COMPLETE
              - CUSTOMS_ENTRY_TRANSMISSION
              - CUSTOMS_DELIVERY_AGENT_NOTIFICATION
              - CUSTOMS_BILLING_INVOICE_AVAILABLE
              - CUSTOMS_DUTIES_PAYMENT
              - CARGO_COMMODITY_UPDATE
              - MAWB_AVAILABLE
              - HAWB_AVAILABLE
              - CARRIER_BOOKING_SUBMISSION
              - CARRIER_BOOKING_CONFIRMATION
              - CARRIER_BOOKING_REJECTION
              - BAL_BL_AVAILABLE
              - POD_AVAILABLE
              - SERVICE_COMPLETE
              - SHIPPING_INSTRUCTIONS_RECEIPT
              - ORIGINAL_TRANSPORT_DOCUMENT_RECEIPT
              - ADVICE_TO_BROKER_OR_CUSTOMER
              - VGM_DATA_VERIFICATION
              - VGM_MESSAGE_TO_PROVIDER
              - VGM_CLOSURE
              - IMPORTER_SECURITY_FILING_BILL_OF_LADING_MATCH
              - IMPORTER_SECURITY_FILING_CONFIRMATION
              - EXPORT_SECURITY_FILING_CONFIRMATION
              - CUSTOMS_MANIFEST_FILING_SUBMISSION
              - CUSTOMS_MANIFEST_FILING_CONFIRMATION
              - STORAGE_EXPORT
              - STORAGE_IMPORT
              - FREIGHT_DOCUMENTS_HANDOVER
              - WAITING_FOR_SHIPPING_APPROVAL
              - SHIPMENT_RELEASE_BY_CUSTOMER
              - MISSING_OR_INCOMPLETE_DOCUMENT
              - DOCUMENT_UPLOAD_BY_CUSTOMER
              - EXPEDITED_RAIL_SERVICE
              - DELIVERY_APPOINTMENT_SUBMISSION
              - LEGISLATION_COMPLIANCE_OK
              - LEGISLATION_COMPLIANCE_REJECTED
        children:
          type: array
          description: Customs information milestones may have additional sub-milestones.
          items:
            $ref: '#/components/schemas/TransportInformationMilestoneChild'
        plannedAchievementDateTime:
          $ref: '#/components/schemas/ExplainedDateTime'
        actualAchievementDateTime:
          $ref: '#/components/schemas/ExplainedDateTime'
    ContainerSearchResponse:
      type: object
      properties:
        containers:
          type: array
          description: The containers that match the search criteria
          items:
            $ref: '#/components/schemas/Container'
    RouteLocation:
      type: object
      properties:
        reached:
          type: boolean
          description: Flag if the location has been reached (i.e. the first location milestone has been reached)
          example: true
        completed:
          type: boolean
          description: Flag if the location has been completed (i.e. all location milestones have been reached)
          example: false
        type:
          $ref: '#/components/schemas/RouteLocationType'
        location:
          $ref: '#/components/schemas/Location'
        locationMilestones:
          type: array
          description: The location milestones that belong to this location
          items:
            $ref: '#/components/schemas/LocationMilestone'
        outgoingVehicle:
          $ref: '#/components/schemas/Vehicle'
      description: The description of a location on the route
    NumberOfPackages:
      type: integer
      description: The total number of packages
      format: int32
      example: 4
    TransportInformationMilestoneChild:
      type: object
      properties:
        key:
          type: string
          example: FDA_HOLD
          x-extensible-enum:
          - CUSTOMS_DOCUMENTATION_FIRST_RECEIVED
          - UNABLE_TO_FILE_CUSTOMS_ENTRY_MISSING_DETAILS_OR_DOCUMENTATION
          - CUSTOMS_ENTRY_DETAILS_AND_DOCUMENTATION_COMPLETE
          - CUSTOMS_ARRIVAL_INFORMATION_CONFIRMED
          - ENTRY_PENDING_INTENSIVE_EXAM
          - ENTRY_DOCUMENTS_REQUIRED
          - MANIFEST_HOLD_CUSTOMS
          - MANIFEST_HOLD_AGRICULTURE
          - AGRICULTURE_MANIFEST_HOLD_REMOVED
          - CUSTOMS_MANIFEST_HOLD_REMOVED
          - CUSTOMS_CARGO_RELEASE_CERTIFIED
          - FDA_HOLD
          - FDA_EXAM_SAMPLE
          - FDA_REVIEW
          - FDA_REJECTED
          - FDA_DO_NOT_DEVAN
          - FDA_MOVE_TO_SECURE_HOLDING_FACILITY
          - FDA_DOCUMENTS_REQUIRED
          - ENTRY_SUMMARY_ACCEPTED
          - PGA_REVIEW
          - PGA_HOLD_INTACT
          - PGA_REJECTED
          - PGA_DO_NOT_DEVAN
          - PGA_MOVE_TO_SECURE_HOLDING_FACILITY
          - PGA_DOCUMENTS_REQUIRED
          - PGA_EXAM_SAMPLE
          - CUSTOMS_ENTRY_DOCUMENTATION_ARCHIVED
          - CUSTOMS_RELEASE_FROM_EXAM
          - FDA_MAY_PROCEED
          - ONE_USG_FULL_GOVERNMENT_AGENCY_RELEASE
          - PGA_MAY_PROCEED
          - CUSTOMS_BILLING_INVOICE_SENT
          - AWAITING_T1_DISCHARGE
          - T1_DISCHARGE
          - OPEN_SUBSEQUENT_T1
          - AWAITING_CONSIGNEES_FEEDBACK
          - NO_FEEDBACK_FROM_CONSIGNEE
          - AWAITING_CONSIGNEES_PAYMENT
          - CLARIFICATION_BY_CUSTOMS_AUTHORITIES
          - WAITING_FOR_SHIPPING_APPROVAL
          - SHIPMENT_RELEASE_BY_CUSTOMER
          - MISSING_OR_INCOMPLETE_DOCUMENT
          - DOCUMENT_UPLOAD_BY_CUSTOMER
        achievementDateTime:
          $ref: '#/components/schemas/ExplainedDateTime'
    Explanation:
      type: object
      properties:
        source:
          type: string
          x-extensible-enum:
          - ETD
          - ETA
          - STATUS
          - TRODO
          - TROAP
          - TADDO
          - TADAP
        statusCode:
          type: string
          description: The KN status code
          example: '2400'
    Problem:
      required:
      - detail
      - title
      type: object
      properties:
        type:
          type: string
          description: 'A URI reference that uniquely identifies the problem type only in the context of the provided API. Opposed to the specification in RFC-7807, it is neither recommended to be dereferenceable and point to a human-readable documentation nor globally unique for the problem type.

            '
          format: uri-reference
          example: /problem/connection-error
          default: about:blank
        title:
          type: string
          description: 'A short summary of the problem type. Written in English and readable for engineers, usually not suited for non technical stakeholders and not localized.

            '
          example: Service Unavailable
        status:
          maximum: 600
          minimum: 100
          type: integer
          description: 'The HTTP status code generated by the origin server for this occurrence of the problem.

            '
          format: int32
          example: 503
        detail:
          type: string
          description: 'A human readable explanation specific to this occurrence of the problem that is helpful to locate the problem and give advice on how to proceed. Written in English and readable for engineers, usually not suited for non technical stakeholders and not localized.

            '
          example: Connection to database timed out
        instance:
          type: string
          description: 'A URI reference that identifies the specific occurrence of the problem, e.g. by adding a fragment identifier or sub-path to the problem type. May be used to locate the root of this problem in the source code.

            '
          format: uri-reference
          example: /problem/connection-error#token-info-read-timed-out
    PartyAddress:
      type: object
      properties:
        name:
          maxItems: 5
          type: array
          description: The name lines of the address
          example:
          - Company abc
          - Division A
          items:
            type: string
        street:
          maxItems: 5
          type: array
          description: The street lines of the address
          example:
          - Mainstreet 10
          - Building ABC
          items:
            type: string
        city:
          maxItems: 5
          type: array
          description: The city lines of the address
          example:
          - New Town
          - District Old Town
          items:
            type: string
        zipCode:
          type: string
          description: The zip code
          example: '21640'
        state:
          $ref: '#/components/schemas/PartyAddressState'
        countryCode:
          type: string
          description: The country code, e.g. DE for Germany
          format: iso-3166-alpha-2
          example: DK
        countryName:
          type: string
          description: The country name
          example: Denmark
        postOfficeBox:
          type: string
          description: The post office box
          example: '342353'
        printAddress:
          maxItems: 5
          type: array
          description: The print address lines
          example:
          - Company abc
          - Mainstreet 10
          - 21640 New Town
          - Denmark
          items:
            type: string
      description: Address information for a party
    PartyAddressState:
      type: object
      properties:
        code:
          type: string
          description: The state code
          format: iso-3166-2
          example: HH
        name:
          type: string
          description: The state name
          example: Hamburg
      description: State information for a party address
    Measurement:
      type: object
      properties:
        value:
          type: number
          description: Measurement value.
          format: double
          example: 12.48
        unit:
          type: string
          description: Measurement unit.
          example: KG
    PartyReference:
      type: object
      properties:
        references:
          type: array
          description: The reference values provided by / linked to particular types of parties
          items:
            $ref: '#/components/schemas/Reference'
    RouteLocationMilestone:
      required:
      - type
      type: object
      properties:
        type:
          type: string
          description: The type of the milestone (constant)
          example: ROUTE_LOCATION_MILESTONE
          enum:
          - ROUTE_LOCATION_MILESTONE
        key:
          type: object
          properties:
            routeLocationType:
              $ref: '#/components/schemas/RouteLocationType'
            locationMilestoneType:
              $ref: '#/components/schemas/LocationMilestoneType'
        city:
          type: string
          description: The city of the RouteLocation this milestone belongs to.
          example: Rostock
        stateCode:
          type: string
          description: The state code of the RouteLocation this milestone belongs to.
          example: MV
        countryCode:
          type: string
          description: The country code of the RouteLocation this milestone belongs to.
          format: iso-3166-alpha-2
          example: DE
        plannedAchievementDateTime:
          $ref: '#/components/schemas/ExplainedDateTime'
        actualAchievementDateTime:
          $ref: '#/components/schemas/ExplainedDateTime'
    CurrentStage:
      type: string
      description: 'The current stage of the shipment.

        '
      example: BOOKED
      x-extensible-enum:
      - BOOKED
      - IN_TRANSIT
      - COMPLETED
      - CANCELLED
    Party:
      type: object
      properties:
        partyType:
          type: string
          description: The type of the party
          example: CU
          x-extensible-enum:
          - AC
          - AS
          - BA
          - CA
          - CN
          - CU
          - CO
          - CS
          - DP
          - EG
          - FF
          - FW
          - H1
          - H2
          - H3
          - H4
          - H5
          - H6
          - H7
          - H8
          - H9
          - HC
          - IG
          - N1
          - N2
          - NI
          - OD
          - PU
          - SH
          - SF
          - ST
          - TP
          - Z5
        address:
          $ref: '#/components/schemas/PartyAddress'
      description: Party (address) information
    RoutingCore:
      type: object
      properties:
        routeLocations:
          type: array
          description: The locations of the routing with subordinate route location milestones
          items:
            $ref: '#/components/schemas/RouteLocation'
        fromLocation:
          $ref: '#/components/schemas/Location'
        toLocation:
          $ref: '#/components/schemas/Location'
      description: The core routing information.
    Location:
      type: object
      properties:
        locationCode:
          type: string
          description: The code of location (UN,IATA,KN or SP code)
          example: CWS
        unLocationCode:
          type: string
          description: The UN (United Nations) code of location if exists
          example: CWS
        countryCode:
          type: string
          description: The country code, e.g. DE for Germany
          format: iso-3166-alpha-2
          example: DK
        countryName:
          type: string
          description: The country name
          example: Denmark
        internationalName:
          type: string
          description: The international name
          example: Hamburg
        freeTextLocation:
          type: string
          description: The name of the location as a freetext input
          example: Hamburg
        stateCode:
          type: string
          description: The state code
          example: GA
        zipCode:
          type: string
          description: The zip code
          example: 30014-4958
    TrackingNumber:
      type: string
      description: The tracking number of the shipment
      example: 1056143482TK
    Parties:
      type: object
      properties:
        shipper:
          $ref: '#/components/schemas/Party'
        consignee:
          $ref: '#/components/schemas/Party'
        mainParties:
          maxItems: 20
          type: array
          description: 'The external customer parties of the shipment. Note: Shipper and consignee are excluded, because they have their dedicated fields.

            '
          items:
            $ref: '#/components/schemas/Party'
        internalParties:
          maxItems: 20
          type: array
          description: The internal (KN) parties of the shipment (e.g. sending and receiving office)
          items:
            $ref: '#/components/schemas/Party'
        thirdParties:
          maxItems: 20
          type: array
          description: The third-party parties of the shipment (e.g. pickup, delivery)
          items:
            $ref: '#/components/schemas/Party'
      description: The parties associated with the shipment
    Routing:
      type: object
      properties:
        core:
          $ref: '#/components/schemas/RoutingCore'
        milestoneInfo:
          $ref: '#/components/schemas/MilestoneInfo'
      description: The routing of the shipment
    TrackingContainerResponse:
      type: object
      properties:
        containerNumber:
          type: string
          description: The number of the container
          example: FCSP1910
        containerSequenceNumber:
          type: integer
          description: The current sequence number of the container, starting with 1
          format: int64
          example: 1
        containerType:
          type: string
          description: The type of the container
          example: 20GE
        containerCreationDateTime:
          type: string
          description: The creation date of the container in the KN system
          format: date-time
          example: '2024-11-14T09:28:11Z'
        shipmentInfo:
          type: object
          properties:
            shipmentId:
              type: integer
              description: The unique shipment ID
              format: int64
              example: 123456789
            trackingNumber:
              $ref: '#/components/schemas/TrackingNumber'
            serviceType:
              type: string
              description: The service type of the parent shipment
              example: FCL
            incoterm:
              $ref: '#/components/schemas/Incoterm'
            movementType:
              type: string
              description: The movement type of the sea shipment (e.g. FCL port-to-port)
              example: FCL
          description: Shipment information from the parent shipment
        routing:
          $ref: '#/components/schemas/Routing'
        parties:
          $ref: '#/components/schemas/Parties'
        freightInfo:
          type: object
          properties:
            volume:
              $ref: '#/components/schemas/Measurement'
            weight:
              $ref: '#/components/schemas/Measurement'
            hasDangerousGoods:
              type: boolean
              description: Flag if the container contains dangerous goods
              example: false
            cargoInfo:
              type: object
              properties:
                numberOfPackages:
                  $ref: '#/components/schemas/NumberOfPackages'
                descriptionOfGoods:
                  type: array
                  description: The description of goods of the container
                  example:
                  - Goods
                  - More goods
                  items:
                    type: string
                marksAndNumbers:
                  type: array
                  description: Container specific marks and numbers
                  example:
                  - mark
                  - number
                  items:
                    type: string
              description: Cargo information specific to this container
          description: Freight information specific to this container
        containerReferences:
          type: object
          properties:
            sealNumbers:
              type: array
              description: Seal numbers of the container
              example:
              - '343466'
              - FCSP43434H
              items:
                type: string
            partyReferences:
              type: array
              description: Container-related reference numbers and codes
              items:
                $ref: '#/components/schemas/PartyReference'
          description: Container-specific references and seal numbers
        links:
          type: object
          properties:
            shipment:
              type: string
              description: Link to the parent shipment details
              example: https://gateway.api.kuehne-nagel.com/track-trace/shipment/v2/shipments/shipment-id:123
            lclShipments:
              type: array
              description: Links to the LCL shipments associated with this container
              example:
              - https://gateway.api.kuehne-nagel.com/track-trace/shipment/v2/shipments/tracking-number%3a123TR456
              items:
                type: string
          description: Links to related resources
      description: Detailed tracking information for a specific container within a shipment
    Container:
      type: object
      properties:
        shipmentId:
          $ref: '#/components/schemas/ShipmentId'
        trackingNumber:
          $ref: '#/components/schemas/TrackingNumber'
        containerSequenceNumber:
          type: integer
          description: The sequence number of the container within the shipment
          format: int64
          example: 1
        containerNumber:
          type: string
          description: The number of the container
          example: CMAU1234567
        serviceType:
          type: string
          description: The service type of the shipment
          example: FCL
        currentStage:
          $ref: '#/components/schemas/CurrentStage'
        containerCreationDateTime:
          type: string
          description: The creation date of the container in the KN system
          format: date-time
          example: '2024-11-14T09:28:11Z'
        self:
          type: string
          description: Link to the container details endpoint
          example: https://gateway.api.kuehne-nagel.com/track-trace/shipment/v2/shipments/shipment-id:19101910/containers/1
      description: Summary information for a container in search results
    MilestoneInfo:
      type: object
      properties:
        currentStage:
          $ref: '#/components/schemas/CurrentStage'
        currentMilestone:
          description: The current (latest achieved) milestone of the shipment.
          discriminator:
            propertyName: type
            mapping:
              TRANSPORT_INFORMATION_MILESTONE: '#/components/schemas/TransportInformationMilestone'
              ROUTE_LOCATION_MILESTONE: '#/components/schemas/RouteLocationMilestone'
          oneOf:
          - $ref: '#/components/schemas/TransportInformationMilestone'
          - $ref: '#/components/schemas/RouteLocationMilestone'
        completionMilestone:
          description: The milestone which is responsible for setting shipments stage to completed.
          discriminator:
            propertyName: type
            mapping:
              TRANSPORT_INFORMATION_MILESTONE: '#/components/schemas/TransportInformationMilestone'
              ROUTE_LOCATION_MILESTONE: '#/components/schemas/RouteLocationMilestone'
          oneOf:
          - $ref: '#/components/schemas/TransportInformationMilestone'
          - $ref: '#/components/schemas/RouteLocationMilestone'
        milestoneDates:
          type: array
          description: List of all milestones of the shipment which have at least a planned or actual achievement datetime.
          items:
            discriminator:
              propertyName: type
              mapping:
                TRANSPORT_INFORMATION_MILESTONE: '#/components/schemas/TransportInformationMilestone'
                ROUTE_LOCATION_MILESTONE: '#/components/schemas/RouteLocationMilestone'
            oneOf:
            - $ref: '#/components/schemas/TransportInformationMilestone'
            - $ref: '#/components/schemas/RouteLocationMilestone'
      description: Information about the milestones of the shipment
    Incoterm:
      type: object
      properties:
        code:
          type: string
          description: The code of the incoterm
          example: CFR
        location:
          type: string
          description: Incoterm location
          example: Amsterdam
      description: Provides details on shipment delivery terms.
    Reference:
      type: object
      properties:
        partyType:
          type: string
          description: The partyType that belongs to this reference
          example: CU
        referenceType:
          type: string
          description: The type of the reference
          example: 'ON'
        referenceName:
          type: string
          description: The human-readable name of the reference type
          example: Purchase Order Number
        referenceValues:
          type: array
          description: The values of the reference
          example:
          - value
          - value2
          - value3
          items:
            type: string
  responses:
    default:
      description: An error occurred - please see the HTTP status code and the problem object for more information.
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
  securitySchemes:
    default:
      type: oauth2
      flows:
        implicit:
          authorizationUrl: https://internal.api.kuehne-nagel.com/authorize
          scopes: {}
    api_key:
      type: apiKey
      name: apikey
      in: header