Loop payable-invoices API

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

Operations 2

GET /v1/payable-invoices List payable invoices #
GET /v1/payable-invoices/{qid} Retrieve a payable invoice #

Work with this as data

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

MCP server

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

https://apis.io/mcp

Tools for apis

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

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/loop-payable-invoices-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

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

Get an API key

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

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

OpenAPI Specification

loop-payable-invoices-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Loop Onboarding artifacts Payable 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: payable-invoices
paths:
  /v1/payable-invoices:
    get:
      description: Returns a list of payable invoices.
      operationId: PayableInvoices_list
      parameters:
      - name: expand
        required: false
        in: query
        schema:
          type: array
          items:
            type: string
            enum:
            - addresses
            - artifacts
            - exceptions
            - organizations
            - organizations.tags
            - shipmentJobs
            - shipmentJobs.addresses
            - shipmentJobs.artifacts
            - shipmentJobs.jobTypeInfo.address
            - shipmentJobs.jobTypeInfo.organizations
            - shipmentJobs.jobTypeInfo.organizations.tags
            - shipmentJobs.organizations
            - shipmentJobs.organizations.tags
            - shipmentJobs.tags
            - shipmentJobs.shipment
            - shipmentJobs.shipment.exceptions
            - tags
      - 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
      responses:
        '200':
          description: The paginated response
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/PayableInvoice'
                  pageInfo:
                    type: object
                    properties:
                      hasPreviousPage:
                        type: boolean
                      hasNextPage:
                        type: boolean
                      startCursor:
                        type: string
                      endCursor:
                        type: string
      summary: List payable invoices
      tags:
      - payable-invoices
  /v1/payable-invoices/{qid}:
    get:
      description: Returns the payable invoice with the specified QID
      operationId: PayableInvoices_get
      parameters:
      - name: expand
        required: false
        in: query
        schema:
          type: array
          items:
            type: string
            enum:
            - addresses
            - artifacts
            - exceptions
            - organizations
            - organizations.tags
            - shipmentJobs
            - shipmentJobs.addresses
            - shipmentJobs.artifacts
            - shipmentJobs.jobTypeInfo.address
            - shipmentJobs.jobTypeInfo.organizations
            - shipmentJobs.jobTypeInfo.organizations.tags
            - shipmentJobs.organizations
            - shipmentJobs.organizations.tags
            - shipmentJobs.tags
            - shipmentJobs.shipment
            - shipmentJobs.shipment.exceptions
            - 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/PayableInvoice'
        '400':
          description: Invalid QID
      summary: Retrieve a payable invoice
      tags:
      - payable-invoices
components:
  schemas:
    PayableInvoice:
      type: object
      properties:
        qid:
          type: string
          description: Qualified unique identifier.
          format: qid
          example: qid::payable_invoice:0ca6f700-4137-4d09-b44a-43bb8d7900c4
        createdAt:
          type: string
          format: utc-timestamp
          example: '2023-01-01T00:00:00.000Z'
        revisionNumber:
          type: number
          example: 1
        revisionCreatedAt:
          type: string
          format: utc-timestamp
          example: '2023-01-01T00:00:00.000Z'
        invoiceNumber:
          type: string
          description: The invoice number
          example: 555-555555
        billingDomain:
          type: string
          description: The business billing domain that categorizes how this invoice is processed
          enum:
          - PARCEL
          - FREIGHT
          example: FREIGHT
        paymentDueDate:
          type:
          - string
          - 'null'
          format: floating-date
          example: '2023-01-01'
        issueDate:
          type:
          - string
          - 'null'
          format: floating-date
          example: '2023-01-01'
        invoicedTotal:
          example:
            amount: '3.50'
            currencyCode: USD
          description: The total amount invoiced for the payable invoice
          allOf:
          - $ref: '#/components/schemas/Money'
        lineItemGroups:
          description: The line items, grouped into categories like "Linehaul" and "Fuel surcharge"
          type: array
          items:
            $ref: '#/components/schemas/PayableInvoiceLineItemGroup'
        shipmentJobQids:
          description: Qualified unique identifier.
          example:
          - qid::shipment_job:0ca6f700-4137-4d09-b44a-43bb8d7900c4
          type: array
          items:
            type: string
            format: qid
        shipmentJobs:
          type: array
          items:
            $ref: '#/components/schemas/ShipmentJobExpanded'
        artifactQids:
          description: Qualified unique identifier.
          example:
          - qid::artifact:0ca6f700-4137-4d09-b44a-43bb8d7900c4
          type: array
          items:
            type: string
            format: qid
        artifacts:
          type: array
          items:
            $ref: '#/components/schemas/ArtifactExpanded'
        referenceNumbers:
          description: The reference numbers associated with this invoice.
          type: array
          items:
            $ref: '#/components/schemas/PayableInvoiceReferenceNumber'
        payeeOrganizationQid:
          type: string
          description: Qualified unique identifier.
          example: qid::organization:0ca6f700-4137-4d09-b44a-43bb8d7900c4
          format: qid
        payeeOrganization:
          description: The payee associated with this invoice. This is an expansion field. To include this field, you must include `organization` in the query parameters.
          allOf:
          - $ref: '#/components/schemas/OrganizationExpanded'
        payeeAddressQid:
          type:
          - string
          - 'null'
          description: Qualified unique identifier.
          example: qid::address:0ca6f700-4137-4d09-b44a-43bb8d7900c4
          format: qid
        payeeAddress:
          description: The payee address of this invoice. This is an expansion field. To include this field, you must include `address` in the query parameters.
          allOf:
          - $ref: '#/components/schemas/Address'
        payeeFboOrganizationQid:
          type:
          - string
          - 'null'
          description: Deprecated, prefer vendorOrganizationQid
          example: qid::organization:0ca6f700-4137-4d09-b44a-43bb8d7900c4
          format: qid
        payorOrganizationQid:
          type: string
          description: Qualified unique identifier.
          example: qid::organization:0ca6f700-4137-4d09-b44a-43bb8d7900c4
          format: qid
        payorOrganization:
          description: The payor associated with this invoice. This is an expansion field. To include this field, you must include `organization` in the query parameters.
          allOf:
          - $ref: '#/components/schemas/OrganizationExpanded'
        vendorOrganizationQid:
          type: string
          description: Qualified unique identifier.
          example: qid::organization:0ca6f700-4137-4d09-b44a-43bb8d7900c4
          format: qid
        vendorOrganization:
          description: The vendor associated with this invoice. This is an expansion field. To include this field, you must include `organization` in the query parameters.
          allOf:
          - $ref: '#/components/schemas/OrganizationExpanded'
        vendorAddressQid:
          type:
          - string
          - 'null'
          description: Qualified unique identifier.
          example: qid::address:0ca6f700-4137-4d09-b44a-43bb8d7900c4
          format: qid
        vendorAddress:
          description: The vendor address of this invoice. This is an expansion field. To include this field, you must include `address` in the query parameters.
          allOf:
          - $ref: '#/components/schemas/Address'
        otherAddresses:
          description: Other addresses associated with this invoice
          type: array
          items:
            $ref: '#/components/schemas/PayableInvoiceAddress'
        dates:
          description: Dates associated with this invoice
          type: array
          items:
            $ref: '#/components/schemas/PayableInvoiceDate'
        receivedAt:
          type:
          - string
          - 'null'
          format: utc-timestamp
          example: '2023-01-01T00:00:00.000Z'
        lineItemSummary:
          $ref: '#/components/schemas/PayableInvoiceLineItemSummary'
        exceptions:
          description: A list of exceptions related to the payable invoice. This is an expansion field. To include this field, you must include `exceptions` in the query parameters.
          type: array
          items:
            $ref: '#/components/schemas/BusinessException'
        tags:
          type: object
          description: Entity tags assigned to the payable invoice. This is an expansion field. To include this field, you must include `tags` in the query parameters.
        tareWeights:
          description: Tare weights extracted from the invoice. For multi-stop FTL jobs, there should be a tare weight for each unique BOL.
          type: array
          items:
            $ref: '#/components/schemas/Weight'
      required:
      - qid
      - createdAt
      - revisionNumber
      - revisionCreatedAt
      - invoiceNumber
      - billingDomain
      - paymentDueDate
      - issueDate
      - invoicedTotal
      - lineItemGroups
      - shipmentJobQids
      - artifactQids
      - referenceNumbers
      - payeeOrganizationQid
      - payeeAddressQid
      - payeeFboOrganizationQid
      - payorOrganizationQid
      - vendorOrganizationQid
      - vendorAddressQid
      - otherAddresses
      - dates
      - receivedAt
      - lineItemSummary
      - tareWeights
    CurrencyCode:
      type: string
      enum:
      - AED
      - AFN
      - ALL
      - AMD
      - AOA
      - ARS
      - AUD
      - AWG
      - AZN
      - BAM
      - BBD
      - BDT
      - BHD
      - BIF
      - BMD
      - BND
      - BOB
      - BRL
      - BSD
      - BTN
      - BWP
      - BYN
      - BZD
      - CAD
      - CDF
      - CHF
      - CLP
      - CNY
      - COP
      - CRC
      - CUP
      - CVE
      - CZK
      - DJF
      - DKK
      - DOP
      - DZD
      - EGP
      - ERN
      - ETB
      - EUR
      - FJD
      - FKP
      - GBP
      - GEL
      - GHS
      - GIP
      - GMD
      - GNF
      - GTQ
      - GYD
      - HKD
      - HNL
      - HTG
      - HUF
      - IDR
      - ILS
      - INR
      - IQD
      - IRR
      - ISK
      - JMD
      - JOD
      - JPY
      - KES
      - KGS
      - KHR
      - KMF
      - KPW
      - KRW
      - KWD
      - KYD
      - KZT
      - LAK
      - LBP
      - LKR
      - LRD
      - LSL
      - LYD
      - MAD
      - MDL
      - MGA
      - MKD
      - MMK
      - MNT
      - MOP
      - MRU
      - MUR
      - MVR
      - MWK
      - MXN
      - MYR
      - MZN
      - NAD
      - NGN
      - NIO
      - NOK
      - NPR
      - NZD
      - OMR
      - PAB
      - PEN
      - PGK
      - PHP
      - PKR
      - PLN
      - PYG
      - QAR
      - RON
      - RSD
      - RUB
      - RWF
      - SAR
      - SBD
      - SCR
      - SDG
      - SEK
      - SGD
      - SHP
      - SLE
      - SOS
      - SRD
      - SSP
      - STN
      - SVC
      - SYP
      - SZL
      - THB
      - TJS
      - TMT
      - TND
      - TOP
      - TRY
      - TTD
      - TWD
      - TZS
      - UAH
      - UGX
      - USD
      - UYU
      - UZS
      - VED
      - VES
      - VND
      - VUV
      - WST
      - XAF
      - XCD
      - XCG
      - XOF
      - XPF
      - YER
      - ZAR
      - ZMW
      - ZWG
    ShipmentJobAirAddress:
      type: object
      properties:
        type:
          type: string
          description: The type of address
          enum:
          - ORIGIN
          - DESTINATION
          example: ORIGIN
        name:
          type:
          - string
          - 'null'
          description: The name associated with this address
        addressQid:
          type:
          - string
          - 'null'
          description: Qualified unique identifier.
          example: qid::address:0ca6f700-4137-4d09-b44a-43bb8d7900c4
          format: qid
        address:
          description: The address details. This is an expansion field. To include this field, you must include `address` in the query parameters.
          type:
          - object
          - 'null'
          allOf:
          - $ref: '#/components/schemas/Address'
      required:
      - type
      - name
      - addressQid
      - address
    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
    NmfcClass:
      type: string
      enum:
      - '50'
      - '55'
      - '60'
      - '65'
      - '70'
      - '77.5'
      - '85'
      - '92.5'
      - '100'
      - '110'
      - '125'
      - '150'
      - '175'
      - '200'
      - '250'
      - '300'
      - '400'
      - '500'
    ShipmentJobFtlStopArticle:
      type: object
      properties:
        description:
          type:
          - string
          - 'null'
        dimensions:
          example:
            height: '2.8'
            length: '12.1'
            width: '1.5'
            unit: INCH
          type:
          - object
          - 'null'
          allOf:
          - $ref: '#/components/schemas/Dimensions'
        grossWeight:
          example:
            amount: '20.2'
            unit: POUND
          type:
          - object
          - 'null'
          allOf:
          - $ref: '#/components/schemas/Weight'
        nmfcClass:
          allOf:
          - $ref: '#/components/schemas/NmfcClass'
        nmfcCode:
          type:
          - string
          - 'null'
          description: The raw NMFC code string associated with this article.
          example: '87700'
        packageCount:
          type:
          - object
          - 'null'
          allOf:
          - $ref: '#/components/schemas/PackageCountInput'
        handlingUnit:
          type:
          - object
          - 'null'
          allOf:
          - $ref: '#/components/schemas/HandlingUnit'
      required:
      - description
      - dimensions
      - grossWeight
      - nmfcClass
      - nmfcCode
      - packageCount
      - handlingUnit
    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
    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
        value:
          type: string
          description: The value of the reference number associated with this stop.
          example: '123'
      required:
      - key
      - value
    ShipmentJobLtlInfo:
      type: object
      properties:
        billToAddressName:
          type:
          - object
          - 'null'
          description: The name associated with the bill to address on the job artifact
        billToAddressQid:
          type:
          - string
          - 'null'
          description: Qualified unique identifier.
          example: qid::address:0ca6f700-4137-4d09-b44a-43bb8d7900c4
          format: qid
        billToAddress:
          description: The bill to address on the job artifact This is an expansion field. To include this field, you must include `address` in the query parameters.
          type:
          - object
          - 'null'
          allOf:
          - $ref: '#/components/schemas/Address'
        carrierOrganizationName:
          type:
          - string
          - 'null'
          description: The name of the carrier
        carrierOrganizationQid:
          type:
          - string
          - 'null'
          description: Qualified unique identifier.
          example: qid::organization:0ca6f700-4137-4d09-b44a-43bb8d7900c4
          format: qid
        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.
          allOf:
          - $ref: '#/components/schemas/OrganizationExpanded'
        brokerOrganizationQid:
          type:
          - string
          - 'null'
          description: Qualified unique identifier.
          example: qid::organization:0ca6f700-4137-4d09-b44a-43bb8d7900c4
          format: qid
        brokerOrganization:
          description: The broker 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'
        freightChargeTerms:
          allOf:
          - $ref: '#/components/schemas/FreightChargeTerms'
        originAddressName:
          type:
          - object
          - 'null'
          description: The name associated with the origin address
        originAddressQid:
          type:
          - string
          - 'null'
          description: Qualified unique identifier.
          example: qid::address:0ca6f700-4137-4d09-b44a-43bb8d7900c4
          format: qid
        originAddress:
          description: The origin address of the shipment. This is an expansion field. To include this field, you must include `address` in the query parameters.
          allOf:
          - $ref: '#/components/schemas/Address'
        pickupDate:
          type:
          - string
          - 'null'
          format: floating-date
          example: '2023-01-01'
        destinationAddressName:
          type:
          - object
          - 'null'
          description: The name associated with the destination address
        destinationAddressQid:
          type:
          - string
          - 'null'
          description: Qualified unique identifier.
          example: qid::address:0ca6f700-4137-4d09-b44a-43bb8d7900c4
          format: qid
        destinationAddress:
          description: The destination address of the shipment. This is an expansion field. To include this field, you must include `address` in the query parameters.
          allOf:
          - $ref: '#/components/schemas/Address'
        deliveryDate:
          type:
          - string
          - 'null'
          format: floating-date
          example: '2023-01-01'
        articlesSummary:
          $ref: '#/components/schemas/ShipmentJobArticlesSummary'
        articles:
          type: array
          items:
            $ref: '#/components/schemas/ShipmentJobLtlInfoArticle'
      required:
      - billToAddressName
      - billToAddressQid
      - carrierOrganizationName
      - carrierOrganizationQid
      - brokerOrganizationQid
      - freightChargeTerms
      - originAddressName
      - originAddressQid
      - pickupDate
      - destinationAddressName
      - destinationAddressQid
      - deliveryDate
      - articlesSummary
      - articles
    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
    Address:
      type: object
      properties:
        qid:
          type: string
          description: Qualified unique identifier.
          example: qid::address:0ca6f700-4137-4d09-b44a-43bb8d7900c4
          format: qid
        addressLine1:
          type: string
          example: 123 Main Street
        addressLine2:
          type: string
          example: Suite 456
        city:
          type: string
          example: Chicago
        state:
          type: string
          example: IL
        postalCode:
          type: string
          example: '60601'
        country:
          type: string
          example: US
          description: ISO 3166-1 alpha-2 country code.
      required:
      - qid
      - addressLine1
      - city
      - postalCode
      - country
    OrganizationExpanded:
      type: object
      properties:
        qid:
          type: string
          description: Qualified unique identifier.
          example: qid::organization:0ca6f700-4137-4d09-b44a-43bb8d7900c4
          format: qid
        displayName:
          type: string
          example: ACME
          description: Name of the organization.
        tags:
          type: object
          description: Entity tags associated with the organization
          example:
            externalCarrierUuid: 304fb3dd-1f4a-404b-9f9e-c9134584915b
      required:
      - qid
      - displayName
    ShipmentJobAirDate:
      type: object
      properties:
        qid:
          type:
          - string
          - 'null'
          description: Qualified unique identifier.
          example: qid::shipment_job_air_date:0ca6f700-4137-4d09-b44a-43bb8d7900c4
          format: qid
        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
          - 'null'
          description: The IATA airport code for this date if applicable (e.g. departure airport).
      required:
      - qid
      - dateType
      - date
      - iataCode
    PayableInvoiceLineItemUnit:
      type: object
      properties:
        unitType:
          type: string
          enum:
          - LENGTH_RANGE
          - LENGTH
          - START_TIME
          - END_TIME
          description: The type of extracted unit
          example: START_TIME
        extractedUnit:
          type: string
          example: '14:10'
          description: The value of extracted unit
      required:
      - unitType
      - extractedUnit
    PayableInvoiceLineItemGroup:
      type: object
      properties:
        name:
          type: string
          description: The name of the line item group
          example: Linehaul
        lineItems:
          description: The line items belonging to the group
          type: array
          items:
            $ref: '#/components/schemas/PayableInvoiceLineItem'
      required:
      - name
      - lineItems
    PayableInvoiceLineItem:
      type: object
      properties:
        description:
          type: string
          description: A description of the line item
          example: Linehaul
        invoiced:
          example:
            amount: '3.50'
            currencyCode: USD
          description: The amount of the line item
          allOf:
          - $ref: '#/components/schemas/Money'
        payment:
          example:
            amount: '3.50'
            currencyCode: USD
          description: The amount paid on the line item
          type:
          - object
          - 'null'
          allOf:
          - $ref: '#/components/schemas/Money'
        category:
          type: string
          description: Deprecated, prefer `classification.name`. The category of the line item
          example: LINEHAUL
          enum:
          - DISCOUNT
          - FUEL_SURCHARGE
          - LINEHAUL
          - OTHER
          deprecated: true
        classification:
          description: The classification of the line item. I.e. Linehaul, California surcharge, ...
          allOf:
          - $ref: '#/components/schemas/PayableInvoiceLineItemClassification'
      required:
      - description
      - invoiced
      - payment
      - category
      - classification
    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
    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
          example: Variance over threshold
        resolvedAt:
          type:
          - string
          - 'null'
          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.
        targetQid:
          type: string
          description: Qualified unique identifier of the business exception's target entity.
          format: qid
          example: qid::payable_invoice:0ca6f700-4137-4d09-b44a-43bb8d7900c4
        note:
          type:
          - string
          - 'null'
          description: The note on the business exception
      required:
      - qid
      - label
      - resolvedAt
      - targetQid
    ShipmentJobGenericV1Info:
      type: object
      properties:
        vendorOrganizationQid:
          type: string
          description: Qualified unique identifier.
          example: qid::organization:0ca6f700-4137-4d09-b44a-43bb8d7900c4
          format: qid
      required:
      - vendorOrganizationQid
    ShipmentJobOceanDate:
      type: object
      properties:
        qid:
          type:
          - string
          - 'null'
          description: Qualified unique identifier.
          example: qid::shipment_job_ocean_date:0ca6f700-4137-4d09-b44a-43bb8d7900c4
          format: qid
        dateType:
          type: string
          description: The type of date
          enum:
          - CARGO_RECEIVED
          - LADEN_ON_BOARD
          - DEPARTURE
          - ESTIMATED_ARRIVAL
          - ARRIVAL
          - DISCHARGE
          - DELIVERY
          example: LADEN_ON_BOARD
        date:
          type: string
          format: floating-date
          example: '2023-01-01'
        unlocode:
          type:
          - string
          - 'null'
          description: The UN/LOCODE for this date if applicable (e.g. port of laden-on-board)
      required:
      - qid
      - dateType
      - date
      - unlocode
    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
        value:
          type: string
          description: The value of the reference number.
          example: '123'
        label:
          type: string
          description: The raw associated label for the reference number if present.
          example: po
      required:
      - key
      - value
    ShipmentJobOceanContainer:
      type: object
      properties:
        qid:
          type:
          - string
          - 'null'
          description: Qualified unique identifier.
          example: qid::shipment_job_ocean_container:0ca6f700-4137-4d09-b44a-43bb8d7900c4
          format: qid
        

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