---
title: "Report TONU"
method: POST
path: "/loads/{loadId}/carriers/{carrierId}/tonu"
tags: ["Loads"]
---

# Report TONU

`POST /loads/{loadId}/carriers/{carrierId}/tonu`

Report Truck Ordered Not Used (TONU).

## What happens

- LoadCarrier status changes to TONU
- TONU costs are recorded if provided
- Optionally creates a replacement load

## When to use

Use TONU when:
- Carrier was dispatched but load was cancelled
- Carrier arrived but freight wasn't ready
- Carrier was turned away at shipper

TONU typically involves some payment to the carrier.

## Path parameters

- `loadId` string, required
- `carrierId` string, required

## Request body

- ReportTonuRequest — Request body for reporting TONU
  - `reason` string — Reason for TONU
  - `costs` object[] — TONU costs to record
    - `chargeCode` union, required — Reference to another resource by either ID or client key (used in create/update requests)
      - object
        - `id` string, uuid, required — Resource UUID
        - `key` string — Client-defined reference ID
      - object
        - `id` string, uuid — Resource UUID
        - `key` string, required — Client-defined reference ID
    - `description` string
    - `amount` number, required
  - `createReplacementLoad` boolean — Whether to create a replacement load

## Response `200`

TONU reported successfully

- object
  - `loadCarrier` LoadCarrier
    - `id` string, uuid
    - `carrier` CarrierReference — Enhanced reference to a carrier resource (returned in responses). Includes full carrier details in addition to id/key. Note: Does NOT include nested references (contacts, etc.) to prevent recursion. Maximum nesting depth: 1 level.
      - `id` string, uuid, required — Carrier UUID
      - `key` string, nullable — Client-defined reference ID if set
      - `name` string, required — Carrier company name
      - `phoneNumber` string, nullable — Primary phone number
      - `email` string, email, nullable — Primary email address
      - `createdAt` string, date-time, required — When the carrier was created
      - `updatedAt` string, date-time, required — When the carrier was last updated
      - `deletedAt` string, date-time, nullable — When the carrier was soft deleted (null if active)
    - `contact` object
      - `id` string, uuid
      - `name` string
      - `phone` string, nullable
      - `email` string, nullable
    - `status` 'ACTIVE' | 'TONU' | 'BOUNCED' — Status of the carrier assignment. - `ACTIVE`: Carrier is actively assigned - `TONU`: Truck Ordered Not Used (carrier dispatched but cancelled) - `BOUNCED`: Carrier bounced/rejected load
    - `billingStatus` 'AWAITING_INVOICE' | 'INVOICE_IN_REVIEW' | 'APPROVED_TO_PAY' | 'PAID' — Billing status for the load (AP side). - `AWAITING_INVOICE`: Waiting for carrier invoice - `INVOICE_IN_REVIEW`: Invoice received, under review - `APPROVED_TO_PAY`: Approved for payment - `PAID`: Paid to carrier
    - `bookedAt` string, date-time, nullable
    - `dispatchedAt` string, date-time, nullable
    - `charges` LoadCarrierCharge[] — Flattened charges array
      - `id` string, uuid
      - `chargeCode` ResourceReference — Reference to another resource (returned in responses)
        - `id` string, uuid, required — Resource UUID
        - `key` string, nullable — Client-defined reference ID if set
      - `description` string, nullable
      - `amount` number
      - `quantity` number
    - `totalCost` number, nullable — Sum of all charges
    - `driverName` string, nullable
    - `driverPhone` string, nullable
    - `truckNumber` string, nullable
    - `trailerNumber` string, nullable
    - `createdAt` string, date-time
    - `updatedAt` string, date-time, nullable
  - `replacementLoadId` string, uuid, nullable — New load ID if replacement was requested

## Other responses

- `400` — Bad request - invalid input
- `401` — Unauthorized - invalid or missing access token
- `404` — Resource not found
- `409` — Carrier is not in valid status for TONU

---

[API](https://skmtc.net/mvmnt/apis/mvmnt-api.md) · [All operations](https://skmtc.net/mvmnt/apis/mvmnt-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/mvmnt/mvmnt-api/versions/c44e5e7a4256/schema)
