---
title: "Unassign a load"
method: POST
path: "/load/unassign"
tags: ["loads"]
---

# Unassign a load

`POST /load/unassign`

## Request

- Base URL: `https://demo-developer.convoy.com/broker`
- URL: `https://demo-developer.convoy.com/broker/load/unassign`
- Auth: HTTP bearer

The api unassigns a load from a carrier that was matched on Convoy Platform.
To unassign a load successfully, the carrier DOT number or MC number is required and must match the assigned carrier.
An unassign reason is defaulted to NO_REASON_PROVIDED if not provided.
If the load is not currently assigned to a carrier, the api will return a 200 Accepted response.

## Headers

- `X-Convoy-API-Version` string, required

## Request body

- UnassignRequest
  - `externalId` string, required: Unique ID for the load, recommended to match a unique identifier in the caller's external system. This identifier will only be displayed to the carrier after booking.
  - `carrier` union, required: Details of the assigned carrier to the load. Used to verify if carrier was matched on the Convoy marketplace or externally.
    - CarrierMcOnly
      - `mcNumber` string, required: The FMCSA Operating Authority (MC number) of the carrier. Either MC Number of DOT Number is required for all postingStatus `COVERED` loads or unassignments.
      - `dotNumber` string: The USDOT number of the carrier. Either MC Number of DOT Number is required for all postingStatus `COVERED` loads or unassignments.
      - `companyName` string: The name of the assigned carrier company.
    - CarrierDotOnly
      - `mcNumber` string: The FMCSA Operating Authority (MC number) of the carrier. Either MC Number of DOT Number is required for all postingStatus `COVERED` loads or unassignments.
      - `dotNumber` string, required: The USDOT number of the carrier. Either MC Number of DOT Number is required for all postingStatus `COVERED` loads or unassignments.
      - `companyName` string: The name of the assigned carrier company.
  - `unassignReason` 'CARRIER_RATE_ISSUE' | 'NO_CALL_NO_SHOW' | 'SHIPMENT_ISSUE' | 'BROKER_MATCHED_INTERNALLY' | 'CARRIER_ISSUE_GENERAL' | 'CARRIER_PERFORMANCE_OR_BEHAVIOR' | 'CARRIER_DOES_NOT_WANT_LOAD' | 'CARRIER_UNRESPONSIVE_TO_FOLLOWUP' | 'CARRIER_QUALIFICATION' | 'BROKER_ISSUE' | 'SEVERE_WEATHER_OR_UNFORESEEN_EVENT' | 'NO_REASON_PROVIDED', required: The reason the load is either unassigned or canceled | Status | Description | | ---------------------------------- |-------------| | CARRIER_RATE_ISSUE | The carrier has an issue with the rate. | | NO_CALL_NO_SHOW | The carrier did not call or show up for the load. | | SHIPMENT_ISSUE | There was a general issue with the shipment. | | BROKER_MATCHED_INTERNALLY | The broker matched the load internally. | | CARRIER_ISSUE_GENERAL | There was a general issue with the carrier. | | CARRIER_PERFORMANCE_OR_BEHAVIOR | The carrier's performance or behavior was an issue. | | CARRIER_DOES_NOT_WANT_LOAD | The carrier does not want the load. | | CARRIER_UNRESPONSIVE_TO_FOLLOWUP | The carrier was unresponsive to followup. | | CARRIER_QUALIFICATION | The carrier's qualifications were not sufficient for the load. | | BROKER_ISSUE | There was a general issue with the broker. | | SEVERE_WEATHER_OR_UNFORESEEN_EVENT | Severe weather or unforeseen event occurred. | | NO_REASON_PROVIDED | No reason was provided. |
  - `unassignMessage` string: A message from the broker about why they unassigned the load
  - `brokerSelectedReason` string: The exact wording of what the broker selected in the TMS when unassigning the load

## Response `200`

Load was accepted for unassignment.

- object

## Other responses

- `400`: Invalid request. Load was not unassigned.
- `default`: Unexpected error

---

[API](https://skmtc.dev/convoy/apis/brokers.md) - [All operations](https://skmtc.dev/convoy/apis/brokers/llms.txt) - [OpenAPI document](https://skmtc.dev/convoy/apis/brokers/revisions/a43e2868b355?raw)
