Webhook

Upload Document

​

Payload is identical in v1 and v2 — no migration needed for this event.

Augment POSTs this payload to your configured upload-document endpoint when a document needs to be associated with a load. The file content is base64-encoded and accompanied by an MD5 checksum for integrity verification.

Supported file types: .pdf, .jpg/.jpeg, .png, .heic, .webp, .tiff/.tif.

Supported fileType values: INVOICE, POD, BOL, RATE_CONFIRMATION, LUMPER_RECEIPT, OTHER.

When uploading an invoice (fileType: INVOICE), the referenceNumbers.invoiceNumber field is required.

The optional source field identifies the entity that provided the document (e.g. a carrier). Use it when your brokerage needs to route documents by origin, such as mapping a carrier by MC number or SCAC code.

Body·

required
application/json
  • MD5 hex digest of the raw (pre-encoding) file bytes, used for integrity verification

  • Base64-encoded file bytes

  • MIME type of the file. Supported values: application/pdf, image/jpeg, image/png, image/heic, image/webp, image/tiff

  • Original filename including extension. Supported extensions: .pdf, .jpg, .jpeg, .png, .heic, .webp, .tiff, .tif

  • The category of the document being uploaded

    values
    INVOICEPODBOLRATE_CONFIRMATIONLUMPER_RECEIPTOTHER
  • The load's external number in the TMS (brokerageLoadId)

  • File size in bytes

  • ISO 8601 timestamp of when the document was collected/created

  • Optional internal load identifier from the TMS (brokerageLoadInternalId). Only included when available.

  • Properties: 1
  • Origin of the document, used by some brokerages for routing (e.g. carrier ID)

    Properties: 4

Responses

  • application/json
  • application/json
Request Example for postuploadDocument
{
  "loadNum": "",
  "internalLoadReference": "",
  "filename": "invoice-1234.pdf",
  "fileType": "INVOICE",
  "contentType": "application/pdf",
  "content": "",
  "sizeBytes": 1,
  "checksum": "",
  "referenceNumbers": {
    "invoiceNumber": ""
  },
  "source": {
    "type": "CARRIER",
    "identifierType": "MC_NUMBER",
    "identifier": "",
    "name": ""
  },
  "createdAt": ""
}
{
  "summary": {
    "total": 1,
    "succeeded": 1,
    "failed": 1
  },
  "results": [
    {
      "filename": "string",
      "success": true,
      "data": {
        "size": 1,
        "contentType": "string",
        "id": "string"
      }
    }
  ]
}