Loop payable-invoice-reviews API

The payable-invoice-reviews API from Loop — 2 operation(s) for payable-invoice-reviews.

OpenAPI Specification

loop-payable-invoice-reviews-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Loop Onboarding artifacts payable-invoice-reviews API
  description: HTTP REST API for Loop Payments Onboarding.
  version: '1.0'
  contact: {}
servers:
- url: https://onboarding.api.loop.com
security:
- bearerAuth: []
tags:
- name: payable-invoice-reviews
paths:
  /v1/payable-invoice-reviews:
    get:
      description: Returns a list of payable invoice reviews
      operationId: PayableInvoiceReview_list
      parameters:
      - name: expand
        required: false
        in: query
        schema:
          type: array
          items:
            type: string
            enum:
            - exceptions
            - expandRevisionCreatedAt
            - lastApprovedBy
            - lineItemGroupReviews.lineItemGroup
            - lineItemGroupReviews.rateEngineRateItem
            - lineItemGroupReviews.rateEngineRateItem.tags
            - lineItemGroupReviews.rateEngineRateItems
            - lineItemGroupReviews.rateEngineRateItems.tags
            - payableAllocations
            - payableAllocationReviews
            - payableInvoice
            - payableInvoice.exceptions
            - payableInvoice.artifacts
            - payableInvoice.organizations
            - payableInvoice.organizations.tags
            - payableInvoice.shipmentJobs
            - payableInvoice.shipmentJobs.addresses
            - payableInvoice.shipmentJobs.artifacts
            - payableInvoice.shipmentJobs.jobTypeInfo.address
            - payableInvoice.shipmentJobs.jobTypeInfo.organizations
            - payableInvoice.shipmentJobs.jobTypeInfo.organizations.tags
            - payableInvoice.shipmentJobs.organizations
            - payableInvoice.shipmentJobs.organizations.tags
            - payableInvoice.shipmentJobs.tags
            - payableInvoice.shipmentJobs.shipment
            - payableInvoice.shipmentJobs.shipment.exceptions
            - payableInvoice.tags
      - name: expandRevisedBefore
        required: false
        in: query
        description: Filter to only results that have been revised (including any possible field expansion) 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: expandRevisedAfter
        required: false
        in: query
        description: Filter to only results that have been revised (including any possible field expansion) 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: 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
      responses:
        '200':
          description: The paginated response
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/PayableInvoiceReview'
                  pageInfo:
                    type: object
                    properties:
                      hasPreviousPage:
                        type: boolean
                      hasNextPage:
                        type: boolean
                      startCursor:
                        type: string
                      endCursor:
                        type: string
      summary: List payable invoice reviews
      tags:
      - payable-invoice-reviews
  /v1/payable-invoices/{qid}/review:
    get:
      description: Returns the payable invoice review for the specified payable invoice QID
      operationId: PayableInvoiceReview_get
      parameters:
      - name: expand
        required: false
        in: query
        schema:
          type: array
          items:
            type: string
            enum:
            - exceptions
            - expandRevisionCreatedAt
            - lastApprovedBy
            - lineItemGroupReviews.lineItemGroup
            - lineItemGroupReviews.rateEngineRateItem
            - lineItemGroupReviews.rateEngineRateItem.tags
            - lineItemGroupReviews.rateEngineRateItems
            - lineItemGroupReviews.rateEngineRateItems.tags
            - payableAllocations
            - payableAllocationReviews
            - payableInvoice
            - payableInvoice.exceptions
            - payableInvoice.artifacts
            - payableInvoice.organizations
            - payableInvoice.organizations.tags
            - payableInvoice.shipmentJobs
            - payableInvoice.shipmentJobs.addresses
            - payableInvoice.shipmentJobs.artifacts
            - payableInvoice.shipmentJobs.jobTypeInfo.address
            - payableInvoice.shipmentJobs.jobTypeInfo.organizations
            - payableInvoice.shipmentJobs.jobTypeInfo.organizations.tags
            - payableInvoice.shipmentJobs.organizations
            - payableInvoice.shipmentJobs.organizations.tags
            - payableInvoice.shipmentJobs.tags
            - payableInvoice.shipmentJobs.shipment
            - payableInvoice.shipmentJobs.shipment.exceptions
            - payableInvoice.tags
      - name: qid
        required: true
        in: path
        description: QID of the entity to retrieve
        schema:
          format: qid
          example: qid::payable_invoice:0ca6f700-4137-4d09-b44a-43bb8d7900c5
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayableInvoiceReview'
        '400':
          description: Invalid QID
      summary: Retrieve a payable invoice review
      tags:
      - payable-invoice-reviews
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
    PayableAllocationReviewExpand:
      type: object
      properties:
        generalLedgerCode:
          type: string
          description: The general ledger code for the allocation.
          example: GL123
        generalLedgerDescription:
          type: string
          description: The general ledger description for the allocation.
          example: General Ledger 123
        approved:
          example:
            amount: '3.50'
            currencyCode: USD
          description: The approved amount of the allocation.
          allOf:
          - $ref: '#/components/schemas/Money'
      required:
      - generalLedgerCode
      - generalLedgerDescription
      - approved
    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
    PayableInvoiceAdjustmentReview:
      type: object
      properties:
        approved:
          example:
            amount: '3.50'
            currencyCode: USD
          allOf:
          - $ref: '#/components/schemas/Money'
        appliedAmount:
          example:
            amount: '3.50'
            currencyCode: USD
          description: The adjustment amount that is applied to the payable invoice.
          allOf:
          - $ref: '#/components/schemas/Money'
        adjustmentQid:
          type: string
          description: Qualified unique identifier.
          example: qid::payable_invoice_adjustment:0ca6f700-4137-4d09-b44a-43bb8d7900c4
          format: qid
        description:
          type: string
          description: The description of the adjustment.
          example: QUICK_PAY_DISCOUNT
        externalIdentifier:
          type: object
          description: The external identifier of the adjustment if provided.
          nullable: true
      required:
      - approved
      - appliedAmount
      - adjustmentQid
      - description
      - externalIdentifier
    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
    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
    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
    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
    User:
      type: object
      properties:
        firstName:
          type: string
        lastName:
          type: string
        email:
          type: string
      required:
      - firstName
      - lastName
      - email
    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
    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
    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
    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
    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
    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
          allOf:
          - $ref: '#/components/schemas/Weight'
        totalVolume:
          nullable: true
          type: object
          allOf:
          - $ref: '#/components/schemas/Volume'
        freightChargeTerms:
          type: string
          description: The freight charge terms for this air shipment
          enum:
          - COLLECT
          - PREPAID
          - THIRD_PARTY
          - UNKNOWN
          example: PREPAID
        dates:
          description: Dates associated with this air shipment (e.g. AWB execution, flight departure, flight arrival).
          type: array
          items:
            $ref: '#/components/schemas/ShipmentJobAirDate'
      required:
      - carrierOrganizationName
      - carrierOrganizationQid
      - carrierOrganization
      - forwarderOrganizationName
      - forwarderOrganizationQid
      - forwarderOrganization
      - addresses
      - routeLocations
      - chargeableWeight
      - grossWeight
      - totalVolume
      - freightChargeTerms
      - dates
    ShipmentWithoutShipmentJobsExpanded:
      type: object
      properties:
        qid:
          type: string
          description: Qualified unique identifier.
          example: qid::shipment:0ca6f700-4137-4d09-b44a-43bb8d7900c4
          format: qid
        exceptions:
          description: A list of business exceptions related to the shipment. This is an expansion field. To include this field, you must include `exceptions` in the query parameters.
          type: array
          items:
            $ref: '#/components/schemas/BusinessException'
      required:
      - qid
    PackageCount:
      type: object
      properties:
        amount:
          type: integer
          example: 8
        unit:
          type: string
          enum:
          - BAG
          - BALE
          - BOX
          - BUNDLE
          - CARTON
          - CASE
          

# --- truncated at 32 KB (79 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/loop/refs/heads/main/openapi/loop-payable-invoice-reviews-api-openapi.yml