{ "openapi": "3.1.1", "info": { "title": "Augment API", "description": "Augment is now SOC 2 Type II Certified\n\nThe Augment API endpoints are calls your system makes to manage loads,\ncarriers, and webhook configuration.\nThe latest version of the Augment API is hosted [online](https://apidocs.goaugment.com).\n\n## API Endpoints\n\nEndpoints your system calls to interact with Augment:\n\n- [Load Management](/reference/tag/load-management)\n- [Carrier Management](/reference/tag/carrier-management)\n- [Models](/reference/models)\n- [Webhook Endpoints](/reference/tag/webhook-endpoints)\n- [Webhook Event Subscriptions](/reference/tag/webhook-event-subscriptions)\n\nWebhook management access is gated. Request access from Augment before using\nthese endpoints. After access is enabled, you can self-manage the webhook\nendpoints that receive event payloads and the webhook event subscriptions\nthat control which events are sent to each endpoint.\n\nUse [Webhook Endpoints](/reference/tag/webhook-endpoints) to create and\nupdate the HTTPS destinations where Augment sends webhook payloads. Use\n[Webhook Event Subscriptions](/reference/tag/webhook-event-subscriptions) to\nchoose event types for each endpoint and send test deliveries.\n\nOutbound webhook payloads, including Track & Trace events, are documented\nseparately in the [Webhooks](/webhooks) reference. Subscriptions created\nthrough the public webhook management APIs deliver version 2 webhook payloads only.\n\n## Resources\n\n* [Homepage](https://www.goaugment.com)\n* [LinkedIn](https://www.linkedin.com/company/goaugment)\n* [Jobs - we're hiring!](https://jobs.ashbyhq.com/go-augment?utm_source=AMy24qx30n)\n\n## Developer Notes\n\nAll 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:\n- `2025-08-21T12:34:56Z`\n- `2025-08-21T04:34:56-08:00`\n\nHowever, when using local time, do not include the trailing `Z` or timezone offset in the date-time string.\n\nExample:\n- `2025-08-21T12:34:56`\n", "version": "20.0.1" }, "servers": [ { "url": "https://api.prod.goaugment.com" } ], "security": [ { "httpBasic": [] } ], "tags": [ { "name": "API Key", "description": "API key based authorization. Please refer to the\n[authorization documentation](docs/authorization.md) for details.\n" }, { "name": "Load Management", "description": "API endpoints for creating, updating, and retrieving loads.\n" }, { "name": "Carrier Management", "description": "API endpoints for managing carriers, carrier contacts, and carrier-manager relationships.\n" }, { "name": "Carrier Support", "description": "Public API endpoints for correlating carrier issues (detention, lumper, TONU, etc.) with the matching incidents in your TMS. Access is gated by brokerage; talk to Augment before using these endpoints.\n" }, { "name": "Webhook Endpoints", "description": "Public API endpoints for approved brokerages to create, update, list, and delete webhook endpoints. Self-service endpoints send version 2 webhook payloads only. Access is gated by brokerage; talk to Augment before using these endpoints.\n" }, { "name": "Webhook Event Subscriptions", "description": "Public API endpoints for approved brokerages to list supported webhook event types, subscribe endpoints to event types, and send test deliveries. Subscriptions created through these public APIs deliver version 2 webhook event shapes only. Access is gated by brokerage; talk to Augment before using these endpoints.\n" } ], "paths": { "/v2/auth-check": { "post": { "operationId": "verifyApiKey", "security": [ { "httpBasic": [] } ], "tags": [ "API Key" ], "summary": "Verify your API key", "description": "Verify your API key is valid and not revoked. Use our auth check endpoint to verify your API key without writing data to your account. Great for setup and troubleshooting, but not intended for automated production health checks.\n", "responses": { "200": { "description": "API key is verified", "content": { "text/plain": { "schema": { "type": "string" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuthCheckError" } } } } } } }, "/v2/loads": { "get": { "operationId": "getLoad", "tags": [ "Load Management" ], "summary": "Get load by load number", "description": "Retrieve enriched load data by load number (brokerage load ID). Returns the full LoadV2 format including carrier details, tracking events, reference numbers, notes, subscribers, and shipment information.\n", "parameters": [ { "name": "loadNumber", "in": "query", "required": true, "schema": { "type": "string" }, "description": "The load number (brokerage load ID)", "example": "LOAD-12345" } ], "responses": { "200": { "description": "Load found and returned successfully", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LoadV2Response" } } } }, "400": { "description": "Bad request - loadNumber query parameter is required", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiErrorBody" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiErrorBody" } } } }, "404": { "description": "Load not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiErrorBody" } } } } } }, "post": { "operationId": "createOrUpdateLoad", "tags": [ "Load Management" ], "summary": "Create or update load", "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LoadRequest" }, "example": { "brokerage": {}, "load": { "loadNumber": "1", "mode": "FTL", "status": "DRAFT", "isPostedToDAT": false, "route": [ { "sequence": 1, "stopActivity": "PICKUP", "expectedArrivalWindowStart": "2025-09-01T12:00:00Z", "expectedArrivalWindowEnd": "2025-09-01T14:00:00Z", "address": { "street1": "1 Santa Monica Blvd", "city": "Santa Monica", "stateOrProvince": "CA", "postalCode": "90401", "country": "US" } }, { "sequence": 2, "stopActivity": "DELIVERY", "expectedArrivalWindowStart": "2025-09-02T12:00:00Z", "expectedArrivalWindowEnd": "2025-09-02T14:00:00Z", "address": { "street1": "1 Market St", "city": "San Francisco", "stateOrProvince": "CA", "postalCode": "94105", "country": "US" } } ], "items": [ { "quantity": 600, "packagingUnit": { "unitType": "CARTON", "quantity": 60 }, "handlingUnit": { "unitType": "PALLET", "quantity": 3 }, "description": "600 pieces packed in 60 cartons on 3 pallets", "totalWeightLbs": 12000, "lengthInches": 48, "widthInches": 40, "heightInches": 60, "freightClass": "70", "nmfc": "123456" } ] } } } } }, "responses": { "204": { "description": "Load created successfully" }, "400": { "description": "Bad request (work in progress)" } } }, "patch": { "operationId": "patchLoad", "tags": [ "Load Management" ], "summary": "Patch a load", "description": "Apply one or more patch operations to an existing load using a JSON Patch-inspired format ([RFC 6902](https://datatracker.ietf.org/doc/html/rfc6902)).\n\nEach operation targets a specific field by JSON Pointer path and specifies how to change it.\n\n## Supported operations\n\n| `op` | Description |\n|---------|-------------|\n| `add` | Set a value or insert into an array at a specific index. |\n| `remove` | Remove a value or array element. |\n| `replace` | Replace an existing value. |\n| `append` | *(Custom)* Append an item to the end of an array. |\n| `upsert` | *(Custom)* Update an existing array element matching the `where` condition, or insert a new one if no match is found. |\n\n## Allowed paths\n\nOperations are validated against an allowlist of supported paths. Attempts to modify other paths will be rejected.\n\n| `path` | Supported operations | Value example |\n|--------|---------------------|---------------|\n| `/status` | `add`, `replace` | `\"DISPATCHED\"` |\n| `/mode` | `add`, `replace` | `\"FTL\"` |\n| `/loadType` | `add`, `replace` | `\"SPOT\"` |\n| `/equipment` | `add`, `replace` | `\"DRY_VAN\"` |\n| `/equipmentDescription` | `add`, `replace` | `\"53ft Dry Van\"` |\n| `/commodity` | `add`, `replace` | `\"Electronics\"` |\n| `/service` | `add`, `replace` | `\"STANDARD\"` |\n| `/targetRate` | `add`, `replace` | `1250.00` |\n| `/maxRate` | `add`, `replace` | `3000.00` |\n| `/totalRate` | `add`, `replace` | `2750.00` |\n| `/highValueAmount` | `add`, `replace` | `50000` |\n| `/totalMiles` | `add`, `replace` | `1200` |\n| `/tarpSize` | `add`, `replace` | `\"40x48\"` |\n| `/customerName` | `add`, `replace` | `\"Acme Corp\"` |\n| `/customerContact` | `add`, `replace` | `\"Jane Smith\"` |\n| `/customerNotes` | `add`, `replace` | `\"Call before delivery\"` |\n| `/customerId` | `add`, `replace` | `\"ACME-001\"` |\n| `/isPostedToDAT` | `add`, `replace` | `true` |\n| `/bidExpiration` | `add`, `replace` | `\"2025-08-21T12:34:56Z\"` |\n| `/lastLocationUpdate` | `add`, `replace` | `\"2025-10-15T20:20:00Z\"` |\n| `/weight` | `add`, `replace` | `{\"value\": 45000, \"unit\": \"LB\"}` |\n| `/dimensions` | `add`, `replace` | `{\"lengthInches\": 600, \"widthInches\": 96, \"heightInches\": 108}` |\n| `/minimumTemperature` | `add`, `replace` | `{\"value\": 32, \"unit\": \"F\"}` |\n| `/maximumTemperature` | `add`, `replace` | `{\"value\": 68, \"unit\": \"F\"}` |\n| `/minimumBulkHeadTemperature` | `add`, `replace` | `{\"value\": 35, \"unit\": \"F\"}` |\n| `/maximumBulkHeadTemperature` | `add`, `replace` | `{\"value\": 65, \"unit\": \"F\"}` |\n| `/externalTrackingStatus` | `add`, `replace` | `{\"source\": \"MACROPOINT\", \"code\": \"READY\"}` |\n| `/customData` | `add`, `replace` | `{\"key\": \"value\"}` |\n| `/notes` | `add`, `remove`, `append`, `upsert` | `{\"text\": \"Driver is 30 min out\"}` |\n| `/accessorials` | `add`, `remove`, `append`, `upsert` | `\"HAZMAT\"` |\n| `/referenceNumbers` | `add`, `remove`, `append`, `upsert` | `{\"name\": \"PO_NUMBER\", \"value\": \"PO-12345\"}` |\n| `/trackingEvents` | `add`, `remove`, `append`, `upsert` | `{\"eventType\": \"PICKED_UP\", \"eventSource\": \"CARRIER_API\", \"eventUtc\": \"2025-08-21T12:34:56Z\"}` |\n| `/bidCustomValues` | `add`, `remove`, `append`, `upsert` | `{\"name\": \"rush\", \"value\": \"true\"}` |\n| `/commodityItems` | `add`, `remove`, `append`, `upsert` | `{\"quantity\": 10, \"description\": \"boxes\"}` |\n| `/route` | `add`, `remove`, `append`, `upsert` | `{\"sequence\": 1, \"stopActivity\": \"PICKUP\"}` |\n| `/carrier` | `add`, `remove`, `replace` | `add`: assign a carrier when the load has none.
`replace`: replace the carrier already on the load.
Both use `value` shaped as [**LoadPatchCarrier**](#model/LoadPatchCarrier).
`remove`: unassign the carrier (omit `value`). |\n| `/carrier/drivers` | `append`, `replace` | `append`: one [**LoadPatchCarrierDriver**](#model/LoadPatchCarrierDriver).
`replace`: array of the same schema (replaces the full drivers list). |\n| `/carrier/contacts` | `append`, `replace` | `append`: one [**LoadPatchCarrierContact**](#model/LoadPatchCarrierContact).
`replace`: array of the same schema (replaces the full contacts list). |\n\n## Examples\n\n**Replace a simple field:**\n\n```json\n{ \"op\": \"replace\", \"path\": \"/status\", \"value\": \"IN_TRANSIT\" }\n```\n\n**Append to an array:**\n\n```json\n{ \"op\": \"append\", \"path\": \"/notes\", \"value\": { \"text\": \"Driver is 30 min out\" } }\n```\n\n**Upsert an array element (update stop 1 if it exists, insert if not):**\n\n```json\n{ \"op\": \"upsert\", \"path\": \"/route\", \"value\": { \"sequence\": 1, \"stopActivity\": \"PICKUP\" }, \"where\": { \"sequence\": 1 } }\n```\n\n**Assign carrier on load:**\n\n```json\n{\n \"op\": \"add\",\n \"path\": \"/carrier\",\n \"value\": {\n \"carrierId\": \"tms-carrier-42\",\n \"name\": \"Acme Trucking\",\n \"dotNumber\": 1234567,\n \"drivers\": [{ \"id\": \"drv-1\", \"name\": \"Driver One\", \"phone\": \"+12081234567\" }],\n \"contacts\": [\n { \"role\": \"DISPATCHER\", \"name\": \"Dispatch\", \"email\": \"dispatch@example.com\" },\n { \"role\": \"AP_REP\", \"name\": \"AP\", \"email\": \"ap@example.com\" }\n ]\n }\n}\n```\n\n**Clear carrier from load:**\n\n```json\n{ \"op\": \"remove\", \"path\": \"/carrier\" }\n```\n\n**Append a driver:**\n\n```json\n{\n \"op\": \"append\",\n \"path\": \"/carrier/drivers\",\n \"value\": {\n \"id\": \"drv-2\",\n \"name\": \"Jane Driver\",\n \"phone\": \"+12081234568\",\n \"phoneExtension\": \"101\"\n }\n}\n```\n\n**Replace carrier contacts:**\n\n```json\n{\n \"loadReference\": \"LOAD-12345\",\n \"operations\": [\n {\n \"op\": \"replace\",\n \"path\": \"/carrier/contacts\",\n \"value\": [\n {\n \"id\": \"contact-dispatch-1\",\n \"role\": \"DISPATCHER\",\n \"name\": \"Night dispatch\",\n \"email\": \"dispatch@example.com\",\n \"phone\": \"+12081234569\",\n \"phoneExtension\": \"202\"\n },\n {\n \"id\": \"contact-ap-1\",\n \"role\": \"AP_REP\",\n \"name\": \"Accounts payable\",\n \"email\": \"ap@example.com\",\n \"phone\": \"+12081234570\",\n \"phoneExtension\": \"303\"\n }\n ]\n }\n ]\n}\n```\n", "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LoadPatchRequest" }, "examples": { "statusAndNotes": { "summary": "Status and notes", "value": { "loadReference": "LOAD-12345", "operations": [ { "op": "replace", "path": "/status", "value": "IN_TRANSIT" }, { "op": "append", "path": "/notes", "value": { "text": "Driver is 30 min out" } } ] } }, "carrierAssign": { "summary": "Assign carrier on load", "value": { "loadReference": "LOAD-12345", "operations": [ { "op": "add", "path": "/carrier", "value": { "carrierId": "tms-carrier-42", "name": "Acme Trucking", "dotNumber": 1234567, "drivers": [ { "id": "drv-1", "name": "Driver One", "phone": "+12081234567" } ], "contacts": [ { "role": "DISPATCHER", "name": "Dispatch", "email": "dispatch@example.com" }, { "role": "AP_REP", "name": "AP", "email": "ap@example.com" } ] } } ] } }, "carrierRemove": { "summary": "Remove carrier from load", "value": { "loadReference": "LOAD-12345", "operations": [ { "op": "remove", "path": "/carrier" } ] } } } } } }, "responses": { "204": { "description": "Load patched successfully" }, "400": { "description": "Bad request — invalid operation, disallowed path, or missing required field", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiErrorBody" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiErrorBody" } } } }, "404": { "description": "Load not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiErrorBody" } } } } } } }, "/v2/loads/tracking": { "post": { "operationId": "addTrackingEvent", "tags": [ "Load Management" ], "summary": "Add a tracking event", "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TrackingEventRequest" } } } }, "responses": { "204": { "description": "Load updated successfully" }, "400": { "description": "Bad request (work in progress)" } } } }, "/v2/carrier-issues/external-ref": { "post": { "operationId": "reportCarrierIssueExternalId", "tags": [ "Carrier Support" ], "summary": "Report the external incident id for a carrier issue", "description": "After you receive a `CARRIER_ISSUE_UPDATED` webhook and create the incident in your own TMS, call this endpoint with the `carrierIssueId` from that webhook and your incident id (`externalId`). Augment stores the correlation so subsequent `CARRIER_ISSUE_UPDATED` events for the same issue include your `externalId` — letting you update the existing incident in place instead of creating a duplicate.\n\nThe call is idempotent: sending it again for the same `carrierIssueId` just updates the stored `externalId`. It is optional — if you never call it, events keep arriving without an `externalId` and nothing else changes.\n", "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CarrierIssueExternalRefRequest" }, "example": { "carrierIssueId": "01JCARRIERISSUERECORD00001", "externalId": "TMS-INC-30275" } } } }, "responses": { "204": { "description": "External reference recorded" }, "422": { "description": "Invalid payload" } } } }, "/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.\n", "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.\n", "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.\n", "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.\n", "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" } } } } } } }, "/v2/webhook-endpoints": { "get": { "tags": [ "Webhook Endpoints" ], "operationId": "listWebhookEndpoints", "summary": "List webhook endpoints", "security": [ { "httpBasic": [] } ], "description": "Lists public webhook endpoints for the authenticated brokerage. Customers do not pass `brokerageKey`; the brokerage is resolved from the API key.\n\nAccess to webhook management is gated by brokerage. Talk to Augment to enable access before relying on this endpoint.\n", "responses": { "200": { "description": "Webhook endpoints returned successfully", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/WebhookEndpoint" } } } } }, "400": { "description": "Invalid request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiErrorBody" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiErrorBody" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiErrorBody" } } } } } }, "post": { "tags": [ "Webhook Endpoints" ], "operationId": "createWebhookEndpoint", "summary": "Create webhook endpoint", "security": [ { "httpBasic": [] } ], "description": "Creates a public webhook endpoint for the authenticated brokerage. The endpoint URL must use HTTPS. Created endpoints use webhook payload version 2 and TLS verification. You cannot create v1 webhook subscriptions through self-service management. After creating an endpoint, create a webhook subscription that points to the returned `id`.\n\nAccess to webhook management is gated by brokerage. Talk to Augment to enable access before relying on this endpoint.\n", "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateWebhookEndpointRequest" }, "example": { "name": "Primary Webhook", "url": "https://example.com/webhooks/augment", "auth": { "type": "bearerToken", "token": "customer-secret-token" }, "customHeaders": { "X-Source": "augment" } } } } }, "responses": { "201": { "description": "Webhook endpoint created successfully", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WebhookEndpoint" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiErrorBody" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiErrorBody" } } } }, "403": { "description": "Webhook management access is not enabled for this brokerage", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiErrorBody" } } } } } } }, "/v2/webhook-endpoints/{webhookEndpointId}": { "parameters": [ { "name": "webhookEndpointId", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Webhook endpoint ID" } ], "get": { "tags": [ "Webhook Endpoints" ], "operationId": "getWebhookEndpoint", "summary": "Get webhook endpoint", "security": [ { "httpBasic": [] } ], "description": "Returns one public webhook endpoint for the authenticated brokerage. Returns `404` if the endpoint does not exist or is not a public webhook endpoint for that brokerage.\n", "responses": { "200": { "description": "Webhook endpoint returned successfully", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WebhookEndpoint" } } } }, "400": { "description": "Invalid request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiErrorBody" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiErrorBody" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiErrorBody" } } } }, "404": { "description": "Webhook endpoint not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiErrorBody" } } } } } }, "patch": { "tags": [ "Webhook Endpoints" ], "operationId": "updateWebhookEndpoint", "summary": "Update webhook endpoint", "security": [ { "httpBasic": [] } ], "description": "Partially updates a public webhook endpoint. Supported fields are `name`, `url`, `auth`, and `customHeaders`. At least one field is required. Omitted fields are preserved. Passing `customHeaders: null` clears custom headers. Existing webhook subscriptions stay attached to the same endpoint ID. After changing the endpoint URL or auth, test each affected subscription.\n\nAccess to webhook management is gated by brokerage. Talk to Augment to enable access before relying on this endpoint.\n", "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateWebhookEndpointRequest" }, "example": { "url": "https://example.com/webhooks/augment-v2", "customHeaders": null } } } }, "responses": { "200": { "description": "Webhook endpoint updated successfully", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WebhookEndpoint" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiErrorBody" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiErrorBody" } } } }, "403": { "description": "Webhook management access is not enabled for this brokerage", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiErrorBody" } } } }, "404": { "description": "Webhook endpoint not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiErrorBody" } } } } } }, "delete": { "tags": [ "Webhook Endpoints" ], "operationId": "deleteWebhookEndpoint", "summary": "Delete webhook endpoint", "security": [ { "httpBasic": [] } ], "description": "Deletes a public webhook endpoint. This returns `409` if any webhook subscription still references the endpoint.\n\nAccess to webhook management is gated by brokerage. Talk to Augment to enable access before relying on this endpoint.\n", "responses": { "204": { "description": "Webhook endpoint deleted successfully" }, "400": { "description": "Invalid request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiErrorBody" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiErrorBody" } } } }, "403": { "description": "Webhook management access is not enabled for this brokerage", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiErrorBody" } } } }, "404": { "description": "Webhook endpoint not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiErrorBody" } } } }, "409": { "description": "Webhook endpoint is still referenced by a subscription", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiErrorBody" } } } } } } }, "/v2/webhook-event-types": { "get": { "tags": [ "Webhook Event Subscriptions" ], "operationId": "listWebhookEventTypes", "summary": "List webhook event types", "security": [ { "httpBasic": [] } ], "description": "Returns the public event types supported for subscription creation. Use this endpoint as the source of truth for allowed `eventType` values before creating a webhook subscription.\n\nAccess to webhook management is gated by brokerage. Talk to Augment to enable access before relying on this endpoint.\n", "responses": { "200": { "description": "Webhook event types returned successfully", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/WebhookManagementEventType" } }, "example": [ "TRACKING_UPDATE", "STOP_UPDATE", "LOAD_CARRIER_UPDATE", "SEND_TMS_COMMENT", "SCHEDULED_CARRIER_OUTREACH", "UPLOAD_FILES", "PUSH_BID_TO_TMS", "PUSH_LOAD_DRAFT", "CARRIER_ISSUE_UPDATED" ] } } }, "400": { "description": "Invalid request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiErrorBody" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiErrorBody" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiErrorBody" } } } } } } }, "/v2/webhook-subscriptions": { "get": { "tags": [ "Webhook Event Subscriptions" ], "operationId": "listWebhookSubscriptions", "summary": "List webhook subscriptions", "security": [ { "httpBasic": [] } ], "description": "Lists public webhook subscriptions for the authenticated brokerage. A subscription connects one public webhook endpoint to one public webhook event type.\n\nAccess to webhook management is gated by brokerage. Talk to Augment to enable access before relying on this endpoint.\n", "responses": { "200": { "description": "Webhook subscriptions returned successfully", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/WebhookSubscription" } } } } }, "400": { "description": "Invalid request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiErrorBody" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiErrorBody" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiErrorBody" } } } } } }, "post": { "tags": [ "Webhook Event Subscriptions" ], "operationId": "createWebhookSubscription", "summary": "Create webhook subscription", "security": [ { "httpBasic": [] } ], "description": "Creates a subscription from a public webhook endpoint to one public event type. `isActive` is optional and defaults to `true`. The endpoint must exist and must be a public webhook endpoint for the authenticated brokerage. Duplicate subscriptions for the same `webhookEndpointId` and `eventType` are rejected with `409`. After creating the subscription, send a test delivery for the returned subscription `id`. Subscriptions created through these public APIs deliver version 2 webhook event shapes for the selected event type.\n\nAccess to webhook management is gated by brokerage. Talk to Augment to enable access before relying on this endpoint.\n", "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateWebhookSubscriptionRequest" }, "example": { "webhookEndpointId": "endpoint-id", "eventType": "TRACKING_UPDATE", "isActive": true } } } }, "responses": { "201": { "description": "Webhook subscription created successfully", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WebhookSubscription" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiErrorBody" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiErrorBody" } } } }, "403": { "description": "Webhook management access is not enabled for this brokerage", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiErrorBody" } } } }, "409": { "description": "Webhook endpoint already has a subscription for this event type", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiErrorBody" } } } } } } }, "/v2/webhook-subscriptions/{subscriptionId}": { "parameters": [ { "name": "subscriptionId", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Webhook subscription ID" } ], "get": { "tags": [ "Webhook Event Subscriptions" ], "operationId": "getWebhookSubscription", "summary": "Get webhook subscription", "security": [ { "httpBasic": [] } ], "description": "Returns one public webhook subscription for the authenticated brokerage, or `404` if no matching public subscription exists.\n", "responses": { "200": { "description": "Webhook subscription returned successfully", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WebhookSubscription" } } } }, "400": { "description": "Invalid request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiErrorBody" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiErrorBody" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiErrorBody" } } } }, "404": { "description": "Webhook subscription not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiErrorBody" } } } } } }, "patch": { "tags": [ "Webhook Event Subscriptions" ], "operationId": "updateWebhookSubscription", "summary": "Update webhook subscription", "security": [ { "httpBasic": [] } ], "description": "Partially updates a public webhook subscription. Only `webhookEndpointId` and `isActive` are updatable. `eventType` is not updatable; create a new subscription to change event type. At least one field is required.\n\nAccess to webhook management is gated by brokerage. Talk to Augment to enable access before relying on this endpoint.\n", "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateWebhookSubscriptionRequest" }, "example": { "webhookEndpointId": "new-endpoint-id", "isActive": false } } } }, "responses": { "200": { "description": "Webhook subscription updated successfully", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WebhookSubscription" } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiErrorBody" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiErrorBody" } } } }, "403": { "description": "Webhook management access is not enabled for this brokerage", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiErrorBody" } } } }, "404": { "description": "Webhook subscription not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiErrorBody" } } } }, "409": { "description": "Webhook endpoint already has a subscription for this event type", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiErrorBody" } } } } } }, "delete": { "tags": [ "Webhook Event Subscriptions" ], "operationId": "deleteWebhookSubscription", "summary": "Delete webhook subscription", "security": [ { "httpBasic": [] } ], "description": "Deletes a public webhook subscription. This returns `409` if the subscription has group overrides; those overrides must be removed first.\n\nAccess to webhook management is gated by brokerage. Talk to Augment to enable access before relying on this endpoint.\n", "responses": { "204": { "description": "Webhook subscription deleted successfully" }, "400": { "description": "Invalid request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiErrorBody" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiErrorBody" } } } }, "403": { "description": "Webhook management access is not enabled for this brokerage", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiErrorBody" } } } }, "404": { "description": "Webhook subscription not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiErrorBody" } } } }, "409": { "description": "Webhook subscription has group overrides", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiErrorBody" } } } } } } }, "/v2/webhook-subscriptions/{subscriptionId}/test": { "parameters": [ { "name": "subscriptionId", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Webhook subscription ID" } ], "post": { "tags": [ "Webhook Event Subscriptions" ], "operationId": "testWebhookSubscription", "summary": "Test webhook subscription", "security": [ { "httpBasic": [] } ], "description": "Sends a test delivery for a public webhook subscription. The request body is optional. If omitted, Augment sends a default test payload for the subscription's event type.\n\nTo send your own test payload, the API request body must be an object with a `payload` key. The value of `payload` should be the webhook event body you want Augment to send. Augment unwraps this field and sends only the `payload` value as the HTTP request body to your webhook endpoint. Use a payload value that matches the webhook event you are testing. For subscriptions created through these public APIs, refer to the version 2 event shapes documented in the [Webhooks reference](/webhooks). You cannot create v1 webhook subscriptions through self-service management.\n\nUse this after creating a subscription or updating the endpoint URL, auth token, or custom headers.\n", "requestBody": { "required": false, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TestWebhookSubscriptionRequest" }, "example": { "payload": { "id": "test-event-10507012-001", "workflow": "TRACK_AND_TRACE", "occurredAt": "2026-06-08T12:00:00.000Z", "loadNumber": "10507012", "customerLoadInternalId": null, "eventType": "TRACKING_UPDATE", "data": { "nextSequence": 1, "nextEtaUtc": "2026-06-09T14:00:00.000Z", "eventType": "PING", "eventSource": "PHONE_EMAIL", "eventUtc": "2026-06-08T12:00:00.000Z", "city": "Ashland", "stateOrProvince": "VA", "latitude": 37.759, "longitude": -77.479, "notes": "Driver in Ashland, VA; in transit to Westfield, MA delivery by 10:00 AM tomorrow." } } } } } }, "responses": { "200": { "description": "Test delivery result", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TestWebhookSubscriptionResponse" }, "example": { "statusCode": 200, "body": {} } } } }, "400": { "description": "Bad request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiErrorBody" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiErrorBody" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiErrorBody" } } } }, "404": { "description": "Webhook subscription not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiErrorBody" } } } } } } } }, "components": { "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.\n" } }, "schemas": { "CarrierIssueExternalRefRequest": { "type": "object", "description": "Correlates a carrier issue from a CARRIER_ISSUE_UPDATED webhook with the matching incident id in your TMS.\n", "required": [ "carrierIssueId", "externalId" ], "x-property-order": [ "carrierIssueId", "externalId" ], "properties": { "carrierIssueId": { "type": "string", "description": "The correlation token from the CARRIER_ISSUE_UPDATED webhook payload.\n", "example": "01JCARRIERISSUERECORD00001" }, "externalId": { "type": "string", "description": "The incident id in your TMS.", "example": "TMS-INC-30275" } } }, "LoadPatchRequest": { "type": "object", "required": [ "loadReference", "operations" ], "x-property-order": [ "loadReference", "operations" ], "properties": { "loadReference": { "type": "string", "description": "The load number (brokerage load ID) of the load to patch.", "example": "LOAD-12345" }, "operations": { "type": "array", "description": "One or more patch operations to apply, in order.", "items": { "$ref": "#/components/schemas/LoadPatchOperation" } } } }, "LoadPatchOperation": { "oneOf": [ { "title": "remove", "type": "object", "required": [ "op", "path" ], "properties": { "op": { "type": "string", "enum": [ "remove" ] }, "path": { "type": "string", "description": "A JSON Pointer ([RFC 6901](https://datatracker.ietf.org/doc/html/rfc6901)) identifying the field to operate on. Must be one of the allowed paths documented in the PATCH endpoint description.\n", "example": "/status" } } }, { "title": "add / replace / append", "type": "object", "required": [ "op", "path", "value" ], "properties": { "op": { "type": "string", "enum": [ "add", "replace", "append" ], "description": "The operation to perform. `add` and `replace` follow [RFC 6902](https://datatracker.ietf.org/doc/html/rfc6902). `append` is a custom extension that pushes a new element onto an array field.\n" }, "path": { "type": "string", "description": "A JSON Pointer ([RFC 6901](https://datatracker.ietf.org/doc/html/rfc6901)) identifying the field to operate on. Must be one of the allowed paths documented in the PATCH endpoint description.\n", "example": "/status" }, "value": { "description": "The value to set or insert." } } }, { "title": "upsert", "type": "object", "required": [ "op", "path", "value", "where" ], "properties": { "op": { "type": "string", "enum": [ "upsert" ], "description": "Custom operation that updates an existing array element matching the `where` condition, or inserts a new one if no match is found.\n" }, "path": { "type": "string", "description": "A JSON Pointer ([RFC 6901](https://datatracker.ietf.org/doc/html/rfc6901)) identifying the array field to operate on. Must be one of the allowed paths documented in the PATCH endpoint description.\n" }, "value": { "description": "The element to insert or use as the replacement." }, "where": { "type": "object", "description": "A map of field names to expected values used to identify an existing array element. If a matching element is found it is replaced with `value`; otherwise `value` is appended.\n", "additionalProperties": true, "example": { "sequence": 1 } } } } ] }, "LoadPatchCarrierDriver": { "type": "object", "description": "Driver for PATCH on `/carrier` (nested) or `/carrier/drivers`.", "x-property-order": [ "id", "name", "phone", "phoneExtension" ], "properties": { "id": { "type": "string", "description": "TMS driver id (not Augment’s id)." }, "name": { "type": "string", "description": "Driver name on the load." }, "phone": { "type": "string", "description": "E.164 or supported format; see `Carrier.drivers` on create load." }, "phoneExtension": { "type": "string", "description": "Digits only." } } }, "LoadPatchCarrierContact": { "type": "object", "description": "Contact for PATCH on `/carrier` (nested) or `/carrier/contacts`.", "x-property-order": [ "id", "role", "name", "email", "phone", "phoneExtension" ], "properties": { "id": { "type": "string", "description": "TMS contact id (not Augment’s id)." }, "role": { "type": "string", "enum": [ "DISPATCHER", "AP_REP" ], "description": "Optional. `DISPATCHER` or `AP_REP` (same as load `CarrierContact`)." }, "name": { "type": "string", "description": "Contact name." }, "email": { "type": "string", "description": "Contact email." }, "phone": { "type": "string", "description": "E.164 or supported format; see `CarrierContact` on create load." }, "phoneExtension": { "type": "string", "description": "Digits only." } } }, "LoadPatchCarrier": { "type": "object", "description": "`value` for PATCH `/carrier`: `add` (no carrier yet) or `replace`.\n", "x-property-order": [ "carrierId", "name", "mcNumber", "dotNumber", "scac", "address", "drivers", "contacts" ], "properties": { "carrierId": { "type": "string", "description": "TMS carrier id for this load (not Augment’s id)." }, "name": { "type": "string", "description": "Carrier name." }, "mcNumber": { "type": "integer", "description": "US MC number, if sent." }, "dotNumber": { "type": "integer", "description": "USDOT number, if sent." }, "scac": { "type": "string", "description": "SCAC (Standard Carrier Alpha Code)—short alphabetic carrier code, often used in rail/intermodal.\n" }, "address": { "$ref": "#/components/schemas/CarrierAddress" }, "drivers": { "type": "array", "items": { "$ref": "#/components/schemas/LoadPatchCarrierDriver" } }, "contacts": { "type": "array", "items": { "$ref": "#/components/schemas/LoadPatchCarrierContact" } } } }, "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" } } }, "WebhookEndpoint": { "type": "object", "description": "Public webhook endpoint configured for outbound webhook delivery.", "additionalProperties": false, "required": [ "id", "url", "authType" ], "x-property-order": [ "id", "name", "url", "authType", "customHeaders" ], "properties": { "id": { "type": "string", "description": "Webhook endpoint ID", "example": "webhook_endpoint_01HY..." }, "name": { "type": "string", "description": "Display name for the endpoint", "example": "Primary Webhook" }, "url": { "type": "string", "format": "uri", "description": "HTTPS URL that receives Augment webhook deliveries", "example": "https://example.com/webhooks/augment" }, "authType": { "type": "string", "enum": [ "bearerToken", "customHeaders" ], "description": "Outbound delivery auth type. Tokens are never returned by read or list responses.\n" }, "customHeaders": { "oneOf": [ { "$ref": "#/components/schemas/WebhookCustomHeaders" }, { "type": "null" } ], "description": "Optional custom headers sent with webhook deliveries" } } }, "CreateWebhookEndpointRequest": { "type": "object", "description": "Request body for creating a public webhook endpoint.", "additionalProperties": false, "required": [ "url", "auth" ], "x-property-order": [ "name", "url", "auth", "customHeaders" ], "properties": { "name": { "type": "string", "description": "Optional display name for the endpoint", "example": "Primary Webhook" }, "url": { "type": "string", "format": "uri", "description": "HTTPS URL that receives Augment webhook deliveries", "example": "https://example.com/webhooks/augment" }, "auth": { "$ref": "#/components/schemas/WebhookEndpointAuth" }, "customHeaders": { "oneOf": [ { "$ref": "#/components/schemas/WebhookCustomHeaders" }, { "type": "null" } ], "description": "Optional custom headers sent with webhook deliveries" } } }, "UpdateWebhookEndpointRequest": { "type": "object", "description": "Request body for partially updating a public webhook endpoint. At least one field is required.\n", "additionalProperties": false, "minProperties": 1, "x-property-order": [ "name", "url", "auth", "customHeaders" ], "properties": { "name": { "type": "string", "description": "Display name for the endpoint", "example": "Primary Webhook" }, "url": { "type": "string", "format": "uri", "description": "HTTPS URL that receives Augment webhook deliveries", "example": "https://example.com/webhooks/augment-v2" }, "auth": { "$ref": "#/components/schemas/WebhookEndpointAuth" }, "customHeaders": { "oneOf": [ { "$ref": "#/components/schemas/WebhookCustomHeaders" }, { "type": "null" } ], "description": "Optional custom headers. Pass `null` to clear custom headers." } } }, "WebhookEndpointAuth": { "oneOf": [ { "$ref": "#/components/schemas/WebhookEndpointBearerTokenAuth" }, { "$ref": "#/components/schemas/WebhookEndpointCustomHeadersAuth" } ], "discriminator": { "propertyName": "type", "mapping": { "bearerToken": "#/components/schemas/WebhookEndpointBearerTokenAuth", "customHeaders": "#/components/schemas/WebhookEndpointCustomHeadersAuth" } }, "description": "Outbound auth configuration used when Augment delivers webhooks to your endpoint. This is not the same as the API key auth used to call Augment.\n" }, "WebhookEndpointBearerTokenAuth": { "type": "object", "description": "Bearer token authentication for webhook delivery requests.", "required": [ "type", "token" ], "additionalProperties": false, "properties": { "type": { "type": "string", "enum": [ "bearerToken" ], "description": "Bearer token auth." }, "token": { "type": "string", "description": "Secret token sent as `Authorization: Bearer ` on webhook delivery. This token is never returned by read or list responses.\n", "example": "customer-secret-token" } } }, "WebhookEndpointCustomHeadersAuth": { "type": "object", "description": "Authentication conveyed via the endpoint's `customHeaders` field (e.g. `x-api-key`). No bearer token is sent and Augment does not store one.\n", "required": [ "type" ], "additionalProperties": false, "properties": { "type": { "type": "string", "enum": [ "customHeaders" ], "description": "Custom headers auth." } } }, "WebhookCustomHeaders": { "type": "object", "description": "Custom headers sent with webhook deliveries.", "additionalProperties": { "type": "string" }, "example": { "X-Customer-Header": "value" } }, "WebhookSubscription": { "type": "object", "description": "Public webhook subscription connecting one webhook endpoint to one event type.\n", "additionalProperties": false, "required": [ "id", "webhookEndpointId", "eventType", "isActive" ], "x-property-order": [ "id", "webhookEndpointId", "eventType", "isActive" ], "properties": { "id": { "type": "string", "description": "Webhook subscription ID", "example": "webhook_subscription_01HY..." }, "webhookEndpointId": { "type": "string", "description": "Webhook endpoint ID that receives this event type", "example": "webhook_endpoint_01HY..." }, "eventType": { "$ref": "#/components/schemas/WebhookManagementEventType" }, "isActive": { "type": "boolean", "description": "Whether this subscription is active", "example": true } } }, "CreateWebhookSubscriptionRequest": { "type": "object", "description": "Request body for creating a public webhook subscription.", "additionalProperties": false, "required": [ "webhookEndpointId", "eventType" ], "x-property-order": [ "webhookEndpointId", "eventType", "isActive" ], "properties": { "webhookEndpointId": { "type": "string", "description": "Webhook endpoint ID that should receive this event type", "example": "webhook_endpoint_01HY..." }, "eventType": { "$ref": "#/components/schemas/WebhookManagementEventType" }, "isActive": { "type": "boolean", "description": "Whether this subscription should be active. Defaults to `true`.", "default": true } } }, "UpdateWebhookSubscriptionRequest": { "type": "object", "description": "Request body for partially updating a public webhook subscription. At least one field is required. `eventType` is not updatable.\n", "additionalProperties": false, "minProperties": 1, "x-property-order": [ "webhookEndpointId", "isActive" ], "properties": { "webhookEndpointId": { "type": "string", "description": "New webhook endpoint ID for this subscription", "example": "webhook_endpoint_01HZ..." }, "isActive": { "type": "boolean", "description": "Whether this subscription should be active", "example": false } } }, "TestWebhookSubscriptionRequest": { "type": "object", "description": "Optional request body for a test webhook delivery. The request body uses a `payload` wrapper: the `payload` key is part of this API request, and the `payload` value is the webhook event body that Augment sends to the configured endpoint.\n", "additionalProperties": false, "properties": { "payload": { "type": "object", "additionalProperties": true, "description": "Custom webhook event body to send to the subscription endpoint. Augment sends this object exactly as the webhook POST body. It should match the version 2 event shape your listener expects, such as a Track & Trace event envelope from the Webhooks reference.\n" } } }, "TestWebhookSubscriptionResponse": { "type": "object", "additionalProperties": false, "required": [ "statusCode", "body" ], "x-property-order": [ "statusCode", "body" ], "properties": { "statusCode": { "type": "number", "format": "double", "description": "HTTP status code returned by the webhook endpoint", "example": 200 }, "body": { "description": "Response body returned by the webhook endpoint" } } }, "WebhookManagementEventType": { "type": "string", "description": "Public event type for webhook subscription creation. Call `GET /v2/webhook-event-types` for the current source of truth.\n", "enum": [ "TRACKING_UPDATE", "STOP_UPDATE", "LOAD_CARRIER_UPDATE", "SEND_TMS_COMMENT", "SCHEDULED_CARRIER_OUTREACH", "UPLOAD_FILES", "PUSH_BID_TO_TMS", "PUSH_LOAD_DRAFT", "CARRIER_ISSUE_UPDATED" ] }, "AuthCheckError": { "type": "object", "required": [ "message", "requestId", "timestamp" ], "x-property-order": [ "message", "requestId", "timestamp" ], "properties": { "message": { "type": "string", "description": "Human-readable error message", "example": "Invalid key" }, "requestId": { "type": "string", "format": "uuid", "description": "Unique requestId for troubleshooting", "example": "a1b0fce9-075a-4ad3-87fd-f307c51d2298" }, "timestamp": { "type": "string", "description": "Unix timestamp of the error in milliseconds", "example": "1760136207000" } } }, "LoadRequest": { "type": "object", "required": [ "load", "brokerage" ], "x-property-order": [ "load", "brokerage", "carrier", "customer", "trackingEvents", "carrierPaymentStatuses" ], "properties": { "load": { "$ref": "#/components/schemas/Load" }, "trackingEvents": { "type": "array", "description": "Providing this field replaces all existing tracking events for the Load, including an empty array, which clears them. Omit the field to preserve existing tracking events. To append events instead of replacing them, use the POST /v2/loads/tracking endpoint.\n", "items": { "$ref": "#/components/schemas/TrackingEvent" } }, "carrier": { "$ref": "#/components/schemas/Carrier" }, "brokerage": { "$ref": "#/components/schemas/Brokerage" }, "customer": { "$ref": "#/components/schemas/Customer" }, "carrierPaymentStatuses": { "type": "array", "description": "Per-carrier payment status entries for this load. Each entry represents the payment outcome for one carrier on the load (e.g., TONU + linehaul on a co-brokered load yields two entries). Sending this field replaces any prior set of statuses for the load.\n", "items": { "$ref": "#/components/schemas/CarrierPaymentStatus" } } } }, "CarrierPaymentStatus": { "type": "object", "required": [ "carrierId", "status" ], "x-property-order": [ "carrierId", "status", "scheduledPaymentDate", "actualPaymentDate", "paymentMethod", "paymentReferenceNumbers" ], "properties": { "carrierId": { "type": "string", "description": "Brokerage-side external carrier identifier (the `externalId` used elsewhere in the API). Resolved against `(brokerageKey, carrierId)`, which is unique. Required on every entry.\n" }, "status": { "type": "string", "enum": [ "PAID", "SCHEDULED", "OTHER" ], "description": "Explicit payment status. `OTHER` is a catch-all for states not yet promoted to first-class enum values (e.g., PARTIAL, APPROVED, DISPUTED, FAILED); additional values may be added in a backward-compatible way.\n" }, "scheduledPaymentDate": { "type": "string", "format": "date", "description": "Scheduled payment date (YYYY-MM-DD, UTC)." }, "actualPaymentDate": { "type": "string", "format": "date", "description": "Actual payment date (YYYY-MM-DD, UTC)." }, "paymentMethod": { "type": "string", "enum": [ "ACH", "CHECK" ], "description": "Payment method used." }, "paymentReferenceNumbers": { "type": "array", "description": "Broker-side transaction or confirmation IDs associated with the payment (e.g., TriumphPay confirmation IDs). A list supports split payments and multiple confirmation IDs per payment.\n", "items": { "type": "string" } } } }, "TrackingEventRequest": { "type": "object", "required": [ "loadNumber", "trackingEvent" ], "x-property-order": [ "loadNumber", "trackingEvent" ], "properties": { "loadNumber": { "type": "string" }, "trackingEvent": { "$ref": "#/components/schemas/TrackingEvent" } } }, "TrackingCallbackResponse": { "type": "object", "required": [ "loadNumber", "trackingEvent" ], "x-property-order": [ "loadNumber", "brokerageLoadInternalId", "trackingEvent" ], "properties": { "loadNumber": { "type": "string", "description": "The unique identifier for the load" }, "brokerageLoadInternalId": { "type": "string", "description": "Internal load ID in the TMS" }, "trackingEvent": { "$ref": "#/components/schemas/TrackingEvent" } } }, "LoadCarrierCallbackResponse": { "type": "object", "required": [ "loadNumber", "loadCarrierUpdate" ], "x-property-order": [ "loadNumber", "brokerageLoadInternalId", "loadCarrierUpdate" ], "properties": { "loadNumber": { "type": "string", "description": "The unique identifier for the load" }, "brokerageLoadInternalId": { "type": "string", "description": "Internal load ID in the TMS" }, "loadCarrierUpdate": { "$ref": "#/components/schemas/LoadCarrierUpdate" } } }, "CommentCallbackResponse": { "type": "object", "required": [ "loadNumber", "comment" ], "x-property-order": [ "loadNumber", "brokerageLoadInternalId", "comment" ], "properties": { "loadNumber": { "type": "string", "description": "The unique identifier for the load" }, "brokerageLoadInternalId": { "type": "string", "description": "Internal load ID in the TMS" }, "comment": { "type": "string" } } }, "StopUpdateCallbackResponse": { "type": "object", "required": [ "loadNumber", "brokerageLoadInternalId", "stopUpdate" ], "x-property-order": [ "loadNumber", "brokerageLoadInternalId", "stopUpdate" ], "properties": { "loadNumber": { "type": "string", "description": "The unique identifier for the load" }, "brokerageLoadInternalId": { "type": [ "string", "null" ], "description": "Optional internal load ID in the TMS. Use loadNumber as the main ID. Will be null if not provided." }, "stopUpdate": { "$ref": "#/components/schemas/StopUpdate" } } }, "ScheduledCarrierOutreachCallbackResponse": { "type": "object", "required": [ "loadNumber", "scheduledAt", "outreachType", "context" ], "x-property-order": [ "loadNumber", "brokerageLoadInternalId", "scheduledAt", "outreachType", "context" ], "properties": { "loadNumber": { "type": "string", "description": "The unique identifier for the load" }, "brokerageLoadInternalId": { "type": [ "string", "null" ], "description": "Optional internal load ID in the TMS. Use loadNumber as the main ID. Will be null if not provided." }, "scheduledAt": { "type": "string", "format": "date-time", "description": "The scheduled carrier outreach time, as a UTC ISO 8601 string ending in `Z` (e.g. `2025-08-21T12:34:56Z`)" }, "outreachType": { "type": "string", "description": "The type of carrier outreach scheduled", "enum": [ "PHONE_CALL", "EMAIL", "TEXT_MESSAGE" ] }, "context": { "type": "string", "description": "Context describing why the carrier outreach was scheduled" } } }, "BidCreated": { "type": "object", "description": "Carrier interest or a carrier bid submitted for a load. Delivered via PUSH_BID_TO_TMS webhook subscription. This callback is sent when a carrier expresses interest, even if the carrier did not provide a dollar offer amount.\n", "required": [ "bidId", "createdAt", "loadReference", "internalLoadReference", "carrier", "channel", "truckEmpty" ], "x-property-order": [ "bidId", "createdAt", "loadReference", "internalLoadReference", "carrier", "offerAmount", "channel", "truckEmpty", "repId" ], "properties": { "bidId": { "type": "string", "description": "Unique identifier for the bid", "example": "bid-abc-123" }, "createdAt": { "type": "string", "format": "date-time", "description": "ISO 8601 timestamp (with timezone offset) of when the bid was created\n", "example": "2026-02-19T14:30:00.000Z" }, "loadReference": { "type": "string", "description": "Brokerage load reference number", "example": "LOAD-456" }, "internalLoadReference": { "type": "string", "description": "Augment internal load reference", "example": "INT-789" }, "carrier": { "type": "object", "description": "Carrier that submitted the bid. At least one of `id`, `mcNumber`, or `dotNumber` must be present.\n", "anyOf": [ { "required": [ "id" ] }, { "required": [ "mcNumber" ] }, { "required": [ "dotNumber" ] } ], "properties": { "id": { "type": [ "string", "null" ], "description": "Carrier identifier", "example": "carrier-001" }, "mcNumber": { "type": [ "number", "null" ], "description": "Carrier MC number", "example": 123456 }, "dotNumber": { "type": [ "number", "null" ], "description": "Carrier DOT number", "example": 7890123 } } }, "offerAmount": { "type": [ "number", "null" ], "description": "Bid offer amount in dollars. This can be null when the carrier expressed interest but did not provide a dollar amount.\n", "example": 2500 }, "channel": { "type": "object", "description": "Communication channel used for the bid. At least one of `phone` or `email` must be present.\n", "required": [ "type" ], "anyOf": [ { "required": [ "phone" ] }, { "required": [ "email" ] } ], "properties": { "type": { "type": "string", "enum": [ "call", "email" ], "description": "Type of communication channel", "example": "call" }, "phone": { "type": [ "string", "null" ], "description": "Phone number (present for call-based bids)", "example": "+15551234567" }, "email": { "type": [ "string", "null" ], "format": "email", "description": "Email address (present for email-based bids)" } } }, "truckEmpty": { "type": "object", "description": "Truck empty location and availability", "properties": { "city": { "type": [ "string", "null" ], "description": "City name", "example": "Dallas" }, "stateOrProvince": { "type": [ "string", "null" ], "description": "State or province code", "example": "TX" }, "country": { "type": [ "string", "null" ], "enum": [ "US", "CA", "MX", null ], "description": "Country code", "example": "US" }, "dateTime": { "type": [ "string", "null" ], "format": "date-time", "description": "Truck empty date and time", "example": "2026-02-20T08:00:00.000Z" } } }, "repId": { "type": [ "string", "null" ], "description": "Augment representative ID who facilitated the bid", "example": "rep-456" } } }, "StopUpdate": { "type": "object", "required": [ "stopSequenceNumber", "status", "timezone" ], "x-property-order": [ "stopSequenceNumber", "stopId", "status", "arrivalTime", "unloadStartTime", "unloadEta", "departureTime", "timezone", "accessorials", "dockDoor", "notes" ], "properties": { "stopSequenceNumber": { "type": "integer", "description": "The sequence number of the stop being updated" }, "stopId": { "type": "string", "description": "Optional external or system ID of the stop" }, "status": { "$ref": "#/components/schemas/StopUpdateLoadStatus" }, "arrivalTime": { "allOf": [ { "$ref": "#/components/schemas/InputDateTimeUtc" }, { "description": "Arrival time at the stop. May be in UTC with offset, or local time without offset when paired with the timezone field.\n" } ] }, "unloadStartTime": { "allOf": [ { "$ref": "#/components/schemas/InputDateTimeUtc" }, { "description": "Unload start time. May be in UTC with offset, or local time without offset when paired with the timezone field.\n" } ] }, "unloadEta": { "allOf": [ { "$ref": "#/components/schemas/InputDateTimeUtc" }, { "description": "Estimated unload completion time. In UTC, or with a specific timezone offset.\n" } ] }, "departureTime": { "allOf": [ { "$ref": "#/components/schemas/InputDateTimeUtc" }, { "description": "Departure time from the stop. In UTC, or with a specific timezone offset.\n" } ] }, "timezone": { "type": "string", "description": "IANA timezone (e.g., America/Chicago) of the stop location.", "examples": [ "America/Chicago", "America/Los_Angeles" ] }, "accessorials": { "type": "array", "items": { "$ref": "#/components/schemas/AccessorialsEnum" } }, "dockDoor": { "type": "string" }, "notes": { "type": "string" } } }, "StopUpdateLoadStatus": { "enum": [ "AT_PICKUP", "AT_DELIVERY", "IN_TRANSIT", "DELIVERED" ], "description": "Status code indicating the current state of the load at the stop" }, "Load": { "type": "object", "required": [ "loadNumber", "status", "mode", "route" ], "x-property-order": [ "loadNumber", "brokerageLoadInternalId", "status", "mode", "rateType", "route", "referenceNumbers", "equipment", "accessorials", "items", "externalTrackingStatus", "isPostedToDAT", "weight", "totalMiles", "maxRate", "targetRate", "highValueAmount", "dimensions", "minimumTemperature", "maximumTemperature", "service", "bidExpiration", "notes", "bookedRate", "shipperRate", "tarpSize", "minimumBulkHeadTemperature", "maximumBulkHeadTemperature", "customData" ], "properties": { "loadNumber": { "type": "string" }, "brokerageLoadInternalId": { "type": "string", "description": "Optional internal load ID in the TMS. Use loadNumber as the main ID." }, "mode": { "enum": [ "DRAYAGE", "FTL", "LTL" ] }, "rateType": { "enum": [ "CONTRACT", "DEDICATED", "PROJECT", "SPOT" ] }, "status": { "$ref": "#/components/schemas/LoadStatus" }, "referenceNumbers": { "type": "array", "items": { "type": "object", "required": [ "name", "value" ], "properties": { "name": { "$ref": "#/components/schemas/LoadReferenceNumberName" }, "value": { "type": "string" } } } }, "equipment": { "type": "object", "description": "Optional equipment details. If provided, equipmentType is required", "required": [ "equipmentType" ], "x-property-order": [ "equipmentType", "description" ], "properties": { "equipmentType": { "description": "Required if equipment object is provided", "enum": [ "AUTO_CARRIER", "AUTO_TRANSPORT", "B_TRAIN", "BOX_TRUCK", "CHASSIS", "CONESTOGA", "CONTAINER", "CONTAINER_INSULATED", "CONTAINER_OR_CHASSIS", "CONTAINER_REFRIGERATED", "CONTAINERS", "CONVEYOR", "DECKS_SPECIALIZED", "DECKS_STANDARD", "DOUBLE_DROP", "DROP_DECK_LANDOLL", "DRY_BULK", "DRY_VAN", "DUMP_END", "DUMP_SIDE", "DUMP_TRAILER", "FLATBED", "FLATBED_AIR_RIDE", "FLATBED_CONESTOGA", "FLATBED_DOUBLE", "FLATBED_HAZMAT", "FLATBED_HOTSHOT", "FLATBED_MAXI", "FLATBED_OR_STEP_DECK", "FLATBED_OVERDIMENSION", "FLATBED_STRETCH", "FLATBED_VAN_REEFER", "FLATBED_WITH_CHAINS", "FLATBED_WITH_SIDES", "FLATBED_WITH_TARPS", "FLATBED_WITH_TEAM", "FLATBEDS", "HAZARDOUS_MATERIALS", "HOPPER_BOTTOM", "HOTSHOT", "HOTSHOT_FLATBED", "INSULATED_VAN_OR_REEFER", "LOWBOY", "LOWBOY_OR_REM_GOOSENECK_RGN", "LOWBOY_OVERDIMENSION", "MOVING_VAN", "PLATE_TRAILER", "PNEUMATIC", "POWER_ONLY", "POWER_ONLY_LOAD_OUT", "POWER_ONLY_TOW_AWAY", "REEFER", "REEFER_AIR_RIDE", "REEFER_DEEP_FROZEN", "REEFER_DOUBLE", "REEFER_HAZMAT", "REEFER_INTERMODAL", "REEFER_LOGISTICS", "REEFER_OR_POWER_ONLY", "REEFER_OR_VENTED_VAN", "REEFER_PALLET_EXCHANGE", "REEFER_QUADAXLE", "REEFER_TRIAXLE", "REEFER_WITH_TEAM", "REEFERS", "REMOVABLE_GOOSE_NECK", "REMOVABLE_GOOSENECK", "SPRINTER_VAN", "SPRINTER_VAN_HAZMAT", "SPRINTER_VAN_TEMP_CONTROLLED", "SPRINTER_VAN_WITH_TEAM", "STEP_DECK", "STEP_DECK_OR_REM_GOOSENECK_RGN", "STEPDECK_CONESTOGA", "STRAIGHT_BOX_TRUCK", "STRAIGHT_BOX_TRUCK_HAZMAT", "STRAIGHT_BOX_TRUCK_REEFER", "STRAIGHT_TRUCK", "STRETCH_TRAILER", "TANKER", "TANKER_ALUMINUM", "TANKER_INTERMODAL", "TANKER_STEEL", "TANKERS", "TRUCK_AND_TRAILER", "V2G", "VAH", "VAN", "VAN_AIR_RIDE", "VAN_BLANKET_WRAP", "VAN_CONESTOGA", "VAN_CURTAIN", "VAN_DOUBLE", "VAN_HAZMAT", "VAN_HIGH_CUBE", "VAN_HIGH_CUBE_4_AXLE", "VAN_HOTSHOT", "VAN_INSULATED", "VAN_INTERMODAL", "VAN_LIFT_GATE", "VAN_LOGISTICS", "VAN_OPEN_TOP", "VAN_OR_FLATBED", "VAN_OR_FLATBED_WITH_TARPS", "VAN_OR_POWER_ONLY", "VAN_OR_REEFER", "VAN_PALLET_EXCHANGE", "VAN_ROLLER_BED", "VAN_SPRINTER", "VAN_TRIPLE", "VAN_VENTED", "VAN_WITH_CURTAINS", "VAN_WITH_TEAM", "VANS_SPECIALIZED", "VANS_STANDARD", "VENTED_VAN_OR_POWER_ONLY", "WALKING_FLOOR", "OTHER" ] }, "description": { "type": "string", "description": "A field suitable for mapping the exact string value that the source system stores for equipment type" } } }, "accessorials": { "type": "array", "items": { "$ref": "#/components/schemas/AccessorialsEnum" } }, "route": { "type": "array", "items": { "$ref": "#/components/schemas/LoadRouteStop" } }, "items": { "type": "array", "description": "Optional array of items. If provided, each item must include quantity and totalWeightLbs. Use packagingUnit to describe how the item is packaged and handlingUnit to describe how the freight is handled or moved.", "items": { "$ref": "#/components/schemas/LoadItem" } }, "externalTrackingStatus": { "$ref": "#/components/schemas/ExternalTrackingStatus", "description": "External tracking status information. When updating a load: - If omitted, the existing externalTrackingStatus value is preserved unchanged - If explicitly set to null, the externalTrackingStatus is cleared - If provided with a value, the externalTrackingStatus is updated to that value\n" }, "isPostedToDAT": { "type": "boolean", "description": "Indicates whether the load has been posted to DAT load board. This is required for Augie to search for loads using lane information (pick up and drop off city and state).\n" }, "weight": { "type": "number", "description": "Total weight in pounds (lbs)" }, "totalMiles": { "type": "number", "description": "Total estimated mileage for the entire route of a load" }, "maxRate": { "type": "number", "description": "Maximum bid amount in USD" }, "targetRate": { "type": "number", "description": "Target rate in USD" }, "highValueAmount": { "type": "number", "description": "High value amount in USD" }, "dimensions": { "type": "object", "description": "Optional dimensions object. If provided, all dimension fields are required. All dimensions are in inches.", "required": [ "heightInches", "lengthInches", "widthInches" ], "x-property-order": [ "lengthInches", "widthInches", "heightInches" ], "properties": { "heightInches": { "type": "integer", "description": "Required if dimensions object is provided" }, "lengthInches": { "type": "integer", "description": "Required if dimensions object is provided" }, "widthInches": { "type": "integer", "description": "Required if dimensions object is provided" } } }, "minimumTemperature": { "type": "number", "description": "Minimum temperature requirement in Fahrenheit" }, "maximumTemperature": { "type": "number", "description": "Maximum temperature requirement in Fahrenheit" }, "service": { "$ref": "#/components/schemas/LoadService", "description": "Service type for the load" }, "bidExpiration": { "allOf": [ { "$ref": "#/components/schemas/InputDateTimeUtc" }, { "description": "Bid expiration time in UTC, or with a specific timezone offset" } ] }, "notes": { "type": "array", "description": "Operational notes about the load. Use this field to send context about actions taken on the load (e.g. broker instructions, status updates). On update, the provided notes are merged with existing notes.\n", "items": { "$ref": "#/components/schemas/LoadNote" } }, "bookedRate": { "type": "number", "description": "Booked rate in USD" }, "shipperRate": { "type": "number", "description": "Shipper rate in USD" }, "tarpSize": { "type": "string", "description": "Tarp size requirement" }, "minimumBulkHeadTemperature": { "type": "number", "description": "Minimum bulkhead temperature requirement in Fahrenheit" }, "maximumBulkHeadTemperature": { "type": "number", "description": "Maximum bulkhead temperature requirement in Fahrenheit" }, "groupExternalId": { "type": [ "string", "null" ], "description": "The external identifier used to associate this load with a group. Used during create/update to resolve the internal groupKey.\n" }, "customData": { "$ref": "#/components/schemas/LoadCustomData" } } }, "LoadCustomData": { "type": "object", "nullable": true, "description": "Optional client-specific metadata for the load. Use string keys; each value may be a string, number, boolean, array of JSON-safe values, or a nested object with the same rules. The serialized JSON must not exceed 10,000 characters.\n\nIf you want Augie to use values from customData in automated workflows, coordinate the expected keys and meanings with Augment. Your SOPs or workflow instructions may need to be updated so Augie knows when and how to reference those values.\n\nOn update, sending this field replaces the stored value. Omitting it preserves the existing value, while sending `null` clears it.\n", "additionalProperties": true, "example": { "customerLoadId": "ABC-12345", "priorityTier": 2, "whiteGloveDelivery": true, "tags": [ "rush", "high-value" ], "routing": { "region": "NE", "requiresAppointment": true } } }, "LoadNote": { "type": "object", "required": [ "timestamp", "text", "author" ], "x-property-order": [ "timestamp", "text", "author" ], "properties": { "timestamp": { "$ref": "#/components/schemas/InputDateTimeUtc", "description": "When the note was created" }, "text": { "type": "string", "description": "Note content" }, "author": { "type": "string", "description": "Who created the note (e.g. email address or system name)" } } }, "LoadStatus": { "enum": [ "DRAFT", "CUSTOMER_CONFIRMED", "COVERED", "DISPATCHED", "AT_PICKUP", "IN_TRANSIT", "AT_DELIVERY", "DELIVERED", "POD_COLLECTED", "PAID", "CANCELED", "ERROR", "ARCHIVED" ] }, "LoadReferenceNumberName": { "enum": [ "BILLED_DATE", "BOOKING_NUMBER", "BOL_NUMBER", "CONSIGNEE_NUMBER", "CONTAINER_NUMBER", "DAT_POSTING_ID", "PICKUP_NUMBER", "PO_NUMBER", "POSTING_GROUP_ID", "PRO_NUMBER", "RELEASED_DATE", "REQUIRED_DOCS", "SHIPPER_NUMBER", "TMS_LOAD_STATUS", "TRAILER_NUMBER", "TRUCK_NUMBER", "OTHER" ] }, "LoadRouteStop": { "type": "object", "required": [ "sequence", "stopActivity", "address", "expectedArrivalWindowStart", "expectedArrivalWindowEnd" ], "x-property-order": [ "sequence", "externalId", "stopActivity", "address", "notes", "expectedArrivalWindowStart", "expectedArrivalWindowEnd", "actualArrivalTime", "actualCompletionTime", "expectedDropWindowStart", "expectedDropWindowEnd", "mustArriveByDate", "isLocalTime", "schedulingType", "handlingType" ], "properties": { "sequence": { "type": "integer", "description": "The sequence number of the stop in the route. Number should start at 1 increase by 1 for the following stop." }, "externalId": { "type": "string", "description": "Optional external ID for the stop. This is used to link the stop to an external system." }, "stopActivity": { "enum": [ "PICKUP", "DELIVERY" ] }, "address": { "type": "object", "required": [ "street1", "city", "stateOrProvince", "postalCode", "country" ], "x-property-order": [ "company", "locationName", "street1", "street2", "city", "stateOrProvince", "postalCode", "country" ], "properties": { "company": { "type": "string" }, "locationName": { "type": "string" }, "street1": { "type": "string" }, "street2": { "type": "string" }, "city": { "type": "string" }, "stateOrProvince": { "type": "string" }, "postalCode": { "type": "string" }, "country": { "type": "string", "description": "Must be 2-letter ISO country code as listed here: https://www.iban.com/country-codes" } } }, "notes": { "description": "Optional notes for the stop.", "type": "string" }, "expectedArrivalWindowStart": { "allOf": [ { "$ref": "#/components/schemas/InputDateTimeUtc" }, { "description": "Expected arrival window start time in UTC, or with a specific timezone offset" } ] }, "expectedArrivalWindowEnd": { "allOf": [ { "$ref": "#/components/schemas/InputDateTimeUtc" }, { "description": "Expected arrival window end time in UTC, or with a specified timezone offset" } ] }, "actualArrivalTime": { "allOf": [ { "$ref": "#/components/schemas/InputDateTimeUtc" }, { "description": "Actual arrival time in UTC, or with a specific timezone offset" } ] }, "actualCompletionTime": { "allOf": [ { "$ref": "#/components/schemas/InputDateTimeUtc" }, { "description": "Actual completion time in UTC, or with a specific timezone offset" } ] }, "expectedDropWindowStart": { "allOf": [ { "$ref": "#/components/schemas/InputDateTimeUtc" }, { "description": "Expected window start time for drop trailers in UTC, or with a specific timezone offset" } ] }, "expectedDropWindowEnd": { "allOf": [ { "$ref": "#/components/schemas/InputDateTimeUtc" }, { "description": "Expected window end time for drop trailers in UTC, or with a specific timezone offset" } ] }, "mustArriveByDate": { "allOf": [ { "$ref": "#/components/schemas/InputDateTimeUtc" }, { "description": "The date and time by which the carrier must arrive at this stop, in UTC or with a specific timezone offset" } ] }, "isLocalTime": { "type": "boolean", "description": "When true, route times are in local time instead of UTC. When this is true, omit the Z suffix or timezone offset from all route time strings. Example: 2017-07-21T17:32:28\n" }, "schedulingType": { "enum": [ "APPT", "FCFS" ], "description": "Scheduling type for the stop.\n- APPT (Appointment) indicates the stop operates on an appointment basis.\n- FCFS (First Come First Serve) indicates the stop accepts arrivals on a first-come-first-serve basis.\n" }, "handlingType": { "enum": [ "DT", "L" ], "description": "Handling type for the stop.\n- DT (Drop Trailer) indicates the location supports drop-trailer operations.\n- L (Live) indicates live loading or unloading where the driver stays with the trailer.\n" } } }, "LoadItem": { "type": "object", "required": [ "quantity", "totalWeightLbs" ], "x-property-order": [ "quantity", "packagingUnit", "handlingUnit", "description", "totalWeightLbs", "lengthInches", "widthInches", "heightInches", "freightClass", "nmfc", "density", "pickupSequence", "deliverySequence" ], "properties": { "quantity": { "type": "integer", "description": "Item quantity. Required if item is provided." }, "packagingUnit": { "$ref": "#/components/schemas/LoadItemUnit", "description": "How the item is packaged, such as 60 cartons. Prefer this field when packaging quantity differs from item quantity or handling quantity.\n" }, "handlingUnit": { "$ref": "#/components/schemas/LoadItemUnit", "description": "How the freight is handled or moved, such as 3 pallets. Prefer this field when handling quantity differs from item quantity or packaging quantity.\n" }, "description": { "type": "string", "description": "Commodity description for this item. Augment's AI agent uses this value verbatim when speaking with carriers." }, "totalWeightLbs": { "type": "number", "description": "Required if item is provided" }, "lengthInches": { "type": "integer" }, "widthInches": { "type": "integer" }, "heightInches": { "type": "integer" }, "freightClass": { "type": "string", "enum": [ "50", "55", "60", "65", "70", "77.5", "85", "92.5", "100", "110", "125", "150", "175", "200", "250", "300", "400", "500" ] }, "nmfc": { "type": "string" }, "density": { "type": "number" }, "pickupSequence": { "type": "integer" }, "deliverySequence": { "type": "integer" } } }, "LoadItemUnit": { "type": "object", "required": [ "unitType", "quantity" ], "x-property-order": [ "unitType", "quantity" ], "properties": { "unitType": { "$ref": "#/components/schemas/PackageType" }, "quantity": { "type": "number", "description": "Quantity of this unit type." } } }, "PackageType": { "type": "string", "enum": [ "PALLET", "PIECE", "CARTON", "TOTE", "SKID", "CRATE", "BOX", "DRUM", "CASE", "BUNDLE", "OTHER", "FLOOR_LOADED", "ROLL", "SHEET" ] }, "LoadService": { "enum": [ "HOTSHOT", "PARTIAL", "STANDARD", "TIME_CRITICAL", "VOLUME" ] }, "LoadShipment": { "type": "object", "required": [ "loadShipmentRef" ], "x-property-order": [ "loadShipmentRef", "loadShipmentInternalRef", "shipmentRef", "status", "referenceNumbers", "accessorials", "notes", "route", "items", "minTemperatureF", "maxTemperatureF", "service", "customer" ], "properties": { "loadShipmentRef": { "type": "string", "description": "Unique identifier for the load shipment." }, "loadShipmentInternalRef": { "type": "string", "description": "Optional internal load shipment ID in the TMS. Use loadShipmentRef as the main ID." }, "shipmentRef": { "type": "string" }, "status": { "allOf": [ { "type": "string" }, { "description": "Status of the load shipment" }, { "$ref": "#/components/schemas/LoadStatus" } ] }, "referenceNumbers": { "type": "array", "items": { "type": "object", "required": [ "name", "value" ], "x-property-order": [ "name", "value" ], "properties": { "name": { "$ref": "#/components/schemas/LoadReferenceNumberName" }, "value": { "type": "string" } } } }, "accessorials": { "type": "array", "items": { "$ref": "#/components/schemas/AccessorialsEnum" } }, "notes": { "type": "array", "items": { "type": "object", "required": [ "timestamp", "text", "author" ], "x-property-order": [ "timestamp", "text", "author" ], "properties": { "timestamp": { "type": "string", "format": "date-time" }, "text": { "type": "string", "description": "Content of the note" }, "author": { "type": "string", "description": "Author of the note" } } } }, "route": { "allOf": [ { "type": "object", "required": [ "loadSequence" ], "properties": { "loadSequence": { "type": "integer", "description": "The sequence number of the stop in overall load route." } } }, { "$ref": "#/components/schemas/LoadRouteStop" } ] }, "items": { "type": "array", "items": { "$ref": "#/components/schemas/LoadItem" } }, "minTemperatureF": { "type": "number", "description": "Minimum temperature requirement in Fahrenheit" }, "maxTemperatureF": { "type": "number", "description": "Maximum temperature requirement in Fahrenheit" }, "service": { "$ref": "#/components/schemas/LoadService", "description": "Service type for the load" }, "customer": { "$ref": "#/components/schemas/Customer" } } }, "CarrierAddress": { "type": "object", "description": "Carrier address on a load. Optional on the parent object; when present, include every required field below.\n", "required": [ "street1", "city", "stateOrProvince", "postalCode", "country" ], "x-property-order": [ "company", "locationName", "street1", "street2", "city", "stateOrProvince", "postalCode", "country" ], "properties": { "company": { "type": "string" }, "locationName": { "type": "string" }, "street1": { "type": "string", "description": "Required when address is provided" }, "street2": { "type": "string" }, "city": { "type": "string", "description": "Required when address is provided" }, "stateOrProvince": { "type": "string", "description": "Required when address is provided" }, "postalCode": { "type": "string", "description": "Required when address is provided" }, "country": { "type": "string", "description": "Required when address is provided. 2-letter ISO country code: https://www.iban.com/country-codes" } } }, "Carrier": { "type": "object", "required": [ "name", "dotNumber" ], "x-property-order": [ "carrierId", "name", "mcNumber", "dotNumber", "scac", "address", "contacts", "drivers" ], "properties": { "carrierId": { "type": "string" }, "name": { "type": "string" }, "mcNumber": { "type": "integer" }, "dotNumber": { "type": "integer" }, "scac": { "type": "string" }, "address": { "$ref": "#/components/schemas/CarrierAddress" }, "contacts": { "type": "array", "items": { "$ref": "#/components/schemas/CarrierContact" } }, "drivers": { "type": "array", "items": { "type": "object", "required": [ "phone" ], "x-property-order": [ "id", "name", "phone", "phoneExtension" ], "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "phone": { "type": "string", "description": "Phone number in E.164 format (e.g., +12081234567) or common local format. Supports US, CA, MX, PH.", "example": "+12081234567" }, "phoneExtension": { "type": "string", "description": "Phone number extension (numeric only)." } } } } } }, "CarrierContact": { "type": "object", "description": "Optional contact object. If provided, role is required.", "required": [ "role" ], "x-property-order": [ "id", "name", "phone", "phoneExtension", "email", "role" ], "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "phone": { "type": "string", "description": "Phone number in E.164 format (e.g., +12081234567) or common local format. Supports US, CA, MX, PH.", "example": "+12081234567" }, "phoneExtension": { "type": "string", "description": "Phone number extension (numeric only)." }, "email": { "type": "string" }, "role": { "description": "Required if contact is provided.\n- `AP_REP` — Accounts Payable Specialist\n- `DISPATCHER` — Dispatcher\n", "enum": [ "AP_REP", "DISPATCHER" ] } } }, "Brokerage": { "type": "object", "x-property-order": [ "contacts" ], "properties": { "contacts": { "type": "array", "items": { "type": "object", "required": [ "role", "name" ], "x-property-order": [ "id", "name", "phone", "phoneExtension", "email", "role" ], "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "phone": { "type": "string", "description": "Phone number in E.164 format (e.g., +12081234567) or common local format. Supports US, CA, MX, PH.", "example": "+12081234567" }, "phoneExtension": { "type": "string", "description": "Phone number extension (numeric only)." }, "email": { "type": "string" }, "role": { "type": "array", "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` — manages invoices and payments, `AFTER_HOURS_REP` — contact available outside of regular business hours.\n", "items": { "enum": [ "ACCOUNT_MANAGER", "OPERATIONS_REP", "OPERATIONS_MANAGER", "CARRIER_REP", "CUSTOMER_TEAM", "BOOKED_BY", "CUSTOMER_REP", "AP_REP", "AFTER_HOURS_REP" ] } } } } } } }, "Customer": { "type": "object", "required": [ "name" ], "x-property-order": [ "customerId", "name" ], "properties": { "customerId": { "type": "string" }, "name": { "type": "string" } } }, "TrackedLocation": { "type": "object", "x-property-order": [ "lastEvent" ], "properties": { "lastEvent": { "$ref": "#/components/schemas/TrackingEvent" } } }, "LoadCarrierUpdate": { "type": "object", "required": [ "source" ], "x-property-order": [ "source", "driverName", "driverPhoneNumber", "truckNumber", "trailerNumber", "bolNumber", "notes" ], "properties": { "source": { "enum": [ "EMAIL", "PHONE" ] }, "driverName": { "type": "string" }, "driverPhoneNumber": { "type": "string" }, "truckNumber": { "type": "string" }, "trailerNumber": { "type": "string" }, "bolNumber": { "type": "string" }, "notes": { "type": "string" } } }, "TrackingEvent": { "type": "object", "required": [ "eventType", "eventSource", "eventUtc" ], "x-property-order": [ "eventType", "eventSource", "eventUtc", "nextSequence", "nextEtaUtc", "city", "stateOrProvince", "postalCode", "latitude", "longitude", "temperatureF", "notes", "dispatcher", "driver" ], "properties": { "nextSequence": { "type": "integer" }, "nextEtaUtc": { "allOf": [ { "$ref": "#/components/schemas/InputDateTimeUtc" }, { "description": "Next estimated arrival time in UTC, or with a specific timezone offset" } ] }, "eventType": { "enum": [ "DELAYED", "INFO", "PICKED_UP", "PING", "COVERED", "DISPATCHED" ] }, "eventSource": { "enum": [ "4KITES", "CARRIER_API", "HIGHWAY", "MACROPOINT", "P44", "PHONE_EMAIL", "SMC3", "TEXT", "TMS", "TRUCKER_TOOLS", "OTHER" ] }, "eventUtc": { "allOf": [ { "$ref": "#/components/schemas/InputDateTimeUtc" }, { "description": "Event time in UTC, or with a specific timezone offset" } ] }, "city": { "type": "string" }, "stateOrProvince": { "type": "string" }, "postalCode": { "type": "string" }, "latitude": { "type": "number" }, "longitude": { "type": "number" }, "temperatureF": { "type": "number" }, "notes": { "type": "string" }, "dispatcher": { "$ref": "#/components/schemas/TrackingEventContact" }, "driver": { "$ref": "#/components/schemas/TrackingEventContact" } } }, "TrackingEventContact": { "type": "object", "description": "Contact information for a person associated with a tracking event.", "x-property-order": [ "id", "name", "phone", "phoneExtension", "email" ], "properties": { "id": { "type": "string", "description": "Identifier of the contact in the TMS system." }, "name": { "type": "string", "description": "Full name of the contact." }, "phone": { "type": "string", "description": "Phone number in E.164 format (e.g., +12081234567) or common local format. Supports US, CA, MX, PH.", "example": "+12081234567" }, "phoneExtension": { "type": "string", "description": "Phone number extension (numeric only)." }, "email": { "type": "string", "description": "Email address of the contact." } } }, "AccessorialsEnum": { "type": "string", "description": "Accessorial code representing an additional service or requirement for a load. This is not a closed set — new accessorial codes may be added at any time. Values are normalized to UPPER_SNAKE_CASE (e.g., `inside delivery` → `INSIDE_DELIVERY`).\n", "examples": [ "AFTER_HOURS", "BULK_HEAD", "CHAINS", "CONSTRUCTION_SITE", "DELIVERY_APPOINTMENT", "DETENTION", "DETENTION_LOADING", "DETENTION_UNLOADING", "DRIVER_ASSIST", "DRIVER_COUNT", "E_TRACKING", "FOOD_GRADE", "FORKLIFT", "GENERAL_LIABILITY", "HAZMAT", "HIGH_VALUE", "HIGH_VISIBILITY", "HOLIDAY", "INSIDE_DELIVERY", "INSIDE_PICKUP", "LAYOVER", "LIFTGATE", "LIMITED_ACCESS", "LOAD_BAR", "LUMPER", "MILITARY_BASE", "NOTIFY_BEFORE_ARRIVAL", "OVERSIZE", "OVERWEIGHT", "PICKUP_APPOINTMENT", "POD_REQUIRED", "RAMPS", "RESIDENTIAL", "SIGNATURE_REQUIRED", "SORT_AND_SEGREGATE", "STRAPS", "TANKER_ENDORSED", "TARGETED_COMMODITY", "TARPS", "TEAM_SERVICE", "TEMPERATURE_REQUIREMENT", "TRADESHOW", "TRAILER_CLEANING", "TONU", "TRAILER_INTERCHANGE", "TWIC", "WEEKEND" ] }, "ExternalTrackingStatusCode": { "enum": [ "READY", "WAITING", "FAILED", "COMPLETED" ], "description": "Status code indicating the current state of external tracking" }, "ExternalTrackingStatus": { "type": "object", "required": [ "source", "message", "code", "updatedAt" ], "x-property-order": [ "source", "message", "code", "updatedAt" ], "properties": { "source": { "enum": [ "MACROPOINT", "P44", "OTHER" ], "description": "The source system or service providing the tracking status" }, "message": { "type": "string", "description": "Human-readable message describing the current tracking status", "examples": [ "Tracking Now", "Ready to Track", "Requesting App Install" ] }, "code": { "$ref": "#/components/schemas/ExternalTrackingStatusCode" }, "updatedAt": { "allOf": [ { "$ref": "#/components/schemas/InputDateTimeUtc" }, { "description": "The timestamp when the tracking status was last updated in UTC, or with a specific timezone offset" } ] } } }, "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" } } }, "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.\n", "additionalProperties": true, "example": { "tier": "gold", "score": 98.5, "verified": true, "aliases": [ "Acme Freight", "Acme Carriers LLC" ], "routing": { "defaultRegion": "NS", "allowCrossBorder": false } } }, "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.\n", "oneOf": [ { "$ref": "#/components/schemas/CarrierCustomData" }, { "type": "null" } ] } } }, "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.\n" }, "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.\n" }, "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" } } }, "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:\n- `ACCOUNTANT` — Accountant\n- `AP_REP` — manages invoices and payments\n- `DISPATCHER` — Dispatcher\n- `DRIVER` — Driver\n- `OTHER` — Other\n" }, "preferredContactMode": { "type": "string", "enum": [ "EMAIL", "PHONE_CALL", "TEXT_MESSAGE", "TELEGRAM" ], "description": "Preferred method of contact" } } }, "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:\n- `ACCOUNTANT` — Accountant\n- `AP_REP` — manages invoices and payments\n- `DISPATCHER` — Dispatcher\n- `DRIVER` — Driver\n- `OTHER` — Other\n" }, "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" } } }, "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" } } } }, "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" } } } } } }, "LoadFileType": { "type": "string", "enum": [ "INVOICE", "POD", "BOL", "RATE_CONFIRMATION" ], "description": "The category of the document being uploaded" }, "LoadFileSourceType": { "type": "string", "enum": [ "CARRIER", "BROKER", "SHIPPER", "CONSIGNEE", "DRIVER", "OTHER" ], "description": "The kind of entity that provided the document" }, "LoadFileSourceIdentifierType": { "type": "string", "enum": [ "MC_NUMBER", "DOT_NUMBER", "SCAC", "EMAIL", "NAME", "EXTERNAL_ID" ], "description": "How the source entity is identified" }, "LoadFileUploadSource": { "type": "object", "description": "Origin of the uploaded document (e.g. a carrier or driver)", "required": [ "type", "identifierType", "identifier" ], "additionalProperties": false, "properties": { "type": { "$ref": "#/components/schemas/LoadFileSourceType", "description": "The kind of entity that provided the document" }, "identifierType": { "$ref": "#/components/schemas/LoadFileSourceIdentifierType", "description": "How the source entity is identified" }, "identifier": { "type": "string", "description": "The identifier value (e.g. MC number, SCAC code, email address)" }, "name": { "type": "string", "description": "Optional display name for the source entity" } } }, "LoadFileUploadReferenceNumbers": { "type": "object", "properties": { "invoiceNumber": { "type": "string", "description": "Required when fileType is INVOICE" } } }, "LoadFileUploadRequest": { "type": "object", "required": [ "loadNum", "filename", "fileType", "contentType", "content", "sizeBytes", "checksum" ], "properties": { "loadNum": { "type": "string", "description": "The load's external number in the TMS (brokerageLoadId)" }, "internalLoadReference": { "type": "string", "description": "Optional internal load identifier from the TMS (brokerageLoadInternalId). Only included when available." }, "filename": { "type": "string", "description": "Original filename including extension. Supported extensions: `.pdf`, `.jpg`, `.jpeg`, `.png`, `.heic`, `.webp`, `.tiff`, `.tif`", "examples": [ "invoice-1234.pdf" ] }, "fileType": { "$ref": "#/components/schemas/LoadFileType" }, "contentType": { "type": "string", "description": "MIME type of the file. Supported values: `application/pdf`, `image/jpeg`, `image/png`, `image/heic`, `image/webp`, `image/tiff`", "examples": [ "application/pdf" ] }, "content": { "type": "string", "description": "Base64-encoded file bytes" }, "sizeBytes": { "type": "integer", "description": "File size in bytes" }, "checksum": { "type": "string", "description": "MD5 hex digest of the raw (pre-encoding) file bytes, used for integrity verification" }, "referenceNumbers": { "$ref": "#/components/schemas/LoadFileUploadReferenceNumbers" }, "source": { "$ref": "#/components/schemas/LoadFileUploadSource", "description": "Origin of the document, used by some brokerages for routing (e.g. carrier ID)" }, "createdAt": { "type": "string", "description": "ISO 8601 timestamp of when the document was collected/created" } } }, "FileUploadSummary": { "type": "object", "required": [ "total", "succeeded", "failed" ], "properties": { "total": { "type": "integer", "description": "Total number of files submitted" }, "succeeded": { "type": "integer", "description": "Number of files successfully uploaded" }, "failed": { "type": "integer", "description": "Number of files that failed to upload" } } }, "FileUploadSuccess": { "type": "object", "required": [ "filename", "success", "data" ], "properties": { "filename": { "type": "string" }, "success": { "type": "boolean", "enum": [ true ] }, "data": { "type": "object", "required": [ "size", "contentType" ], "properties": { "size": { "type": "integer", "description": "Size of the uploaded file in bytes" }, "contentType": { "type": "string", "description": "MIME type of the uploaded file" }, "id": { "type": "string", "description": "ID assigned to the document by the TMS, if available" } } } } }, "FileUploadFailure": { "type": "object", "required": [ "filename", "success", "error" ], "properties": { "filename": { "type": "string" }, "success": { "type": "boolean", "enum": [ false ] }, "error": { "type": "string", "description": "Error message describing why the upload failed" } } }, "FileUploadResult": { "oneOf": [ { "$ref": "#/components/schemas/FileUploadSuccess" }, { "$ref": "#/components/schemas/FileUploadFailure" } ], "discriminator": { "propertyName": "success" } }, "BatchFileUploadResponse": { "type": "object", "required": [ "summary", "results" ], "properties": { "summary": { "$ref": "#/components/schemas/FileUploadSummary" }, "results": { "type": "array", "items": { "$ref": "#/components/schemas/FileUploadResult" } } } }, "InputDateTimeUtc": { "type": "string", "format": "date-time", "examples": [ "2025-08-21T12:34:56Z", "2025-08-21T04:34:56-08:00" ] }, "DateTimeUtc": { "type": "string", "format": "date-time", "description": "The date-time notation is defined by [RFC 3339, section 5.6](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6).", "examples": [ "2025-10-15T20:20:00Z" ] }, "LoadV2Response": { "type": "object", "description": "Enriched load data including tracking events, reference numbers, notes, customers, and shipment information.\n", "required": [ "brokerageLoadId", "status", "route", "referenceNumbers", "trackingEvents", "notes", "accessorials", "isPostedToDAT", "podCollectionStatus", "customers", "loadShipments", "createdAt", "updatedAt" ], "x-property-order": [ "brokerageLoadId", "brokerageLoadInternalId", "status", "mode", "loadType", "route", "totalMiles", "equipment", "equipmentDescription", "accessorials", "weight", "dimensions", "minimumTemperature", "maximumTemperature", "tarpSize", "minimumBulkHeadTemperature", "maximumBulkHeadTemperature", "commodity", "commodityItems", "service", "highValueAmount", "targetRate", "maxRate", "totalRate", "totalCarrierRate", "bidExpiration", "bidCustomValues", "isPostedToDAT", "isPostedToHighway", "customerName", "customerId", "referenceNumbers", "trackingEvents", "externalTrackingStatus", "notes", "customers", "loadShipments", "podCollectionStatus", "lastLocationUpdate", "createdAt", "updatedAt" ], "properties": { "brokerageLoadId": { "type": "string", "description": "The load number (brokerage load ID) - this is your load identifier", "example": "LOAD-12345" }, "brokerageLoadInternalId": { "type": [ "string", "null" ], "description": "Optional internal load ID in the TMS" }, "status": { "$ref": "#/components/schemas/LoadStatus" }, "mode": { "type": [ "string", "null" ], "enum": [ "DRAYAGE", "FTL", "LTL", null ], "description": "Load transportation mode" }, "loadType": { "type": [ "string", "null" ], "enum": [ "CONTRACT", "DEDICATED", "PROJECT", "SPOT", null ], "description": "Type of load rate" }, "route": { "type": "array", "description": "Route stops sorted by sequence number ascending", "items": { "$ref": "#/components/schemas/RouteStop" } }, "totalMiles": { "type": [ "number", "null" ], "description": "Total estimated mileage for the entire route" }, "equipment": { "type": [ "string", "null" ], "description": "Equipment type", "examples": [ "REEFER", "DRY_VAN", "FLATBED" ] }, "equipmentDescription": { "type": [ "string", "null" ], "description": "Free-text equipment description" }, "accessorials": { "type": "array", "items": { "type": "string" }, "description": "List of accessorials for the load" }, "weight": { "type": [ "object", "null" ], "description": "Total weight information", "properties": { "value": { "type": "number" }, "unit": { "type": "string", "enum": [ "LB", "KG" ] } } }, "dimensions": { "type": [ "object", "null" ], "description": "Load dimensions", "properties": { "lengthInches": { "type": "integer" }, "widthInches": { "type": "integer" }, "heightInches": { "type": "integer" } } }, "minimumTemperature": { "type": [ "object", "null" ], "description": "Minimum temperature requirement", "properties": { "value": { "type": "number" }, "unit": { "type": "string", "enum": [ "F", "C" ] } } }, "maximumTemperature": { "type": [ "object", "null" ], "description": "Maximum temperature requirement", "properties": { "value": { "type": "number" }, "unit": { "type": "string", "enum": [ "F", "C" ] } } }, "tarpSize": { "type": [ "string", "null" ], "description": "Tarp size requirement" }, "minimumBulkHeadTemperature": { "type": [ "object", "null" ], "description": "Minimum bulkhead temperature requirement", "properties": { "value": { "type": "number" }, "unit": { "type": "string" } } }, "maximumBulkHeadTemperature": { "type": [ "object", "null" ], "description": "Maximum bulkhead temperature requirement", "properties": { "value": { "type": "number" }, "unit": { "type": "string" } } }, "commodity": { "type": [ "string", "null" ], "description": "Commodity description" }, "commodityItems": { "type": [ "array", "null" ], "description": "List of commodity items", "items": { "$ref": "#/components/schemas/CommodityItem" } }, "service": { "type": [ "string", "null" ], "enum": [ "HOTSHOT", "PARTIAL", "STANDARD", "TIME_CRITICAL", "VOLUME", null ], "description": "Service type for the load" }, "highValueAmount": { "type": [ "number", "null" ], "description": "High value amount in USD" }, "targetRate": { "type": [ "number", "null" ], "description": "Target rate in USD" }, "maxRate": { "type": [ "number", "null" ], "description": "Maximum bid amount in USD" }, "totalRate": { "type": [ "number", "null" ], "description": "Total rate for the load in USD" }, "totalCarrierRate": { "type": [ "number", "null" ], "description": "Total carrier rate in USD" }, "bidExpiration": { "type": [ "string", "null" ], "format": "date-time", "description": "Bid expiration time" }, "bidCustomValues": { "type": "array", "description": "Custom bid values", "items": { "type": "object", "properties": { "name": { "type": "string" }, "value": { "type": "string" } } } }, "isPostedToDAT": { "type": "boolean", "description": "Indicates whether the load has been posted to DAT load board. This is required for Augie to search for loads using lane information (pick up and drop off city and state).\n" }, "isPostedToHighway": { "type": [ "boolean", "null" ], "description": "Indicates whether the load has been posted to Highway" }, "customerName": { "type": [ "string", "null" ], "description": "Primary customer name" }, "customerId": { "type": [ "string", "null" ], "description": "Primary customer identifier" }, "referenceNumbers": { "type": "array", "description": "Reference numbers associated with the load", "items": { "type": "object", "required": [ "name", "value" ], "properties": { "name": { "$ref": "#/components/schemas/LoadReferenceNumberName" }, "value": { "type": "string" } } } }, "trackingEvents": { "type": "array", "description": "Tracking events for the load", "items": { "$ref": "#/components/schemas/TrackingEvent" } }, "externalTrackingStatus": { "allOf": [ { "$ref": "#/components/schemas/ExternalTrackingStatus" }, { "nullable": true } ], "description": "External tracking status information" }, "notes": { "type": "array", "description": "Operational notes about the load. Provides context for tracking and operations.\n", "items": { "type": "object", "properties": { "timestamp": { "type": "string", "format": "date-time" }, "text": { "type": "string", "description": "Content of the note" }, "author": { "type": "string", "description": "Author of the note" } } } }, "customers": { "type": "array", "description": "Customers associated with the load", "items": { "$ref": "#/components/schemas/LoadCustomer" } }, "loadShipments": { "type": "array", "description": "Shipments associated with the load", "items": { "$ref": "#/components/schemas/LoadShipment" } }, "podCollectionStatus": { "type": "string", "enum": [ "NOT_STARTED", "PENDING", "IN_PROGRESS", "COMPLETED", "FAILED" ], "description": "POD collection workflow status" }, "lastLocationUpdate": { "type": [ "string", "null" ], "format": "date-time", "description": "Timestamp of the last location update" }, "groupExternalId": { "type": [ "string", "null" ], "description": "The external identifier for the group this load belongs to.\n" }, "createdAt": { "type": "string", "format": "date-time", "description": "Timestamp when the load was created" }, "updatedAt": { "type": "string", "format": "date-time", "description": "Timestamp when the load was last updated" } } }, "RouteStop": { "type": "object", "description": "A stop in the load route", "required": [ "sequenceNumber", "activityType", "address" ], "properties": { "sequenceNumber": { "type": "integer", "description": "The sequence number of the stop in the route (1-indexed)", "example": 1 }, "externalId": { "type": [ "string", "null" ], "description": "External ID for the stop (if provided)" }, "activityType": { "type": "string", "enum": [ "PICKUP", "DELIVERY" ], "description": "Type of activity at this stop" }, "address": { "type": "object", "description": "Stop address", "properties": { "name": { "type": [ "string", "null" ], "description": "Location name" }, "company": { "type": [ "string", "null" ], "description": "Company name" }, "street1": { "type": [ "string", "null" ], "description": "Street address line 1" }, "street2": { "type": [ "string", "null" ], "description": "Street address line 2" }, "city": { "type": "string", "description": "City name" }, "stateOrProvince": { "type": "string", "description": "State or province code" }, "postalCode": { "type": [ "string", "null" ], "description": "Postal or ZIP code" }, "country": { "type": "string", "description": "Country code (2-letter ISO)" } } }, "timezone": { "type": [ "string", "null" ], "description": "IANA timezone for the stop location", "example": "America/Los_Angeles" }, "stopNotes": { "type": [ "string", "null" ], "description": "Notes for this stop" }, "facilityCode": { "type": [ "string", "null" ], "description": "Facility code" }, "scheduleTypes": { "type": "array", "items": { "type": "string", "enum": [ "APPOINTMENT", "FIRST_COME_FIRST_SERVE" ] }, "description": "Scheduling types for the stop" }, "expectedStopWindowStart": { "type": [ "string", "null" ], "format": "date-time", "description": "Expected stop window start time" }, "expectedStopWindowEnd": { "type": [ "string", "null" ], "format": "date-time", "description": "Expected stop window end time" }, "expectedDropWindowStart": { "type": [ "string", "null" ], "format": "date-time", "description": "Expected drop window start time (for drop trailers)" }, "expectedDropWindowEnd": { "type": [ "string", "null" ], "format": "date-time", "description": "Expected drop window end time (for drop trailers)" }, "actualArrivalTime": { "type": [ "string", "null" ], "format": "date-time", "description": "Actual arrival time at the stop" }, "actualDepartureTime": { "type": [ "string", "null" ], "format": "date-time", "description": "Actual departure time from the stop" }, "mustArriveByDate": { "type": [ "string", "null" ], "format": "date-time", "description": "The date and time by which the carrier must arrive at this stop" } } }, "CommodityItem": { "type": "object", "description": "A commodity item on the load", "properties": { "quantity": { "type": "integer", "description": "Number of items" }, "description": { "type": [ "string", "null" ], "description": "Description of the commodity" }, "totalWeightLbs": { "type": [ "number", "null" ], "description": "Total weight in pounds" }, "lengthInches": { "type": [ "integer", "null" ] }, "widthInches": { "type": [ "integer", "null" ] }, "heightInches": { "type": [ "integer", "null" ] }, "freightClass": { "type": [ "string", "null" ] }, "nmfc": { "type": [ "string", "null" ] }, "density": { "type": [ "number", "null" ] }, "pickupSequence": { "type": [ "integer", "null" ], "description": "Sequence number of the pickup stop for this item" }, "deliverySequence": { "type": [ "integer", "null" ], "description": "Sequence number of the delivery stop for this item" } } }, "LoadCustomer": { "type": "object", "description": "Customer associated with the load", "required": [ "name" ], "properties": { "name": { "type": "string", "description": "Customer name", "example": "Acme Corporation" }, "customerId": { "type": [ "string", "null" ], "description": "Customer identifier", "example": "ACME-001" }, "customerContact": { "type": [ "string", "null" ], "description": "Customer contact information" } } }, "LoadDraftPayload": { "type": "object", "description": "Load draft payload containing all information needed to create a load in the TMS.\n", "properties": { "referenceNumbers": { "type": "object", "description": "Customer reference numbers associated with the load.", "properties": { "shipmentNumber": { "type": "string", "description": "Shipment number" }, "customerReferenceNumber": { "type": "string", "description": "Customer reference number" }, "customerLoadNumber": { "type": "string", "description": "Customer load number" }, "releaseNumber": { "type": "string", "description": "Release number" }, "bolNumber": { "type": "string", "description": "Bill of lading number" }, "poNumber": { "type": "string", "description": "Purchase order number" }, "proNumber": { "type": "string", "description": "PRO number" }, "driverNumber": { "type": "string", "description": "Driver number" }, "tractorNumber": { "type": "string", "description": "Tractor number" }, "trailerNumber": { "type": "string", "description": "Trailer number" }, "others": { "type": "array", "description": "Additional reference numbers not covered by named fields", "items": { "type": "object", "properties": { "type": { "type": "string", "description": "Reference number type label" }, "value": { "type": "string", "description": "Reference number value" } } } } } }, "customerInformation": { "type": "object", "description": "Shipper and billing information.", "properties": { "name": { "type": "string", "description": "Customer name" }, "contact": { "type": "object", "description": "Customer contact information", "properties": { "email": { "type": "string" }, "phone": { "type": "string" } } }, "address": { "type": "object", "description": "Customer billing address", "properties": { "name": { "type": "string", "description": "Location name" }, "streetAddress": { "type": "string" }, "city": { "type": "string" }, "state": { "type": "string" }, "zip": { "type": "string" }, "country": { "type": "string", "description": "ISO 3166-1 alpha-2 country code", "example": "US" } } }, "notes": { "type": "string", "description": "Customer-facing notes" }, "internalNotes": { "type": "string", "description": "Internal operational notes" }, "shipperId": { "type": "string", "description": "Shipper identifier" }, "divisionTerm": { "type": "string", "description": "Division or billing term associated with the customer" } } }, "stops": { "type": "array", "description": "Ordered list of pickup and delivery stops on the load.", "items": { "type": "object", "properties": { "stopNumber": { "type": "integer", "description": "1-based stop sequence number" }, "stopType": { "type": "string", "enum": [ "PICKUP", "DELIVERY" ], "description": "Whether the stop is a pickup or delivery" }, "referenceNumber": { "type": "string", "description": "Stop-level reference number" }, "facilityName": { "type": "string", "description": "Name of the facility" }, "facilityCode": { "type": "string", "description": "Facility code, if known" }, "facilityAddress": { "type": "object", "description": "Address of the facility", "properties": { "name": { "type": "string", "description": "Location name" }, "streetAddress": { "type": "string" }, "city": { "type": "string" }, "state": { "type": "string" }, "zip": { "type": "string" }, "country": { "type": "string", "description": "ISO 3166-1 alpha-2 country code", "example": "US" } } }, "facilityContact": { "type": "object", "description": "Contact information for the facility", "properties": { "email": { "type": "string" }, "phone": { "type": "string" } } }, "handlingType": { "type": "string", "enum": [ "LIVE", "DROP_TRAILER" ], "description": "Load/unload handling type for the stop" }, "appointmentType": { "type": "string", "enum": [ "APPOINTMENT", "FIRST_COME_FIRST_SERVE" ], "description": "Scheduling method for the stop" }, "appointmentTime": { "type": "object", "description": "Scheduled appointment window", "properties": { "start": { "type": "string", "description": "Appointment start (local date-time or date-time with offset)" }, "end": { "type": "string", "description": "Appointment end (local date-time or date-time with offset)" }, "timezone": { "type": "string", "description": "IANA timezone identifier" } } }, "dropTime": { "type": "object", "description": "Drop time window for drop-trailer stops", "properties": { "start": { "type": "string", "description": "Drop window start (local date-time or date-time with offset)" }, "end": { "type": "string", "description": "Drop window end (local date-time or date-time with offset)" }, "timezone": { "type": "string", "description": "IANA timezone identifier" } } }, "driverInstructions": { "type": "string", "description": "Special instructions for the driver at this stop" }, "notes": { "type": "string", "description": "Customer-facing notes for the stop" }, "internalNotes": { "type": "string", "description": "Internal operational notes for the stop" }, "shippingHours": { "type": "string", "description": "Shipping hours for the facility" }, "receivingHours": { "type": "string", "description": "Receiving hours for the facility" }, "operatingHours": { "type": "string", "description": "General operating hours for the facility" }, "timezone": { "type": "string", "description": "IANA timezone identifier for the facility's local time" } } } }, "loadDetails": { "type": "object", "description": "Commodity and cargo details.", "properties": { "handlingUnit": { "type": "object", "description": "Handling unit information (e.g. pallets)", "properties": { "unitType": { "type": "string", "enum": [ "PALLET", "PIECE", "CARTON", "TOTE", "SKID", "CRATE", "BOX", "DRUM", "BUNDLE", "OTHER" ], "description": "Type of handling unit" }, "unitCount": { "type": "string", "description": "Number of handling units" } } }, "packagingUnit": { "type": "object", "description": "Packaging unit information (e.g. cartons inside pallets)", "properties": { "unitType": { "type": "string", "enum": [ "PALLET", "PIECE", "CARTON", "TOTE", "SKID", "CRATE", "BOX", "DRUM", "BUNDLE", "OTHER" ], "description": "Type of packaging unit" }, "unitCount": { "type": "string", "description": "Number of packaging units" } } }, "commodity": { "type": "string", "description": "Commodity description (max 40 characters)" }, "description": { "type": "string", "description": "Extended commodity description" }, "dimensions": { "type": "object", "description": "Shipment dimensions", "properties": { "length": { "type": "string" }, "lengthUnit": { "type": "string", "example": "IN" }, "width": { "type": "string" }, "widthUnit": { "type": "string", "example": "IN" }, "height": { "type": "string" }, "heightUnit": { "type": "string", "example": "IN" }, "volume": { "type": "string" }, "volumeUnit": { "type": "string", "example": "CUFT" } } }, "weight": { "type": "object", "description": "Total shipment weight", "properties": { "value": { "type": "string" }, "unit": { "type": "string", "example": "LBS" } } }, "valueAmount": { "type": "object", "description": "Declared value of the shipment", "properties": { "value": { "type": "string" }, "unit": { "type": "string", "example": "USD" } } }, "cargoCharacteristics": { "type": "object", "properties": { "stackable": { "type": "boolean", "description": "Whether cargo can be stacked" }, "hazmat": { "type": "boolean", "description": "Whether cargo contains hazardous materials" }, "perishable": { "type": "boolean", "description": "Whether cargo is perishable or temperature-sensitive" } } } } }, "loadRequirements": { "type": "object", "description": "Equipment and service requirements.", "properties": { "mode": { "type": "string", "enum": [ "FTL", "LTL", "DRAYAGE" ], "description": "Transportation mode" }, "loadType": { "type": "string", "enum": [ "SPOT", "CONTRACT", "DEDICATED", "PROJECT" ], "description": "Rate type / load type" }, "equipment": { "type": "object", "description": "Equipment requirements", "properties": { "equipmentType": { "type": "string", "enum": [ "DRY_VAN", "FLATBED", "REEFER", "CONTAINER", "CONESTOGA", "CONTAINERS", "DECKS_SPECIALIZED", "DECKS_STANDARD", "DRY_BULK", "FLATBEDS", "HAZARDOUS_MATERIALS", "OTHER_EQUIPMENT", "REEFERS", "TANKERS", "VANS_SPECIALIZED", "VANS_STANDARD", "AUTO_CARRIER", "B_TRAIN", "CONTAINER_INSULATED", "CONTAINER_REFRIGERATED", "CONVEYOR", "DOUBLE_DROP", "DUMP_TRAILER", "DROP_DECK_LANDOLL", "FLATBED_AIR_RIDE", "FLATBED_CONESTOGA", "FLATBED_DOUBLE", "FLATBED_HAZMAT", "FLATBED_HOTSHOT", "FLATBED_MAXI", "FLATBED_OR_STEP_DECK", "FLATBED_OVERDIMENSION", "FLATBED_VAN_REEFER", "FLATBED_WITH_CHAINS", "FLATBED_WITH_SIDES", "FLATBED_WITH_TARPS", "FLATBED_WITH_TEAM", "HOPPER_BOTTOM", "INSULATED_VAN_OR_REEFER", "LOWBOY", "LOWBOY_OR_REM_GOOSENECK_RGN", "LOWBOY_OVERDIMENSION", "MOVING_VAN", "OTHER", "PNEUMATIC", "POWER_ONLY", "POWER_ONLY_LOAD_OUT", "POWER_ONLY_TOW_AWAY", "REEFER_AIR_RIDE", "REEFER_DOUBLE", "REEFER_HAZMAT", "REEFER_INTERMODAL", "REEFER_LOGISTICS", "REEFER_OR_VENTED_VAN", "REEFER_PALLET_EXCHANGE", "REEFER_WITH_TEAM", "REMOVABLE_GOOSENECK", "SPRINTER_VAN", "SPRINTER_VAN_HAZMAT", "SPRINTER_VAN_TEMP_CONTROLLED", "SPRINTER_VAN_WITH_TEAM", "STEP_DECK", "STEP_DECK_OR_REM_GOOSENECK_RGN", "STEPDECK_CONESTOGA", "STRAIGHT_BOX_TRUCK", "STRAIGHT_BOX_TRUCK_HAZMAT", "STRAIGHT_BOX_TRUCK_REEFER", "STRETCH_TRAILER", "TANKER_ALUMINUM", "TANKER_INTERMODAL", "TANKER_STEEL", "TRUCK_AND_TRAILER", "VAN", "VAN_AIR_RIDE", "VAN_BLANKET_WRAP", "VAN_CONESTOGA", "VAN_DOUBLE", "VAN_HOTSHOT", "VAN_INSULATED", "VAN_INTERMODAL", "VAN_LIFT_GATE", "VAN_LOGISTICS", "VAN_OPEN_TOP", "VAN_OR_FLATBED", "VAN_OR_FLATBED_WITH_TARPS", "VAN_OR_REEFER", "VAN_PALLET_EXCHANGE", "VAN_ROLLER_BED", "VAN_TRIPLE", "VAN_VENTED", "VAN_WITH_CURTAINS", "VAN_WITH_TEAM", "VAN_HAZMAT", "HOTSHOT_FLATBED", "STRAIGHT_TRUCK", "VAN_SPRINTER", "REMOVABLE_GOOSE_NECK", "TANKER", "BOX_TRUCK" ], "description": "Equipment type" }, "size": { "type": "string", "description": "Equipment size (e.g. 53)" }, "unit": { "type": "string", "description": "Unit of measure for equipment size" } } }, "additionalRequiredServices": { "type": "array", "items": { "type": "string" }, "description": "Additional services required for the load (e.g. liftgate, team driver)" }, "tarpSize": { "type": [ "string", "null" ], "description": "Tarp size required, if applicable" }, "temperatureRequirement": { "type": [ "object", "null" ], "description": "Temperature control requirements", "properties": { "required": { "type": "boolean", "description": "Whether temperature control is required" }, "hasBulkhead": { "type": "boolean", "description": "Whether a bulkhead is required" }, "zones": { "type": "array", "description": "Temperature zones for multi-zone reefer loads", "items": { "type": "object", "properties": { "zoneId": { "type": "string", "description": "Zone identifier" }, "minTemp": { "type": [ "object", "null" ], "description": "Minimum temperature", "properties": { "value": { "type": "number" }, "unit": { "type": "string", "enum": [ "F", "C" ] } } }, "maxTemp": { "type": [ "object", "null" ], "description": "Maximum temperature", "properties": { "value": { "type": "number" }, "unit": { "type": "string", "enum": [ "F", "C" ] } } } } } } } } } }, "rates": { "type": "object", "description": "Pricing information for the load.", "properties": { "baseRate": { "type": "string", "description": "Base rate in dollars" }, "lineHaul": { "type": "string", "description": "Line haul rate in dollars" }, "accessorials": { "type": "array", "description": "Accessorial charges", "items": { "type": "object", "properties": { "type": { "type": "string", "description": "Accessorial charge type" }, "rate": { "type": "string", "description": "Accessorial charge amount in dollars" } } } }, "totalRate": { "type": "string", "description": "Total rate in dollars" }, "collectionMethod": { "type": "string", "enum": [ "PrePaid", "Collect", "ThirdParty", "CollectOnDelivery" ], "description": "Payment collection method" } } }, "documentDates": { "type": "array", "items": { "type": "string" }, "description": "ISO 8601 date strings associated with documents on the load (e.g. BOL date, delivery date)\n" } } }, "LoadDraftCreationResponse": { "type": "object", "description": "Response returned by the TMS after creating a load from a draft. The `loadNum` field must be present.\n", "required": [ "loadNum" ], "properties": { "loadNum": { "type": "string", "description": "The load number assigned by the TMS to the newly created load. This is the primary identifier used to link the Augment load draft to the TMS load.\n", "example": "LOAD-12345" }, "message": { "type": "string", "description": "Optional success or error message from the TMS describing the result of the load creation.\n", "example": "Load created successfully" }, "referenceNumbers": { "type": "object", "description": "Optional reference numbers returned by the TMS (e.g. load number, customer order number, trace IDs).\n", "properties": { "shipmentNumber": { "type": "string" }, "customerReferenceNumber": { "type": "string" }, "customerLoadNumber": { "type": "string" }, "releaseNumber": { "type": "string" }, "bolNumber": { "type": "string" }, "poNumber": { "type": "string" }, "proNumber": { "type": "string" }, "driverNumber": { "type": "string" }, "tractorNumber": { "type": "string" }, "trailerNumber": { "type": "string" }, "others": { "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string" }, "value": { "type": "string" } } } } } } } } } }, "x-ext-urls": {} }