Create or update carrier

Create a new carrier or update an existing one. This endpoint supports three operations:

  • Creation: Provide all required fields to create a new carrier.

  • Partial Update: Include only the fields you want to update. Carriers are matched by tmsId, so provide the tmsId of the carrier you want to update.

  • Full Update: Include all fields to completely replace the carrier data.

For updating managers and contacts, it is highly recommended to provide tmsId for each manager and contact when creating them. This allows the system to match and update existing managers/contacts by their tmsId during subsequent updates. If tmsId is not provided for managers or contacts, you will need to clear the entire array and re-add all managers/contacts when updating.

Body
required
application/json
  • name
    Type: string
    required

    Carrier name (required)

  • tmsId
    Type: string
    required

    TMS identifier for the carrier. Used for matching existing carriers. Cannot be changed after creation.

  • address
    Type: object

    Carrier address.

  • complianceStatus
    Type: object

    Compliance status information.

  • contacts
    Type: array object[] · CarrierContactRequest[]

    Array of carrier contacts (carrier employees). Pass an empty array [] to clear all contacts when updating.

  • customData
    Type: object · CarrierCustomData

    Optional metadata for the carrier. Use string keys; each value may be a string, number, boolean, array of JSON-safe values, or nested object with the same rules. Omit or send {} when you have nothing to store.

  • dotNumber
    Type: integer

    DOT number

  • email
    Type: stringFormat: email

    Carrier email address.

  • managers
    Type: array object[] · BrokerageContactRequest[]

    Array of organization contacts (managers) who manage this carrier. Pass an empty array [] to clear all managers when updating.

  • mcNumber
    Type: integer

    MC number

  • notes
    Type: string

    Free-form notes about the carrier.

  • phone
    Type: string

    Phone number in E.164 format (e.g., +13125551234).

Responses
  • application/json
  • application/json
  • application/json
  • application/json
Request Example for post/v1/carriers
curl https://api.prod.goaugment.com/v1/carriers \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Basic username:password' \
  --data '{
  "name": "Acme Logistics",
  "tmsId": "acme-tms-001",
  "dotNumber": 1234567,
  "mcNumber": 765432,
  "customData": {
    "tier": "gold",
    "score": 98.5,
    "verified": true,
    "aliases": [
      "Acme Freight",
      "Acme Carriers LLC"
    ],
    "routing": {
      "defaultRegion": "NS",
      "allowCrossBorder": false
    }
  }
}'
{
  "id": "string",
  "name": "string",
  "tmsId": "string",
  "status": {
    "code": "ACTIVE",
    "reason": "string"
  },
  "complianceStatus": {
    "codes": {
      "additionalProperty": "string"
    }
  },
  "mcNumber": 1,
  "dotNumber": 1,
  "scac": "string",
  "address": {
    "street1": "string",
    "street2": "string",
    "city": "string",
    "stateOrProvince": "string",
    "postalCode": "string",
    "country": "string",
    "name": "string",
    "company": "string"
  },
  "email": "string",
  "phone": "string",
  "phoneExtension": "string",
  "managers": [
    {
      "id": "string",
      "name": "string",
      "tmsId": "string",
      "roles": [
        "CARRIER_REP"
      ],
      "preferredContactMode": "EMAIL",
      "email": "string",
      "phone": "string",
      "phoneExtension": "string"
    }
  ],
  "contacts": [
    {
      "id": "string",
      "name": "string",
      "tmsId": "string",
      "roles": [
        "ACCOUNTANT"
      ],
      "preferredContactMode": "EMAIL",
      "email": "string",
      "phone": "string",
      "phoneExtension": "string"
    }
  ],
  "notes": "string",
  "customData": {
    "tier": "gold",
    "score": 98.5,
    "verified": true,
    "aliases": [
      "Acme Freight",
      "Acme Carriers LLC"
    ],
    "routing": {
      "defaultRegion": "NS",
      "allowCrossBorder": false
    }
  }
}