Loop shipment-jobs API

The shipment-jobs API from Loop — 2 operation(s) for shipment-jobs.

OpenAPI Specification

loop-shipment-jobs-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Loop Onboarding artifacts shipment-jobs API
  description: HTTP REST API for Loop Payments Onboarding.
  version: '1.0'
  contact: {}
servers:
- url: https://onboarding.api.loop.com
security:
- bearerAuth: []
tags:
- name: shipment-jobs
paths:
  /v1/shipment-jobs:
    get:
      description: Returns a list of shipment jobs.
      operationId: ShipmentJobs_list
      parameters:
      - name: expand
        required: false
        in: query
        schema:
          type: array
          items:
            type: string
            enum:
            - addresses
            - artifacts
            - billingStatus
            - jobTypeInfo.address
            - jobTypeInfo.organizations
            - jobTypeInfo.organizations.tags
            - organizations
            - organizations.tags
            - payableInvoices
            - payableInvoices.artifacts
            - payableInvoices.exceptions
            - payableInvoices.organizations
            - payableInvoices.organizations.tags
            - payableInvoices.shipmentJobs
            - payableInvoices.shipmentJobs.addresses
            - payableInvoices.shipmentJobs.artifacts
            - payableInvoices.shipmentJobs.jobTypeInfo.address
            - payableInvoices.shipmentJobs.jobTypeInfo.organizations
            - payableInvoices.shipmentJobs.jobTypeInfo.organizations.tags
            - payableInvoices.shipmentJobs.organizations
            - payableInvoices.shipmentJobs.organizations.tags
            - payableInvoices.shipmentJobs.shipment
            - payableInvoices.shipmentJobs.shipment.exceptions
            - payableInvoices.shipmentJobs.tags
            - payableInvoices.tags
            - receivableInvoices
            - receivableInvoices.lineItems.invoiceDeliveryMethod
            - receivableInvoices.shipments
            - receivableInvoices.shipments.exceptions
            - receivableInvoices.shipments.shipmentJobs
            - receivableInvoices.shipments.shipmentJobs.addresses
            - receivableInvoices.shipments.shipmentJobs.artifacts
            - receivableInvoices.shipments.shipmentJobs.jobTypeInfo.address
            - receivableInvoices.shipments.shipmentJobs.jobTypeInfo.organizations
            - receivableInvoices.shipments.shipmentJobs.jobTypeInfo.organizations.tags
            - receivableInvoices.shipments.shipmentJobs.organizations
            - receivableInvoices.shipments.shipmentJobs.organizations.tags
            - receivableInvoices.shipments.shipmentJobs.tags
            - receivableInvoices.supportingArtifacts
            - shipment
            - shipment.exceptions
            - tags
            - review
            - review.latestRateEngineRun
            - review.latestRateEngineRun.rateItems
            - review.latestRateEngineRun.rateItems.tags
      - name: jobType
        required: false
        in: query
        description: A set of job types to filter to.
        schema:
          type: array
          items:
            type: string
            enum:
            - AIR
            - CARTAGE
            - COURIER
            - CUSTOMS
            - DRAYAGE
            - FTL
            - GENERIC_V1
            - INTERMODAL
            - LTL
            - OCEAN
            - ORIGIN_HANDLING
            - RAIL
            - SEA_AIR
            - TONU
            - TO_BE_DETERMINED
            - UNKNOWN
            - WAREHOUSING
      - name: externalIdentifier
        required: false
        in: query
        schema:
          type: string
      - name: revisedAfter
        required: false
        in: query
        description: Filter to only results that have been revised after this timestamp. This can be a UTC timestamp or a floating date. If a floating date is passed, the timestamp used will be the beginning (midnight UTC) of the date.
        schema:
          format: utc-timestamp
          example: '2020-01-01T00:00:00.000Z'
          type: string
      - name: revisedBefore
        required: false
        in: query
        description: Filter to only results that have been revised before this timestamp. This can be a UTC timestamp or a floating date. If a floating date is passed, the timestamp used will be the beginning (midnight UTC) of the date.
        schema:
          format: utc-timestamp
          example: '2020-01-01T00:00:00.000Z'
          type: string
      - name: first
        required: false
        in: query
        description: The number of results to return. Default value is 10. Any custom value specified must lie between 0 and 100, inclusive.
        schema:
          type: number
      - name: after
        required: false
        in: query
        description: The cursor to start returning results from
        schema:
          type: string
      - name: shipmentQid
        required: false
        in: query
        description: QID of the shipment
        schema:
          format: qid
          example: qid::shipment:0ca6f700-4137-4d09-b44a-43bb8d7900c5
          type: string
      - name: artifactQid
        required: false
        in: query
        description: QID of the artifact
        schema:
          format: qid
          example: qid::artifact:0ca6f700-4137-4d09-b44a-43bb8d7900c5
          type: string
      responses:
        '200':
          description: The paginated response
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/ShipmentJob'
                  pageInfo:
                    type: object
                    properties:
                      hasPreviousPage:
                        type: boolean
                      hasNextPage:
                        type: boolean
                      startCursor:
                        type: string
                      endCursor:
                        type: string
      summary: List shipment jobs
      tags:
      - shipment-jobs
  /v1/shipment-jobs/{qid}:
    get:
      description: Returns the shipment job with the specified QID
      operationId: ShipmentJobs_get
      parameters:
      - name: expand
        required: false
        in: query
        schema:
          type: array
          items:
            type: string
            enum:
            - addresses
            - artifacts
            - billingStatus
            - jobTypeInfo.address
            - jobTypeInfo.organizations
            - jobTypeInfo.organizations.tags
            - organizations
            - organizations.tags
            - payableInvoices
            - payableInvoices.artifacts
            - payableInvoices.exceptions
            - payableInvoices.organizations
            - payableInvoices.organizations.tags
            - payableInvoices.shipmentJobs
            - payableInvoices.shipmentJobs.addresses
            - payableInvoices.shipmentJobs.artifacts
            - payableInvoices.shipmentJobs.jobTypeInfo.address
            - payableInvoices.shipmentJobs.jobTypeInfo.organizations
            - payableInvoices.shipmentJobs.jobTypeInfo.organizations.tags
            - payableInvoices.shipmentJobs.organizations
            - payableInvoices.shipmentJobs.organizations.tags
            - payableInvoices.shipmentJobs.shipment
            - payableInvoices.shipmentJobs.shipment.exceptions
            - payableInvoices.shipmentJobs.tags
            - payableInvoices.tags
            - receivableInvoices
            - receivableInvoices.lineItems.invoiceDeliveryMethod
            - receivableInvoices.shipments
            - receivableInvoices.shipments.exceptions
            - receivableInvoices.shipments.shipmentJobs
            - receivableInvoices.shipments.shipmentJobs.addresses
            - receivableInvoices.shipments.shipmentJobs.artifacts
            - receivableInvoices.shipments.shipmentJobs.jobTypeInfo.address
            - receivableInvoices.shipments.shipmentJobs.jobTypeInfo.organizations
            - receivableInvoices.shipments.shipmentJobs.jobTypeInfo.organizations.tags
            - receivableInvoices.shipments.shipmentJobs.organizations
            - receivableInvoices.shipments.shipmentJobs.organizations.tags
            - receivableInvoices.shipments.shipmentJobs.tags
            - receivableInvoices.supportingArtifacts
            - shipment
            - shipment.exceptions
            - tags
            - review
            - review.latestRateEngineRun
            - review.latestRateEngineRun.rateItems
            - review.latestRateEngineRun.rateItems.tags
      - name: qid
        required: true
        in: path
        description: QID of the entity to retrieve
        schema:
          format: qid
          example: qid::shipment_job:0ca6f700-4137-4d09-b44a-43bb8d7900c5
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ShipmentJob'
        '400':
          description: Invalid QID
        '404':
          description: Shipment job not found
      summary: Retrieve a shipment job
      tags:
      - shipment-jobs
components:
  schemas:
    Weight:
      type: object
      properties:
        amount:
          type: string
          format: decimal-string
          example: '1.5'
        unit:
          type: string
          enum:
          - KILOGRAM
          - OUNCE
          - POUND
          - SHORT_TON
          example: POUND
      required:
      - amount
      - unit
    ShipmentJobFtlStop:
      type: object
      properties:
        addressName:
          type: string
          description: The name associated with this address on the stop.
          nullable: true
        addressQid:
          type: string
          description: Qualified unique identifier.
          example: qid::address:0ca6f700-4137-4d09-b44a-43bb8d7900c4
          format: qid
          nullable: true
        address:
          description: The address of this stop. This is an expansion field. To include this field, you must include `address` in the query parameters.
          allOf:
          - $ref: '#/components/schemas/Address'
        date:
          type: string
          format: floating-date
          example: '2023-01-01'
          nullable: true
        organizationQid:
          type: string
          description: Qualified unique identifier.
          example: qid::organization:0ca6f700-4137-4d09-b44a-43bb8d7900c4
          format: qid
          nullable: true
        organization:
          description: The organization associated with this stop. This is an expansion field. To include this field, you must include `organization` in the query parameters.
          allOf:
          - $ref: '#/components/schemas/OrganizationExpanded'
        stopType:
          type: string
          enum:
          - DROP_OFF
          - PICK_UP
          example: DROP_OFF
        articlesSummary:
          $ref: '#/components/schemas/ShipmentJobArticlesSummary'
        articles:
          type: array
          items:
            $ref: '#/components/schemas/ShipmentJobFtlStopArticle'
        referenceNumbers:
          description: The reference numbers associated with this stop.
          nullable: false
          type: array
          items:
            $ref: '#/components/schemas/ShipmentJobFtlStopReferenceNumber'
      required:
      - addressName
      - addressQid
      - date
      - organizationQid
      - stopType
      - articlesSummary
      - articles
      - referenceNumbers
    ShipmentJobFtlStopReferenceNumber:
      type: object
      properties:
        key:
          type: string
          description: The type of reference number associated with this stop.
          enum:
          - APPOINTMENT_REFERENCE_NUMBER
          - BILLING_ACCOUNT_NUMBER
          - BOL_NUMBER
          - CARRIER_IDENTIFIER
          - CONSOLIDATED_INVOICE_NUMBER
          - CONTAINER_NUMBER
          - CUSTOMER_REFERENCE_NUMBER
          - DELIVERY_NUMBER
          - DESTINATION_LOCATION_NUMBER
          - DISPLAY_IDENTIFIER
          - EXTERNAL_IDENTIFIER
          - HAWB_NUMBER
          - HBL_NUMBER
          - INVOICE_NUMBER
          - MAWB_NUMBER
          - MBL_NUMBER
          - ORIGIN_LOCATION_NUMBER
          - PICKUP_CONFIRMATION_NUMBER
          - PICKUP_REFERENCE_NUMBER
          - PO_NUMBER
          - PRO_NUMBER
          - RAIL_WAYBILL_NUMBER
          - SALES_ORDER_NUMBER
          - SEA_WAYBILL_NUMBER
          - TRACKING_NUMBER
          - TRAILER_NUMBER
          - UNKNOWN
          example: PO_NUMBER
          nullable: false
        value:
          type: string
          description: The value of the reference number associated with this stop.
          example: '123'
          nullable: false
      required:
      - key
      - value
    PayableInvoiceReferenceNumber:
      type: object
      properties:
        key:
          type: string
          enum:
          - BILLING_ACCOUNT_NUMBER
          - BOL_NUMBER
          - CONSOLIDATED_INVOICE_NUMBER
          - CONTAINER_NUMBER
          - CUSTOMER_REFERENCE_NUMBER
          - HAWB_NUMBER
          - HBL_NUMBER
          - INVOICE_NUMBER
          - MAWB_NUMBER
          - MBL_NUMBER
          - PO_NUMBER
          - PRO_NUMBER
          - RAIL_WAYBILL_NUMBER
          - SALES_ORDER_NUMBER
          - SEA_WAYBILL_NUMBER
          - UNKNOWN
          example: PO_NUMBER
          nullable: false
        value:
          type: string
          description: The value of the reference number.
          example: '123'
          nullable: false
        label:
          type: string
          description: The raw associated label for the reference number if present.
          example: po
      required:
      - key
      - value
    ShipmentJobLtlInfoArticle:
      type: object
      properties:
        description:
          type: object
          nullable: true
        dimensions:
          example:
            height: '2.8'
            length: '12.1'
            width: '1.5'
            unit: INCH
          nullable: true
          type: object
          allOf:
          - $ref: '#/components/schemas/Dimensions'
        grossWeight:
          example:
            amount: '20.2'
            unit: POUND
          nullable: true
          type: object
          allOf:
          - $ref: '#/components/schemas/Weight'
        nmfcClass:
          allOf:
          - $ref: '#/components/schemas/NmfcClass'
        nmfcCode:
          type: string
          nullable: true
          description: The NMFC code string associated with this article.
          example: '87700'
        packageCount:
          nullable: true
          type: object
          allOf:
          - $ref: '#/components/schemas/PackageCount'
        handlingUnit:
          nullable: true
          type: object
          allOf:
          - $ref: '#/components/schemas/HandlingUnit'
      required:
      - description
      - dimensions
      - grossWeight
      - nmfcClass
      - nmfcCode
      - packageCount
      - handlingUnit
    RateEngineRunRateItemExpanded:
      type: object
      properties:
        qid:
          type: string
          description: Qualified unique identifier.
          example: qid::rate_engine_run_rate_item:0ca6f700-4137-4d09-b44a-43bb8d7900c4
          format: qid
        code:
          type: string
          example: '660'
          description: The client provided code for this charge.
          nullable: true
        description:
          type: string
          example: California Fuel Surcharge
          description: A description of the charge.
          nullable: true
        classification:
          type: string
          enum:
          - LINEHAUL
          - FUEL_SURCHARGE
          - OTHER
          example: FUEL_SURCHARGE
          description: The classification of the charge.
        tags:
          type: object
          description: The rate engine rate item tags. This is an expansion field. To include this field, you must include `tags` in the query parameters.
        cost:
          example:
            amount: '3.50'
            currencyCode: USD
          description: The cost assigned to the rate item.
          allOf:
          - $ref: '#/components/schemas/Money'
      required:
      - qid
      - code
      - description
      - classification
      - cost
    ShipmentJobSeaAirInfo:
      type: object
      properties:
        forwarderOrganizationQid:
          type: string
          description: Qualified unique identifier.
          example: qid::organization:0ca6f700-4137-4d09-b44a-43bb8d7900c4
          format: qid
          nullable: true
        forwarderOrganization:
          description: The forwarder associated with this job.
          nullable: true
          type: object
          allOf:
          - $ref: '#/components/schemas/OrganizationExpanded'
        airCarrierOrganizationQid:
          type: string
          description: Qualified unique identifier.
          example: qid::organization:0ca6f700-4137-4d09-b44a-43bb8d7900c4
          format: qid
          nullable: true
        airCarrierOrganization:
          description: The air carrier associated with this job.
          nullable: true
          type: object
          allOf:
          - $ref: '#/components/schemas/OrganizationExpanded'
        oceanCarrierOrganizationQid:
          type: string
          description: Qualified unique identifier.
          example: qid::organization:0ca6f700-4137-4d09-b44a-43bb8d7900c4
          format: qid
          nullable: true
        oceanCarrierOrganization:
          description: The ocean carrier associated with this job.
          nullable: true
          type: object
          allOf:
          - $ref: '#/components/schemas/OrganizationExpanded'
        oceanConsolidationType:
          type: string
          description: The ocean consolidation type
          enum:
          - FCL
          - LCL
          nullable: true
        addresses:
          description: The addresses associated with this sea-air shipment
          type: array
          items:
            $ref: '#/components/schemas/ShipmentJobSeaAirAddress'
        containers:
          description: The containers used for this sea-air shipment
          type: array
          items:
            $ref: '#/components/schemas/ShipmentJobSeaAirContainer'
        chargeableWeight:
          nullable: true
          type: object
          allOf:
          - $ref: '#/components/schemas/Weight'
        totalVolume:
          nullable: true
          type: object
          allOf:
          - $ref: '#/components/schemas/Volume'
        freightChargeTerms:
          type: string
          description: The freight charge terms
          enum:
          - COLLECT
          - PREPAID
          - THIRD_PARTY
          - UNKNOWN
          example: PREPAID
      required:
      - forwarderOrganizationQid
      - forwarderOrganization
      - airCarrierOrganizationQid
      - airCarrierOrganization
      - oceanCarrierOrganizationQid
      - oceanCarrierOrganization
      - oceanConsolidationType
      - addresses
      - containers
      - chargeableWeight
      - totalVolume
      - freightChargeTerms
    ArtifactExpanded:
      type: object
      properties:
        qid:
          type: string
          description: Qualified unique identifier.
          example: qid::artifact:0ca6f700-4137-4d09-b44a-43bb8d7900c4
          format: qid
        artifactType:
          type: string
          description: Domain-specific type of the artifact.
          enum:
          - ACCOUNT_STATEMENT
          - BILL_OF_LADING
          - CUSTOMER_RATE_CONFIRMATION
          - DELIVERY_ORDER
          - DELIVERY_RECEIPT
          - EXTERNAL_SHIPMENT_NOTE
          - INVOICE
          - IN_OUT_GATE
          - LUMPER_RECEIPT
          - OTHER
          - PACKET
          - PACKING_LIST
          - RATE_CONFIRMATION
          - SCALE_TICKET
          - SHIPMENT_RECORD
          - UNKNOWN
          - WASHOUT_RECEIPT
          - WEIGHT_INSPECTION
          - WORK_ORDER
          example: INVOICE
      required:
      - qid
      - artifactType
    User:
      type: object
      properties:
        firstName:
          type: string
        lastName:
          type: string
        email:
          type: string
      required:
      - firstName
      - lastName
      - email
    ShipmentJobAirDate:
      type: object
      properties:
        qid:
          type: string
          description: Qualified unique identifier.
          example: qid::shipment_job_air_date:0ca6f700-4137-4d09-b44a-43bb8d7900c4
          format: qid
          nullable: true
        dateType:
          type: string
          description: The type of date
          enum:
          - EXECUTED
          - FLIGHT_DEPARTURE
          - FLIGHT_ARRIVAL
          - ESTIMATED_ARRIVAL
          - DELIVERY
          example: FLIGHT_DEPARTURE
        date:
          type: string
          format: floating-date
          example: '2023-01-01'
        iataCode:
          type: string
          description: The IATA airport code for this date if applicable (e.g. departure airport).
          nullable: true
      required:
      - qid
      - dateType
      - date
      - iataCode
    HandlingUnit:
      type: object
      properties:
        amount:
          type: integer
          example: 8
        unit:
          type: string
          enum:
          - BARREL
          - CARLOAD
          - CONTAINER
          - CRATE
          - DRUM
          - EACH
          - PALLET
          - RACK
          - SKID
          - TOTE
          - TRAILER
          example: PALLET
      required:
      - amount
      - unit
    Volume:
      type: object
      properties:
        value:
          type: string
          format: decimal-string
          example: '1.5'
        unit:
          type: string
          enum:
          - CUBIC_CENTIMETER
          - CUBIC_FEET
          - CUBIC_INCH
          - CUBIC_METER
          example: CUBIC_FEET
      required:
      - value
      - unit
    FreightChargeTerms:
      type: string
      enum:
      - COLLECT
      - PREPAID
      - THIRD_PARTY
      - UNKNOWN
    ShipmentJobArtifactExpanded:
      type: object
      properties:
        qid:
          type: string
          description: Qualified unique identifier.
          example: qid::artifact:0ca6f700-4137-4d09-b44a-43bb8d7900c4
          format: qid
        artifactType:
          type: string
          description: Domain-specific type of the artifact.
          enum:
          - ACCOUNT_STATEMENT
          - BILL_OF_LADING
          - CUSTOMER_RATE_CONFIRMATION
          - DELIVERY_ORDER
          - DELIVERY_RECEIPT
          - EXTERNAL_SHIPMENT_NOTE
          - INVOICE
          - IN_OUT_GATE
          - LUMPER_RECEIPT
          - OTHER
          - PACKET
          - PACKING_LIST
          - RATE_CONFIRMATION
          - SCALE_TICKET
          - SHIPMENT_RECORD
          - UNKNOWN
          - WASHOUT_RECEIPT
          - WEIGHT_INSPECTION
          - WORK_ORDER
          example: INVOICE
        assessedTypes:
          type: array
          description: The artifact's assessed types
          example:
          - PROOF_OF_DELIVERY
          items:
            type: string
            enum:
            - PROOF_OF_DELIVERY
        receivedAt:
          type: string
          format: utc-timestamp
          example: '2023-01-01T00:00:00.000Z'
          description: When the artifact was first ingested into Loop.
      required:
      - qid
      - artifactType
      - assessedTypes
      - receivedAt
    ShipmentJobArticlesSummary:
      type: object
      properties:
        totalGrossWeight:
          example:
            amount: '20.2'
            unit: POUND
          nullable: true
          type: object
          allOf:
          - $ref: '#/components/schemas/Weight'
        totalPackageCount:
          nullable: true
          type: object
          allOf:
          - $ref: '#/components/schemas/PackageCount'
        totalHandlingUnit:
          nullable: true
          type: object
          allOf:
          - $ref: '#/components/schemas/HandlingUnit'
      required:
      - totalGrossWeight
      - totalPackageCount
      - totalHandlingUnit
    RateEngineRunExpanded:
      type: object
      properties:
        rateEngineKey:
          type: string
          description: The rate engine key.
          enum:
          - API_LOOP_SHIPMENT_RECORD_V1
          - MANUAL
          example: MANUAL
        rateItems:
          description: The rate items for the rate engine run. This is an expansion field. To include this field, you must include `rateItems` in the query parameters.
          allOf:
          - $ref: '#/components/schemas/RateEngineRunRateItemExpanded'
      required:
      - rateEngineKey
    Dimensions:
      type: object
      properties:
        height:
          type: string
          format: decimal-string
          example: '1.5'
        length:
          type: string
          format: decimal-string
          example: '1.5'
        unit:
          type: string
          enum:
          - INCH
          - CENTIMETER
          example: INCH
        width:
          type: string
          format: decimal-string
          example: '1.5'
      required:
      - height
      - length
      - unit
      - width
    PackageCountInput:
      type: object
      properties:
        amount:
          type: integer
          example: 8
        unit:
          type: string
          enum:
          - BAG
          - BALE
          - BOX
          - BUNDLE
          - CARTON
          - CASE
          - COIL
          - EACH
          - PACKAGE
          - PAIL
          - PIECE
          - ROLL
          - SQUARE
          - TOTE
          - TUBE
          example: CARTON
      required:
      - amount
      - unit
    BusinessException:
      type: object
      properties:
        qid:
          type: string
          description: Qualified unique identifier.
          example: qid::business_exception:0ca6f700-4137-4d09-b44a-43bb8d7900c4
          format: qid
        label:
          type: string
          description: The description of the business exception
          nullable: false
          example: Variance over threshold
        resolvedAt:
          type: string
          format: utc-timestamp
          example: '2023-01-01T00:00:00.000Z'
          description: If resolved, the time the exception was resolved. If the exception was resolved and re-opened, this will be null.
          nullable: true
        targetQid:
          type: string
          description: Qualified unique identifier of the business exception's target entity.
          format: qid
          nullable: false
          example: qid::payable_invoice:0ca6f700-4137-4d09-b44a-43bb8d7900c4
        note:
          type: string
          description: The note on the business exception
          nullable: true
      required:
      - qid
      - label
      - resolvedAt
      - targetQid
    ShipmentJobUnknownInfo:
      type: object
      properties:
        vendorOrganizationQid:
          type: string
          description: Qualified unique identifier.
          example: qid::organization:0ca6f700-4137-4d09-b44a-43bb8d7900c4
          format: qid
        vendorOrganization:
          description: The vendor associated with this job. This is an expansion field. To include this field, you must include `organization` in the query parameters.
          allOf:
          - $ref: '#/components/schemas/OrganizationExpanded'
      required:
      - vendorOrganizationQid
    ShipmentJobFtlStopArticle:
      type: object
      properties:
        description:
          type: string
          nullable: true
        dimensions:
          example:
            height: '2.8'
            length: '12.1'
            width: '1.5'
            unit: INCH
          nullable: true
          type: object
          allOf:
          - $ref: '#/components/schemas/Dimensions'
        grossWeight:
          example:
            amount: '20.2'
            unit: POUND
          nullable: true
          type: object
          allOf:
          - $ref: '#/components/schemas/Weight'
        nmfcClass:
          allOf:
          - $ref: '#/components/schemas/NmfcClass'
        nmfcCode:
          type: string
          nullable: true
          description: The raw NMFC code string associated with this article.
          example: '87700'
        packageCount:
          nullable: true
          type: object
          allOf:
          - $ref: '#/components/schemas/PackageCountInput'
        handlingUnit:
          nullable: true
          type: object
          allOf:
          - $ref: '#/components/schemas/HandlingUnit'
      required:
      - description
      - dimensions
      - grossWeight
      - nmfcClass
      - nmfcCode
      - packageCount
      - handlingUnit
    ReceivableInvoiceVoidReasonType:
      type: string
      enum:
      - INTERNAL_PRICING_ERROR
      - BILLED_TO_BILLED_FROM_ERROR
      - CURRENCY_ERROR
      - WRITE_OFF
      - OTHER
    ShipmentReferenceNumber:
      type: object
      properties:
        key:
          type: string
          enum:
          - APPOINTMENT_REFERENCE_NUMBER
          - BILLING_ACCOUNT_NUMBER
          - BOL_NUMBER
          - CARRIER_IDENTIFIER
          - CONSOLIDATED_INVOICE_NUMBER
          - CONTAINER_NUMBER
          - CUSTOMER_REFERENCE_NUMBER
          - DELIVERY_NUMBER
          - DESTINATION_LOCATION_NUMBER
          - DISPLAY_IDENTIFIER
          - EXTERNAL_IDENTIFIER
          - HAWB_NUMBER
          - HBL_NUMBER
          - INVOICE_NUMBER
          - MAWB_NUMBER
          - MBL_NUMBER
          - ORIGIN_LOCATION_NUMBER
          - PICKUP_CONFIRMATION_NUMBER
          - PICKUP_REFERENCE_NUMBER
          - PO_NUMBER
          - PRO_NUMBER
          - RAIL_WAYBILL_NUMBER
          - SALES_ORDER_NUMBER
          - SEA_WAYBILL_NUMBER
          - TRACKING_NUMBER
          - TRAILER_NUMBER
          - UNKNOWN
          example: PO_NUMBER
          nullable: false
        value:
          type: string
          description: The value of the reference number.
          example: '123'
          nullable: false
        label:
          type: string
          description: The raw associated label for the reference number if present.
          example: po
      required:
      - key
      - value
    ShipmentJobAirInfo:
      type: object
      properties:
        carrierOrganizationName:
          type: string
          description: The name of the carrier
          nullable: true
        carrierOrganizationQid:
          type: string
          description: Qualified unique identifier.
          example: qid::organization:0ca6f700-4137-4d09-b44a-43bb8d7900c4
          format: qid
          nullable: true
        carrierOrganization:
          description: The carrier associated with this job. This is an expansion field. To include this field, you must include `organization` in the query parameters.
          nullable: true
          type: object
          allOf:
          - $ref: '#/components/schemas/OrganizationExpanded'
        forwarderOrganizationName:
          type: string
          description: The name of the forwarder
          nullable: true
        forwarderOrganizationQid:
          type: string
          description: Qualified unique identifier.
          example: qid::organization:0ca6f700-4137-4d09-b44a-43bb8d7900c4
          format: qid
          nullable: true
        forwarderOrganization:
          description: The forwarder associated with this job. This is an expansion field. To include this field, you must include `organization` in the query parameters.
          nullable: true
          type: object
          allOf:
          - $ref: '#/components/schemas/OrganizationExpanded'
        addresses:
          description: The addresses associated with this air shipment
          type: array
          items:
            $ref: '#/components/schemas/ShipmentJobAirAddress'
        routeLocations:
          type: array
          description: The route locations for this air shipment
          items:
            oneOf:
            - $ref: '#/components/schemas/ShipmentJobAirRouteAirportLocation'
            - $ref: '#/components/schemas/ShipmentJobAirRouteUnlocodeLocation'
        chargeableWeight:
          nullable: true
          type: object
          allOf:
          - $ref: '#/components/schemas/Weight'
        grossWeight:
          nullable: true
          type: object
         

# --- truncated at 32 KB (86 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/loop/refs/heads/main/openapi/loop-shipment-jobs-api-openapi.yml