Loop receivable-invoices API

The receivable-invoices API from Loop — 3 operation(s) for receivable-invoices.

OpenAPI Specification

loop-receivable-invoices-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Loop Onboarding artifacts receivable-invoices API
  description: HTTP REST API for Loop Payments Onboarding.
  version: '1.0'
  contact: {}
servers:
- url: https://onboarding.api.loop.com
security:
- bearerAuth: []
tags:
- name: receivable-invoices
paths:
  /v1/receivable-invoices:
    get:
      description: Returns a list of receivable invoices.
      operationId: ReceivableInvoices_list
      parameters:
      - name: expand
        required: false
        in: query
        schema:
          type: array
          items:
            type: string
            enum:
            - lineItems.invoiceDeliveryMethod
            - shipments
            - shipments.exceptions
            - shipments.shipmentJobs
            - shipments.shipmentJobs.addresses
            - shipments.shipmentJobs.artifacts
            - shipments.shipmentJobs.jobTypeInfo.address
            - shipments.shipmentJobs.jobTypeInfo.organizations
            - shipments.shipmentJobs.jobTypeInfo.organizations.tags
            - shipments.shipmentJobs.organizations
            - shipments.shipmentJobs.organizations.tags
            - shipments.shipmentJobs.tags
            - supportingArtifacts
      - name: status
        required: false
        in: query
        schema:
          type: array
          items:
            type: string
            enum:
            - DRAFT
            - OPEN
            - VOID
            - PAID
      - 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: sort
        required: false
        in: query
        description: The field used for sorting the results. If not provided, 'createdAt' will be used as the default sort field.
        schema:
          enum:
          - createdAt
          - revisionCreatedAt
          type: string
      - name: order
        required: false
        in: query
        description: The sort order used for the given sort field. If not provided, the default sort order is 'asc'.
        schema:
          enum:
          - asc
          - desc
          type: string
      - name: issuedBefore
        required: false
        in: query
        description: Filter to only results that have been issued (finalized and set to status OPEN) 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: issuedAfter
        required: false
        in: query
        description: Filter to only results that have been issued (finalized and set to status OPEN) 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
      responses:
        '200':
          description: The paginated response
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/ReceivableInvoice'
                  pageInfo:
                    type: object
                    properties:
                      hasPreviousPage:
                        type: boolean
                      hasNextPage:
                        type: boolean
                      startCursor:
                        type: string
                      endCursor:
                        type: string
      summary: List receivable invoices
      tags:
      - receivable-invoices
  /v1/receivable-invoices/{qid}:
    get:
      description: Returns the receivable invoice with the specified QID.
      operationId: ReceivableInvoices_get
      parameters:
      - name: expand
        required: false
        in: query
        schema:
          type: array
          items:
            type: string
            enum:
            - lineItems.invoiceDeliveryMethod
            - shipments
            - shipments.exceptions
            - shipments.shipmentJobs
            - shipments.shipmentJobs.addresses
            - shipments.shipmentJobs.artifacts
            - shipments.shipmentJobs.jobTypeInfo.address
            - shipments.shipmentJobs.jobTypeInfo.organizations
            - shipments.shipmentJobs.jobTypeInfo.organizations.tags
            - shipments.shipmentJobs.organizations
            - shipments.shipmentJobs.organizations.tags
            - shipments.shipmentJobs.tags
            - supportingArtifacts
      - name: qid
        required: true
        in: path
        description: QID of the entity to retrieve
        schema:
          format: qid
          example: qid::receivable_invoice:0ca6f700-4137-4d09-b44a-43bb8d7900c5
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReceivableInvoice'
        '400':
          description: Invalid QID
      summary: Retrieve a receivable invoice
      tags:
      - receivable-invoices
    delete:
      description: Delete a draft receivable invoice. The operation will succeed if the invoice was already deleted or there is no AR invoice identified by the QID.
      operationId: ReceivableInvoices_delete
      parameters:
      - name: qid
        required: true
        in: path
        description: QID of the entity to delete
        schema:
          format: qid
          example: qid::receivable_invoice:0ca6f700-4137-4d09-b44a-43bb8d7900c5
          type: string
      responses:
        '204':
          description: ''
      summary: Delete a draft receivable invoice
      tags:
      - receivable-invoices
  /v1/receivable-invoices/{qid}/void:
    put:
      description: Void an open receivable invoice. The operation will succeed if the invoice is already void.
      operationId: ReceivableInvoices_void
      parameters:
      - name: expand
        required: false
        in: query
        schema:
          type: array
          items:
            type: string
            enum:
            - lineItems.invoiceDeliveryMethod
            - shipments
            - shipments.exceptions
            - shipments.shipmentJobs
            - shipments.shipmentJobs.addresses
            - shipments.shipmentJobs.artifacts
            - shipments.shipmentJobs.jobTypeInfo.address
            - shipments.shipmentJobs.jobTypeInfo.organizations
            - shipments.shipmentJobs.jobTypeInfo.organizations.tags
            - shipments.shipmentJobs.organizations
            - shipments.shipmentJobs.organizations.tags
            - shipments.shipmentJobs.tags
            - supportingArtifacts
      - name: qid
        required: true
        in: path
        description: QID of the entity to void
        schema:
          format: qid
          example: qid::receivable_invoice:0ca6f700-4137-4d09-b44a-43bb8d7900c5
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReceivableInvoice'
      summary: Void an open receivable invoice
      tags:
      - receivable-invoices
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
    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
    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
          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
          - COIL
          - EACH
          - PACKAGE
          - PAIL
          - PIECE
          - ROLL
          - SQUARE
          - TOTE
          - TUBE
          example: CARTON
      required:
      - amount
      - unit
    Money:
      type: object
      properties:
        amount:
          type: string
          format: decimal-string
          example: '3.50'
          description: The amount of money
        currencyCode:
          allOf:
          - $ref: '#/components/schemas/CurrencyCode'
      required:
      - amount
      - currencyCode
    ShipmentJobAirAddress:
      type: object
      properties:
        type:
          type: string
          description: The type of address
          enum:
          - ORIGIN
          - DESTINATION
          example: ORIGIN
        name:
          type: string
          description: The name associated with this address
          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 details. This is an expansion field. To include this field, you must include `address` in the query parameters.
          nullable: true
          type: object
          allOf:
          - $ref: '#/components/schemas/Address'
      required:
      - type
      - name
      - addressQid
      - address
    ShipmentJobFtlInfo:
      type: object
      properties:
        freightChargeTe

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