openapi: 3.1.1 info: title: Augment API Key Carrier Management API description: 'Augment is now SOC 2 Type II Certified The Augment API endpoints are calls your system makes to manage loads, carriers, and webhook configuration. The latest version of the Augment API is hosted [online](https://apidocs.goaugment.com). ## API Endpoints Endpoints your system calls to interact with Augment: - [Load Management](/reference/tag/load-management) - [Carrier Management](/reference/tag/carrier-management) - [Models](/reference/models) - [Webhook Endpoints](/reference/tag/webhook-endpoints) - [Webhook Event Subscriptions](/reference/tag/webhook-event-subscriptions) Webhook management access is gated. Request access from Augment before using these endpoints. After access is enabled, you can self-manage the webhook endpoints that receive event payloads and the webhook event subscriptions that control which events are sent to each endpoint. Use [Webhook Endpoints](/reference/tag/webhook-endpoints) to create and update the HTTPS destinations where Augment sends webhook payloads. Use [Webhook Event Subscriptions](/reference/tag/webhook-event-subscriptions) to choose event types for each endpoint and send test deliveries. Outbound webhook payloads, including Track & Trace events, are documented separately in the [Webhooks](/webhooks) reference. Subscriptions created through the public webhook management APIs deliver version 2 webhook payloads only. ## Resources * [Homepage](https://www.goaugment.com) * [LinkedIn](https://www.linkedin.com/company/goaugment) * [Jobs - we''re hiring!](https://jobs.ashbyhq.com/go-augment?utm_source=AMy24qx30n) ## Developer Notes All date-time fields are represented as strings. The date-time notation is defined by [RFC 3339, section 5.6](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6). Examples: - `2025-08-21T12:34:56Z` - `2025-08-21T04:34:56-08:00` However, when using local time, do not include the trailing `Z` or timezone offset in the date-time string. Example: - `2025-08-21T12:34:56` ' version: 20.0.1 servers: - url: https://api.prod.goaugment.com security: - httpBasic: [] tags: - name: Carrier Management description: 'API endpoints for managing carriers, carrier contacts, and carrier-manager relationships. ' paths: /v1/carriers: post: operationId: createOrUpdateCarrier tags: - Carrier Management summary: Create or update carrier description: "Create a new carrier or update an existing one. This endpoint supports three operations:\n- **Creation**: Provide all required fields to create a new carrier.\n- **Partial Update**: Include only the fields you want to update. Carriers\n are matched by `tmsId`, so provide the `tmsId` of the carrier you want\n to update.\n\n- **Full Update**: Include all fields to completely replace the carrier\n data.\n\nFor 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.\n" requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CarrierRequest' example: 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 responses: '201': description: Carrier created or updated successfully content: application/json: schema: $ref: '#/components/schemas/CarrierResponse' '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/ApiErrorBody' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiErrorBody' '422': description: Unprocessable Entity - Validation errors content: application/json: schema: $ref: '#/components/schemas/ApiErrorBody' get: operationId: getCarrierByIdentifier tags: - Carrier Management summary: Get carrier by DOT or MC number description: 'Fetch a carrier by its DOT number or MC number. Returns the carrier with associated managers and contacts. ' parameters: - name: dotNumber in: query required: false schema: type: integer description: DOT number - name: mcNumber in: query required: false schema: type: integer description: MC number responses: '200': description: Carrier found content: application/json: schema: $ref: '#/components/schemas/CarrierResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiErrorBody' '404': description: Carrier not found content: application/json: schema: $ref: '#/components/schemas/ApiErrorBody' /v1/carriers/bulk: post: operationId: bulkUpsertCarriers tags: - Carrier Management summary: Bulk create or update carriers description: 'Create or update multiple carriers in a single request. Maximum 20 carriers per request. Each carrier is processed in its own transaction. Partial success is supported - some carriers may succeed while others fail. ' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/BulkUpsertCarriersRequest' responses: '200': description: Bulk operation completed (may have partial success) content: application/json: schema: $ref: '#/components/schemas/BulkUpsertCarriersResponse' '400': description: Bad request (e.g., exceeds maximum batch size) content: application/json: schema: $ref: '#/components/schemas/ApiErrorBody' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiErrorBody' '422': description: Unprocessable Entity - Validation errors content: application/json: schema: $ref: '#/components/schemas/ApiErrorBody' /v1/carriers/{carrierId}: get: operationId: getCarrierById tags: - Carrier Management summary: Get carrier by ID description: 'Fetch a carrier by its carrier ID. Returns the carrier with associated managers and contacts. ' parameters: - name: carrierId in: path required: true schema: type: string description: Augment's carrier identifier, returned as `carrierId` in the create/update carrier response. responses: '200': description: Carrier found content: application/json: schema: $ref: '#/components/schemas/CarrierResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiErrorBody' '404': description: Carrier not found content: application/json: schema: $ref: '#/components/schemas/ApiErrorBody' delete: operationId: archiveCarrier tags: - Carrier Management summary: Archive carrier description: 'Soft delete a carrier. The carrier will no longer be returned in GET requests. ' parameters: - name: carrierId in: path required: true schema: type: string description: Augment's carrier identifier, returned as `carrierId` in the create/update carrier response. responses: '204': description: Carrier archived successfully '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiErrorBody' '404': description: Carrier not found content: application/json: schema: $ref: '#/components/schemas/ApiErrorBody' components: schemas: CarrierContactRequest: type: object x-property-order: - tmsId - name - email - phone - phoneExtension - preferredContactMode - roles properties: name: type: string description: Contact name email: type: string format: email description: Contact email address. Either email or phone is required. phone: type: string description: Phone number in E.164 format (e.g., +13125551234). Either email or phone is required. phoneExtension: type: string description: Phone extension tmsId: type: string description: TMS identifier for matching existing contacts. If provided, the system will match and update the existing contact. roles: type: array items: type: string enum: - ACCOUNTANT - AP_REP - DISPATCHER - DRIVER - OTHER description: 'Carrier contact roles: - `ACCOUNTANT` — Accountant - `AP_REP` — manages invoices and payments - `DISPATCHER` — Dispatcher - `DRIVER` — Driver - `OTHER` — Other ' preferredContactMode: type: string enum: - EMAIL - PHONE_CALL - TEXT_MESSAGE - TELEGRAM description: Preferred method of contact CarrierResponse: type: object x-property-order: - id - name - tmsId - status - complianceStatus - mcNumber - dotNumber - scac - address - email - phone - phoneExtension - managers - contacts - notes - customData properties: id: type: string description: Carrier ID (ULID) name: type: string description: Carrier name tmsId: type: string nullable: true description: TMS identifier for the carrier status: type: object nullable: true description: Carrier status x-property-order: - code - reason properties: code: type: string enum: - ACTIVE - DO_NOT_USE description: Status code indicating the carrier's current state reason: type: string nullable: true description: Optional reason for the status complianceStatus: type: object nullable: true description: Compliance status information properties: codes: type: object additionalProperties: type: string description: Compliance codes as key-value pairs mcNumber: type: integer nullable: true description: MC number dotNumber: type: integer nullable: true description: DOT number scac: type: string nullable: true description: SCAC code address: type: object nullable: true description: Carrier address x-property-order: - name - company - street1 - street2 - city - stateOrProvince - postalCode - country properties: street1: type: string description: Street address line 1 street2: type: string nullable: true description: Street address line 2 city: type: string description: City name stateOrProvince: type: string nullable: true description: State or province code postalCode: type: string description: Postal or ZIP code country: type: string description: Country code (2-letter ISO) name: type: string nullable: true description: Location name company: type: string nullable: true description: Company name email: type: string nullable: true description: Carrier email address phone: type: string nullable: true description: Phone number in E.164 format (e.g., +13125551234) phoneExtension: type: string nullable: true description: Phone extension managers: type: array description: Array of organization contacts (managers) who manage this carrier items: $ref: '#/components/schemas/BrokerageContactResponse' contacts: type: array description: Array of carrier contacts (carrier employees) items: $ref: '#/components/schemas/CarrierContactResponse' notes: type: string nullable: true description: Free-form notes about the carrier customData: description: 'Optional metadata returned for the carrier; `null` when none is stored. ' oneOf: - $ref: '#/components/schemas/CarrierCustomData' - type: 'null' BulkUpsertCarriersResponse: type: object x-property-order: - total - successCount - failureCount - errors properties: total: type: integer description: Total number of carriers in the request example: 2 successCount: type: integer description: Number of carriers successfully processed failureCount: type: integer description: Number of carriers that failed to process errors: type: array description: Details of failures (if any) items: type: object x-property-order: - index - error properties: index: type: integer description: Index of the carrier in the original request array error: type: string description: Error message CarrierRequest: type: object required: - name - tmsId x-property-order: - name - tmsId - status - complianceStatus - mcNumber - dotNumber - scac - address - email - phone - phoneExtension - managers - contacts - notes - customData properties: name: type: string description: Carrier name (required) tmsId: type: string description: TMS identifier for the carrier. Used for matching existing carriers. Cannot be changed after creation. status: type: object description: Carrier status. x-property-order: - code - reason properties: code: type: string enum: - ACTIVE - DO_NOT_USE description: Status code indicating the carrier's current state reason: type: string description: Optional reason for the status complianceStatus: type: object description: Compliance status information. properties: codes: type: object additionalProperties: type: string description: Compliance codes as key-value pairs mcNumber: type: integer description: MC number dotNumber: type: integer description: DOT number scac: type: string description: SCAC code address: type: object description: Carrier address. x-property-order: - name - company - street1 - street2 - city - stateOrProvince - postalCode - country properties: street1: type: string description: Street address line 1 street2: type: string description: Street address line 2 (optional) city: type: string description: City name stateOrProvince: type: string description: State or province code postalCode: type: string description: Postal or ZIP code country: type: string description: 'Must be 2-letter ISO country code as listed here: https://www.iban.com/country-codes' name: type: string description: Location name (e.g., building name) company: type: string description: Company name email: type: string format: email description: Carrier email address. phone: type: string description: Phone number in E.164 format (e.g., +13125551234). phoneExtension: type: string description: Phone extension. managers: type: array description: Array of organization contacts (managers) who manage this carrier. Pass an empty array [] to clear all managers when updating. items: $ref: '#/components/schemas/BrokerageContactRequest' contacts: type: array description: Array of carrier contacts (carrier employees). Pass an empty array [] to clear all contacts when updating. items: $ref: '#/components/schemas/CarrierContactRequest' notes: type: string description: Free-form notes about the carrier. customData: $ref: '#/components/schemas/CarrierCustomData' BrokerageContactRequest: type: object x-property-order: - tmsId - name - email - phone - phoneExtension - preferredContactMode - roles properties: name: type: string description: Contact name email: type: string format: email description: Contact email address phone: type: string description: Phone number in E.164 format (e.g., +13125551234) phoneExtension: type: string description: Phone extension tmsId: type: string description: TMS identifier for matching existing contacts. If provided, the system will match and update the existing contact. roles: type: array items: type: string enum: - CARRIER_REP - ACCOUNT_MANAGER - OPERATIONS_REP - OPERATIONS_MANAGER - BOOKED_BY - CUSTOMER_REP - CUSTOMER_TEAM - AP_REP - AFTER_HOURS_REP description: 'The employee''s role(s) on each load. Possible values: `CARRIER_REP` — rep who gets commission credit for the load, `OPERATIONS_REP` — manages day-to-day operations on the load, `OPERATIONS_MANAGER` — brokerage-side manager or supervisor, `ACCOUNT_MANAGER` — manages the customer relationship, `CUSTOMER_REP` — sales rep to the customer, `CUSTOMER_TEAM` — part of the broader customer team, `BOOKED_BY` — party who booked the load, `AP_REP` — Accounts Payable Specialist, who manages invoice and payment processes, `AFTER_HOURS_REP` — contact available outside of regular business hours. ' preferredContactMode: type: string enum: - EMAIL - PHONE_CALL - TEXT_MESSAGE - TELEGRAM description: Preferred method of contact BrokerageContactResponse: type: object x-property-order: - id - tmsId - name - email - phone - phoneExtension - preferredContactMode - roles properties: id: type: string description: Organization contact ID (ULID) name: type: string nullable: true description: Contact name tmsId: type: string nullable: true description: TMS identifier for the contact roles: type: array items: type: string enum: - CARRIER_REP - ACCOUNT_MANAGER - OPERATIONS_REP - OPERATIONS_MANAGER - BOOKED_BY - CUSTOMER_REP - CUSTOMER_TEAM - AP_REP - AFTER_HOURS_REP description: 'The employee''s role(s) on each load. Possible values: `CARRIER_REP` — rep who gets commission credit for the load, `OPERATIONS_REP` — manages day-to-day operations on the load, `OPERATIONS_MANAGER` — brokerage-side manager or supervisor, `ACCOUNT_MANAGER` — manages the customer relationship, `CUSTOMER_REP` — sales rep to the customer, `CUSTOMER_TEAM` — part of the broader customer team, `BOOKED_BY` — party who booked the load, `AP_REP` — Accounts Payable Specialist, who manages invoice and payment processes, `AFTER_HOURS_REP` — contact available outside of regular business hours. ' preferredContactMode: type: string nullable: true enum: - EMAIL - PHONE_CALL - TEXT_MESSAGE - TELEGRAM description: Preferred method of contact email: type: string nullable: true description: Contact email address phone: type: string nullable: true description: Phone number in E.164 format (e.g., +13125551234) phoneExtension: type: string nullable: true description: Phone extension CarrierCustomData: type: object description: '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. ' additionalProperties: true example: tier: gold score: 98.5 verified: true aliases: - Acme Freight - Acme Carriers LLC routing: defaultRegion: NS allowCrossBorder: false ApiErrorBody: type: object required: - message x-property-order: - message - errorCode - details properties: message: type: string description: An error message errorCode: type: string description: An error code details: oneOf: - type: object - type: string description: Additional error details BulkUpsertCarriersRequest: type: object required: - carriers x-property-order: - carriers properties: carriers: type: array maxItems: 20 description: Array of carriers to create or update. Maximum 20 carriers per request. items: $ref: '#/components/schemas/CarrierRequest' CarrierContactResponse: type: object x-property-order: - id - tmsId - name - email - phone - phoneExtension - preferredContactMode - roles properties: id: type: string description: Carrier contact ID (ULID) name: type: string nullable: true description: Contact name tmsId: type: string nullable: true description: TMS identifier for the contact roles: type: array items: type: string enum: - ACCOUNTANT - AP_REP - DISPATCHER - DRIVER - OTHER description: 'Carrier contact roles: - `ACCOUNTANT` — Accountant - `AP_REP` — manages invoices and payments - `DISPATCHER` — Dispatcher - `DRIVER` — Driver - `OTHER` — Other ' preferredContactMode: type: string nullable: true enum: - EMAIL - PHONE_CALL - TEXT_MESSAGE - TELEGRAM description: Preferred method of contact email: type: string nullable: true description: Contact email address phone: type: string nullable: true description: Phone number in E.164 format (e.g., +13125551234) phoneExtension: type: string nullable: true description: Phone extension securitySchemes: httpBasic: type: http scheme: basic description: 'Authenticate with HTTP Basic auth by sending an empty username and your API key as the password, equivalent to encoding : in the Basic credential. ' x-ext-urls: {}