### Response Samples Source: https://docs.loop.com/openapi Example response for a successful operation. ```APIDOC ## Response Sample (201) ### Content Type application/json ### Response Body ```json { "qid": "qid::artifact:0ca6f700-4137-4d09-b44a-43bb8d7900c4", "createdAt": "2023-01-01T00:00:00.000Z", "revisionNumber": 1, "revisionCreatedAt": "2023-01-01T00:00:00.000Z", "artifactType": "INVOICE", "artifactFormat": "PDF", "displayName": "XPO Invoice 54219 - 2023-12-01", "summary": { "bolNumber": "201946", "carrierName": "Tom's Trucking LLC", "consigneeAddress": { "addressLine1": "123 Main Street", "addressLine2": "Suite 456", "city": "Chicago", "state": "IL", "postalCode": "60601", "country": "USA" }, "dropoffAppointmentDateTime": "2023-12-01T12:00:00.000Z", "dropoffAppointmentType": "FCFS, Appointment", "equipmentRequirements": "straps, tarps, food grade, etc.", "equipmentSize": "53', 48'", "equipmentType": "Dry Van, Reefer, Flatbed, etc.", "consigneeName": "Catherine's Culinary Corner", "externalIdentifiers": [ "89213", "OF7890" ], "invoicedTotal": { "amount": "3.50", "currencyCode": "AED" }, "invoiceNumber": "419204", "invoiceDate": "2023-12-01", "pickupAppointmentDateTime": "2023-12-01T12:00:00.000Z", "pickupDateAppointmentType": "FCFS, Appointment", "pickupDate": "2023-11-01", "poNumber": "19012", "proNumber": "76910234", "reeferEquipmentTemperature": "35-36F", "shipperAddress": { "addressLine1": "123 Main Street", "addressLine2": "Suite 456", "city": "Chicago", "state": "IL", "postalCode": "60601", "country": "USA" }, "shipperName": "Sally's Supply Store", "transportationProvider": "TQL, CHR" }, "derivativeArtifacts": [ { "qid": "qid::artifact:0ca6f700-4137-4d09-b44a-43bb8d7900c4", "artifactType": "INVOICE" } ], "tags": {} } ``` ``` -------------------------------- ### Example QIDs Source: https://docs.loop.com/developers/key-concepts/qids Illustrates typical QIDs for user and tenant entities. ```plaintext qid::user:64d8de89-3eb2-4376-93af-656ba5dbf9f3 ``` ```plaintext qid::tenant:5dcd2391-ce67-447d-9fe8-bdb6492d10f4 ``` -------------------------------- ### Example API Key Source: https://docs.loop.com/developers/api-authentication Your API key is generated by your Loop contact. Keep it secure. ```text lk_live_YSrYlIhKvj39etmrUG_6qHgmpUJpBYnkYHOjtJI5 ``` -------------------------------- ### GET /websites/loop/payable_invoice_reviews/{qid} Source: https://docs.loop.com/openapi Retrieves a specific payable invoice review by its QID. ```APIDOC ## GET /websites/loop/payable_invoice_reviews/{qid} ### Description Returns the payable invoice review for the specified payable invoice QID. ### Method GET ### Endpoint /websites/loop/payable_invoice_reviews/{qid} ### Parameters #### Path Parameters - **qid** (string) - Required - QID of the entity to retrieve. Example: qid::payable_invoice:0ca6f700-4137-4d09-b44a-43bb8d7900c5 #### Query Parameters - **expand** (Array of strings) - Optional - Allows expanding related data. Possible values include: "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.tags", "payableInvoice.shipmentJobs.shipment", "payableInvoice.shipmentJobs.shipment.exceptions", "payableInvoice.tags" ### Responses #### Success Response (200) - **costCodes** (Array of objects) - Details about cost codes associated with the review. - **status** (string) - The current status of the review (e.g., "COMPLETE"). - **auditStatus** (string) - The audit status of the review (e.g., "PUBLISHED"). - **outcome** (string) - The outcome of the review (e.g., "FULLY_APPROVED"). - **approved** (object) - Information about the approved amount. - **amount** (string) - The approved amount. - **currencyCode** (string) - The currency code for the approved amount. - **lastApprovedAt** (string) - The timestamp when the review was last approved. - **lastApprovedBy** (object) - Information about the user who last approved the review. - **firstName** (string) - First name of the approver. - **lastName** (string) - Last name of the approver. - **email** (string) - Email of the approver. - **expected** (object) - Information about the expected amount. - **amount** (string) - The expected amount. - **currencyCode** (string) - The currency code for the expected amount. - **lineItemGroupReviews** (Array of objects) - Reviews for individual line item groups. - **approved** (object) - Approved amount for the line item group. - **expected** (object) - Expected amount for the line item group. - **lineItemGroupQid** (string) - QID of the line item group. - **lineItemGroup** (object) - Details of the line item group. - **qid** (string) - QID of the line item group. - **name** (string) - Name of the line item group. - **invoiced** (object) - Invoiced amount for the line item group. - **payment** (object) - Payment amount for the line item group. - **category** (string) - Category of the line item group. - **rateEngineRateItemQids** (Array of strings) - QIDs of associated rate engine rate items. - **rateEngineRateItems** (Array of objects) - Details of associated rate engine rate items. - **qid** (string) - QID of the rate engine rate item. - **code** (string) - Code of the rate engine rate item. - **description** (string) - Description of the rate engine rate item. - **classification** (string) - Classification of the rate engine rate item. - **tags** (object) - Tags associated with the rate engine rate item. - **cost** (object) - Cost details of the rate engine rate item. - **adjustmentReviews** (Array of objects) - Reviews for adjustments. - **approved** (object) - Approved amount for the adjustment. - **appliedAmount** (object) - Applied amount for the adjustment. - **adjustmentQid** (string) - QID of the adjustment. - **description** (string) - Description of the adjustment. - **externalIdentifier** (object) - External identifier for the adjustment. - **expandRevisionCreatedAt** (string) - Timestamp of the revision creation. #### Response Example ```json { "costCodes": [ { "costCode": "123", "costCodeType": "GENERAL_LEDGER", "costCodeDescription": "Inbound freight" }, { "costCode": "AAA", "costCodeType": "COST_CENTER", "costCodeDescription": "Plant A" } ], "status": "COMPLETE", "auditStatus": "PUBLISHED", "outcome": "FULLY_APPROVED", "approved": { "amount": "3.50", "currencyCode": "USD" }, "lastApprovedAt": "2023-01-01T00:00:00.000Z", "lastApprovedBy": { "firstName": "string", "lastName": "string", "email": "string" }, "expected": { "amount": "3.50", "currencyCode": "USD" }, "lineItemGroupReviews": [ { "approved": { "amount": "3.50", "currencyCode": "USD" }, "expected": { "amount": "3.50", "currencyCode": "USD" }, "lineItemGroupQid": "qid::payable_invoice_line_item_group:0ca6f700-4137-4d09-b44a-43bb8d7900c4", "lineItemGroup": { "qid": "qid::payable_invoice_line_item_group:0ca6f700-4137-4d09-b44a-43bb8d7900c4", "name": "Linehaul", "invoiced": { "amount": "3.50", "currencyCode": "USD" }, "payment": { "amount": "3.50", "currencyCode": "USD" }, "category": "LINEHAUL" }, "rateEngineRateItemQids": [ "qid::rate_engine_run_rate_item:0ca6f700-4137-4d09-b44a-43bb8d7900c4" ], "rateEngineRateItems": [ { "qid": "qid::rate_engine_run_rate_item:0ca6f700-4137-4d09-b44a-43bb8d7900c4", "code": "660", "description": "California Fuel Surcharge", "classification": "FUEL_SURCHARGE", "tags": { }, "cost": { "amount": "3.50", "currencyCode": "USD" } } ] } ], "adjustmentReviews": [ { "approved": { "amount": "3.50", "currencyCode": "USD" }, "appliedAmount": { "amount": "3.50", "currencyCode": "USD" }, "adjustmentQid": "qid::payable_invoice_adjustment:0ca6f700-4137-4d09-b44a-43bb8d7900c4", "description": "QUICK_PAY_DISCOUNT", "externalIdentifier": { } } ], "expandRevisionCreatedAt": "2023-01-01T00:00:00.000Z" } ``` ``` -------------------------------- ### GET /v1/factoring-relationships/{qid} Source: https://docs.loop.com/openapi Returns the factoring relationship with the specified QID. ```APIDOC ## GET /v1/factoring-relationships/{qid} ### Description Returns the factoring relationship with the specified QID. ### Method GET ### Endpoint https://api.loop.com/v1/factoring-relationships/{qid} ### Parameters #### Path Parameters - **qid** (string) - Required - QID of the entity to retrieve. ### Response #### Success Response (200) - **qid** (string) - Qualified unique identifier. - **createdAt** (string) - Creation timestamp. - **revisionNumber** (number) - Revision number. - **revisionCreatedAt** (string) - Revision creation timestamp. - **carrierOrganizationQid** (string) - Qualified unique identifier of the carrier organization. - **factorOrganizationQid** (string) - Qualified unique identifier of the factoring organization. - **effectiveFrom** (string) - Timestamp indicating when the factoring relationship is effective. - **effectiveTo** (string) - Timestamp indicating when the factoring relationship is no longer effective. #### Response Example { "qid": "qid::factoring_relationship:0ca6f700-4137-4d09-b44a-43bb8d7900c4", "createdAt": "2023-01-01T00:00:00.000Z", "revisionNumber": 1, "revisionCreatedAt": "2023-01-01T00:00:00.000Z", "carrierOrganizationQid": "qid::organization:0ca6f700-4137-4d09-b44a-43bb8d7900c4", "factorOrganizationQid": "qid::organization:0ca6f700-4137-4d09-b44a-43bb8d7900c4", "effectiveFrom": "2025-05-01T00:00:00.000Z", "effectiveTo": "2025-06-01T00:00:00.000Z" } ``` -------------------------------- ### Business Exception Reopened Event Payload Source: https://docs.loop.com/developers/webhook-event-types Example JSON payload for a business-exception.reopened event. ```json { "eventCreatedAt": "2023-01-01T00:00:00.000Z", "eventType": "business-exception.reopened", "exceptionName": "Variance over threshold", "exceptionTypeQid": "qid::business_exception_type:6b6b0a26-2404-4add-8519-89fc5f173c54", "qid": "qid::business_exception:6b6b0a26-2404-4add-8519-89fc5f173c54", "targetEntityQid": "qid::payable_invoice:0ca6f700-4137-4d09-b44a-43bb8d7900c4", "targetEntityType": "PAYABLE_INVOICE" } ``` -------------------------------- ### Artifact Response Sample Source: https://docs.loop.com/openapi Example JSON response for an artifact record, including metadata, summary, and derivative artifacts. ```json { "qid": "qid::artifact:0ca6f700-4137-4d09-b44a-43bb8d7900c4", "createdAt": "2023-01-01T00:00:00.000Z", "revisionNumber": 1, "revisionCreatedAt": "2023-01-01T00:00:00.000Z", "artifactType": "INVOICE", "artifactFormat": "PDF", "displayName": "XPO Invoice 54219 - 2023-12-01", "summary": { "bolNumber": "201946", "carrierName": "Tom's Trucking LLC", "consigneeAddress": { "addressLine1": "123 Main Street", "addressLine2": "Suite 456", "city": "Chicago", "state": "IL", "postalCode": "60601", "country": "USA" }, "dropoffAppointmentDateTime": "2023-12-01T12:00:00.000Z", "dropoffAppointmentType": "FCFS, Appointment", "equipmentRequirements": "straps, tarps, food grade, etc.", "equipmentSize": "53', 48'", "equipmentType": "Dry Van, Reefer, Flatbed, etc.", "consigneeName": "Catherine's Culinary Corner", "externalIdentifiers": [ "89213", "OF7890" ], "invoicedTotal": { "amount": "3.50", "currencyCode": "AED" }, "invoiceNumber": "419204", "invoiceDate": "2023-12-01", "pickupAppointmentDateTime": "2023-12-01T12:00:00.000Z", "pickupDateAppointmentType": "FCFS, Appointment", "pickupDate": "2023-11-01", "poNumber": "19012", "proNumber": "76910234", "reeferEquipmentTemperature": "35-36F", "shipperAddress": { "addressLine1": "123 Main Street", "addressLine2": "Suite 456", "city": "Chicago", "state": "IL", "postalCode": "60601", "country": "USA" }, "shipperName": "Sally's Supply Store", "transportationProvider": "TQL, CHR" }, "derivativeArtifacts": [ { "qid": "qid::artifact:0ca6f700-4137-4d09-b44a-43bb8d7900c4", "artifactType": "INVOICE" } ], "tags": { } } ``` -------------------------------- ### Business Exception Created Event Payload Source: https://docs.loop.com/developers/webhook-event-types Example JSON payload for a business-exception.created event. ```json { "eventCreatedAt": "2023-01-01T00:00:00.000Z", "eventType": "business-exception.created", "exceptionName": "Variance over threshold", "exceptionTypeQid": "qid::business_exception_type:6b6b0a26-2404-4add-8519-89fc5f173c54", "qid": "qid::business_exception:6b6b0a26-2404-4add-8519-89fc5f173c54", "targetEntityQid": "qid::payable_invoice:0ca6f700-4137-4d09-b44a-43bb8d7900c4", "targetEntityType": "PAYABLE_INVOICE" } ``` -------------------------------- ### Create an organization response sample Source: https://docs.loop.com/onboarding-openapi Example response returned upon successful creation of an organization, containing the new organization's QID and metadata. ```json { "qid": "qid::organization:0ca6f700-4137-4d09-b44a-43bb8d7900c4", "createdAt": "2023-01-01T00:00:00.000Z", "revisionNumber": 1, "revisionCreatedAt": "2023-01-01T00:00:00.000Z", "displayName": "ACME", "legalName": "ACME Inc.", "websiteUrl": "https://example.com", "parentOrganizationQid": "qid::organization:9bafb1b4-3bdf-4326-bc0d-2d0ff9d616a8", "truckingCarrierInfo": { "mcNumber": "179059", "scac": "FDEB", "usdotNumber": "265752" }, "factorInfo": { }, "tags": { "accountNumber": "AC-123", "externalId": "123456789" } } ``` -------------------------------- ### GET /v1/organizations/{qid} Source: https://docs.loop.com/openapi Retrieves the organization with the specified QID. ```APIDOC ## GET /v1/organizations/{qid} ### Description Returns the organization with the specified QID. ### Method GET ### Endpoint /v1/organizations/{qid} ### Parameters #### Path Parameters - **qid** (string) - Required - QID of the entity to retrieve #### Query Parameters - **expand** (Array of strings) - Optional - Items Enum: "tags" "truckingCarrierInfo.factorOrganizationQid" ### Response #### Success Response (200) - **qid** (string) - Qualified unique identifier. - **createdAt** (string) - UTC timestamp. - **revisionNumber** (number) - **revisionCreatedAt** (string) - UTC timestamp. - **displayName** (string) - Name of the organization. - **legalName** (string or null) - Legal name of the organization, if defined. - **websiteUrl** (string or null) - Website of the organization. - **parentOrganizationQid** (string or null) - Qualified unique identifier of the parent organization. - **clientDivisionInfo** (object or null) - Client division information, if relevant to the organization. - **customerInfo** (object or null) - Customer information, if relevant to the organization. - **airCarrierInfo** (object or null) - Air carrier information, if relevant to the organization. - **oceanCarrierInfo** (object or null) - Ocean carrier information, if relevant to the organization. - **truckingCarrierInfo** (object or null) - Trucking carrier information, if relevant to the organization. - **forwarderInfo** (object or null) - Forwarder information, if relevant to the organization. - **factorInfo** (object or null) - Factor information, if relevant to the organization. - **brokerageInfo** (object or null) - Brokerage information, if relevant to the organization. - **tags** (object) - Entity tags assigned to the organization. #### Response Example ```json { "qid": "qid::organization:0ca6f700-4137-4d09-b44a-43bb8d7900c4", "createdAt": "2023-01-01T00:00:00.000Z", "revisionNumber": 1, "revisionCreatedAt": "2023-01-01T00:00:00.000Z", "displayName": "ACME", "legalName": "ACME Inc.", "websiteUrl": "https://example.com", "parentOrganizationQid": "qid::organization:9bafb1b4-3bdf-4326-bc0d-2d0ff9d616a8", "clientDivisionInfo": { "isEligiblePayor": true, "vatRegistrationNumber": "DE123456789" }, "customerInfo": { "billingEmails": [ "billing@customer.com" ], "invoiceDeliveryMethod": "EMAIL" }, "airCarrierInfo": { "scac": "AAL", "iataCode": "AA", "icaoCode": "AAL" }, "oceanCarrierInfo": { "scac": "MAEU", "bicCode": "MSCU" }, "truckingCarrierInfo": { "mcNumber": "179059", "scac": "FDEB", "usdotNumber": "265752" }, "forwarderInfo": { "scac": "FDEG", "fmcOrganizationNumber": "FMC123456" }, "factorInfo": { }, "brokerageInfo": { }, "tags": { "accountNumber": "AC-123", "externalId": "123456789" } } ``` #### Error Responses - **400**: Invalid QID - **404**: Organization not found ``` -------------------------------- ### POST /v1/organizations/create-organization-with-payment-detail Source: https://docs.loop.com/onboarding-openapi Creates a new organization and initiates the onboarding process for payments. ```APIDOC ## POST /v1/organizations/create-organization-with-payment-detail ### Description Creates a new organization and initiates the onboarding process for payments. This endpoint is used to register a new organization and provide necessary details for payment processing. ### Method POST ### Endpoint https://onboarding.api.loop.com/v1/organizations/create-organization-with-payment-detail ### Parameters #### Query Parameters - **expand** (Array of strings) - Optional - Allows specifying additional fields to include in the response. #### Request Body - **displayName** (string) - Required - The display name of the organization. - **legalName** (string) - Required - The legal name of the organization, required for payment onboarding. - **websiteUrl** (string or null) - Optional - The website URL of the organization. - **parentOrganizationQid** (string or null) - Optional - The qualified unique identifier of the parent organization. - **tags** (object) - Required - An object containing entity tags assigned to the organization. A unique tag type must be provided for payment onboarding. - **truckingCarrierInfo** (object or null) - Optional - Trucking carrier information, if relevant to the organization. - **factorInfo** (object or null) - Optional - Factor information. An empty object will create the organization as a factor. - **asPayee** (object) - Required - Additional information required to onboard the organization for payments as a payee. ### Request Example ```json { "displayName": "ACME", "legalName": "ACME Inc.", "websiteUrl": "https://example.com", "parentOrganizationQid": "qid::organization:9bafb1b4-3bdf-4326-bc0d-2d0ff9d616a8", "tags": { "accountNumber": "AC-123", "uniqueIdentifier": "123456789" }, "truckingCarrierInfo": { "mcNumber": "179059", "scac": "FDEB", "usdotNumber": "265752" }, "factorInfo": { }, "asPayee": { "invoicing": { "daysToPay": 30, "daysToPayFrom": "ISSUE_DATE" }, "paymentInfo": { "achDisplayName": "ACME", "businessType": "PRIVATE_CORPORATION", "remittanceEmails": [ "acme@acme.com" ], "primaryAddress": { "addressLine1": "123 Main St", "addressLine2": "Suite 100", "city": "San Francisco", "state": "CA", "postalCode": "94105", "country": "US" }, "remittanceAddress": { "addressLine1": "123 Main St", "addressLine2": "Suite 100", "city": "San Francisco", "state": "CA", "postalCode": "94105", "country": "US" } }, "paymentAccountDetail": { "detailType": "BANK_ACCOUNT", "accountNumber": "123456789", "routingNumber": "021000021" }, "quickPay": { "daysToPay": 1, "discountPercentage": "0.02" } } } ``` ### Response #### Success Response (201) - **qid** (string) - Required - The qualified unique identifier of the created organization. - **createdAt** (string) - Required - The timestamp when the organization was created. - **revisionNumber** (number) - Required - The current revision number of the organization. - **revisionCreatedAt** (string) - Required - The timestamp when the organization's revision was last updated. - **displayName** (string) - Required - The display name of the organization. - **legalName** (string or null) - Required - The legal name of the organization, if defined. - **websiteUrl** (string or null) - Required - The website URL of the organization. - **parentOrganizationQid** (string or null) - Required - The qualified unique identifier of the parent organization. - **truckingCarrierInfo** (object or null) - Required - Trucking carrier information, if relevant to the organization. - **factorInfo** (object or null) - Required - Factor information. - **tags** (object) - Entity tags assigned to the organization. #### Response Example ```json { "qid": "qid::organization:0ca6f700-4137-4d09-b44a-43bb8d7900c4", "createdAt": "2023-01-01T00:00:00.000Z", "revisionNumber": 1, "revisionCreatedAt": "2023-01-01T00:00:00.000Z", "displayName": "ACME", "legalName": "ACME Inc.", "websiteUrl": "https://example.com", "parentOrganizationQid": "qid::organization:9bafb1b4-3bdf-4326-bc0d-2d0ff9d616a8", "truckingCarrierInfo": { "mcNumber": "179059", "scac": "FDEB", "usdotNumber": "265752" }, "factorInfo": { }, "tags": { "accountNumber": "AC-123", "externalId": "123456789" } } ``` ``` -------------------------------- ### GET /v1/factoring-relationships Source: https://docs.loop.com/openapi Returns a paginated list of factoring relationships with optional filtering. ```APIDOC ## GET /v1/factoring-relationships ### Description Returns a list of factoring relationships. ### Method GET ### Endpoint https://api.loop.com/v1/factoring-relationships ### Parameters #### Query Parameters - **revisedAfter** (string) - Optional - Filter to only results that have been revised after this timestamp. - **revisedBefore** (string) - Optional - Filter to only results that have been revised before this timestamp. - **first** (number) - Optional - The number of results to return. Default value is 10. - **after** (string) - Optional - The cursor to start returning results from. - **factorOrganizationQid** (string) - Optional - The factor organization QID to filter by. - **carrierOrganizationQid** (string) - Optional - The carrier organization QID to filter by. ### Response #### Success Response (200) - **data** (Array) - List of FactoringRelationship objects. - **pageInfo** (object) - Pagination metadata. #### Response Example { "data": [ { "qid": "qid::factoring_relationship:0ca6f700-4137-4d09-b44a-43bb8d7900c4", "createdAt": "2023-01-01T00:00:00.000Z", "revisionNumber": 1, "revisionCreatedAt": "2023-01-01T00:00:00.000Z", "carrierOrganizationQid": "qid::organization:0ca6f700-4137-4d09-b44a-43bb8d7900c4", "factorOrganizationQid": "qid::organization:0ca6f700-4137-4d09-b44a-43bb8d7900c4", "effectiveFrom": "2025-05-01T00:00:00.000Z", "effectiveTo": "2025-06-01T00:00:00.000Z" } ], "pageInfo": { "hasPreviousPage": true, "hasNextPage": true, "startCursor": "string", "endCursor": "string" } } ``` -------------------------------- ### Payment Initiated Webhook Example Source: https://docs.loop.com/developers/webhook-event-types This JSON structure represents a 'payment.initiated' webhook event. It includes timestamps, event type, and payment identifiers. ```json { "eventCreatedAt": "2023-01-01T00:00:00.000Z", "eventType": "payment.initiated", "initiatedAt": "2023-01-01T00:00:00.000Z", "paymentDisplayId": "LP12345678", "paymentQid": "qid::payment:0ca6f700-4137-4d09-b44a-43bb8d7900c4" } ``` -------------------------------- ### Business Exception Deleted Event Payload Source: https://docs.loop.com/developers/webhook-event-types Example JSON payload for a business-exception.deleted event. ```json { "eventCreatedAt": "2023-01-01T00:00:00.000Z", "eventType": "business-exception.deleted", "exceptionName": "Variance over threshold", "exceptionTypeQid": "qid::business_exception_type:6b6b0a26-2404-4add-8519-89fc5f173c54", "qid": "qid::business_exception:6b6b0a26-2404-4add-8519-89fc5f173c54", "targetEntityQid": "qid::payable_invoice:0ca6f700-4137-4d09-b44a-43bb8d7900c4", "targetEntityType": "PAYABLE_INVOICE" } ``` -------------------------------- ### Create Artifact Response (201) Source: https://docs.loop.com/openapi Example JSON response upon successful creation of an artifact. The response includes a qualified unique identifier (qid), creation timestamps, revision details, and artifact metadata. ```json { "qid": "qid::artifact:0ca6f700-4137-4d09-b44a-43bb8d7900c4", "createdAt": "2023-01-01T00:00:00.000Z", "revisionNumber": 1, "revisionCreatedAt": "2023-01-01T00:00:00.000Z", "artifactType": "INVOICE", "artifactFormat": "PDF", "displayName": "XPO Invoice 54219 - 2023-12-01", "tags": { } } ``` -------------------------------- ### POST /jobs Source: https://docs.loop.com/openapi Creates a new FTL shipment job including pickup, dropoff, and expected charge details. ```APIDOC ## POST /jobs ### Description Creates a new FTL shipment job with specified pickup and dropoff locations, article details, and expected charges. ### Method POST ### Endpoint /jobs ### Request Body - **jobs** (array) - Required - A list of shipment job objects. - **jobType** (string) - Required - The type of shipment (e.g., "FTL"). - **jobTypeInfo** (object) - Required - Details regarding freight terms and stops. - **expectedCharges** (array) - Required - List of expected financial charges for the shipment. ### Request Example { "jobs": [ { "jobType": "FTL", "jobTypeInfo": { "jobType": "FTL", "freightChargeTerms": "COLLECT", "carrierOrganizationTag": { "tagType": "externalCarrierUuid", "tagValue": "304fb3dd-1f4a-404b-9f9e-c9134584915b" }, "stops": [ { "address": { "addressLine1": "123 Main Street", "city": "Anytown", "state": "CA", "postalCode": "12345", "country": "US" }, "date": "2023-01-01", "stopType": "PICK_UP" } ] }, "expectedCharges": [ { "code": "240", "description": "Linehaul Charge", "category": "LINEHAUL", "amount": { "amount": "1200.56", "currencyCode": "USD" } } ] } ] } ``` -------------------------------- ### 200 OK Response Sample Source: https://docs.loop.com/openapi This is a sample JSON response for a successful request, detailing a receivable invoice with line items and shipment information. It includes details about the invoice, payor, payee, status, notes, dates, total amounts, line items, supporting artifacts, and shipment details with exceptions and job information. ```json { "data": [ { "qid": "qid::receivable_invoice:0ca6f700-4137-4d09-b44a-43bb8d7900c4", "createdAt": "2023-01-01T00:00:00.000Z", "revisionNumber": 1, "revisionCreatedAt": "2023-01-01T00:00:00.000Z", "invoiceNumber": "555-555555", "payorOrganizationQid": "qid::organization:0ca6f700-4137-4d09-b44a-43bb8d7900c4", "payeeOrganizationQid": "qid::organization:0ca6f700-4137-4d09-b44a-43bb8d7900c4", "status": "DRAFT", "noteToPayor": "This is a payor note.", "note": "This is an internal note.", "issuedAt": "2023-01-01T00:00:00.000Z", "dueDate": "2023-01-01", "total": { "amount": "3.50", "currencyCode": "USD" }, "adjustmentSubtotal": { "amount": "3.50", "currencyCode": "USD" }, "lineItems": [ { "description": "Linehaul", "amount": { "amount": "3.50", "currencyCode": "USD" }, "kind": "ORIGINAL", "invoiceDeliveryMethod": "EMAIL", "externalChargeCode": "LH" } ], "supportingArtifacts": { "qid": "qid::artifact:0ca6f700-4137-4d09-b44a-43bb8d7900c4", "artifactType": "INVOICE" }, "shipments": { "qid": "qid::shipment:0ca6f700-4137-4d09-b44a-43bb8d7900c4", "exceptions": [ { "qid": "qid::business_exception:0ca6f700-4137-4d09-b44a-43bb8d7900c4", "label": "Variance over threshold", "resolvedAt": "2023-01-01T00:00:00.000Z", "targetQid": "qid::payable_invoice:0ca6f700-4137-4d09-b44a-43bb8d7900c4", "note": "string" } ], "shipmentJobs": { "qid": "qid::shipment_job:0ca6f700-4137-4d09-b44a-43bb8d7900c4", "createdAt": "2023-01-01T00:00:00.000Z", "jobType": "AIR", "jobTypeInfo": { "freightChargeTerms": "PREPAID", "carrierOrganizationName": "Example Carrier Inc", "carrierOrganizationQid": null, "billToAddressName": "Billing Department", "billToAddressQid": null, "firstOriginAddressName": "Warehouse A", "firstOriginAddressQid": null, "lastDestinationAddressName": "Distribution Center B", "lastDestinationAddressQid": null, "stops": [ { "addressName": "Warehouse A", "addressQid": null, "date": null, "organizationQid": null, "stopType": "PICK_UP", "articlesSummary": { "totalGrossWeight": { "value": 15000, "unit": "LB" }, "totalPackageCount": { "value": 25, "unit": "PLT" }, "totalHandlingUnit": null }, "articles": [ { "description": "Industrial Equipment", "dimensions": { "length": 48, "width": 40, "height": 48, "unit": "IN" }, "grossWeight": { "value": 2000, "unit": "LB" }, "nmfcClass": "70", "nmfcCode": "133300", "packageCount": { "value": 5, "unit": "PLT" }, "handlingUnit": null }, { "description": "Electronics Components", "dimensions": { "length": 36, "width": 30, "height": 24, "unit": "IN" }, "grossWeight": { "value": 800, "unit": "LB" }, "nmfcClass": "125", "nmfcCode": "178650", "packageCount": { "value": 10, "unit": "BOX" }, "handlingUnit": null } ], "referenceNumbers": [ ] }, { "addressName": "Distribution Center B", "addressQid": null, "date": null, "organizationQid": null, "stopType": "DROP_OFF", "articlesSummary": { "totalGrossWeight": { "value": 15000, "unit": "LB" }, "totalPackageCount": { "value": 25, "unit": "PLT" }, "totalHandlingUnit": null } } ] } } } } ] } ``` -------------------------------- ### GET /v1/shipment-jobs Source: https://docs.loop.com/openapi Retrieves a paginated list of shipment jobs based on provided filters. ```APIDOC ## GET /v1/shipment-jobs ### Description Retrieves a paginated list of shipment jobs. Supports filtering by job type, external identifiers, revision dates, and specific shipment or artifact QIDs. ### Method GET ### Endpoint https://api.loop.com/v1/shipment-jobs ### Parameters #### Query Parameters - **expand** (Array of strings) - Optional - List of related resources to include in the response. - **jobType** (Array of strings) - Optional - A set of job types to filter to (e.g., AIR, FTL, LTL). - **externalIdentifier** (string) - Optional - Filter by external identifier. - **revisedAfter** (string) - Optional - Filter to results revised after this UTC timestamp. - **revisedBefore** (string) - Optional - Filter to results revised before this UTC timestamp. - **first** (number) - Optional - The number of results to return (0-100, default 10). - **after** (string) - Optional - The cursor to start returning results from. - **shipmentQid** (string) - Optional - QID of the shipment. - **artifactQid** (string) - Optional - QID of the artifact. ### Response #### Success Response (200) - **data** (Array of objects) - The list of ShipmentJob objects. - **pageInfo** (object) - Pagination metadata. ``` -------------------------------- ### Resolve Business Exception Response Sample Source: https://docs.loop.com/openapi This is a sample successful response when a business exception is resolved. It includes details about the resolved exception. ```json { "qid": "qid::business_exception:0ca6f700-4137-4d09-b44a-43bb8d7900c4", "label": "Variance over threshold", "resolvedAt": "2023-01-01T00:00:00.000Z", "targetQid": "qid::payable_invoice:0ca6f700-4137-4d09-b44a-43bb8d7900c4", "note": "string" } ``` -------------------------------- ### GET /receivable_invoices Source: https://docs.loop.com/openapi Retrieves a list of receivable invoices with detailed shipment and financial information. ```APIDOC ## GET /receivable_invoices ### Description Retrieves a list of receivable invoices including financial totals, line items, and shipment details. ### Method GET ### Endpoint /receivable_invoices ### Response #### Success Response (200) - **data** (array) - List of receivable invoice objects #### Response Example { "data": [ { "qid": "qid::receivable_invoice:0ca6f700-4137-4d09-b44a-43bb8d7900c4", "createdAt": "2023-01-01T00:00:00.000Z", "invoiceNumber": "555-555555", "status": "DRAFT", "total": { "amount": "3.50", "currencyCode": "USD" }, "lineItems": [ { "description": "Linehaul", "amount": { "amount": "3.50", "currencyCode": "USD" }, "kind": "ORIGINAL" } ] } ] } ```