{
  "info": {
    "version": "1.0.1",
    "title": "CarrierCloud (v1) - Universal Transportation API",
    "description": "Provides integration with Partner Network users using the Tranztec CarrierCloud Universal API",
    "termsOfService": "http://www.tranztec.com/terms/",
    "contact": {
      "name": "Tranztec Solutions",
      "email": "support@tranztec.com",
      "url": "https://www.tranztec.com"
    },
    "license": {
      "name": "Proprietary",
      "url": "http://www.tranztec.com/terms/"
    }
  },
  "openapi": "3.1.0",
  "components": {
    "parameters": {
      "partnercode": {
        "$ref": "./v1/parameters/partnercode.json"
      },
      "loadid": {
        "name": "loadid",
        "in": "path",
        "description": "Load identifier as returned by Get Loads (the `id` field of a load). For segment routes the same value is used as `segmentid`.",
        "required": true,
        "schema": {
          "type": "string"
        },
        "example": "ABC123XYZ"
      },
      "id": {
        "name": "id",
        "in": "path",
        "description": "Identifier of the object addressed by this route, as returned by the matching list or lookup operation.",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "tractorguid": {
        "name": "tractorguid",
        "in": "path",
        "description": "Tractor identifier as returned by Get Tractors (the `id` field of a tractor).",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "orderid": {
        "name": "orderid",
        "in": "path",
        "description": "Order identifier as returned by Get Orders or Create Order Booking.",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "segmentid": {
        "$ref": "./v1/parameters/segmentid.json"
      },
      "orderguid": {
        "name": "orderguid",
        "in": "path",
        "description": "Order identifier as returned by Get Orders or Create Order Booking.",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "quoteid": {
        "name": "quoteid",
        "in": "path",
        "description": "Quote identifier as returned by Create Order Quote.",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "date": {
        "name": "date",
        "in": "path",
        "description": "Calendar date in `YYYY-MM-DD` form. Hours of service are returned for this day.",
        "required": true,
        "schema": {
          "type": "string",
          "format": "date"
        },
        "example": "2026-10-01"
      },
      "cardid": {
        "name": "cardid",
        "in": "path",
        "description": "Identifier of the object the webhook is registered on, for example a load id or a tractor id.",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "type": {
        "name": "type",
        "in": "path",
        "description": "Webhook event type: `update`, `archive`, `gps` or `hos` (the removable types).",
        "required": true,
        "schema": {
          "type": "string"
        },
        "example": "update"
      },
      "cardtype": {
        "name": "cardtype",
        "in": "path",
        "description": "Object type the type-level webhook applies to, for example `order`, `segment`, `driver`, `truck` or `trailer`.",
        "required": true,
        "schema": {
          "type": "string"
        },
        "example": "segment"
      },
      "page": {
        "name": "page",
        "in": "query",
        "description": "Page number to return, starting at 1. Omit for the first page.",
        "required": false,
        "schema": {
          "type": "integer",
          "format": "int32"
        },
        "example": 1
      },
      "startdate": {
        "name": "startdate",
        "in": "query",
        "description": "Only return records changed on or after this UTC date-time (ISO 8601).",
        "required": false,
        "schema": {
          "type": "string",
          "format": "date-time"
        },
        "example": "2026-09-01T00:00:00Z"
      },
      "carrierid": {
        "name": "carrierid",
        "in": "path",
        "description": "Carrier identifier as returned by Get Carriers.",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "driverid": {
        "name": "driverid",
        "in": "path",
        "description": "Driver identifier as returned by Get Drivers.",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "locationrole": {
        "name": "role",
        "in": "path",
        "description": "Location role to disable",
        "required": true,
        "schema": {
          "type": "string",
          "enum": [
            "Shipper",
            "Consignee",
            "BillTo",
            "Terminal",
            "TruckStop",
            "Agent",
            "WashFacility"
          ]
        }
      },
      "locationCompanyId": {
        "name": "companyId",
        "in": "query",
        "description": "Filter by companyId (case-sensitive). Omit or leave blank for no filter.",
        "required": false,
        "schema": {
          "type": "string"
        }
      }
    },
    "schemas": {
      "TractorActor": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "tractorNumber": {
            "type": "string",
            "nullable": true
          },
          "dataGUID": {
            "type": "string",
            "nullable": true
          },
          "tractorType": {
            "type": "string",
            "nullable": true
          },
          "tractorType1": {
            "type": "string",
            "nullable": true
          },
          "tractorType2": {
            "type": "string",
            "nullable": true
          },
          "tractorType3": {
            "type": "string",
            "nullable": true
          },
          "tractorType4": {
            "type": "string",
            "nullable": true
          },
          "lastContactCity": {
            "type": "string",
            "nullable": true
          },
          "lastContactState": {
            "type": "string",
            "nullable": true
          },
          "lastContactZipCode": {
            "type": "string",
            "nullable": true
          },
          "lastContactLatitude": {
            "type": "string",
            "nullable": true
          },
          "lastContactLongitude": {
            "type": "string",
            "nullable": true
          },
          "lastContactDate": {
            "type": "string",
            "nullable": true
          },
          "lastContactTime": {
            "type": "string",
            "nullable": true
          },
          "tractorLastContactProximity": {
            "type": "string",
            "nullable": true
          },
          "lastContactDateTime": {
            "type": "string",
            "format": "date-time"
          },
          "etaCity": {
            "type": "string",
            "nullable": true
          },
          "etaState": {
            "type": "string",
            "nullable": true
          },
          "etaZipCode": {
            "type": "string",
            "nullable": true
          },
          "etaLatitude": {
            "type": "string",
            "nullable": true
          },
          "etaLongitude": {
            "type": "string",
            "nullable": true
          },
          "etaDate": {
            "type": "string",
            "nullable": true
          },
          "etaTime": {
            "type": "string",
            "nullable": true
          },
          "etaDateTime": {
            "type": "string",
            "format": "date-time"
          },
          "licensePlate": {
            "type": "string",
            "nullable": true
          },
          "serialNumber": {
            "type": "string",
            "nullable": true
          },
          "vehicleGroupId": {
            "type": "string",
            "nullable": true
          },
          "lastContactProximityDescription": {
            "type": "string",
            "nullable": true
          },
          "terminatedDate": {
            "type": "string",
            "format": "date-time"
          },
          "terminalId": {
            "type": "string",
            "nullable": true
          },
          "tractorMake": {
            "type": "string",
            "nullable": true
          },
          "tractorModel": {
            "type": "string",
            "nullable": true
          },
          "tractorYear": {
            "type": "integer",
            "format": "int32"
          },
          "tractorStatus": {
            "type": "string",
            "nullable": true
          },
          "mobileCommID": {
            "type": "string",
            "nullable": true
          },
          "odometer": {
            "type": "number",
            "format": "double"
          },
          "totalHours": {
            "type": "number",
            "format": "double"
          },
          "alternateId": {
            "type": "string",
            "nullable": true
          },
          "currentDriverId": {
            "type": "string",
            "nullable": true
          },
          "lastMessageTimestamp": {
            "type": "string",
            "format": "date-time"
          },
          "dieselHours": {
            "type": "number",
            "format": "double"
          },
          "electricHours": {
            "type": "number",
            "format": "double"
          },
          "licenseState": {
            "type": "string",
            "nullable": true
          },
          "terminalName": {
            "type": "string",
            "nullable": true
          },
          "expirationDate": {
            "type": "string",
            "nullable": true
          },
          "attributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AttributesActor"
            },
            "nullable": true
          },
          "maintenance": {
            "type": "array",
            "description": "Maintenance records for the tractor",
            "items": {
              "type": "object",
              "$ref": "#/components/schemas/MaintenanceActor"
            }
          },
          "notes": {
            "type": "array",
            "description": "Notes associated with the tractor",
            "items": {
              "type": "object",
              "$ref": "#/components/schemas/NoteActor"
            }
          }
        },
        "additionalProperties": false
      },
      "TractorRequestBody": {
        "type": "object",
        "description": "Tractor create/update request: only fields read by the inbound truck-card payload mapper (see format-inbound-tractoractor-via / tractor-actor-to-truck-card-payload).",
        "properties": {
          "tractorNumber": {
            "type": "string",
            "nullable": true
          },
          "tractorType1": {
            "type": "string",
            "nullable": true
          },
          "tractorType2": {
            "type": "string",
            "nullable": true
          },
          "tractorType3": {
            "type": "string",
            "nullable": true
          },
          "tractorType4": {
            "type": "string",
            "nullable": true
          },
          "tractorStatus": {
            "type": "string",
            "nullable": true
          },
          "tractorMake": {
            "type": "string",
            "nullable": true
          },
          "tractorModel": {
            "type": "string",
            "nullable": true
          },
          "tractorYear": {
            "type": "integer",
            "format": "int32"
          },
          "licensePlate": {
            "type": "string",
            "nullable": true
          },
          "serialNumber": {
            "type": "string",
            "nullable": true
          },
          "lastContactDateTime": {
            "type": "string",
            "format": "date-time"
          },
          "lastContactCity": {
            "type": "string",
            "nullable": true
          },
          "lastContactState": {
            "type": "string",
            "nullable": true
          },
          "tractorLastContactProximity": {
            "type": "string",
            "nullable": true
          },
          "licenseState": {
            "type": "string",
            "nullable": true
          },
          "mobileCommID": {
            "type": "string",
            "nullable": true
          },
          "odometer": {
            "type": "number",
            "format": "double"
          },
          "maintenance": {
            "type": "array",
            "description": "Maintenance items mapped to VIA; each object uses keys accepted by the inbound maintenance mapper (camelCase; PascalCase alts in code for id/created/name/due*).",
            "items": {
              "type": "object",
              "$ref": "#/components/schemas/MaintenanceActor"
            }
          },
          "notes": {
            "type": "array",
            "description": "Notes for the tractor",
            "items": {
              "type": "object",
              "$ref": "#/components/schemas/NoteRequestActor"
            }
          }
        },
        "additionalProperties": false
      },
      "TrailerActor": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "trailerId": {
            "type": "string",
            "nullable": true
          },
          "dataGUID": {
            "type": "string",
            "nullable": true
          },
          "trailerNumber": {
            "type": "string",
            "nullable": true
          },
          "trailerModel": {
            "type": "string",
            "nullable": true
          },
          "trailerMake": {
            "type": "string",
            "nullable": true
          },
          "trailerOwner": {
            "type": "string",
            "nullable": true
          },
          "trailerType1": {
            "type": "string",
            "nullable": true
          },
          "trailerType2": {
            "type": "string",
            "nullable": true
          },
          "trailerType3": {
            "type": "string",
            "nullable": true
          },
          "trailerType4": {
            "type": "string",
            "nullable": true
          },
          "trailerYear": {
            "type": "integer",
            "format": "int32"
          },
          "trailerCompanyId": {
            "type": "string",
            "nullable": true
          },
          "trailerStatus": {
            "type": "string",
            "nullable": true
          },
          "trailerLastContactLat": {
            "type": "string",
            "nullable": true
          },
          "trailerLastContactLng": {
            "type": "string",
            "nullable": true
          },
          "trailerLastContactProximity": {
            "type": "string",
            "nullable": true
          },
          "lastContactedDateTime": {
            "type": "string",
            "format": "date-time"
          },
          "trailerLastContactCity": {
            "type": "string",
            "nullable": true
          },
          "trailerLastContactState": {
            "type": "string",
            "nullable": true
          },
          "trailerLastContactCountry": {
            "type": "string",
            "nullable": true
          },
          "trailerLastContactDirection": {
            "type": "string",
            "nullable": true
          },
          "zone1SetPoint": {
            "type": "number",
            "format": "double"
          },
          "zone1ReturnAir": {
            "type": "number",
            "format": "double"
          },
          "zone2SetPoint": {
            "type": "number",
            "format": "double"
          },
          "zone2ReturnAir": {
            "type": "number",
            "format": "double"
          },
          "zone3SetPoint": {
            "type": "number",
            "format": "double"
          },
          "zone3ReturnAir": {
            "type": "number",
            "format": "double"
          },
          "batteryVoltage": {
            "type": "number",
            "format": "double"
          },
          "fuelLevel": {
            "type": "number",
            "format": "double"
          },
          "operatingMode": {
            "type": "string",
            "nullable": true
          },
          "moving": {
            "type": "boolean"
          },
          "refrigerationRunning": {
            "type": "boolean"
          },
          "lastUpdated": {
            "type": "string",
            "format": "date-time"
          },
          "licensePlate": {
            "type": "string",
            "nullable": true
          },
          "terminatedDate": {
            "type": "string",
            "format": "date-time"
          },
          "mobileCommID": {
            "type": "string",
            "nullable": true
          },
          "odometer": {
            "type": "number",
            "format": "double"
          },
          "totalHours": {
            "type": "number",
            "format": "double"
          },
          "dieselHours": {
            "type": "number",
            "format": "double"
          },
          "electricHours": {
            "type": "number",
            "format": "double"
          },
          "licenseState": {
            "type": "string",
            "nullable": true
          },
          "terminalId": {
            "type": "string",
            "nullable": true
          },
          "terminalName": {
            "type": "string",
            "nullable": true
          },
          "zone1Discharge": {
            "type": "number",
            "format": "double"
          },
          "zone2Discharge": {
            "type": "number",
            "format": "double"
          },
          "zone3Discharge": {
            "type": "number",
            "format": "double"
          },
          "sensor1": {
            "type": "number",
            "format": "double"
          },
          "sensor2": {
            "type": "number",
            "format": "double"
          },
          "sensor3": {
            "type": "number",
            "format": "double"
          },
          "sensor4": {
            "type": "number",
            "format": "double"
          },
          "sensor5": {
            "type": "number",
            "format": "double"
          },
          "sensor6": {
            "type": "number",
            "format": "double"
          },
          "expirationDate": {
            "type": "string",
            "nullable": true
          },
          "attributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AttributesActor"
            },
            "nullable": true
          },
          "mobileComStatus": {
            "type": "string",
            "nullable": true
          },
          "unitMode": {
            "type": "string",
            "nullable": true
          },
          "zone1AuxiliaryTemp": {
            "type": "number",
            "format": "double"
          },
          "zone2AuxiliaryTemp": {
            "type": "number",
            "format": "double"
          },
          "zone3AuxiliaryTemp": {
            "type": "number",
            "format": "double"
          },
          "zone1SupplyAir": {
            "type": "number",
            "format": "double"
          },
          "zone2SupplyAir": {
            "type": "number",
            "format": "double"
          },
          "zone3SupplyAir": {
            "type": "number",
            "format": "double"
          },
          "zone1OperatingMode": {
            "type": "string",
            "nullable": true
          },
          "zone2OperatingMode": {
            "type": "string",
            "nullable": true
          },
          "zone3OperatingMode": {
            "type": "string",
            "nullable": true
          },
          "ambientTemp": {
            "type": "number",
            "format": "double"
          },
          "receivedDateTime": {
            "type": "string",
            "format": "date-time"
          },
          "division": {
            "type": "string",
            "nullable": true
          },
          "fleet": {
            "type": "string",
            "nullable": true
          },
          "additionalValues": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "maintenance": {
            "type": "array",
            "description": "Maintenance records for the trailer",
            "items": {
              "type": "object",
              "$ref": "#/components/schemas/MaintenanceActor"
            }
          },
          "notes": {
            "type": "array",
            "description": "Notes associated with the trailer",
            "items": {
              "type": "object",
              "$ref": "#/components/schemas/NoteActor"
            }
          }
        },
        "additionalProperties": false
      },
      "TrailerRequestBody": {
        "type": "object",
        "description": "Create trailer: fields accepted and mapped to the carrier API (see trailer-actor-to-trailer-card-payload).",
        "properties": {
          "trailerId": {
            "type": "string",
            "nullable": true
          },
          "trailerNumber": {
            "type": "string",
            "nullable": true
          },
          "trailerModel": {
            "type": "string",
            "nullable": true
          },
          "trailerMake": {
            "type": "string",
            "nullable": true
          },
          "trailerOwner": {
            "type": "string",
            "nullable": true
          },
          "trailerType1": {
            "type": "string",
            "nullable": true
          },
          "trailerType2": {
            "type": "string",
            "nullable": true
          },
          "trailerType3": {
            "type": "string",
            "nullable": true
          },
          "trailerType4": {
            "type": "string",
            "nullable": true
          },
          "trailerYear": {
            "type": "integer",
            "format": "int32"
          },
          "trailerCompanyId": {
            "type": "string",
            "nullable": true
          },
          "trailerStatus": {
            "type": "string",
            "nullable": true
          },
          "trailerLastContactLat": {
            "type": "string",
            "nullable": true
          },
          "trailerLastContactLng": {
            "type": "string",
            "nullable": true
          },
          "trailerLastContactProximity": {
            "type": "string",
            "nullable": true
          },
          "lastContactedDateTime": {
            "type": "string",
            "format": "date-time"
          },
          "trailerLastContactCity": {
            "type": "string",
            "nullable": true
          },
          "trailerLastContactState": {
            "type": "string",
            "nullable": true
          },
          "licensePlate": {
            "type": "string",
            "nullable": true
          },
          "licenseState": {
            "type": "string",
            "nullable": true
          },
          "terminalId": {
            "type": "string",
            "nullable": true
          },
          "maintenance": {
            "type": "array",
            "description": "Maintenance records for the trailer",
            "items": {
              "type": "object",
              "$ref": "#/components/schemas/MaintenanceActor"
            }
          },
          "notes": {
            "type": "array",
            "description": "Notes for the trailer; mapped inbound to TripNotes for the partner API",
            "items": {
              "type": "object",
              "$ref": "#/components/schemas/NoteRequestActor"
            }
          }
        },
        "additionalProperties": false
      },
      "AttributesActor": {
        "type": "object",
        "properties": {
          "_id": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "string",
            "nullable": true
          },
          "expiration": {
            "type": "string",
            "format": "date-time"
          },
          "expires": {
            "type": "boolean"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "updateGps": {
        "properties": {
          "lat": {
            "type": "string"
          },
          "lng": {
            "type": "string"
          },
          "eventDateTime": {
            "type": "string",
            "format": "date-time",
            "description": "ISO-8601 UTC timestamp. Must be in UTC and end with 'Z' (e.g. 2025-01-26T18:45:00Z)"
          },
          "city": {
            "type": "string"
          },
          "state": {
            "type": "string"
          },
          "zip": {
            "type": "string"
          },
          "proximity": {
            "type": "string"
          },
          "trackingStatus": {
            "type": "string"
          },
          "trackingMsg": {
            "type": "string"
          },
          "heading": {
            "type": "number"
          }
        },
        "example": {
          "lat": "41.563080",
          "lng": "-83.589710",
          "eventDateTime": "2025-01-26T18:45:00Z",
          "city": "Perrysburg",
          "state": "OH",
          "zip": "43551",
          "proximity": "1.6mi N of Perrysburg, OH",
          "trackingStatus": "1.6mi N of Perrysburg, OH",
          "trackingMsg": "1.6mi N of Perrysburg, OH"
        }
      },
      "CreateOrderRequest": {
        "type": "object",
        "required": [
          "Stops"
        ],
        "properties": {
          "OrderNumber": {
            "type": "string",
            "description": "Unique order number for tracking",
            "maxLength": 100
          },
          "EquipmentSelection": {
            "type": "string",
            "description": "Equipment type abbreviation for the order",
            "maxLength": 50,
            "nullable": true
          },
          "ServiceType": {
            "type": "string",
            "description": "Service type abbreviation for the order",
            "maxLength": 50,
            "nullable": true
          },
          "Driver1": {
            "type": "string",
            "description": "Primary driver name for brokered carrier",
            "maxLength": 200,
            "nullable": true
          },
          "Driver2": {
            "type": "string",
            "description": "Secondary driver name for brokered carrier",
            "maxLength": 200,
            "nullable": true
          },
          "DriverPhone": {
            "type": "string",
            "description": "Driver phone number for brokered carrier",
            "maxLength": 50,
            "nullable": true
          },
          "Tractor": {
            "type": "string",
            "description": "Tractor identifier for brokered carrier",
            "maxLength": 100,
            "nullable": true
          },
          "Trailer": {
            "type": "string",
            "description": "Trailer identifier for brokered carrier",
            "maxLength": 100,
            "nullable": true
          },
          "Stops": {
            "type": "array",
            "description": "Array of stops (pickup and delivery locations)",
            "minItems": 2,
            "items": {
              "$ref": "#/components/schemas/OrderStop"
            }
          },
          "FreightDetails": {
            "type": "array",
            "description": "Details about the freight being transported",
            "items": {
              "$ref": "#/components/schemas/FreightDetail"
            },
            "nullable": true
          },
          "RefNumbers": {
            "type": "array",
            "description": "Reference numbers (BOL, PRO, etc.)",
            "items": {
              "$ref": "#/components/schemas/ReferenceNumber"
            },
            "nullable": true
          },
          "BillToCompanyId": {
            "type": "string",
            "description": "Company ID for billing",
            "maxLength": 100,
            "nullable": true
          },
          "specialInstructions": {
            "type": "string",
            "description": "Special handling instructions",
            "maxLength": 5000,
            "nullable": true
          }
        }
      },
      "OrderStop": {
        "type": "object",
        "required": [
          "StopType",
          "Sequence",
          "City",
          "State"
        ],
        "properties": {
          "StopType": {
            "type": "string",
            "enum": [
              "Pickup",
              "Delivery",
              "None"
            ],
            "description": "Type of stop"
          },
          "Sequence": {
            "type": "integer",
            "format": "int32",
            "description": "Stop sequence number",
            "minimum": 1
          },
          "ScheduledEarliestDate": {
            "type": "string",
            "format": "date-time",
            "description": "Earliest date/time for this stop"
          },
          "ScheduledLatestDate": {
            "type": "string",
            "format": "date-time",
            "description": "Latest date/time for this stop"
          },
          "CompanyId": {
            "type": "string",
            "description": "Company identifier at this stop",
            "nullable": true
          },
          "Company": {
            "type": "string",
            "description": "Company name at this stop",
            "maxLength": 200,
            "nullable": true
          },
          "Address1": {
            "type": "string",
            "description": "Street address line 1",
            "maxLength": 200,
            "nullable": true
          },
          "Address2": {
            "type": "string",
            "description": "Street address line 2",
            "maxLength": 200,
            "nullable": true
          },
          "City": {
            "type": "string",
            "description": "City name",
            "maxLength": 100
          },
          "State": {
            "type": "string",
            "description": "State or province code",
            "maxLength": 50
          },
          "ZipCode": {
            "type": "string",
            "description": "Postal/ZIP code",
            "maxLength": 20,
            "nullable": true
          },
          "Country": {
            "type": "string",
            "description": "Country code (ISO 3166-1 alpha-2)",
            "maxLength": 2,
            "default": "US",
            "nullable": true
          },
          "Latitude": {
            "type": "number",
            "format": "double",
            "description": "Latitude coordinate",
            "nullable": true
          },
          "Longitude": {
            "type": "number",
            "format": "double",
            "description": "Longitude coordinate",
            "nullable": true
          },
          "contactName": {
            "type": "string",
            "description": "Contact person name",
            "maxLength": 200,
            "nullable": true
          },
          "contactPhone": {
            "type": "string",
            "description": "Contact phone number",
            "maxLength": 50,
            "nullable": true
          },
          "specialInstructions": {
            "type": "string",
            "description": "Special instructions for this stop",
            "maxLength": 2000,
            "nullable": true
          }
        }
      },
      "FreightDetail": {
        "type": "object",
        "properties": {
          "Weight": {
            "type": "number",
            "format": "double",
            "description": "Weight of freight",
            "minimum": 0
          },
          "WeightUnit": {
            "type": "string",
            "enum": [
              "lbs",
              "kg",
              "tons"
            ],
            "description": "Unit of weight measurement",
            "default": "lbs"
          },
          "Volume": {
            "type": "number",
            "format": "double",
            "description": "Volume of freight",
            "minimum": 0,
            "nullable": true
          },
          "VolumeUnit": {
            "type": "string",
            "enum": [
              "gal",
              "L"
            ],
            "description": "Unit of volume measurement",
            "nullable": true
          },
          "Length": {
            "type": "number",
            "format": "double",
            "description": "Length dimension",
            "minimum": 0,
            "nullable": true
          },
          "Width": {
            "type": "number",
            "format": "double",
            "description": "Width dimension",
            "minimum": 0,
            "nullable": true
          },
          "Height": {
            "type": "number",
            "format": "double",
            "description": "Height dimension",
            "minimum": 0,
            "nullable": true
          },
          "DimensionUnit": {
            "type": "string",
            "enum": [
              "in",
              "ft"
            ],
            "description": "Unit for length, width, height",
            "default": "in",
            "nullable": true
          },
          "ItemCount": {
            "type": "integer",
            "format": "int32",
            "description": "Number of pieces/items",
            "minimum": 0,
            "nullable": true
          },
          "ItemCountUnit": {
            "type": "string",
            "description": "Unit for ItemCount",
            "minimum": 0,
            "maxLength": 10,
            "nullable": true
          },
          "CommodityCode": {
            "type": "string",
            "description": "Commodity classification code",
            "maxLength": 50,
            "nullable": true
          },
          "Description": {
            "type": "string",
            "description": "Description of freight",
            "maxLength": 500,
            "nullable": true
          },
          "isHazardous": {
            "type": "boolean",
            "description": "Indicates if freight is hazardous",
            "default": false
          },
          "HazardClass": {
            "type": "string",
            "description": "Hazardous material class",
            "maxLength": 50,
            "nullable": true
          }
        }
      },
      "ReferenceNumber": {
        "type": "object",
        "required": [
          "RefType",
          "RefNumber"
        ],
        "properties": {
          "RefType": {
            "type": "string",
            "enum": [
              "BL#",
              "PRO",
              "PO",
              "SO",
              "BOL",
              "REF"
            ],
            "description": "Type of reference number"
          },
          "RefNumber": {
            "type": "string",
            "description": "Reference number value",
            "maxLength": 100
          }
        }
      },
      "OrderResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "description": "Result status",
            "example": "ok"
          },
          "messsage": {
            "type": "string",
            "description": "Human-readable result message"
          },
          "objectId": {
            "type": "string",
            "description": "Unique identifier for the created order card"
          },
          "orderId": {
            "type": "string",
            "description": "Unique identifier for the created order (same value as objectId)"
          },
          "orderGuid": {
            "type": "string",
            "description": "GUID identifier for the order",
            "nullable": true
          },
          "orderNumber": {
            "type": "string",
            "description": "Order number",
            "nullable": true
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp when order was created",
            "nullable": true
          },
          "warnings": {
            "type": "array",
            "description": "Permission or field warnings when the order was created with partial field updates",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        }
      },
      "UpdateOrderResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "description": "Result status",
            "example": "ok"
          },
          "warnings": {
            "type": "array",
            "description": "Permission warnings when some requested fields were not updated",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        }
      },
      "UpdateOrderStop": {
        "$ref": "./v1/schemas/UpdateOrderStop.json"
      },
      "UpdateOrderRefNumber": {
        "$ref": "./v1/schemas/UpdateOrderRefNumber.json"
      },
      "UpdateOrderFreightDetail": {
        "$ref": "./v1/schemas/UpdateOrderFreightDetail.json"
      },
      "UpdateOrderRequest": {
        "type": "object",
        "properties": {
          "EquipmentSelection": {
            "type": "string",
            "maxLength": 50,
            "nullable": true
          },
          "ServiceType": {
            "type": "string",
            "maxLength": 50,
            "nullable": true
          },
          "Driver1": {
            "type": "string",
            "maxLength": 200,
            "nullable": true
          },
          "Driver2": {
            "type": "string",
            "maxLength": 200,
            "nullable": true
          },
          "DriverPhone": {
            "type": "string",
            "maxLength": 50,
            "nullable": true
          },
          "Tractor": {
            "type": "string",
            "maxLength": 100,
            "nullable": true
          },
          "Trailer": {
            "type": "string",
            "maxLength": 100,
            "nullable": true
          },
          "Stops": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UpdateOrderStop"
            },
            "nullable": true
          },
          "RefNumbers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UpdateOrderRefNumber"
            },
            "nullable": true
          },
          "FreightDetails": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UpdateOrderFreightDetail"
            },
            "nullable": true
          }
        }
      },
      "UpdateSegmentRequest": {
        "$ref": "./v1/schemas/UpdateSegmentRequest.json"
      },
      "UpdateSegmentResponse": {
        "$ref": "./v1/schemas/UpdateSegmentResponse.json"
      },
      "equipmentCapacity": {
        "type": "object",
        "description": "Weight, volume, and dimension capacity (carddata.Capacity)",
        "properties": {
          "Weight": {
            "type": "number"
          },
          "Volume": {
            "type": "number"
          },
          "Length": {
            "type": "number"
          },
          "Width": {
            "type": "number"
          },
          "Height": {
            "type": "number"
          },
          "HandlingItems": {
            "type": "number"
          },
          "DimensionsUnit": {
            "type": "string",
            "description": "Dimension unit abbreviation; must match company dimensionunits options"
          },
          "WeightUnit": {
            "type": "string",
            "description": "Must match company weightunits options"
          },
          "VolumeUnit": {
            "type": "string",
            "description": "Must match company volumeunits options"
          }
        }
      },
      "CustomerContactActor": {
        "type": "object",
        "description": "Customer contact Actor",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "contactId": {
            "type": "string",
            "nullable": true
          },
          "contactName": {
            "type": "string",
            "nullable": true
          },
          "address1": {
            "type": "string",
            "nullable": true
          },
          "address2": {
            "type": "string",
            "nullable": true
          },
          "city": {
            "type": "string",
            "nullable": true
          },
          "state": {
            "type": "string",
            "nullable": true
          },
          "zipcode": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "primaryPhone": {
            "type": "string",
            "nullable": true
          },
          "mobilPhone": {
            "type": "string",
            "nullable": true
          },
          "fax": {
            "type": "string",
            "nullable": true
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "contactType": {
            "type": "string",
            "nullable": true
          },
          "defaultContact": {
            "type": "string",
            "nullable": true
          },
          "lastUpdated": {
            "type": "string",
            "format": "date-time"
          },
          "accountId": {
            "type": "string",
            "nullable": true
          },
          "primaryPhoneExtension": {
            "type": "string",
            "nullable": true
          },
          "secondaryPhone": {
            "type": "string",
            "nullable": true
          },
          "secondaryPhoneExtension": {
            "type": "string",
            "nullable": true
          },
          "country": {
            "type": "string",
            "nullable": true
          },
          "carrierId": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "InsurancePolicyActor": {
        "type": "object",
        "description": "Carrier insurance policy Actor",
        "properties": {
          "policyNumber": {
            "type": "string",
            "nullable": true
          },
          "companyId": {
            "type": "string",
            "nullable": true
          },
          "companyName": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "amount": {
            "type": "number",
            "nullable": true
          },
          "currency": {
            "type": "string",
            "description": "CurrencyType enum",
            "enum": [
              "USD",
              "CAD",
              "EURO",
              "MXN"
            ],
            "nullable": true
          },
          "unit": {
            "type": "string",
            "nullable": true
          },
          "effectiveDate": {
            "type": "string",
            "format": "date-time"
          },
          "expireDate": {
            "type": "string",
            "format": "date-time"
          },
          "newUsed": {
            "type": "string",
            "nullable": true
          },
          "_id": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "CarrierActor": {
        "type": "object",
        "description": "Carrier Actor",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "company": {
            "type": "string",
            "nullable": true
          },
          "integrationId": {
            "type": "string",
            "nullable": true
          },
          "carrierId": {
            "type": "string",
            "nullable": true
          },
          "dataGUID": {
            "type": "string",
            "nullable": true
          },
          "carrierName": {
            "type": "string",
            "nullable": true
          },
          "scac": {
            "type": "string",
            "nullable": true
          },
          "address1": {
            "type": "string",
            "nullable": true
          },
          "address2": {
            "type": "string",
            "nullable": true
          },
          "city": {
            "type": "string",
            "nullable": true
          },
          "state": {
            "type": "string",
            "nullable": true
          },
          "zipCode": {
            "type": "string",
            "nullable": true
          },
          "countryCode": {
            "type": "string",
            "nullable": true
          },
          "primaryPhone": {
            "type": "string",
            "nullable": true
          },
          "secondaryPhone": {
            "type": "string",
            "nullable": true
          },
          "fax": {
            "type": "string",
            "nullable": true
          },
          "fedId": {
            "type": "string",
            "nullable": true
          },
          "mcNumber": {
            "type": "string",
            "nullable": true
          },
          "dotNumber": {
            "type": "string",
            "nullable": true
          },
          "contact": {
            "type": "string",
            "nullable": true
          },
          "lastUpdated": {
            "type": "string",
            "format": "date-time"
          },
          "status": {
            "type": "string",
            "nullable": true
          },
          "carrierType1": {
            "type": "string",
            "nullable": true
          },
          "carrierType2": {
            "type": "string",
            "nullable": true
          },
          "carrierType3": {
            "type": "string",
            "nullable": true
          },
          "carrierType4": {
            "type": "string",
            "nullable": true
          },
          "misc1": {
            "type": "string",
            "nullable": true
          },
          "misc2": {
            "type": "string",
            "nullable": true
          },
          "misc3": {
            "type": "string",
            "nullable": true
          },
          "misc4": {
            "type": "string",
            "nullable": true
          },
          "attributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AttributesActor"
            },
            "nullable": true
          },
          "contacts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomerContactActor"
            },
            "nullable": true
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "currency": {
            "type": "string",
            "nullable": true
          },
          "insuranceInfo": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InsurancePolicyActor"
            },
            "nullable": true
          },
          "alternateId": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "MaintenanceActor": {
        "type": "object",
        "description": "Maintenance schedule entry on trailer or tractor",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "dueIn": {
            "type": "number"
          },
          "dueInUnit": {
            "type": "string",
            "description": "Interval unit for dueIn",
            "enum": [
              "days",
              "miles",
              "kilometers"
            ]
          },
          "dueDate": {
            "type": "string",
            "format": "date-time"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "NoteActor": {
        "type": "object",
        "description": "Note on a trailer",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "noteId": {
            "type": "integer",
            "format": "int32"
          },
          "dataGUID": {
            "type": "string",
            "nullable": true
          },
          "note": {
            "type": "string",
            "nullable": true
          },
          "viaNoteType": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "string",
            "nullable": true
          },
          "expires": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "table": {
            "type": "string",
            "nullable": true
          },
          "tableKey": {
            "type": "string",
            "nullable": true
          },
          "lastUpdated": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "noteExpanded": {
            "type": "string",
            "nullable": true
          },
          "sequence": {
            "type": "integer",
            "format": "int32"
          },
          "createdBy": {
            "type": "string",
            "nullable": true
          },
          "createdByUsername": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "NoteRequestActor": {
        "type": "object",
        "description": "Note fields accepted on create/update requests (type is not user-settable)",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "noteId": {
            "type": "integer",
            "format": "int32"
          },
          "dataGUID": {
            "type": "string",
            "nullable": true
          },
          "note": {
            "type": "string",
            "nullable": true
          },
          "viaNoteType": {
            "type": "string",
            "nullable": true
          },
          "expires": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "table": {
            "type": "string",
            "nullable": true
          },
          "tableKey": {
            "type": "string",
            "nullable": true
          },
          "lastUpdated": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "noteExpanded": {
            "type": "string",
            "nullable": true
          },
          "sequence": {
            "type": "integer",
            "format": "int32"
          },
          "createdBy": {
            "type": "string",
            "nullable": true
          },
          "createdByUsername": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "ProblemDetails": {
        "type": "object",
        "description": "Problem details (RFC 9457) returned by the gateway's own policies.",
        "properties": {
          "type": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "status": {
            "type": "integer"
          },
          "detail": {
            "type": "string"
          },
          "instance": {
            "type": "string"
          }
        }
      }
    },
    "requestBodies": {
      "updateGpsBody": {
        "required": false,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/updateGps"
            }
          }
        }
      },
      "createTrailerBody": {
        "required": false,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/TrailerRequestBody"
            },
            "examples": {
              "trailer": {
                "$ref": "#/components/examples/TrailerRequest"
              }
            }
          }
        }
      },
      "updateTrailerBody": {
        "required": false,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/TrailerRequestBody"
            },
            "examples": {
              "trailer": {
                "$ref": "#/components/examples/TrailerRequest"
              }
            }
          }
        }
      },
      "updateTruckBody": {
        "required": false,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/TractorRequestBody"
            },
            "examples": {
              "tractor": {
                "$ref": "#/components/examples/TractorRequest"
              }
            }
          }
        }
      },
      "createTractorBody": {
        "required": false,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/TractorRequestBody"
            },
            "examples": {
              "tractor": {
                "$ref": "#/components/examples/TractorRequest"
              }
            }
          }
        }
      }
    },
    "securitySchemes": {
      "bearerAuth": {
        "type": "http",
        "scheme": "bearer"
      }
    },
    "examples": {
      "TrailerRequest": {
        "summary": "TrailerRequestBody",
        "description": "Sample request body",
        "value": {
          "trailerId": "1001",
          "trailerNumber": "TRL-10042",
          "trailerModel": "Dry Van 53ft",
          "trailerMake": "Wabash",
          "trailerOwner": "Acme Transport",
          "trailerType1": "van",
          "trailerType2": "food-grade",
          "trailerType3": "refrigerated",
          "trailerType4": "53ft",
          "trailerYear": 2018,
          "trailerCompanyId": "acme-tenant-1",
          "trailerStatus": "empty",
          "trailerLastContactLat": "32.7767",
          "trailerLastContactLng": "-96.7970",
          "trailerLastContactProximity": "0.5mi",
          "lastContactedDateTime": "2026-04-23T12:00:00Z",
          "trailerLastContactCity": "Dallas",
          "trailerLastContactState": "TX",
          "licensePlate": "TEX-9K2",
          "licenseState": "TX",
          "terminalId": "DFW-01",
          "maintenance": [
            {
              "id": "maint-1",
              "name": "Annual DOT inspection",
              "dueIn": 90,
              "dueInUnit": "days",
              "dueDate": "2026-07-23T00:00:00Z",
              "created": "2025-12-01T00:00:00Z"
            }
          ],
          "notes": [
            {
              "note": "Deliver to the back of the building",
              "viaNoteType": "Special Instructions"
            }
          ]
        }
      },
      "TractorRequest": {
        "summary": "TractorRequestBody",
        "description": "Sample request body",
        "value": {
          "tractorNumber": "TRK-818",
          "tractorType1": "sleeper",
          "tractorType2": "doubles",
          "tractorMake": "Freightliner",
          "tractorModel": "Cascadia",
          "tractorYear": 2019,
          "tractorStatus": "Available",
          "lastContactDateTime": "2026-04-23T12:00:00Z",
          "lastContactCity": "Dallas",
          "lastContactState": "TX",
          "tractorLastContactProximity": "2mi",
          "licensePlate": "TEX-4L88",
          "serialNumber": "1FUJGHDV0LSBVA00",
          "licenseState": "TX",
          "mobileCommID": "MC-001",
          "odometer": 125430.5,
          "maintenance": [
            {
              "id": "maint-tractor-1",
              "name": "DOT annual inspection",
              "dueIn": 45,
              "dueInUnit": "days",
              "dueDate": "2026-06-15T00:00:00Z",
              "created": "2025-12-01T00:00:00Z"
            }
          ],
          "notes": [
            {
              "note": "Haul This",
              "viaNoteType": "Special Instructions"
            }
          ]
        }
      }
    },
    "responses": {
      "ApiKeyUnauthorized": {
        "description": "The API key is missing or invalid. Problem JSON from the gateway.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ProblemDetails"
            },
            "example": {
              "type": "https://httpproblems.com/http-status/401",
              "title": "Unauthorized",
              "status": 401,
              "detail": "No Authorization Header",
              "instance": "/v1/partner/MIST/loads"
            }
          }
        }
      },
      "PartnerUnauthorized": {
        "description": "Your company is in the partner's network but the relationship is not approved or not API-enabled (plain text).",
        "content": {
          "text/plain": {
            "schema": {
              "type": "string"
            },
            "example": "Not authorized to partner."
          }
        }
      },
      "PartnerNotFound": {
        "description": "No company has this partner code (plain text).",
        "content": {
          "text/plain": {
            "schema": {
              "type": "string"
            },
            "example": "Partner not found."
          }
        }
      },
      "PartnerError": {
        "description": "The partnership could not be evaluated, including the case where your company has no relationship with the partner at all (plain text).",
        "content": {
          "text/plain": {
            "schema": {
              "type": "string"
            },
            "example": "Error processing request."
          }
        }
      },
      "PageInvalid": {
        "description": "`page` was not a positive integer (plain text).",
        "content": {
          "text/plain": {
            "schema": {
              "type": "string"
            },
            "example": "Page parameter must be a positive integer"
          }
        }
      }
    }
  },
  "servers": [
    {
      "url": "https://carriercloud.ai",
      "description": "Production"
    }
  ],
  "security": [
    {
      "bearerAuth": []
    }
  ],
  "tags": [
    {
      "name": "Carriers",
      "description": "Operations a carrier performs on the loads it hauls for a partner: offers, loads, stops, positions, notes and attachments."
    },
    {
      "name": "Customers",
      "description": "Operations a customer or shipper performs with a partner: orders, quotes, locations, documents and tracking."
    },
    {
      "name": "Partners",
      "description": "Fleet and partner master data shared through the Partner Network: tractors, trailers, drivers, hours of service, carriers and locations."
    },
    {
      "name": "Dropdown Options",
      "description": "Tenant-specific lookup values used in other requests, such as equipment types, service types, commodities, statuses and units."
    },
    {
      "name": "Relationships",
      "description": "Partner Network relationships: list the partners you can act for and request new partnerships."
    },
    {
      "name": "Utilities",
      "description": "Geocoding and document synchronisation helpers."
    },
    {
      "name": "Webhooks",
      "description": "Register and remove event webhooks on individual objects or on whole object types."
    }
  ],
  "paths": {
    "/v1/partners/request": {
      "x-zuplo-path": {
        "pathMode": "open-api"
      },
      "post": {
        "tags": [
          "Relationships"
        ],
        "summary": "Partners - Request Partnership",
        "description": "Initiate a request through the partner network for access to their network environment",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "identifier": {
                    "type": "string",
                    "enum": [
                      "companycode",
                      "dot",
                      "mcnumber",
                      "ein",
                      "scac",
                      "bn"
                    ],
                    "description": "Type of identifier used to request partnership",
                    "enumDescriptions": {
                      "companycode": "Partner Network standard company code",
                      "dot": "U.S. Department of Transportation Number",
                      "mcnumber": "FMCSA Motor Carrier Number",
                      "ein": "IRS Employer Identification Number",
                      "scac": "NMFTA Standard Carrier Alpha Code",
                      "bn": "Business Number"
                    }
                  },
                  "value": {
                    "type": "string"
                  },
                  "email": {
                    "type": "string"
                  },
                  "requiredIntegrationTypes": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "enum": [
                        "telematics"
                      ]
                    },
                    "nullable": true,
                    "description": "Optional list of integration types required by the partner"
                  }
                },
                "required": [
                  "identifier",
                  "value"
                ]
              }
            }
          }
        },
        "x-zuplo-route": {
          "corsPolicy": "portal-cors",
          "handler": {
            "export": "urlRewriteHandler",
            "module": "$import(@zuplo/runtime)",
            "options": {
              "rewritePattern": "${env.VIA_API_BASE_URL}/partner/v1/partners/invite"
            }
          },
          "policies": {
            "inbound": [
              "api-key-inbound",
              "validate-invite"
            ],
            "outbound": [
              "format-via-pnrequest"
            ]
          }
        },
        "operationId": "request_partnership",
        "responses": {
          "200": {
            "description": "Request submitted (plain text).",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "OK. Request submitted."
              }
            }
          },
          "400": {
            "description": "The body did not name a valid `identifier` (`companycode`, `dot`, `mcnumber`, `ein`, `scac`, `bn`), or the platform rejected the request (plain text).",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Partner invite request invalid."
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/ApiKeyUnauthorized"
          }
        }
      }
    },
    "/v1/partners": {
      "x-zuplo-path": {
        "pathMode": "open-api"
      },
      "get": {
        "tags": [
          "Relationships"
        ],
        "summary": "Partners - Get Active Partners",
        "description": "Get a list of active partners in your network.",
        "x-zuplo-route": {
          "corsPolicy": "portal-cors",
          "handler": {
            "export": "urlRewriteHandler",
            "module": "$import(@zuplo/runtime)",
            "options": {
              "rewritePattern": "${env.VIA_API_BASE_URL}/partner/v1/partners"
            }
          },
          "policies": {
            "inbound": [
              "api-key-inbound"
            ],
            "outbound": [
              "format-outbound-via-partnernetwork"
            ]
          },
          "mcp": {
            "type": "tool",
            "name": "get_active_partners",
            "description": "List the partner companies you have an active CarrierCloud partnership with.",
            "enabled": true,
            "annotations": {
              "title": "Partners: Get Active Partners",
              "readOnlyHint": true,
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": false
            }
          }
        },
        "operationId": "get_active_partners",
        "responses": {
          "200": {
            "description": "Companies in your Partner Network.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "./v1/schemas/PartnerActor.json"
                  }
                },
                "examples": {
                  "default": {
                    "$ref": "./v1/examples/GetActivePartners.json"
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/ApiKeyUnauthorized"
          },
          "404": {
            "description": "No matching records (plain text `No partners found in your network.`).",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "noResults": {
                    "value": "No partners found in your network."
                  },
                  "partnerNotFound": {
                    "value": "Partner not found."
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/partner/{partnercode}/tractors": {
      "x-zuplo-path": {
        "pathMode": "open-api"
      },
      "get": {
        "tags": [
          "Partners"
        ],
        "summary": "Tractors - Get Tractors",
        "description": "Get a list of active trucks (tractors) for a specific partner.",
        "parameters": [
          {
            "$ref": "#/components/parameters/partnercode"
          },
          {
            "$ref": "#/components/parameters/page"
          }
        ],
        "x-zuplo-route": {
          "corsPolicy": "portal-cors",
          "handler": {
            "export": "urlRewriteHandler",
            "module": "$import(@zuplo/runtime)",
            "options": {
              "rewritePattern": "https://mp.viaboards.com/"
            }
          },
          "policies": {
            "inbound": [
              "api-key-inbound",
              "change-method-inbound-post",
              "set-headers-inbound-proxy",
              "validate-partner",
              "query-tractor"
            ],
            "outbound": [
              "via-tractoractor"
            ]
          },
          "mcp": {
            "type": "tool",
            "name": "get_tractors",
            "description": "List tractors for a partner.",
            "enabled": true,
            "annotations": {
              "title": "Tractors: Get Tractors",
              "readOnlyHint": true,
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": false
            }
          }
        },
        "operationId": "get_tractors",
        "responses": {
          "200": {
            "description": "Tractors for the partner, 100 per page.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "./v1/schemas/TractorSummary.json"
                  }
                },
                "examples": {
                  "default": {
                    "$ref": "./v1/examples/GetTractors.json"
                  }
                }
              }
            }
          },
          "400": {
            "description": "`page` was not a positive integer (plain text), or the partnership could not be evaluated (`Error processing request.`).",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "page": {
                    "value": "Page parameter must be a positive integer"
                  },
                  "partner": {
                    "value": "Error processing request."
                  }
                }
              }
            }
          },
          "401": {
            "description": "Either the API key is missing/invalid (problem JSON, see ApiKeyUnauthorized) or your company is not authorized for this partner (plain text `Not authorized to partner.` / `Not authorized.`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Not authorized to partner."
              }
            }
          },
          "404": {
            "description": "No matching records (plain text `No tractors found.`), or the partner code is unknown (`Partner not found.`).",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "noResults": {
                    "value": "No tractors found."
                  },
                  "partnerNotFound": {
                    "value": "Partner not found."
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Tractors - Create Tractor",
        "description": "Create a tractor",
        "parameters": [
          {
            "$ref": "#/components/parameters/partnercode"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/createTractorBody"
        },
        "responses": {
          "201": {
            "description": "The created tractor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TractorActor"
                },
                "example": {
                  "dataGUID": "trk-5f1c2a",
                  "tractorNumber": "1412",
                  "tractorType1": "Sleeper",
                  "tractorStatus": "Available",
                  "tractorMake": "Freightliner",
                  "tractorModel": "Cascadia",
                  "tractorYear": 2023,
                  "licensePlate": "PWX8812",
                  "licenseState": "OH",
                  "serialNumber": "1FUJGLDR5CSBH1234",
                  "lastContactDateTime": "2026-10-01T13:42:10.000Z",
                  "lastContactCity": "Findlay",
                  "lastContactState": "OH",
                  "tractorLastContactProximity": "3.2mi S of Findlay, OH",
                  "odometer": 412887,
                  "maintenance": [
                    {
                      "name": "Oil change",
                      "dueIn": 1800,
                      "dueInUnit": "miles",
                      "dueDate": "2026-10-20T00:00:00Z"
                    }
                  ],
                  "notes": [
                    {
                      "dataGUID": "note-1",
                      "note": "Assigned to Linehaul",
                      "viaNoteType": "Special Instructions"
                    }
                  ]
                }
              }
            }
          },
          "207": {
            "description": "Created, but some fields were skipped.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "./v1/schemas/PartialCreate.json"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PartnerError"
          },
          "401": {
            "description": "Either the API key is missing/invalid (problem JSON, see ApiKeyUnauthorized) or your company is not authorized for this partner (plain text `Not authorized to partner.` / `Not authorized.`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Not authorized to partner."
              }
            }
          },
          "403": {
            "description": "Forbidden - insufficient permissions"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Validation error (plain text).",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "e1": {
                    "value": "Invalid TractorStatus"
                  },
                  "e2": {
                    "value": "Invalid EquipmentType"
                  },
                  "e3": {
                    "value": "board not found"
                  }
                }
              }
            }
          }
        },
        "x-zuplo-route": {
          "corsPolicy": "portal-cors",
          "handler": {
            "export": "urlRewriteHandler",
            "module": "$import(@zuplo/runtime)",
            "options": {
              "rewritePattern": "${env.VIA_API_BASE_URL}/partner/v1/${context.custom.partnerId}/trucks"
            }
          },
          "policies": {
            "inbound": [
              "api-key-inbound",
              "validate-partner",
              "format-inbound-tractoractor-via"
            ],
            "outbound": [
              "format-outbound-via-tractoractor"
            ]
          }
        },
        "operationId": "create_tractor",
        "tags": [
          "Partners"
        ]
      }
    },
    "/v1/partner/{partnercode}/drivers/{driverid}": {
      "x-zuplo-path": {
        "pathMode": "open-api"
      },
      "get": {
        "tags": [
          "Partners"
        ],
        "summary": "Drivers - Get Driver",
        "description": "Get a single driver for the partner by driver id.",
        "parameters": [
          {
            "$ref": "#/components/parameters/partnercode"
          },
          {
            "$ref": "#/components/parameters/driverid"
          }
        ],
        "x-zuplo-route": {
          "corsPolicy": "portal-cors",
          "handler": {
            "export": "urlRewriteHandler",
            "module": "$import(@zuplo/runtime)",
            "options": {
              "rewritePattern": "https://mp.viaboards.com/"
            }
          },
          "policies": {
            "inbound": [
              "api-key-inbound",
              "change-method-inbound-post",
              "set-headers-inbound-proxy",
              "validate-partner",
              "query-driver"
            ],
            "outbound": [
              "via-driveractor"
            ]
          },
          "mcp": {
            "type": "tool",
            "name": "get_driver",
            "description": "Get a single driver by id. Requires the partner's code (the company whose data you are reading, e.g. MIST); call get_active_partners first if you do not have it.",
            "enabled": true,
            "annotations": {
              "title": "Drivers: Get Driver",
              "readOnlyHint": true,
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": false
            }
          }
        },
        "operationId": "get_driver",
        "responses": {
          "200": {
            "description": "The driver as a one-element array.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "./v1/schemas/DriverActor.json"
                  }
                },
                "examples": {
                  "default": {
                    "$ref": "./v1/examples/GetDrivers.json"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PartnerError"
          },
          "401": {
            "description": "Either the API key is missing/invalid (problem JSON, see ApiKeyUnauthorized) or your company is not authorized for this partner (plain text `Not authorized to partner.` / `Not authorized.`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Not authorized to partner."
              }
            }
          },
          "404": {
            "description": "No matching records (plain text `No drivers found.`), or the partner code is unknown (`Partner not found.`).",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "noResults": {
                    "value": "No drivers found."
                  },
                  "partnerNotFound": {
                    "value": "Partner not found."
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/partner/{partnercode}/drivers": {
      "x-zuplo-path": {
        "pathMode": "open-api"
      },
      "get": {
        "tags": [
          "Partners"
        ],
        "summary": "Drivers - Get Drivers",
        "description": "Returns a list of active drivers for a specific partner.",
        "parameters": [
          {
            "$ref": "#/components/parameters/partnercode"
          },
          {
            "$ref": "#/components/parameters/page"
          }
        ],
        "x-zuplo-route": {
          "corsPolicy": "portal-cors",
          "handler": {
            "export": "urlRewriteHandler",
            "module": "$import(@zuplo/runtime)",
            "options": {
              "rewritePattern": "https://mp.viaboards.com/"
            }
          },
          "policies": {
            "inbound": [
              "api-key-inbound",
              "change-method-inbound-post",
              "set-headers-inbound-proxy",
              "validate-partner",
              "query-drivers"
            ],
            "outbound": [
              "via-driveractor"
            ]
          },
          "mcp": {
            "type": "tool",
            "name": "get_drivers",
            "description": "List drivers for a partner.",
            "enabled": true,
            "annotations": {
              "title": "Drivers: Get Drivers",
              "readOnlyHint": true,
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": false
            }
          }
        },
        "operationId": "get_drivers",
        "responses": {
          "200": {
            "description": "Drivers for the partner, 100 per page.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "./v1/schemas/DriverActor.json"
                  }
                },
                "examples": {
                  "default": {
                    "$ref": "./v1/examples/GetDrivers.json"
                  }
                }
              }
            }
          },
          "400": {
            "description": "`page` was not a positive integer (plain text), or the partnership could not be evaluated (`Error processing request.`).",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "page": {
                    "value": "Page parameter must be a positive integer"
                  },
                  "partner": {
                    "value": "Error processing request."
                  }
                }
              }
            }
          },
          "401": {
            "description": "Either the API key is missing/invalid (problem JSON, see ApiKeyUnauthorized) or your company is not authorized for this partner (plain text `Not authorized to partner.` / `Not authorized.`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Not authorized to partner."
              }
            }
          },
          "404": {
            "description": "No matching records (plain text `No drivers found.`), or the partner code is unknown (`Partner not found.`).",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "noResults": {
                    "value": "No drivers found."
                  },
                  "partnerNotFound": {
                    "value": "Partner not found."
                  }
                }
              }
            }
          }
        },
        "x-internal": false
      }
    },
    "/v1/partner/{partnercode}/offers": {
      "x-zuplo-path": {
        "pathMode": "open-api"
      },
      "get": {
        "tags": [
          "Carriers"
        ],
        "summary": "Offers - Get Active Offers",
        "description": "List the load offers currently open for the partner. Each offer references a load that can be accepted or rejected.",
        "parameters": [
          {
            "$ref": "#/components/parameters/partnercode"
          },
          {
            "name": "partnerid",
            "in": "query",
            "description": "Id of partner",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "starttime",
            "in": "query",
            "description": "Start Time in UTC",
            "required": true,
            "schema": {
              "type": "string"
            },
            "examples": {
              "example": {
                "value": "1605-11-05T13:37:00"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Open offers for the partner since `starttime`.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "./v1/schemas/PartnerCard.json"
                  }
                },
                "examples": {
                  "default": {
                    "$ref": "./v1/examples/GetActiveOffers.json"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Missing/invalid API key (problem JSON), partnership not authorized (plain text), or the operation is gated by the sandbox limit (problem JSON `Sandbox Limit`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "./v1/schemas/SandboxLimit.json"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Not authorized to partner."
              }
            }
          },
          "404": {
            "description": "Partner code unknown, or the partner is not API-enabled (plain text).",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "e1": {
                    "value": "Partner not found."
                  },
                  "e2": {
                    "value": "API enabled partner not found"
                  }
                }
              }
            }
          },
          "422": {
            "description": "A required query parameter is missing (plain text).",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "e1": {
                    "value": "Start Time is required"
                  }
                }
              }
            }
          }
        },
        "operationId": "get_active_offers",
        "x-zuplo-route": {
          "corsPolicy": "portal-cors",
          "handler": {
            "export": "urlRewriteHandler",
            "module": "$import(@zuplo/runtime)",
            "options": {
              "rewritePattern": "${env.VIA_API_BASE_URL}/partner/v1/loads?{query}"
            }
          },
          "policies": {
            "inbound": [
              "api-key-inbound",
              "validate-partner",
              "limit-sandbox-inbound"
            ]
          },
          "mcp": {
            "type": "tool",
            "name": "get_active_offers",
            "description": "List active load offers for a partner. Currently gated: answers 401 Sandbox Limit until enabled for your key.",
            "enabled": true,
            "annotations": {
              "title": "Offers: Get Active Offers",
              "readOnlyHint": true,
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": false
            }
          }
        }
      }
    },
    "/v1/partner/{partnercode}/offers/{loadid}/accept": {
      "x-zuplo-path": {
        "pathMode": "open-api"
      },
      "get": {
        "tags": [
          "Carriers"
        ],
        "summary": "Offers - Accept an Offer",
        "description": "Accept an open load offer on behalf of the partner. Although this is an HTTP GET, it changes the state of the offer and the load.",
        "parameters": [
          {
            "$ref": "#/components/parameters/partnercode"
          },
          {
            "$ref": "#/components/parameters/loadid"
          }
        ],
        "responses": {
          "200": {
            "description": "Offer accepted. The response has no body; the load's status becomes Accepted and the offer closes."
          },
          "401": {
            "description": "Missing/invalid API key (problem JSON), partnership not authorized (plain text), or the operation is gated by the sandbox limit (problem JSON `Sandbox Limit`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "./v1/schemas/SandboxLimit.json"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Not authorized to partner."
              }
            }
          },
          "404": {
            "description": "The load does not exist for this partnership, or the offer was already accepted or rejected (plain text).",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "e1": {
                    "value": "Load not found"
                  },
                  "e2": {
                    "value": "Load already accepted or rejected"
                  },
                  "e3": {
                    "value": "Partner not found."
                  }
                }
              }
            }
          },
          "422": {
            "description": "Missing identifier (plain text).",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "e1": {
                    "value": "Load Id is required"
                  }
                }
              }
            }
          }
        },
        "operationId": "accept_offer",
        "x-zuplo-route": {
          "corsPolicy": "portal-cors",
          "handler": {
            "export": "urlForwardHandler",
            "module": "$import(@zuplo/runtime)",
            "options": {
              "baseUrl": "${env.VIA_API_BASE_URL}/partner/v1"
            }
          },
          "policies": {
            "inbound": [
              "api-key-inbound",
              "limit-sandbox-inbound"
            ]
          }
        }
      }
    },
    "/v1/partner/{partnercode}/offers/{loadid}/reject": {
      "x-zuplo-path": {
        "pathMode": "open-api"
      },
      "get": {
        "tags": [
          "Carriers"
        ],
        "summary": "Offers - Reject an Offer",
        "description": "Reject an open load offer on behalf of the partner. Although this is an HTTP GET, it changes the state of the offer.",
        "parameters": [
          {
            "$ref": "#/components/parameters/partnercode"
          },
          {
            "$ref": "#/components/parameters/loadid"
          }
        ],
        "responses": {
          "200": {
            "description": "Offer rejected. The response has no body; the load's status becomes Declined and the offer closes."
          },
          "401": {
            "description": "Missing/invalid API key (problem JSON), partnership not authorized (plain text), or the operation is gated by the sandbox limit (problem JSON `Sandbox Limit`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "./v1/schemas/SandboxLimit.json"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Not authorized to partner."
              }
            }
          },
          "404": {
            "description": "The load does not exist for this partnership, or the offer was already accepted or rejected (plain text).",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "e1": {
                    "value": "Load not found"
                  },
                  "e2": {
                    "value": "Load already accepted or rejected"
                  },
                  "e3": {
                    "value": "Partner not found."
                  }
                }
              }
            }
          },
          "422": {
            "description": "Missing identifier (plain text).",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "e1": {
                    "value": "Load Id is required"
                  }
                }
              }
            }
          }
        },
        "operationId": "reject_offer",
        "x-zuplo-route": {
          "corsPolicy": "portal-cors",
          "handler": {
            "export": "urlForwardHandler",
            "module": "$import(@zuplo/runtime)",
            "options": {
              "baseUrl": "${env.VIA_API_BASE_URL}/partner/v1"
            }
          },
          "policies": {
            "inbound": [
              "api-key-inbound",
              "limit-sandbox-inbound"
            ]
          }
        }
      }
    },
    "/v1/partner/{partnercode}/loads/{loadid}/updategps": {
      "x-zuplo-path": {
        "pathMode": "open-api"
      },
      "post": {
        "tags": [
          "Carriers"
        ],
        "summary": "Loads - Update Position",
        "description": "Record a GPS position for the load. Use this when the position comes from your own tracking source rather than a connected telematics provider.",
        "parameters": [
          {
            "$ref": "#/components/parameters/partnercode"
          },
          {
            "$ref": "#/components/parameters/loadid"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/updateGpsBody"
        },
        "responses": {
          "200": {
            "description": "Position recorded.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Result returned by the processing workflow. Its fields depend on the partner's configuration; treat the HTTP status as the outcome and the body as informational.",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PartnerError"
          },
          "401": {
            "description": "Either the API key is missing/invalid (problem JSON, see ApiKeyUnauthorized) or your company is not authorized for this partner (plain text `Not authorized to partner.` / `Not authorized.`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Not authorized to partner."
              }
            }
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Validation Error"
          }
        },
        "operationId": "update_load_position",
        "x-zuplo-route": {
          "corsPolicy": "portal-cors",
          "handler": {
            "export": "urlRewriteHandler",
            "module": "$import(@zuplo/runtime)",
            "options": {
              "rewritePattern": "https://automate.tranztec.com/webhook/updategps?environment=${env.VIA_MP_ENV}"
            }
          },
          "policies": {
            "inbound": [
              "api-key-inbound",
              "validate-partner",
              "validate-segmentgps"
            ]
          }
        }
      }
    },
    "/v1/utility/geocode/reverse": {
      "x-zuplo-path": {
        "pathMode": "open-api"
      },
      "get": {
        "tags": [
          "Utilities"
        ],
        "summary": "Reverse Geocode",
        "description": "Get an address from a specified Latitude/Longitude. Query parameters are passed to the geocoder as given; the best match is returned as a single ZoneActor.",
        "x-zuplo-route": {
          "corsPolicy": "portal-cors",
          "handler": {
            "export": "urlRewriteHandler",
            "module": "$import(@zuplo/runtime)",
            "options": {
              "rewritePattern": "https://geocode.viaboards.io/v1/reverse"
            }
          },
          "policies": {
            "inbound": [
              "api-key-inbound"
            ],
            "outbound": [
              "pelias-to-zoneactor"
            ]
          },
          "mcp": {
            "type": "tool",
            "name": "geocode_reverse",
            "description": "Get an address from a latitude/longitude.",
            "enabled": true,
            "annotations": {
              "title": "Reverse Geocode",
              "readOnlyHint": true,
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": false
            }
          }
        },
        "operationId": "geocode_reverse",
        "responses": {
          "200": {
            "description": "The best match as a single ZoneActor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "./v1/schemas/ZoneActor.json"
                },
                "examples": {
                  "default": {
                    "$ref": "./v1/examples/ZoneActor.json"
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/ApiKeyUnauthorized"
          },
          "500": {
            "description": "No match, or the best match scored below the 0.8 confidence threshold."
          }
        },
        "parameters": [
          {
            "name": "point.lat",
            "in": "query",
            "description": "Latitude in decimal degrees.",
            "required": true,
            "schema": {
              "type": "number"
            },
            "example": 41.5335
          },
          {
            "name": "point.lon",
            "in": "query",
            "description": "Longitude in decimal degrees.",
            "required": true,
            "schema": {
              "type": "number"
            },
            "example": -83.6236
          }
        ]
      }
    },
    "/v1/utility/geocode/search": {
      "x-zuplo-path": {
        "pathMode": "open-api"
      },
      "get": {
        "tags": [
          "Utilities"
        ],
        "summary": "Geocode Search",
        "description": "Geocode a location to obtain a Zone Actor object with latitude/longitude. Query parameters are passed to the geocoder as given; the best match is returned as a single ZoneActor.",
        "x-zuplo-route": {
          "corsPolicy": "portal-cors",
          "handler": {
            "export": "urlRewriteHandler",
            "module": "$import(@zuplo/runtime)",
            "options": {
              "rewritePattern": "https://geocode.viaboards.io/v1/search"
            }
          },
          "policies": {
            "inbound": [
              "api-key-inbound"
            ],
            "outbound": [
              "pelias-to-zoneactor"
            ]
          },
          "mcp": {
            "type": "tool",
            "name": "geocode_search",
            "description": "Geocode a free-form address search string.",
            "enabled": true,
            "annotations": {
              "title": "Geocode Search",
              "readOnlyHint": true,
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": false
            }
          }
        },
        "operationId": "geocode_search",
        "responses": {
          "200": {
            "description": "The best match as a single ZoneActor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "./v1/schemas/ZoneActor.json"
                },
                "examples": {
                  "default": {
                    "$ref": "./v1/examples/ZoneActor.json"
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/ApiKeyUnauthorized"
          },
          "500": {
            "description": "No match, or the best match scored below the 0.8 confidence threshold."
          }
        },
        "parameters": [
          {
            "name": "text",
            "in": "query",
            "description": "Free-text place or address to geocode.",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "28000 Oregon Rd, Perrysburg, OH"
          }
        ]
      }
    },
    "/v1/utility/geocode/structured": {
      "x-zuplo-path": {
        "pathMode": "open-api"
      },
      "get": {
        "tags": [
          "Utilities"
        ],
        "summary": "Geocode Structured Search",
        "description": "Geocode a location with structured search parameters (address, city, state, zip, etc.) to obtain a Zone Actor object with latitude/longitude. Query parameters are passed to the geocoder as given; the best match is returned as a single ZoneActor.",
        "x-zuplo-route": {
          "corsPolicy": "portal-cors",
          "handler": {
            "export": "urlRewriteHandler",
            "module": "$import(@zuplo/runtime)",
            "options": {
              "rewritePattern": "https://geocode.viaboards.io/v1/search/structured"
            }
          },
          "policies": {
            "inbound": [
              "api-key-inbound"
            ],
            "outbound": [
              "pelias-to-zoneactor"
            ]
          },
          "mcp": {
            "type": "tool",
            "name": "geocode_structured",
            "description": "Geocode from structured address fields.",
            "enabled": true,
            "annotations": {
              "title": "Geocode Structured Search",
              "readOnlyHint": true,
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": false
            }
          }
        },
        "operationId": "geocode_structured",
        "responses": {
          "200": {
            "description": "The best match as a single ZoneActor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "./v1/schemas/ZoneActor.json"
                },
                "examples": {
                  "default": {
                    "$ref": "./v1/examples/ZoneActor.json"
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/ApiKeyUnauthorized"
          },
          "500": {
            "description": "No match, or the best match scored below the 0.8 confidence threshold."
          }
        },
        "parameters": [
          {
            "name": "address",
            "in": "query",
            "description": "House number and street.",
            "required": false,
            "schema": {
              "type": "string"
            },
            "example": "28000 Oregon Rd"
          },
          {
            "name": "locality",
            "in": "query",
            "description": "City or town.",
            "required": false,
            "schema": {
              "type": "string"
            },
            "example": "Perrysburg"
          },
          {
            "name": "region",
            "in": "query",
            "description": "State or province.",
            "required": false,
            "schema": {
              "type": "string"
            },
            "example": "OH"
          },
          {
            "name": "postalcode",
            "in": "query",
            "description": "Postal code.",
            "required": false,
            "schema": {
              "type": "string"
            },
            "example": "43551"
          },
          {
            "name": "country",
            "in": "query",
            "description": "Country name or code.",
            "required": false,
            "schema": {
              "type": "string"
            },
            "example": "USA"
          }
        ]
      }
    },
    "/v1/partner/{partnercode}/drivers/hos/{date}": {
      "x-zuplo-path": {
        "pathMode": "open-api"
      },
      "get": {
        "tags": [
          "Partners"
        ],
        "summary": "Drivers - Get Hours of Service",
        "description": "Retrieve Hours of Service (ELD) information for a driver.",
        "parameters": [
          {
            "$ref": "#/components/parameters/partnercode"
          },
          {
            "$ref": "#/components/parameters/date"
          }
        ],
        "x-zuplo-route": {
          "corsPolicy": "portal-cors",
          "handler": {
            "export": "urlForwardHandler",
            "module": "$import(@zuplo/runtime)",
            "options": {
              "baseUrl": "${env.VIA_API_BASE_URL}/partner/v1"
            }
          },
          "policies": {
            "inbound": [
              "api-key-inbound",
              "limit-sandbox-inbound"
            ]
          },
          "mcp": {
            "type": "tool",
            "name": "get_drivers_hours_of_service",
            "description": "Get driver hours of service records for a specific date. Requires the partner's code (the company whose data you are reading, e.g. MIST); call get_active_partners first if you do not have it. Currently gated: answers 401 Sandbox Limit until enabled for your key.",
            "enabled": true,
            "annotations": {
              "title": "Drivers: Get Hours of Service",
              "readOnlyHint": true,
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": false
            }
          }
        },
        "operationId": "get_drivers_hours_of_service",
        "responses": {
          "200": {
            "description": "Hours-of-service records for the partner's drivers on the given date.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Upstream result; the field set is not published and may change. Treat the HTTP status as the outcome.",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Missing/invalid API key (problem JSON), partnership not authorized (plain text), or the operation is gated by the sandbox limit (problem JSON `Sandbox Limit`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "./v1/schemas/SandboxLimit.json"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Not authorized to partner."
              }
            }
          },
          "404": {
            "description": "Partner code unknown (plain text).",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "e1": {
                    "value": "Partner not found."
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/partner/{partnercode}/loads/{loadid}": {
      "x-zuplo-path": {
        "pathMode": "open-api"
      },
      "get": {
        "tags": [
          "Carriers"
        ],
        "summary": "Loads - Get Load Detail",
        "description": "Get details of a specific load segment.",
        "parameters": [
          {
            "$ref": "#/components/parameters/partnercode"
          },
          {
            "$ref": "#/components/parameters/loadid"
          }
        ],
        "x-zuplo-route": {
          "corsPolicy": "portal-cors",
          "handler": {
            "export": "urlRewriteHandler",
            "module": "$import(@zuplo/runtime)",
            "options": {
              "rewritePattern": "https://mp.viaboards.com/"
            }
          },
          "policies": {
            "inbound": [
              "api-key-inbound",
              "change-method-inbound-post",
              "set-headers-inbound-proxy",
              "validate-partner",
              "query-segment"
            ]
          },
          "mcp": {
            "type": "tool",
            "name": "get_load_detail",
            "description": "Get full load detail by load id. Requires the partner's code (the company whose data you are reading, e.g. MIST); call get_active_partners first if you do not have it.",
            "enabled": true,
            "annotations": {
              "title": "Loads: Get Load Detail",
              "readOnlyHint": true,
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": false
            }
          }
        },
        "operationId": "get_load_detail",
        "responses": {
          "200": {
            "description": "The load as a one-element array of stored card documents (empty array when the id is unknown).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "./v1/schemas/CardDocument.json"
                  }
                },
                "examples": {
                  "default": {
                    "$ref": "./v1/examples/GetLoadDetail.json"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PartnerError"
          },
          "401": {
            "description": "Either the API key is missing/invalid (problem JSON, see ApiKeyUnauthorized) or your company is not authorized for this partner (plain text `Not authorized to partner.` / `Not authorized.`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Not authorized to partner."
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/PartnerNotFound"
          }
        }
      }
    },
    "/v1/partner/{partnercode}/orders": {
      "x-zuplo-path": {
        "pathMode": "open-api"
      },
      "post": {
        "tags": [
          "Customers"
        ],
        "summary": "Orders - Create Order Booking",
        "description": "Create (book) a new transportation order with a partner. This endpoint allows customers to book orders that will be made available to carriers in the partner network. The order must include at least two stops (pickup or delivery location) with required location information. Optional freight details, reference numbers, and special instructions can be included to provide complete order information.   X",
        "parameters": [
          {
            "$ref": "#/components/parameters/partnercode"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateOrderRequest"
              },
              "examples": {
                "basicOrder": {
                  "summary": "Basic order booking",
                  "value": {
                    "orderNumber": "ORD-2024-001",
                    "Stops": [
                      {
                        "StopType": "Pickup",
                        "Sequence": 1,
                        "ScheduledEarliestDate": "2024-01-15T08:00:00Z",
                        "ScheduledLatestDate": "2024-01-15T17:00:00Z",
                        "CompanyId": "COMP123",
                        "Company": "ABC Shipping",
                        "Address1": "123 Main St",
                        "City": "Chicago",
                        "State": "IL",
                        "ZipCode": "60601",
                        "Country": "US"
                      },
                      {
                        "StopType": "Delivery",
                        "Sequence": 2,
                        "ScheduledEarliestDate": "2024-01-16T08:00:00Z",
                        "ScheduledLatestDate": "2024-01-16T17:00:00Z",
                        "CompanyId": "COMP456",
                        "Company": "XYZ Distribution",
                        "Address1": "456 Oak Ave",
                        "City": "Detroit",
                        "State": "MI",
                        "ZipCode": "48201",
                        "Country": "US"
                      }
                    ],
                    "FreightDetails": [
                      {
                        "Weight": 15000,
                        "WeightUnit": "lbs",
                        "Volume": 1200,
                        "VolumeUnit": "gal",
                        "CommodityCode": "GENERAL",
                        "Description": "General freight",
                        "ItemCount": 50
                      }
                    ],
                    "RefNumbers": [
                      {
                        "RefType": "BL#",
                        "RefNumber": "BOL-12345"
                      }
                    ]
                  }
                }
              }
            }
          }
        },
        "x-zuplo-route": {
          "corsPolicy": "portal-cors",
          "handler": {
            "export": "urlRewriteHandler",
            "module": "$import(@zuplo/runtime)",
            "options": {
              "rewritePattern": "${env.VIA_API_BASE_URL}/partner/v1/${context.custom.partnerId}/orders"
            }
          },
          "policies": {
            "inbound": [
              "api-key-inbound",
              "validate-partner",
              "validate-orderbooking",
              "format-inbound-orderbooking-via"
            ],
            "outbound": [
              "format-outbound-orderbooking-via"
            ]
          }
        },
        "responses": {
          "201": {
            "description": "Order successfully created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrderResponse"
                },
                "examples": {
                  "success": {
                    "summary": "Successful order creation",
                    "value": {
                      "status": "ok",
                      "messsage": "Order successfully booked.",
                      "objectId": "6Wu3bXeRByQqGnFAx",
                      "orderId": "6Wu3bXeRByQqGnFAx"
                    }
                  },
                  "partialSuccess": {
                    "summary": "Order created with permission warnings",
                    "value": {
                      "status": "ok",
                      "messsage": "Order successfully booked.",
                      "objectId": "6Wu3bXeRByQqGnFAx",
                      "orderId": "6Wu3bXeRByQqGnFAx",
                      "warnings": [
                        "Permission denied for EquipmentSelection"
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request - Invalid input parameters",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "detail": {
                      "type": "string",
                      "description": "Error detail message"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "field": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized - Invalid or missing API key"
          },
          "404": {
            "description": "Not Found - Partner not found"
          },
          "422": {
            "description": "Unprocessable Entity - Validation error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "detail": {
                      "type": "string",
                      "description": "Validation error detail"
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "operationId": "create_order_booking"
      },
      "get": {
        "tags": [
          "Customers"
        ],
        "summary": "Orders - Get Orders",
        "description": "Get a list of orders (trip) for a specific partner.",
        "parameters": [
          {
            "$ref": "#/components/parameters/partnercode"
          },
          {
            "$ref": "#/components/parameters/page"
          },
          {
            "name": "refNumber",
            "in": "query",
            "required": false,
            "description": "Filter orders by exact reference number match. The reference number must match exactly (case-sensitive).",
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 100
            },
            "examples": {
              "example1": {
                "value": "BOL-12345"
              },
              "example2": {
                "value": "AA-123942-Z"
              }
            }
          },
          {
            "name": "orderNumber",
            "in": "query",
            "required": false,
            "description": "Filter orders by exact order number match. The order number must match exactly (case-sensitive).",
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 100
            },
            "examples": {
              "example1": {
                "value": "ORD-12345"
              }
            }
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "description": "Filter orders by exact status match. The status must match exactly (case-sensitive).",
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 100
            },
            "examples": {
              "example1": {
                "value": "Dispatched"
              },
              "example2": {
                "value": "MST"
              }
            }
          },
          {
            "name": "billTo",
            "in": "query",
            "required": false,
            "description": "Filter orders by bill-to customer code. The Customer ID must match exactly (case-sensitive).",
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 100
            },
            "examples": {
              "example1": {
                "value": "ABCTRU"
              },
              "example2": {
                "value": "FORDEA01"
              }
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "description": "Optional sort for order results. Default is by Order Id.",
            "schema": {
              "type": "string",
              "enum": [
                "DateLastActivity",
                "CreatedAt"
              ]
            }
          }
        ],
        "x-zuplo-route": {
          "corsPolicy": "portal-cors",
          "handler": {
            "export": "urlRewriteHandler",
            "module": "$import(@zuplo/runtime)",
            "options": {
              "rewritePattern": "https://mp.viaboards.com/"
            }
          },
          "policies": {
            "inbound": [
              "api-key-inbound",
              "change-method-inbound-post",
              "set-headers-inbound-proxy",
              "validate-partner",
              "query-orders"
            ],
            "outbound": [
              "via-tripactor"
            ]
          },
          "mcp": {
            "type": "tool",
            "name": "get_orders",
            "description": "List orders for a partner.",
            "enabled": true,
            "annotations": {
              "title": "Orders: Get Orders",
              "readOnlyHint": true,
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": false
            }
          }
        },
        "operationId": "get_orders",
        "responses": {
          "200": {
            "description": "Orders for the partner, newest activity first, 100 per page.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "./v1/schemas/TripActor.json"
                  }
                },
                "examples": {
                  "default": {
                    "$ref": "./v1/examples/GetOrders.json"
                  }
                }
              }
            }
          },
          "400": {
            "description": "`page` was not a positive integer (plain text), or the partnership could not be evaluated (`Error processing request.`).",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "page": {
                    "value": "Page parameter must be a positive integer"
                  },
                  "partner": {
                    "value": "Error processing request."
                  }
                }
              }
            }
          },
          "401": {
            "description": "Either the API key is missing/invalid (problem JSON, see ApiKeyUnauthorized) or your company is not authorized for this partner (plain text `Not authorized to partner.` / `Not authorized.`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Not authorized to partner."
              }
            }
          },
          "404": {
            "description": "No matching records (plain text `No orders found.`), or the partner code is unknown (`Partner not found.`).",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "noResults": {
                    "value": "No orders found."
                  },
                  "partnerNotFound": {
                    "value": "Partner not found."
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/partner/{partnercode}/locations": {
      "x-zuplo-path": {
        "pathMode": "open-api"
      },
      "post": {
        "tags": [
          "Customers"
        ],
        "summary": "Locations - Create Location",
        "description": "Create a new location card for a partner. Optional role-specific data may be supplied under Roles (Shipper, Consignee, BillTo, Terminal, TruckStop, Agent, WashFacility). Partner-network role permissions determine which fields may be set on the created card.",
        "parameters": [
          {
            "$ref": "./v1/parameters/partnercode.json"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "./v1/schemas/CreateLocationRequest.json"
              },
              "examples": {
                "basicLocation": {
                  "$ref": "./v1/examples/CreateLocationRequest.basicLocation.json"
                }
              }
            }
          }
        },
        "x-zuplo-route": {
          "corsPolicy": "portal-cors",
          "handler": {
            "export": "urlRewriteHandler",
            "module": "$import(@zuplo/runtime)",
            "options": {
              "rewritePattern": "${env.VIA_API_BASE_URL}/partner/v1/${context.custom.partnerId}/locations"
            }
          },
          "policies": {
            "inbound": [
              "api-key-inbound",
              "validate-partner",
              "validate-create-location-request",
              "format-inbound-create-location-via"
            ],
            "outbound": [
              "format-outbound-create-location-via"
            ]
          }
        },
        "responses": {
          "200": {
            "description": "Location successfully created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "./v1/schemas/CreateLocationResponse.json"
                }
              }
            }
          },
          "207": {
            "description": "Location created with permission warnings for denied fields",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "./v1/schemas/CreateLocationResponse.json"
                },
                "examples": {
                  "partialSuccess": {
                    "$ref": "./v1/examples/CreateLocationResponse.partialSuccess.json"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized - Invalid or missing API key"
          },
          "403": {
            "description": "Forbidden - Insufficient permissions to create locations"
          },
          "404": {
            "description": "Not Found - Partner not found"
          },
          "422": {
            "description": "Unprocessable Entity - Validation error"
          }
        },
        "operationId": "create_location"
      },
      "get": {
        "tags": [
          "Customers"
        ],
        "summary": "Locations - Get Locations",
        "description": "Get a paginated list of location cards for a partner. Optionally filter by companyId (case-sensitive).",
        "parameters": [
          {
            "$ref": "./v1/parameters/partnercode.json"
          },
          {
            "$ref": "#/components/parameters/page"
          },
          {
            "$ref": "#/components/parameters/locationCompanyId"
          }
        ],
        "x-zuplo-route": {
          "corsPolicy": "portal-cors",
          "handler": {
            "export": "urlRewriteHandler",
            "module": "$import(@zuplo/runtime)",
            "options": {
              "rewritePattern": "${env.VIA_API_BASE_URL}/partner/v1/${context.custom.partnerId}/locations?{query}"
            }
          },
          "policies": {
            "inbound": [
              "api-key-inbound",
              "validate-partner"
            ],
            "outbound": [
              "format-outbound-create-location-via"
            ]
          },
          "mcp": {
            "type": "tool",
            "name": "get_locations",
            "description": "List locations for a partner.",
            "enabled": true,
            "annotations": {
              "title": "Locations: Get Locations",
              "readOnlyHint": true,
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": false
            }
          }
        },
        "responses": {
          "200": {
            "description": "Locations retrieved successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "./v1/schemas/GetLocationsResponse.json"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized - Invalid or missing API key"
          },
          "403": {
            "description": "Forbidden - Insufficient permissions to view locations"
          },
          "404": {
            "description": "Not Found - Partner not found"
          },
          "422": {
            "description": "Unprocessable Entity - Validation error"
          }
        },
        "operationId": "get_locations"
      }
    },
    "/v1/partner/{partnercode}/orders/{orderid}": {
      "x-zuplo-path": {
        "pathMode": "open-api"
      },
      "get": {
        "tags": [
          "Customers"
        ],
        "summary": "Orders - Get Order Detail",
        "description": "Get details of a specific order.",
        "parameters": [
          {
            "$ref": "#/components/parameters/partnercode"
          },
          {
            "$ref": "#/components/parameters/orderid"
          }
        ],
        "x-zuplo-route": {
          "corsPolicy": "portal-cors",
          "handler": {
            "export": "urlRewriteHandler",
            "module": "$import(@zuplo/runtime)",
            "options": {
              "rewritePattern": "https://mp.viaboards.com/"
            }
          },
          "policies": {
            "inbound": [
              "api-key-inbound",
              "change-method-inbound-post",
              "set-headers-inbound-proxy",
              "validate-partner",
              "query-order"
            ]
          },
          "mcp": {
            "type": "tool",
            "name": "get_order_detail",
            "description": "Get full order detail by order id. Requires the partner's code (the company whose data you are reading, e.g. MIST); call get_active_partners first if you do not have it.",
            "enabled": true,
            "annotations": {
              "title": "Orders: Get Order Detail",
              "readOnlyHint": true,
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": false
            }
          }
        },
        "operationId": "get_order_detail",
        "responses": {
          "200": {
            "description": "The order as a one-element array of stored card documents (empty array when the id is unknown).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "./v1/schemas/CardDocument.json"
                  }
                },
                "examples": {
                  "default": {
                    "$ref": "./v1/examples/GetLoadDetail.json"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PartnerError"
          },
          "401": {
            "description": "Either the API key is missing/invalid (problem JSON, see ApiKeyUnauthorized) or your company is not authorized for this partner (plain text `Not authorized to partner.` / `Not authorized.`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Not authorized to partner."
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/PartnerNotFound"
          }
        }
      },
      "put": {
        "tags": [
          "Customers"
        ],
        "summary": "Orders - Update Order Booking",
        "description": "Update an existing transportation order for a partner. Nested stop, reference, and freight updates require the `_id` or `DataGUID` values from the existing order. Partner-network role permissions determine which fields may be updated.",
        "parameters": [
          {
            "$ref": "#/components/parameters/partnercode"
          },
          {
            "$ref": "#/components/parameters/orderid"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateOrderRequest"
              }
            }
          }
        },
        "x-zuplo-route": {
          "corsPolicy": "portal-cors",
          "handler": {
            "export": "urlRewriteHandler",
            "module": "$import(@zuplo/runtime)",
            "options": {
              "rewritePattern": "${env.VIA_API_BASE_URL}/partner/v1/${context.custom.partnerId}/orders/${params.orderid}"
            }
          },
          "policies": {
            "inbound": [
              "api-key-inbound",
              "validate-partner",
              "validate-orderupdate",
              "format-inbound-orderupdate-via"
            ],
            "outbound": [
              "format-outbound-orderupdate-via"
            ]
          }
        },
        "responses": {
          "200": {
            "description": "Order successfully updated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdateOrderResponse"
                },
                "examples": {
                  "success": {
                    "summary": "Successful order update",
                    "value": {
                      "status": "ok"
                    }
                  }
                }
              }
            }
          },
          "207": {
            "description": "Order update completed with permission warnings for denied fields",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdateOrderResponse"
                },
                "examples": {
                  "partialSuccess": {
                    "summary": "Update with permission warnings",
                    "value": {
                      "status": "ok",
                      "warnings": [
                        "Permission denied for EquipmentSelection"
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized - Invalid or missing API key"
          },
          "404": {
            "description": "Not Found - Partner or order not found"
          },
          "422": {
            "description": "Unprocessable Entity - Validation error"
          }
        },
        "operationId": "update_order_booking"
      },
      "delete": {
        "tags": [
          "Customers"
        ],
        "summary": "Orders - Cancel Order Booking",
        "description": "Cancel an order booking and remove it from the system.",
        "parameters": [
          {
            "$ref": "#/components/parameters/partnercode"
          },
          {
            "$ref": "#/components/parameters/orderid"
          }
        ],
        "x-zuplo-route": {
          "corsPolicy": "portal-cors",
          "handler": {
            "export": "urlRewriteHandler",
            "module": "$import(@zuplo/runtime)",
            "options": {
              "rewritePattern": "https://automate.tranztec.com/webhook/archiveorder?environment=${env.VIA_MP_ENV}"
            }
          },
          "policies": {
            "inbound": [
              "api-key-inbound",
              "validate-partner",
              "validate-ordercancelrequest"
            ]
          }
        },
        "operationId": "cancel_order_booking",
        "responses": {
          "200": {
            "description": "Order booking cancelled (archived).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Result returned by the processing workflow. Its fields depend on the partner's configuration; treat the HTTP status as the outcome and the body as informational.",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PartnerError"
          },
          "401": {
            "description": "Either the API key is missing/invalid (problem JSON, see ApiKeyUnauthorized) or your company is not authorized for this partner (plain text `Not authorized to partner.` / `Not authorized.`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Not authorized to partner."
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/PartnerNotFound"
          }
        }
      }
    },
    "/v1/partner/{partnercode}/segments/{segmentid}": {
      "x-zuplo-path": {
        "pathMode": "open-api"
      },
      "put": {
        "tags": [
          "Carriers"
        ],
        "summary": "Segments - Update Segment",
        "description": "Update an existing segment (load) card for a partner. Nested stop, reference, and freight updates require the `_id` or `DataGUID` values from the existing segment. Partner-network role permissions determine which fields may be updated. The segmentid is the same card identifier used as loadid on loads routes.",
        "parameters": [
          {
            "$ref": "./v1/parameters/partnercode.json"
          },
          {
            "$ref": "./v1/parameters/segmentid.json"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "./v1/schemas/UpdateSegmentRequest.json"
              }
            }
          }
        },
        "x-zuplo-route": {
          "corsPolicy": "portal-cors",
          "handler": {
            "export": "urlRewriteHandler",
            "module": "$import(@zuplo/runtime)",
            "options": {
              "rewritePattern": "${env.VIA_API_BASE_URL}/partner/v1/${context.custom.partnerId}/segments/${params.segmentid}"
            }
          },
          "policies": {
            "inbound": [
              "api-key-inbound",
              "validate-partner",
              "validate-segment-update-request",
              "format-inbound-segmentupdate-via"
            ],
            "outbound": [
              "format-outbound-segmentupdate-via"
            ]
          }
        },
        "responses": {
          "200": {
            "description": "Segment successfully updated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "./v1/schemas/UpdateSegmentResponse.json"
                },
                "examples": {
                  "success": {
                    "summary": "Successful segment update",
                    "value": {
                      "status": "ok"
                    }
                  }
                }
              }
            }
          },
          "207": {
            "description": "Segment update completed with permission warnings for denied fields",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "./v1/schemas/UpdateSegmentResponse.json"
                },
                "examples": {
                  "partialSuccess": {
                    "summary": "Update with permission warnings",
                    "value": {
                      "status": "ok",
                      "warnings": [
                        "Permission denied for EquipmentSelection"
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized - Invalid or missing API key"
          },
          "404": {
            "description": "Not Found - Partner or segment not found"
          },
          "422": {
            "description": "Unprocessable Entity - Validation error"
          }
        },
        "operationId": "update_segment"
      }
    },
    "/v1/partner/{partnercode}/tractors/{tractorguid}/positions": {
      "x-zuplo-path": {
        "pathMode": "open-api"
      },
      "get": {
        "tags": [
          "Partners"
        ],
        "summary": "Tractors - Get GPS Positions",
        "description": "Get historical positions for a specific tractor (vehicle).",
        "parameters": [
          {
            "$ref": "#/components/parameters/partnercode"
          },
          {
            "$ref": "#/components/parameters/tractorguid"
          },
          {
            "$ref": "#/components/parameters/page"
          },
          {
            "$ref": "#/components/parameters/startdate"
          }
        ],
        "x-zuplo-route": {
          "corsPolicy": "portal-cors",
          "handler": {
            "export": "urlRewriteHandler",
            "module": "$import(@zuplo/runtime)",
            "options": {
              "rewritePattern": "${env.VIA_API_BASE_URL}/partner/v1/${context.custom.partnerId}/trucks/${params.tractorguid}/gps?fromDateTime=${encodeURIComponent(query.startdate)}",
              "forwardSearch": false
            }
          },
          "policies": {
            "inbound": [
              "api-key-inbound",
              "validate-partner"
            ],
            "outbound": [
              "format-outbound-via-positionactor"
            ]
          },
          "mcp": {
            "type": "tool",
            "name": "get_tractor_positions",
            "description": "Get GPS position history for a tractor. Requires the partner's code (the company whose data you are reading, e.g. MIST); call get_active_partners first if you do not have it.",
            "enabled": true,
            "annotations": {
              "title": "Tractors: Get GPS Positions",
              "readOnlyHint": true,
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": false
            }
          }
        },
        "operationId": "get_tractor_positions",
        "responses": {
          "200": {
            "description": "Positions recorded for the tractor since `fromDateTime`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "./v1/schemas/PositionsResponse.json"
                },
                "examples": {
                  "default": {
                    "$ref": "./v1/examples/GetPositions.json"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PartnerError"
          },
          "401": {
            "description": "Either the API key is missing/invalid (problem JSON, see ApiKeyUnauthorized) or your company is not authorized for this partner (plain text `Not authorized to partner.` / `Not authorized.`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Not authorized to partner."
              }
            }
          },
          "404": {
            "description": "No matching records (plain text `No positions found.`), or the partner code is unknown (`Partner not found.`).",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "noResults": {
                    "value": "No positions found."
                  },
                  "partnerNotFound": {
                    "value": "Partner not found."
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/partner/{partnercode}/quotes": {
      "x-zuplo-path": {
        "pathMode": "open-api"
      },
      "post": {
        "tags": [
          "Customers"
        ],
        "summary": "Quotes - Create Order Quote",
        "description": "Create a quote for a tentative or pending shipment.",
        "parameters": [
          {
            "$ref": "#/components/parameters/partnercode"
          }
        ],
        "x-zuplo-route": {
          "corsPolicy": "portal-cors",
          "handler": {
            "export": "urlForwardHandler",
            "module": "$import(@zuplo/runtime)",
            "options": {
              "baseUrl": "${env.VIA_API_BASE_URL}/partner/v1"
            }
          },
          "policies": {
            "inbound": [
              "api-key-inbound",
              "limit-sandbox-inbound"
            ]
          }
        },
        "operationId": "create_order_quote",
        "responses": {
          "200": {
            "description": "The created quote.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Upstream result; the field set is not published and may change. Treat the HTTP status as the outcome.",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Missing/invalid API key (problem JSON), partnership not authorized (plain text), or the operation is gated by the sandbox limit (problem JSON `Sandbox Limit`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "./v1/schemas/SandboxLimit.json"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Not authorized to partner."
              }
            }
          },
          "404": {
            "description": "Partner code unknown (plain text).",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "e1": {
                    "value": "Partner not found."
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/partner/{partnercode}/orders/{orderid}/documents": {
      "x-zuplo-path": {
        "pathMode": "open-api"
      },
      "get": {
        "tags": [
          "Customers"
        ],
        "summary": "Orders - Get Order Documents",
        "description": "Get Documents and Images for a specific order.",
        "parameters": [
          {
            "$ref": "#/components/parameters/partnercode"
          },
          {
            "$ref": "#/components/parameters/orderid"
          }
        ],
        "x-zuplo-route": {
          "corsPolicy": "portal-cors",
          "handler": {
            "export": "urlForwardHandler",
            "module": "$import(@zuplo/runtime)",
            "options": {
              "baseUrl": "${env.VIA_API_BASE_URL}/partner/v1"
            }
          },
          "policies": {
            "inbound": [
              "api-key-inbound",
              "limit-sandbox-inbound"
            ]
          },
          "mcp": {
            "type": "tool",
            "name": "get_order_documents",
            "description": "List documents attached to an order. Requires the partner's code (the company whose data you are reading, e.g. MIST); call get_active_partners first if you do not have it. Currently gated: answers 401 Sandbox Limit until enabled for your key.",
            "enabled": true,
            "annotations": {
              "title": "Orders: Get Order Documents",
              "readOnlyHint": true,
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": false
            }
          }
        },
        "operationId": "get_order_documents",
        "responses": {
          "200": {
            "description": "Documents attached to the order that your partner role may see.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "./v1/schemas/Attachment.json"
                  }
                },
                "example": [
                  {
                    "name": "BOL-1049822.pdf",
                    "documentTypeAbbr": "BOL"
                  },
                  {
                    "name": "POD-1049822.pdf",
                    "documentTypeAbbr": "POD"
                  }
                ]
              }
            }
          },
          "401": {
            "description": "Missing/invalid API key (problem JSON), partnership not authorized (plain text), or the operation is gated by the sandbox limit (problem JSON `Sandbox Limit`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "./v1/schemas/SandboxLimit.json"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Not authorized to partner."
              }
            }
          },
          "403": {
            "description": "Your partner role lacks the view or download permission (plain text).",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "e1": {
                    "value": "Permission denied"
                  }
                }
              }
            }
          },
          "404": {
            "description": "Partner code or order unknown (plain text).",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "e1": {
                    "value": "Partner not found."
                  },
                  "e2": {
                    "value": "Order not found"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/partner/{partnercode}/quotes/{quoteid}": {
      "x-zuplo-path": {
        "pathMode": "open-api"
      },
      "get": {
        "tags": [
          "Customers"
        ],
        "summary": "Quotes - Get Quote Details",
        "description": "Get Quote details by Quote ID.",
        "parameters": [
          {
            "$ref": "#/components/parameters/partnercode"
          },
          {
            "$ref": "#/components/parameters/quoteid"
          }
        ],
        "x-zuplo-route": {
          "corsPolicy": "portal-cors",
          "handler": {
            "export": "urlForwardHandler",
            "module": "$import(@zuplo/runtime)",
            "options": {
              "baseUrl": "${env.VIA_API_BASE_URL}/partner/v1"
            }
          },
          "policies": {
            "inbound": [
              "api-key-inbound",
              "limit-sandbox-inbound"
            ]
          },
          "mcp": {
            "type": "tool",
            "name": "get_quote_details",
            "description": "Get order quote details by quote id. Requires the partner's code (the company whose data you are reading, e.g. MIST); call get_active_partners first if you do not have it. Currently gated: answers 401 Sandbox Limit until enabled for your key.",
            "enabled": true,
            "annotations": {
              "title": "Quotes: Get Quote Details",
              "readOnlyHint": true,
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": false
            }
          }
        },
        "operationId": "get_quote_details",
        "responses": {
          "200": {
            "description": "The quote.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Upstream result; the field set is not published and may change. Treat the HTTP status as the outcome.",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Missing/invalid API key (problem JSON), partnership not authorized (plain text), or the operation is gated by the sandbox limit (problem JSON `Sandbox Limit`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "./v1/schemas/SandboxLimit.json"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Not authorized to partner."
              }
            }
          },
          "404": {
            "description": "Partner code or quote unknown (plain text).",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "e1": {
                    "value": "Partner not found."
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/partner/{partnercode}/orders/{orderguid}/positions": {
      "x-zuplo-path": {
        "pathMode": "open-api"
      },
      "get": {
        "tags": [
          "Customers"
        ],
        "summary": "Orders - Get GPS Positions",
        "description": "Get GPS tracking history for a given order",
        "parameters": [
          {
            "$ref": "#/components/parameters/partnercode"
          },
          {
            "$ref": "#/components/parameters/orderguid"
          },
          {
            "$ref": "#/components/parameters/page"
          }
        ],
        "x-zuplo-route": {
          "corsPolicy": "portal-cors",
          "handler": {
            "export": "urlRewriteHandler",
            "module": "$import(@zuplo/runtime)",
            "options": {
              "rewritePattern": "https://mp.viaboards.com/"
            }
          },
          "policies": {
            "inbound": [
              "api-key-inbound",
              "validate-partner",
              "set-headers-inbound-proxy",
              "change-method-inbound-post",
              "query-order-positions"
            ],
            "outbound": [
              "format-via-positionactor"
            ]
          },
          "mcp": {
            "type": "tool",
            "name": "get_order_positions",
            "description": "Get GPS positions reported for an order. Requires the partner's code (the company whose data you are reading, e.g. MIST); call get_active_partners first if you do not have it.",
            "enabled": true,
            "annotations": {
              "title": "Orders: Get GPS Positions",
              "readOnlyHint": true,
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": false
            }
          }
        },
        "operationId": "get_order_positions",
        "responses": {
          "200": {
            "description": "Positions recorded for the order's load.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "./v1/schemas/PositionsResponse.json"
                },
                "examples": {
                  "default": {
                    "$ref": "./v1/examples/GetPositions.json"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PartnerError"
          },
          "401": {
            "description": "Either the API key is missing/invalid (problem JSON, see ApiKeyUnauthorized) or your company is not authorized for this partner (plain text `Not authorized to partner.` / `Not authorized.`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Not authorized to partner."
              }
            }
          },
          "404": {
            "description": "No matching records (plain text `No positions found.`), or the partner code is unknown (`Partner not found.`).",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "noResults": {
                    "value": "No positions found."
                  },
                  "partnerNotFound": {
                    "value": "Partner not found."
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/webhooks/{partnercode}/register/": {
      "x-zuplo-path": {
        "pathMode": "open-api"
      },
      "post": {
        "tags": [
          "Webhooks"
        ],
        "summary": "Webhooks - Register Object",
        "description": "Register a webhook for a specific Carrier Cloud object.",
        "parameters": [
          {
            "$ref": "#/components/parameters/partnercode"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "update",
                      "archive",
                      "gps",
                      "hos",
                      "arrive",
                      "depart",
                      "truckperformance"
                    ],
                    "example": "update",
                    "description": "Event to subscribe to: `update`, `archive`, `gps`, `hos`, `arrive`, `depart`, `truckperformance`. `gps` applies to driver, truck, trailer, order and segment objects; `hos` to drivers; `arrive`/`depart` to orders and segments; `truckperformance` to trucks."
                  },
                  "cardid": {
                    "type": "string",
                    "example": "your_card_id"
                  },
                  "url": {
                    "type": "string",
                    "example": "https://mywebhook.com"
                  }
                },
                "required": [
                  "type",
                  "cardid",
                  "url"
                ]
              }
            }
          }
        },
        "x-zuplo-route": {
          "corsPolicy": "portal-cors",
          "handler": {
            "export": "urlRewriteHandler",
            "module": "$import(@zuplo/runtime)",
            "options": {
              "rewritePattern": "${env.VIA_API_BASE_URL}/partner/v1/${context.custom.partnerId}/webhook/register"
            }
          },
          "policies": {
            "inbound": [
              "api-key-inbound",
              "validate-partner"
            ]
          }
        },
        "operationId": "register_webhook_object",
        "responses": {
          "200": {
            "description": "Webhook registered on the object.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "./v1/schemas/WebhookRegistered.json"
                },
                "example": {
                  "_id": "wh-6f2a1c9d"
                }
              }
            }
          },
          "404": {
            "description": "Partner code or card unknown (plain text).",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "e1": {
                    "value": "Partner not found."
                  },
                  "e2": {
                    "value": "Card not found"
                  }
                }
              }
            }
          },
          "422": {
            "description": "Validation error (plain text).",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "e1": {
                    "value": "cardid is required"
                  },
                  "e2": {
                    "value": "type is required"
                  },
                  "e3": {
                    "value": "Invalid type"
                  },
                  "e4": {
                    "value": "Webhook already exists"
                  },
                  "e5": {
                    "value": "Unsupported card type truck for arrive webhook"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/webhooks/{partnercode}/type/register/": {
      "x-zuplo-path": {
        "pathMode": "open-api"
      },
      "post": {
        "tags": [
          "Webhooks"
        ],
        "summary": "Webhooks - Register Type",
        "description": "Register a webhook for all Carrier Cloud objects of a given type.",
        "parameters": [
          {
            "$ref": "#/components/parameters/partnercode"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "update",
                      "archive",
                      "gps",
                      "hos",
                      "arrive",
                      "depart",
                      "truckperformance"
                    ],
                    "example": "update",
                    "description": "Event to subscribe to: `update`, `archive`, `gps`, `hos`, `arrive`, `depart`, `truckperformance`. `gps` applies to driver, truck, trailer, order and segment objects; `hos` to drivers; `arrive`/`depart` to orders and segments; `truckperformance` to trucks."
                  },
                  "cardtype": {
                    "type": "string",
                    "enum": [
                      "order",
                      "segment",
                      "driver",
                      "truck",
                      "trailer",
                      "carrier",
                      "event",
                      "invoice",
                      "lane",
                      "customer",
                      "quote",
                      "free"
                    ],
                    "example": "segment"
                  },
                  "url": {
                    "type": "string",
                    "example": "https://mywebhook.com"
                  }
                },
                "required": [
                  "type",
                  "cardtype",
                  "url"
                ]
              }
            }
          }
        },
        "x-zuplo-route": {
          "corsPolicy": "portal-cors",
          "handler": {
            "export": "urlRewriteHandler",
            "module": "$import(@zuplo/runtime)",
            "options": {
              "rewritePattern": "${env.VIA_API_BASE_URL}/partner/v1/${context.custom.partnerId}/webhook/board/register"
            }
          },
          "policies": {
            "inbound": [
              "api-key-inbound",
              "validate-partner",
              "format-cardtype"
            ]
          }
        },
        "operationId": "register_webhook_type",
        "responses": {
          "204": {
            "description": "Webhook registered for the object type on every board the partnership shares. Registering the same subscription twice is ignored."
          },
          "404": {
            "description": "Partner code unknown or no boards for the type (plain text).",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "e1": {
                    "value": "Partner not found."
                  },
                  "e2": {
                    "value": "No boards found for cardtype: segment"
                  }
                }
              }
            }
          },
          "422": {
            "description": "Validation error (plain text).",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "e1": {
                    "value": "cardtype is required"
                  },
                  "e2": {
                    "value": "invalid cardType"
                  },
                  "e3": {
                    "value": "type is required"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/webhooks/{partnercode}/{cardid}/{type}": {
      "x-zuplo-path": {
        "pathMode": "open-api"
      },
      "delete": {
        "tags": [
          "Webhooks"
        ],
        "summary": "Webhooks - Remove Object",
        "description": "Remove a previously registered object webhook. Remove a registered webhooks for the specific object specified.",
        "parameters": [
          {
            "$ref": "#/components/parameters/partnercode"
          },
          {
            "$ref": "#/components/parameters/cardid"
          },
          {
            "$ref": "#/components/parameters/type"
          }
        ],
        "x-zuplo-route": {
          "corsPolicy": "portal-cors",
          "handler": {
            "export": "urlRewriteHandler",
            "module": "$import(@zuplo/runtime)",
            "options": {
              "rewritePattern": "${env.VIA_API_BASE_URL}/partner/v1/${context.custom.partnerId}/webhook/${params.cardid}/${params.type}"
            }
          },
          "policies": {
            "inbound": [
              "api-key-inbound",
              "validate-partner"
            ]
          }
        },
        "operationId": "remove_webhook_object",
        "responses": {
          "204": {
            "description": "Webhook removed."
          },
          "404": {
            "description": "Partner code, card or webhook unknown (plain text).",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "e1": {
                    "value": "Partner not found."
                  },
                  "e2": {
                    "value": "Card not found"
                  },
                  "e3": {
                    "value": "No webhooks found for type: gps"
                  }
                }
              }
            }
          },
          "422": {
            "description": "Only `update`, `archive`, `gps` and `hos` registrations can be removed by this route (plain text).",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "e1": {
                    "value": "Invalid type"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/webhooks/{partnercode}/type/{cardtype}/{type}": {
      "x-zuplo-path": {
        "pathMode": "open-api"
      },
      "delete": {
        "tags": [
          "Webhooks"
        ],
        "summary": "Webhooks - Remove Type",
        "description": "Remove a previously registered type webhook. All registered webhooks for objects of the specified type will be removed.",
        "parameters": [
          {
            "$ref": "#/components/parameters/partnercode"
          },
          {
            "$ref": "#/components/parameters/cardtype"
          },
          {
            "$ref": "#/components/parameters/type"
          }
        ],
        "x-zuplo-route": {
          "corsPolicy": "portal-cors",
          "handler": {
            "export": "urlRewriteHandler",
            "module": "$import(@zuplo/runtime)",
            "options": {
              "rewritePattern": "${env.VIA_API_BASE_URL}/partner/v1/${context.custom.partnerId}/webhook/board/${params.cardtype}/${params.type}"
            }
          },
          "policies": {
            "inbound": [
              "api-key-inbound",
              "validate-partner",
              "format-cardtype"
            ]
          }
        },
        "operationId": "remove_webhook_type",
        "responses": {
          "204": {
            "description": "Type-level webhook removed from every shared board."
          },
          "404": {
            "description": "Partner code unknown or no boards for the type (plain text).",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "e1": {
                    "value": "Partner not found."
                  },
                  "e2": {
                    "value": "No boards found for cardtype: segment"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/partner/{partnercode}/tractors/{tractorguid}/Event": {
      "x-zuplo-path": {
        "pathMode": "open-api"
      },
      "get": {
        "tags": [
          "Partners"
        ],
        "summary": "Tractors - Get Performance Events",
        "description": "Get historical performance events for a specific tractor (vehicle).",
        "parameters": [
          {
            "$ref": "#/components/parameters/partnercode"
          },
          {
            "$ref": "#/components/parameters/tractorguid"
          },
          {
            "$ref": "#/components/parameters/page"
          },
          {
            "$ref": "#/components/parameters/startdate"
          }
        ],
        "x-zuplo-route": {
          "corsPolicy": "portal-cors",
          "handler": {
            "export": "urlRewriteHandler",
            "module": "$import(@zuplo/runtime)",
            "options": {
              "rewritePattern": "https://mp.viaboards.com/"
            }
          },
          "policies": {
            "inbound": [
              "api-key-inbound",
              "change-method-inbound-post",
              "set-headers-inbound-proxy",
              "validate-partner",
              "query-tractor-performanceevents"
            ],
            "outbound": [
              "format-via-performanceactor"
            ]
          },
          "mcp": {
            "type": "tool",
            "name": "get_tractor_performance_events",
            "description": "Get performance events recorded for a tractor. Requires the partner's code (the company whose data you are reading, e.g. MIST); call get_active_partners first if you do not have it.",
            "enabled": true,
            "annotations": {
              "title": "Tractors: Get Performance Events",
              "readOnlyHint": true,
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": false
            }
          }
        },
        "operationId": "get_tractor_performance_events",
        "responses": {
          "200": {
            "description": "Performance events for the tractor, newest first.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "./v1/schemas/PerformanceEvent.json"
                  }
                },
                "examples": {
                  "default": {
                    "$ref": "./v1/examples/GetTractorPerformanceEvents.json"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PartnerError"
          },
          "401": {
            "description": "Either the API key is missing/invalid (problem JSON, see ApiKeyUnauthorized) or your company is not authorized for this partner (plain text `Not authorized to partner.` / `Not authorized.`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Not authorized to partner."
              }
            }
          },
          "404": {
            "description": "No matching records (plain text `No events found.`), or the partner code is unknown (`Partner not found.`).",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "noResults": {
                    "value": "No events found."
                  },
                  "partnerNotFound": {
                    "value": "Partner not found."
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/partner/{partnercode}/loads/{loadid}/stops/{stopid}/arrive": {
      "x-zuplo-path": {
        "pathMode": "open-api"
      },
      "put": {
        "tags": [
          "Carriers"
        ],
        "summary": "Loads - Arrive Stop",
        "description": "Arrive a specified stop on a Load.",
        "parameters": [
          {
            "$ref": "#/components/parameters/partnercode"
          },
          {
            "name": "loadid",
            "in": "path",
            "description": "Unique guid of the load",
            "required": true,
            "schema": {
              "type": "string"
            },
            "examples": {
              "example": {
                "value": "R29igtNJ5qQxaA2ST"
              }
            }
          },
          {
            "name": "stopid",
            "in": "path",
            "description": "Unique guid of the stop to arrive",
            "required": true,
            "schema": {
              "type": "string"
            },
            "examples": {
              "example": {
                "value": "XRf4xTrLwjwL6LO4Ax"
              }
            }
          },
          {
            "name": "arrivalTime",
            "in": "query",
            "description": "Date and time that the stop was arrived in local time (format YYYY-MM-ddTHH:mm:ss)",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "examples": {
              "example": {
                "value": "2022-01-01T23:07:00"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Arrival recorded.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Result returned by the processing workflow. Its fields depend on the partner's configuration; treat the HTTP status as the outcome and the body as informational.",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PartnerError"
          },
          "401": {
            "description": "Either the API key is missing/invalid (problem JSON, see ApiKeyUnauthorized) or your company is not authorized for this partner (plain text `Not authorized to partner.` / `Not authorized.`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Not authorized to partner."
              }
            }
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Validation Error"
          }
        },
        "x-zuplo-route": {
          "corsPolicy": "portal-cors",
          "handler": {
            "export": "urlRewriteHandler",
            "module": "$import(@zuplo/runtime)",
            "options": {
              "rewritePattern": "https://automate.tranztec.com/webhook/arrivestop?environment=${env.VIA_MP_ENV}"
            }
          },
          "policies": {
            "inbound": [
              "api-key-inbound",
              "validate-partner",
              "validate-segmentarrive"
            ]
          }
        },
        "operationId": "arrive_stop"
      }
    },
    "/v1/partner/{partnercode}/loads/{loadid}/attachments/": {
      "x-zuplo-path": {
        "pathMode": "open-api"
      },
      "post": {
        "tags": [
          "Carriers"
        ],
        "summary": "Loads - Add Attachment",
        "description": "Add an attachment to a specified load.",
        "parameters": [
          {
            "$ref": "#/components/parameters/partnercode"
          },
          {
            "name": "loadid",
            "in": "path",
            "description": "Unique guid of the load",
            "required": true,
            "schema": {
              "type": "string"
            },
            "examples": {
              "example": {
                "value": "R29igtNJ5qQxaA2ST"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Attachment stored on the load.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Result returned by the processing workflow. Its fields depend on the partner's configuration; treat the HTTP status as the outcome and the body as informational.",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PartnerError"
          },
          "401": {
            "description": "Missing/invalid API key (problem JSON), partnership not authorized (plain text), or the operation is gated by the sandbox limit (problem JSON `Sandbox Limit`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "./v1/schemas/SandboxLimit.json"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Not authorized to partner."
              }
            }
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Validation Error"
          }
        },
        "x-zuplo-route": {
          "corsPolicy": "portal-cors",
          "handler": {
            "export": "urlRewriteHandler",
            "module": "$import(@zuplo/runtime)",
            "options": {
              "rewritePattern": "https://automate.tranztec.com/webhook-test/addattachment?environment=${env.VIA_MP_ENV}"
            }
          },
          "policies": {
            "inbound": [
              "api-key-inbound",
              "validate-partner",
              "validate-addattachment",
              "limit-sandbox-inbound"
            ]
          }
        },
        "operationId": "add_load_attachment",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "fileName",
                  "mimeType",
                  "docType"
                ],
                "properties": {
                  "docType": {
                    "type": "string",
                    "description": "Document type for the attachment."
                  },
                  "mimeType": {
                    "type": "string",
                    "description": "Mime type for the file.",
                    "minLength": 1,
                    "maxLength": 10000
                  },
                  "fileUrl": {
                    "type": "string",
                    "description": "URL to the file attachment. Should not be used with data.",
                    "minLength": 1,
                    "maxLength": 10000
                  },
                  "data": {
                    "type": "string",
                    "description": "Base-64 encoded copy of the file. Should not be used with fileUrl. ",
                    "minLength": 1,
                    "maxLength": 10000
                  }
                },
                "description": "Provide either `fileUrl` or base-64 `data`, not both."
              },
              "examples": {
                "internal": {
                  "value": {
                    "fileName": "someimage.jpg",
                    "docType": "BOL",
                    "fileUrl": "https://somewebsite.com/someimage.jpg",
                    "mimeType": "image/jpeg"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/partner/{partnercode}/utility/{id}/syncexternaldocuments": {
      "x-zuplo-path": {
        "pathMode": "open-api"
      },
      "get": {
        "tags": [
          "Utilities"
        ],
        "summary": "Utilities - Sync External Documents",
        "description": "Triggers retrieval of additional documents from configured external integrations on the partner company. Sync is asynchronous; a 202 response means the request was accepted, not that documents are ready. Poll the object after a short wait to check for new attachments.",
        "parameters": [
          {
            "$ref": "#/components/parameters/partnercode"
          },
          {
            "$ref": "#/components/parameters/id"
          }
        ],
        "responses": {
          "202": {
            "description": "Synchronisation started; documents arrive on the card asynchronously.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "./v1/schemas/SyncStarted.json"
                },
                "example": {
                  "message": "External document sync started"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Your partner role lacks the external-documents permission (plain text).",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "e1": {
                    "value": "Permission denied"
                  }
                }
              }
            }
          },
          "404": {
            "description": "Partner code or card unknown (plain text).",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "e1": {
                    "value": "Partner not found."
                  },
                  "e2": {
                    "value": "Card not found"
                  }
                }
              }
            }
          },
          "422": {
            "description": "No external document integration is configured for the partner.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "message": "No external document integrations configured"
                }
              }
            }
          }
        },
        "x-zuplo-route": {
          "corsPolicy": "portal-cors",
          "handler": {
            "export": "urlRewriteHandler",
            "module": "$import(@zuplo/runtime)",
            "options": {
              "rewritePattern": "${env.VIA_API_BASE_URL}/partner/v1/${context.custom.partnerId}/cards/${params.id}/syncexternaldocuments"
            }
          },
          "policies": {
            "inbound": [
              "api-key-inbound",
              "validate-partner"
            ]
          }
        },
        "operationId": "sync_external_documents"
      }
    },
    "/v1/partner/{partnercode}/loads/{loadid}/notes/": {
      "x-zuplo-path": {
        "pathMode": "open-api"
      },
      "post": {
        "tags": [
          "Carriers"
        ],
        "summary": "Loads - Add Note",
        "description": "Add a note to a specific load.",
        "parameters": [
          {
            "$ref": "#/components/parameters/partnercode"
          },
          {
            "$ref": "#/components/parameters/loadid"
          }
        ],
        "x-zuplo-route": {
          "corsPolicy": "portal-cors",
          "handler": {
            "export": "urlRewriteHandler",
            "module": "$import(@zuplo/runtime)",
            "options": {
              "rewritePattern": "https://automate.tranztec.com/webhook/addnote?environment=${env.VIA_MP_ENV}"
            }
          },
          "policies": {
            "inbound": [
              "api-key-inbound",
              "validate-partner",
              "validate-addnote"
            ]
          }
        },
        "operationId": "add_load_note",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "noteType",
                  "noteBody"
                ],
                "properties": {
                  "noteType": {
                    "type": "string",
                    "description": "Type/category of the note."
                  },
                  "noteBody": {
                    "type": "string",
                    "description": "Full note text.",
                    "minLength": 1,
                    "maxLength": 10000
                  }
                }
              },
              "examples": {
                "internal": {
                  "value": {
                    "noteType": "USERCODE",
                    "noteBody": "Called shipper; updated appointment window to 2–4 PM."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Note added to the load.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Result returned by the processing workflow. Its fields depend on the partner's configuration; treat the HTTP status as the outcome and the body as informational.",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PartnerError"
          },
          "401": {
            "description": "Either the API key is missing/invalid (problem JSON, see ApiKeyUnauthorized) or your company is not authorized for this partner (plain text `Not authorized to partner.` / `Not authorized.`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Not authorized to partner."
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/PartnerNotFound"
          }
        }
      }
    },
    "/v1/partner/{partnercode}/loads/{loadid}/": {
      "x-zuplo-path": {
        "pathMode": "open-api"
      },
      "put": {
        "tags": [
          "Carriers"
        ],
        "summary": "Loads - Update Load",
        "description": "Update the details of a specific load segment by ID.",
        "parameters": [
          {
            "$ref": "#/components/parameters/partnercode"
          },
          {
            "$ref": "#/components/parameters/loadid"
          }
        ],
        "x-zuplo-route": {
          "corsPolicy": "portal-cors",
          "handler": {
            "export": "urlRewriteHandler",
            "module": "$import(@zuplo/runtime)",
            "options": {
              "rewritePattern": "https://automate.tranztec.com/webhook/updatesegment?environment=${env.VIA_MP_ENV}"
            }
          },
          "policies": {
            "inbound": [
              "api-key-inbound",
              "validate-partner",
              "validate-segmentupdate-n8n"
            ]
          }
        },
        "operationId": "update_load",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [],
                "properties": {
                  "title": {
                    "type": "string",
                    "description": "Title of the load segment (optional)"
                  },
                  "carddata": {
                    "type": "object",
                    "description": "Load segment card data payload.",
                    "properties": {
                      "OriginCity": {
                        "type": "string"
                      },
                      "OriginState": {
                        "type": "string"
                      },
                      "OriginZipCode": {
                        "type": "string"
                      },
                      "LineHaul": {
                        "type": "number"
                      },
                      "DestinationCity": {
                        "type": "string"
                      },
                      "DestinationState": {
                        "type": "string"
                      },
                      "DestinationZipCode": {
                        "type": "string"
                      },
                      "EquipmentType": {
                        "type": "string"
                      },
                      "OriginCountry": {
                        "type": "string"
                      },
                      "DestinationCountry": {
                        "type": "string"
                      },
                      "DestinationCompany": {
                        "type": "string"
                      },
                      "DestinationCompanyId": {
                        "type": "integer",
                        "nullable": true
                      },
                      "DestinationEarliest": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "DestinationLatest": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "DestinationPhone": {
                        "type": "string"
                      },
                      "FlatRate": {
                        "type": "number"
                      },
                      "OriginCompany": {
                        "type": "string"
                      },
                      "OriginCompanyId": {
                        "type": "integer",
                        "nullable": true
                      },
                      "OriginEarliest": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "OriginLatest": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "OriginPhone": {
                        "type": "string"
                      },
                      "DeclaredValue": {
                        "type": "number"
                      },
                      "PriceMargin": {
                        "type": "string"
                      },
                      "PriceMarginPercentToggle": {
                        "type": "string"
                      },
                      "SegmentCost": {
                        "type": "number"
                      },
                      "TargetPrice": {
                        "type": "number"
                      }
                    }
                  },
                  "hasError": {
                    "type": "boolean",
                    "description": "Indicates that the load segment has an error message. (optional)"
                  },
                  "errorMsg": {
                    "type": "string",
                    "description": "Display text of the error message if hasError is true. (optional)"
                  },
                  "errorType": {
                    "type": "string",
                    "description": "Error type."
                  },
                  "refType": {
                    "type": "string",
                    "description": "Type of reference number."
                  },
                  "refNumber": {
                    "type": "string",
                    "description": "Full reference number.",
                    "minLength": 1,
                    "maxLength": 32
                  }
                }
              },
              "examples": {
                "internal": {
                  "value": {
                    "title": "26054002 - test",
                    "carddata": {
                      "OriginCity": "| City |",
                      "OriginState": "| State |",
                      "OriginZipCode": "",
                      "LineHaul": 0,
                      "DestinationCity": "| City |",
                      "DestinationState": "| State |",
                      "DestinationZipCode": "",
                      "EquipmentType": "",
                      "OriginCountry": "",
                      "DestinationCountry": "",
                      "DestinationCompany": "",
                      "DestinationCompanyId": null,
                      "DestinationEarliest": "2026-02-24T04:23:16.000Z",
                      "DestinationLatest": "2026-02-24T04:23:16.000Z",
                      "DestinationPhone": "",
                      "FlatRate": 0,
                      "OriginCompany": "",
                      "OriginCompanyId": null,
                      "OriginEarliest": "2026-02-24T04:23:16.000Z",
                      "OriginLatest": "2026-02-24T04:23:16.000Z",
                      "OriginPhone": "",
                      "DeclaredValue": 0,
                      "PriceMargin": "0.00",
                      "PriceMarginPercentToggle": "USD",
                      "SegmentCost": 0,
                      "TargetPrice": 0
                    },
                    "errorMsg": "Destination must have an address",
                    "errorType": "Error",
                    "hasError": false
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Load updated.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Result returned by the processing workflow. Its fields depend on the partner's configuration; treat the HTTP status as the outcome and the body as informational.",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PartnerError"
          },
          "401": {
            "description": "Either the API key is missing/invalid (problem JSON, see ApiKeyUnauthorized) or your company is not authorized for this partner (plain text `Not authorized to partner.` / `Not authorized.`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Not authorized to partner."
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/PartnerNotFound"
          }
        }
      }
    },
    "/v1/partner/{partnercode}/loads": {
      "x-zuplo-path": {
        "pathMode": "open-api"
      },
      "get": {
        "tags": [
          "Carriers"
        ],
        "summary": "Loads - Get Loads",
        "parameters": [
          {
            "$ref": "#/components/parameters/partnercode"
          },
          {
            "$ref": "#/components/parameters/page"
          },
          {
            "name": "refNumber",
            "in": "query",
            "required": false,
            "description": "Filter loads by exact reference number match. The reference number must match exactly (case-sensitive).",
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 100
            },
            "examples": {
              "example1": {
                "value": "BOL-12345"
              },
              "example2": {
                "value": "AA-123942-Z"
              }
            }
          }
        ],
        "description": "Get a list of load segments for a specific partner.",
        "x-zuplo-route": {
          "corsPolicy": "portal-cors",
          "handler": {
            "export": "urlRewriteHandler",
            "module": "$import(@zuplo/runtime)",
            "options": {
              "rewritePattern": "https://mp.viaboards.com/"
            }
          },
          "policies": {
            "inbound": [
              "api-key-inbound",
              "change-method-inbound-post",
              "set-headers-inbound-proxy",
              "validate-partner",
              "query-segments"
            ]
          },
          "mcp": {
            "type": "tool",
            "name": "get_loads",
            "description": "List loads for a partner.",
            "enabled": true,
            "annotations": {
              "title": "Loads: Get Loads",
              "readOnlyHint": true,
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": false
            }
          }
        },
        "operationId": "get_loads",
        "responses": {
          "200": {
            "description": "Loads (segments) for the partner as stored card documents, 100 per page.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "./v1/schemas/CardDocument.json"
                  }
                },
                "examples": {
                  "default": {
                    "$ref": "./v1/examples/GetLoads.json"
                  }
                }
              }
            }
          },
          "400": {
            "description": "`page` was not a positive integer (plain text), or the partnership could not be evaluated (`Error processing request.`).",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "page": {
                    "value": "Page parameter must be a positive integer"
                  },
                  "partner": {
                    "value": "Error processing request."
                  }
                }
              }
            }
          },
          "401": {
            "description": "Either the API key is missing/invalid (problem JSON, see ApiKeyUnauthorized) or your company is not authorized for this partner (plain text `Not authorized to partner.` / `Not authorized.`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Not authorized to partner."
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/PartnerNotFound"
          }
        }
      }
    },
    "/v1/partner/{partnercode}/loads/{loadid}/stops/{stopid}/depart": {
      "x-zuplo-path": {
        "pathMode": "open-api"
      },
      "put": {
        "tags": [
          "Carriers"
        ],
        "summary": "Loads - Depart Stop",
        "description": "Depart a specified stop on a Load.",
        "parameters": [
          {
            "$ref": "#/components/parameters/partnercode"
          },
          {
            "name": "loadid",
            "in": "path",
            "description": "Unique guid of the load",
            "required": true,
            "schema": {
              "type": "string"
            },
            "examples": {
              "example": {
                "value": "R29igtNJ5qQxaA2ST"
              }
            }
          },
          {
            "name": "stopid",
            "in": "path",
            "description": "Unique guid of the stop to depart",
            "required": true,
            "schema": {
              "type": "string"
            },
            "examples": {
              "example": {
                "value": "XRf4xTrLwjwL6LO4Ax"
              }
            }
          },
          {
            "name": "departureTime",
            "in": "query",
            "description": "Date and time that the stop was departed in local time (format YYYY-MM-ddTHH:mm:ss)",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "examples": {
              "example": {
                "value": "2022-01-01T23:07:00"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Departure recorded.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Result returned by the processing workflow. Its fields depend on the partner's configuration; treat the HTTP status as the outcome and the body as informational.",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PartnerError"
          },
          "401": {
            "description": "Either the API key is missing/invalid (problem JSON, see ApiKeyUnauthorized) or your company is not authorized for this partner (plain text `Not authorized to partner.` / `Not authorized.`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Not authorized to partner."
              }
            }
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Validation Error"
          }
        },
        "x-zuplo-route": {
          "corsPolicy": "portal-cors",
          "handler": {
            "export": "urlRewriteHandler",
            "module": "$import(@zuplo/runtime)",
            "options": {
              "rewritePattern": "https://automate.tranztec.com/webhook/departstop?environment=${env.VIA_MP_ENV}"
            }
          },
          "policies": {
            "inbound": [
              "api-key-inbound",
              "validate-partner",
              "validate-segmentdepart"
            ]
          }
        },
        "operationId": "depart_stop"
      }
    },
    "/v1/partner/{partnercode}/loads/{loadid}/stops/{stopid}": {
      "x-zuplo-path": {
        "pathMode": "open-api"
      },
      "put": {
        "tags": [
          "Carriers"
        ],
        "summary": "Loads - Update Stop",
        "description": "Update a specified stop on a Load.",
        "parameters": [
          {
            "$ref": "#/components/parameters/partnercode"
          },
          {
            "name": "loadid",
            "in": "path",
            "description": "Unique guid of the load",
            "required": true,
            "schema": {
              "type": "string"
            },
            "examples": {
              "example": {
                "value": "R29igtNJ5qQxaA2ST"
              }
            }
          },
          {
            "name": "stopid",
            "in": "path",
            "description": "Unique guid of the stop to update",
            "required": true,
            "schema": {
              "type": "string"
            },
            "examples": {
              "example": {
                "value": "XRf4xTrLwjwL6LO4Ax"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Stop updated.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Result returned by the processing workflow. Its fields depend on the partner's configuration; treat the HTTP status as the outcome and the body as informational.",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PartnerError"
          },
          "401": {
            "description": "Either the API key is missing/invalid (problem JSON, see ApiKeyUnauthorized) or your company is not authorized for this partner (plain text `Not authorized to partner.` / `Not authorized.`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Not authorized to partner."
              }
            }
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Validation Error"
          }
        },
        "x-zuplo-route": {
          "corsPolicy": "portal-cors",
          "handler": {
            "export": "urlRewriteHandler",
            "module": "$import(@zuplo/runtime)",
            "options": {
              "rewritePattern": "https://automate.tranztec.com/webhook/updatestop?environment=${env.VIA_MP_ENV}"
            }
          },
          "policies": {
            "inbound": [
              "api-key-inbound",
              "validate-partner",
              "validate-stopupdate"
            ]
          }
        },
        "operationId": "update_stop"
      }
    },
    "/v1/partner/{partnercode}/locations/{id}": {
      "x-zuplo-path": {
        "pathMode": "open-api"
      },
      "delete": {
        "tags": [
          "Partners"
        ],
        "summary": "Locations - Delete Location",
        "description": "Archive (delete) a location card by id.",
        "parameters": [
          {
            "$ref": "#/components/parameters/partnercode"
          },
          {
            "name": "id",
            "in": "path",
            "description": "The location card id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Success"
          },
          "403": {
            "description": "Forbidden - insufficient permissions"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Validation Error"
          }
        },
        "x-zuplo-route": {
          "corsPolicy": "portal-cors",
          "handler": {
            "export": "urlRewriteHandler",
            "module": "$import(@zuplo/runtime)",
            "options": {
              "rewritePattern": "${env.VIA_API_BASE_URL}/partner/v1/${context.custom.partnerId}/locations/${params.id}"
            }
          },
          "policies": {
            "inbound": [
              "api-key-inbound",
              "validate-partner"
            ]
          }
        },
        "operationId": "delete_location"
      },
      "put": {
        "tags": [
          "Customers"
        ],
        "summary": "Locations - Update Location",
        "description": "Update a location card by id. Optional role-specific data may be supplied under Roles (Shipper, Consignee, BillTo, Terminal, TruckStop, Agent, WashFacility). Partner-network role permissions determine which fields may be updated.",
        "parameters": [
          {
            "$ref": "./v1/parameters/partnercode.json"
          },
          {
            "name": "id",
            "in": "path",
            "description": "The location card id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "./v1/schemas/UpdateLocationRequest.json"
              }
            }
          }
        },
        "x-zuplo-route": {
          "corsPolicy": "portal-cors",
          "handler": {
            "export": "urlRewriteHandler",
            "module": "$import(@zuplo/runtime)",
            "options": {
              "rewritePattern": "${env.VIA_API_BASE_URL}/partner/v1/${context.custom.partnerId}/locations/${params.id}"
            }
          },
          "policies": {
            "inbound": [
              "api-key-inbound",
              "validate-partner",
              "validate-update-location-request",
              "format-inbound-create-location-via"
            ],
            "outbound": [
              "format-outbound-create-location-via"
            ]
          }
        },
        "responses": {
          "200": {
            "description": "Location successfully updated",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "ok"
                    }
                  }
                }
              }
            }
          },
          "207": {
            "description": "Location updated with permission warnings for denied fields",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "./v1/schemas/CreateLocationResponse.json"
                },
                "examples": {
                  "partialSuccess": {
                    "$ref": "./v1/examples/CreateLocationResponse.partialSuccess.json"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized - Invalid or missing API key"
          },
          "403": {
            "description": "Forbidden - insufficient permissions"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Validation Error"
          }
        },
        "operationId": "update_location"
      }
    },
    "/v1/partner/{partnercode}/locations/{id}/roles/{role}": {
      "x-zuplo-path": {
        "pathMode": "open-api"
      },
      "delete": {
        "tags": [
          "Partners"
        ],
        "summary": "Locations - Disable Location Role",
        "description": "Disables the specified role on a partner location card. **Warning:** Removing a role permanently deletes all data associated with that role (role-specific address and contact fields, required attributes, hours of operation, billing settings, etc.). This action cannot be undone via the API.",
        "parameters": [
          {
            "$ref": "#/components/parameters/partnercode"
          },
          {
            "name": "id",
            "in": "path",
            "description": "The location card id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/locationrole"
          }
        ],
        "responses": {
          "204": {
            "description": "Success"
          },
          "403": {
            "description": "Forbidden - insufficient permissions"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Validation Error"
          }
        },
        "x-zuplo-route": {
          "corsPolicy": "portal-cors",
          "handler": {
            "export": "urlRewriteHandler",
            "module": "$import(@zuplo/runtime)",
            "options": {
              "rewritePattern": "${env.VIA_API_BASE_URL}/partner/v1/${context.custom.partnerId}/locations/${params.id}/roles/${params.role}"
            }
          },
          "policies": {
            "inbound": [
              "api-key-inbound",
              "validate-partner"
            ]
          }
        },
        "operationId": "disable_location_role"
      }
    },
    "/v1/partner/{partnercode}/options/equipmenttypes": {
      "x-zuplo-path": {
        "pathMode": "open-api"
      },
      "get": {
        "tags": [
          "Dropdown Options"
        ],
        "summary": "Dropdown Options - Get Equipment Types",
        "description": "Returns a list of valid Options / Dropdown Options for Equipment Type for a specific partner.",
        "parameters": [
          {
            "$ref": "#/components/parameters/partnercode"
          }
        ],
        "responses": {
          "200": {
            "description": "The partner's equipment types. Send `Abbr` in requests.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "./v1/schemas/SelectOption.json"
                  }
                },
                "examples": {
                  "default": {
                    "$ref": "./v1/examples/SelectOptions.json"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Partner code unknown, or the partner is not API-enabled (plain text).",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "e1": {
                    "value": "Partner not found."
                  },
                  "e2": {
                    "value": "API enabled partner not found"
                  }
                }
              }
            }
          }
        },
        "x-zuplo-route": {
          "corsPolicy": "portal-cors",
          "handler": {
            "export": "urlRewriteHandler",
            "module": "$import(@zuplo/runtime)",
            "options": {
              "rewritePattern": "${env.VIA_API_BASE_URL}/partner/v1/${context.custom.partnerId}/equipmenttypes"
            }
          },
          "policies": {
            "inbound": [
              "api-key-inbound",
              "validate-partner"
            ]
          },
          "mcp": {
            "type": "tool",
            "name": "get_equipment_types",
            "description": "List valid equipment type dropdown options for a partner.",
            "enabled": true,
            "annotations": {
              "title": "Dropdown Options: Get Equipment Types",
              "readOnlyHint": true,
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": false
            }
          }
        },
        "operationId": "get_equipment_types"
      }
    },
    "/v1/partner/{partnercode}/options/servicetypes": {
      "x-zuplo-path": {
        "pathMode": "open-api"
      },
      "get": {
        "tags": [
          "Dropdown Options"
        ],
        "summary": "Dropdown Options - Get Service Types",
        "description": "Returns a list of valid Options / Dropdown Options for Service Type for a specific partner.",
        "parameters": [
          {
            "$ref": "#/components/parameters/partnercode"
          }
        ],
        "responses": {
          "200": {
            "description": "The partner's service types. Send `Abbr` in requests.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "./v1/schemas/SelectOption.json"
                  }
                },
                "examples": {
                  "default": {
                    "$ref": "./v1/examples/SelectOptions.json"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Partner code unknown, or the partner is not API-enabled (plain text).",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "e1": {
                    "value": "Partner not found."
                  },
                  "e2": {
                    "value": "API enabled partner not found"
                  }
                }
              }
            }
          }
        },
        "x-zuplo-route": {
          "corsPolicy": "portal-cors",
          "handler": {
            "export": "urlRewriteHandler",
            "module": "$import(@zuplo/runtime)",
            "options": {
              "rewritePattern": "${env.VIA_API_BASE_URL}/partner/v1/${context.custom.partnerId}/servicetypes"
            }
          },
          "policies": {
            "inbound": [
              "api-key-inbound",
              "validate-partner"
            ]
          },
          "mcp": {
            "type": "tool",
            "name": "get_service_types",
            "description": "List valid service type dropdown options for a partner.",
            "enabled": true,
            "annotations": {
              "title": "Dropdown Options: Get Service Types",
              "readOnlyHint": true,
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": false
            }
          }
        },
        "operationId": "get_service_types"
      }
    },
    "/v1/partner/{partnercode}/options/referencetypes": {
      "x-zuplo-path": {
        "pathMode": "open-api"
      },
      "get": {
        "tags": [
          "Dropdown Options"
        ],
        "summary": "Dropdown Options - Get Reference Types",
        "description": "Returns a list of valid Options / Dropdown Options for Reference Type for a specific partner.",
        "parameters": [
          {
            "$ref": "#/components/parameters/partnercode"
          }
        ],
        "responses": {
          "200": {
            "description": "The partner's reference types. Send `Abbr` in requests.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "./v1/schemas/SelectOption.json"
                  }
                },
                "examples": {
                  "default": {
                    "$ref": "./v1/examples/SelectOptions.json"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Partner code unknown, or the partner is not API-enabled (plain text).",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "e1": {
                    "value": "Partner not found."
                  },
                  "e2": {
                    "value": "API enabled partner not found"
                  }
                }
              }
            }
          }
        },
        "x-zuplo-route": {
          "corsPolicy": "portal-cors",
          "handler": {
            "export": "urlRewriteHandler",
            "module": "$import(@zuplo/runtime)",
            "options": {
              "rewritePattern": "${env.VIA_API_BASE_URL}/partner/v1/${context.custom.partnerId}/referencetypes"
            }
          },
          "policies": {
            "inbound": [
              "api-key-inbound",
              "validate-partner"
            ]
          }
        },
        "operationId": "get_reference_types"
      }
    },
    "/v1/partner/{partnercode}/options/notetypes": {
      "x-zuplo-path": {
        "pathMode": "open-api"
      },
      "get": {
        "tags": [
          "Dropdown Options"
        ],
        "summary": "Dropdown Options - Get Note Types",
        "description": "Returns a list of valid Options / Dropdown Options for Note Type for a specific partner.",
        "parameters": [
          {
            "$ref": "#/components/parameters/partnercode"
          }
        ],
        "responses": {
          "200": {
            "description": "The partner's note types. Send `Abbr` in requests.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "./v1/schemas/SelectOption.json"
                  }
                },
                "examples": {
                  "default": {
                    "$ref": "./v1/examples/SelectOptions.json"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Partner code unknown, or the partner is not API-enabled (plain text).",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "e1": {
                    "value": "Partner not found."
                  },
                  "e2": {
                    "value": "API enabled partner not found"
                  }
                }
              }
            }
          }
        },
        "x-zuplo-route": {
          "corsPolicy": "portal-cors",
          "handler": {
            "export": "urlRewriteHandler",
            "module": "$import(@zuplo/runtime)",
            "options": {
              "rewritePattern": "${env.VIA_API_BASE_URL}/partner/v1/${context.custom.partnerId}/notetypes"
            }
          },
          "policies": {
            "inbound": [
              "api-key-inbound",
              "validate-partner"
            ]
          },
          "mcp": {
            "type": "tool",
            "name": "get_note_types",
            "description": "List valid note type dropdown options for a partner.",
            "enabled": true,
            "annotations": {
              "title": "Dropdown Options: Get Note Types",
              "readOnlyHint": true,
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": false
            }
          }
        },
        "operationId": "get_note_types"
      }
    },
    "/v1/partner/{partnercode}/options/trailerstatuses": {
      "x-zuplo-path": {
        "pathMode": "open-api"
      },
      "get": {
        "tags": [
          "Dropdown Options"
        ],
        "summary": "Dropdown Options - Get Trailer Statuses",
        "description": "Returns a list of valid Options / Dropdown Options for Trailer Status for a specific partner.",
        "parameters": [
          {
            "$ref": "#/components/parameters/partnercode"
          }
        ],
        "responses": {
          "200": {
            "description": "The partner's trailer statuses. Send `Abbr` in requests.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "./v1/schemas/SelectOption.json"
                  }
                },
                "examples": {
                  "default": {
                    "$ref": "./v1/examples/SelectOptions.json"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Partner code unknown, or the partner is not API-enabled (plain text).",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "e1": {
                    "value": "Partner not found."
                  },
                  "e2": {
                    "value": "API enabled partner not found"
                  }
                }
              }
            }
          }
        },
        "x-zuplo-route": {
          "corsPolicy": "portal-cors",
          "handler": {
            "export": "urlRewriteHandler",
            "module": "$import(@zuplo/runtime)",
            "options": {
              "rewritePattern": "${env.VIA_API_BASE_URL}/partner/v1/${context.custom.partnerId}/trailerstatuses"
            }
          },
          "policies": {
            "inbound": [
              "api-key-inbound",
              "validate-partner"
            ]
          },
          "mcp": {
            "type": "tool",
            "name": "get_trailer_statuses",
            "description": "List valid trailer status dropdown options for a partner.",
            "enabled": true,
            "annotations": {
              "title": "Dropdown Options: Get Trailer Statuses",
              "readOnlyHint": true,
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": false
            }
          }
        },
        "operationId": "get_trailer_statuses"
      }
    },
    "/v1/partner/{partnercode}/options/tractorstatuses": {
      "x-zuplo-path": {
        "pathMode": "open-api"
      },
      "get": {
        "tags": [
          "Dropdown Options"
        ],
        "summary": "Dropdown Options - Get Tractor Statuses",
        "description": "Returns a list of valid Options / Dropdown Options for Tractor Status for a specific partner.",
        "parameters": [
          {
            "$ref": "#/components/parameters/partnercode"
          }
        ],
        "responses": {
          "200": {
            "description": "The partner's tractor statuses. Send `Abbr` in requests.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "./v1/schemas/SelectOption.json"
                  }
                },
                "examples": {
                  "default": {
                    "$ref": "./v1/examples/SelectOptions.json"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Partner code unknown, or the partner is not API-enabled (plain text).",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "e1": {
                    "value": "Partner not found."
                  },
                  "e2": {
                    "value": "API enabled partner not found"
                  }
                }
              }
            }
          }
        },
        "x-zuplo-route": {
          "corsPolicy": "portal-cors",
          "handler": {
            "export": "urlRewriteHandler",
            "module": "$import(@zuplo/runtime)",
            "options": {
              "rewritePattern": "${env.VIA_API_BASE_URL}/partner/v1/${context.custom.partnerId}/truckstatuses"
            }
          },
          "policies": {
            "inbound": [
              "api-key-inbound",
              "validate-partner"
            ]
          },
          "mcp": {
            "type": "tool",
            "name": "get_tractor_statuses",
            "description": "List valid tractor status dropdown options for a partner.",
            "enabled": true,
            "annotations": {
              "title": "Dropdown Options: Get Tractor Statuses",
              "readOnlyHint": true,
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": false
            }
          }
        },
        "operationId": "get_tractor_statuses"
      }
    },
    "/v1/partner/{partnercode}/options/commodities": {
      "x-zuplo-path": {
        "pathMode": "open-api"
      },
      "get": {
        "tags": [
          "Dropdown Options"
        ],
        "summary": "Dropdown Options - Get Commodities",
        "description": "Returns a list of valid commodities for a specific partner.",
        "parameters": [
          {
            "$ref": "#/components/parameters/partnercode"
          }
        ],
        "x-zuplo-route": {
          "corsPolicy": "portal-cors",
          "handler": {
            "export": "urlRewriteHandler",
            "module": "$import(@zuplo/runtime)",
            "options": {
              "rewritePattern": "https://automate.tranztec.com/webhook/dropdownoptions?type=commodities&environment=${env.VIA_MP_ENV}"
            }
          },
          "policies": {
            "inbound": [
              "api-key-inbound",
              "change-method-inbound-post",
              "validate-partner",
              "validate-dropdownoptions"
            ]
          },
          "mcp": {
            "type": "tool",
            "name": "get_commodities",
            "description": "List valid commodity dropdown options for a partner.",
            "enabled": true,
            "annotations": {
              "title": "Dropdown Options: Get Commodities",
              "readOnlyHint": true,
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": false
            }
          }
        },
        "operationId": "get_commodities",
        "responses": {
          "200": {
            "description": "The partner's commodities list.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "description": "Lookup values as configured for the partner.",
                  "items": {
                    "type": "object",
                    "additionalProperties": true
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PartnerError"
          },
          "401": {
            "description": "Either the API key is missing/invalid (problem JSON, see ApiKeyUnauthorized) or your company is not authorized for this partner (plain text `Not authorized to partner.` / `Not authorized.`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Not authorized to partner."
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/PartnerNotFound"
          }
        }
      }
    },
    "/v1/partner/{partnercode}/options/accessorials": {
      "x-zuplo-path": {
        "pathMode": "open-api"
      },
      "get": {
        "tags": [
          "Dropdown Options"
        ],
        "summary": "Dropdown Options - Get Accessorials",
        "description": "Returns a list of valid accessorials for a specific partner.",
        "parameters": [
          {
            "$ref": "#/components/parameters/partnercode"
          }
        ],
        "x-zuplo-route": {
          "corsPolicy": "portal-cors",
          "handler": {
            "export": "urlRewriteHandler",
            "module": "$import(@zuplo/runtime)",
            "options": {
              "rewritePattern": "https://automate.tranztec.com/webhook/dropdownoptions?type=accessorials&environment=${env.VIA_MP_ENV}"
            }
          },
          "policies": {
            "inbound": [
              "api-key-inbound",
              "change-method-inbound-post",
              "validate-partner",
              "validate-dropdownoptions"
            ]
          },
          "mcp": {
            "type": "tool",
            "name": "get_accessorials",
            "description": "List valid accessorial dropdown options for a partner.",
            "enabled": true,
            "annotations": {
              "title": "Dropdown Options: Get Accessorials",
              "readOnlyHint": true,
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": false
            }
          }
        },
        "operationId": "get_accessorials",
        "responses": {
          "200": {
            "description": "The partner's accessorials list.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "description": "Lookup values as configured for the partner.",
                  "items": {
                    "type": "object",
                    "additionalProperties": true
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PartnerError"
          },
          "401": {
            "description": "Either the API key is missing/invalid (problem JSON, see ApiKeyUnauthorized) or your company is not authorized for this partner (plain text `Not authorized to partner.` / `Not authorized.`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Not authorized to partner."
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/PartnerNotFound"
          }
        }
      }
    },
    "/v1/partner/{partnercode}/options/weightunits": {
      "x-zuplo-path": {
        "pathMode": "open-api"
      },
      "get": {
        "tags": [
          "Dropdown Options"
        ],
        "summary": "Dropdown Options - Get Weight Units",
        "description": "Returns a list of valid weight units for a specific partner.",
        "parameters": [
          {
            "$ref": "#/components/parameters/partnercode"
          }
        ],
        "x-zuplo-route": {
          "corsPolicy": "portal-cors",
          "handler": {
            "export": "urlRewriteHandler",
            "module": "$import(@zuplo/runtime)",
            "options": {
              "rewritePattern": "https://automate.tranztec.com/webhook/dropdownoptions?type=weightunits&environment=${env.VIA_MP_ENV}"
            }
          },
          "policies": {
            "inbound": [
              "api-key-inbound",
              "change-method-inbound-post",
              "validate-partner",
              "validate-dropdownoptions"
            ]
          },
          "mcp": {
            "type": "tool",
            "name": "get_weight_units",
            "description": "List valid weight unit dropdown options for a partner.",
            "enabled": true,
            "annotations": {
              "title": "Dropdown Options: Get Weight Units",
              "readOnlyHint": true,
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": false
            }
          }
        },
        "operationId": "get_weight_units",
        "responses": {
          "200": {
            "description": "The partner's weightunits list.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "description": "Lookup values as configured for the partner.",
                  "items": {
                    "type": "object",
                    "additionalProperties": true
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PartnerError"
          },
          "401": {
            "description": "Either the API key is missing/invalid (problem JSON, see ApiKeyUnauthorized) or your company is not authorized for this partner (plain text `Not authorized to partner.` / `Not authorized.`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Not authorized to partner."
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/PartnerNotFound"
          }
        }
      }
    },
    "/v1/partner/{partnercode}/options/quantityunits": {
      "x-zuplo-path": {
        "pathMode": "open-api"
      },
      "get": {
        "tags": [
          "Dropdown Options"
        ],
        "summary": "Dropdown Options - Get Quantity Units",
        "description": "Returns a list of valid quantity units for a specific partner.",
        "parameters": [
          {
            "$ref": "#/components/parameters/partnercode"
          }
        ],
        "x-zuplo-route": {
          "corsPolicy": "portal-cors",
          "handler": {
            "export": "urlRewriteHandler",
            "module": "$import(@zuplo/runtime)",
            "options": {
              "rewritePattern": "https://automate.tranztec.com/webhook/dropdownoptions?type=quantityunits&environment=${env.VIA_MP_ENV}"
            }
          },
          "policies": {
            "inbound": [
              "api-key-inbound",
              "change-method-inbound-post",
              "validate-partner",
              "validate-dropdownoptions"
            ]
          },
          "mcp": {
            "type": "tool",
            "name": "get_quantity_units",
            "description": "List valid quantity unit dropdown options for a partner.",
            "enabled": true,
            "annotations": {
              "title": "Dropdown Options: Get Quantity Units",
              "readOnlyHint": true,
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": false
            }
          }
        },
        "operationId": "get_quantity_units",
        "responses": {
          "200": {
            "description": "The partner's quantityunits list.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "description": "Lookup values as configured for the partner.",
                  "items": {
                    "type": "object",
                    "additionalProperties": true
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PartnerError"
          },
          "401": {
            "description": "Either the API key is missing/invalid (problem JSON, see ApiKeyUnauthorized) or your company is not authorized for this partner (plain text `Not authorized to partner.` / `Not authorized.`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Not authorized to partner."
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/PartnerNotFound"
          }
        }
      }
    },
    "/v1/partner/{partnercode}/trailers/{id}": {
      "x-zuplo-path": {
        "pathMode": "open-api"
      },
      "get": {
        "summary": "Trailers - Get by Id",
        "description": "Get a trailer by id",
        "parameters": [
          {
            "$ref": "#/components/parameters/partnercode"
          },
          {
            "name": "id",
            "in": "path",
            "description": "The trailer card id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The trailer. Keys the platform has no value for are omitted.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrailerActor"
                },
                "example": {
                  "dataGUID": "trl-0c44a9",
                  "trailerId": "T-5531",
                  "trailerNumber": "5531",
                  "trailerModel": "Dry Van 53",
                  "trailerMake": "Wabash",
                  "trailerType1": "Van",
                  "trailerYear": 2021,
                  "trailerStatus": "empty",
                  "trailerLastContactLat": "41.5335",
                  "trailerLastContactLng": "-83.6236",
                  "trailerLastContactProximity": "Perrysburg, OH",
                  "lastContactedDateTime": "2026-10-01T09:10:00.000Z",
                  "trailerLastContactCity": "Perrysburg",
                  "trailerLastContactState": "OH",
                  "licensePlate": "TRL5531",
                  "licenseState": "OH",
                  "terminalId": "PBG",
                  "notes": [
                    {
                      "dataGUID": "note-2",
                      "note": "Reefer unit serviced 9/12",
                      "viaNoteType": "Maintenance"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PartnerError"
          },
          "401": {
            "description": "Either the API key is missing/invalid (problem JSON, see ApiKeyUnauthorized) or your company is not authorized for this partner (plain text `Not authorized to partner.` / `Not authorized.`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Not authorized to partner."
              }
            }
          },
          "403": {
            "description": "Forbidden - insufficient permissions"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Validation Error"
          }
        },
        "x-zuplo-route": {
          "corsPolicy": "portal-cors",
          "handler": {
            "export": "urlRewriteHandler",
            "module": "$import(@zuplo/runtime)",
            "options": {
              "rewritePattern": "${env.VIA_API_BASE_URL}/partner/v1/${context.custom.partnerId}/trailers/${params.id}"
            }
          },
          "policies": {
            "inbound": [
              "api-key-inbound",
              "validate-partner"
            ],
            "outbound": [
              "format-outbound-via-traileractor"
            ]
          },
          "mcp": {
            "type": "tool",
            "name": "get_trailer",
            "description": "Get a single trailer by its id. Requires the partner's code (the company whose data you are reading, e.g. MIST); call get_active_partners first if you do not have it.",
            "enabled": true,
            "annotations": {
              "title": "Trailers: Get by Id",
              "readOnlyHint": true,
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": false
            }
          }
        },
        "operationId": "get_trailer",
        "tags": [
          "Partners"
        ]
      },
      "put": {
        "summary": "Trailers - Update Trailer",
        "description": "Update a trailer by id",
        "parameters": [
          {
            "$ref": "#/components/parameters/partnercode"
          },
          {
            "name": "id",
            "in": "path",
            "description": "The trailer card id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/updateTrailerBody"
        },
        "responses": {
          "200": {
            "description": "The updated trailer.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrailerActor"
                },
                "example": {
                  "dataGUID": "trl-0c44a9",
                  "trailerId": "T-5531",
                  "trailerNumber": "5531",
                  "trailerModel": "Dry Van 53",
                  "trailerMake": "Wabash",
                  "trailerType1": "Van",
                  "trailerYear": 2021,
                  "trailerStatus": "empty",
                  "trailerLastContactLat": "41.5335",
                  "trailerLastContactLng": "-83.6236",
                  "trailerLastContactProximity": "Perrysburg, OH",
                  "lastContactedDateTime": "2026-10-01T09:10:00.000Z",
                  "trailerLastContactCity": "Perrysburg",
                  "trailerLastContactState": "OH",
                  "licensePlate": "TRL5531",
                  "licenseState": "OH",
                  "terminalId": "PBG",
                  "notes": [
                    {
                      "dataGUID": "note-2",
                      "note": "Reefer unit serviced 9/12",
                      "viaNoteType": "Maintenance"
                    }
                  ]
                }
              }
            }
          },
          "207": {
            "description": "Multi-status - some fields skipped due to permissions; body includes errorMessages and updated card"
          },
          "400": {
            "$ref": "#/components/responses/PartnerError"
          },
          "401": {
            "description": "Either the API key is missing/invalid (problem JSON, see ApiKeyUnauthorized) or your company is not authorized for this partner (plain text `Not authorized to partner.` / `Not authorized.`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Not authorized to partner."
              }
            }
          },
          "403": {
            "description": "Forbidden - insufficient permissions"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Validation Error"
          }
        },
        "x-zuplo-route": {
          "corsPolicy": "portal-cors",
          "handler": {
            "export": "urlRewriteHandler",
            "module": "$import(@zuplo/runtime)",
            "options": {
              "rewritePattern": "${env.VIA_API_BASE_URL}/partner/v1/${context.custom.partnerId}/trailers/${params.id}"
            }
          },
          "policies": {
            "inbound": [
              "api-key-inbound",
              "validate-partner",
              "format-inbound-traileractor-via"
            ],
            "outbound": [
              "format-outbound-via-traileractor"
            ]
          }
        },
        "operationId": "update_trailer",
        "tags": [
          "Partners"
        ]
      },
      "delete": {
        "summary": "Trailers - Delete Trailer",
        "description": "Delete a trailer by id",
        "parameters": [
          {
            "$ref": "#/components/parameters/partnercode"
          },
          {
            "name": "id",
            "in": "path",
            "description": "The trailer card id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Success"
          },
          "403": {
            "description": "Forbidden - insufficient permissions"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Validation Error"
          }
        },
        "x-zuplo-route": {
          "corsPolicy": "portal-cors",
          "handler": {
            "export": "urlRewriteHandler",
            "module": "$import(@zuplo/runtime)",
            "options": {
              "rewritePattern": "${env.VIA_API_BASE_URL}/partner/v1/${context.custom.partnerId}/trailers/${params.id}"
            }
          },
          "policies": {
            "inbound": [
              "api-key-inbound",
              "validate-partner"
            ]
          }
        },
        "operationId": "delete_trailer",
        "tags": [
          "Partners"
        ]
      }
    },
    "/v1/partner/{partnercode}/trailers/byNumber/{trailerNumber}": {
      "x-zuplo-path": {
        "pathMode": "open-api"
      },
      "get": {
        "summary": "Trailers - Get by Trailer Number",
        "description": "Get trailer by trailer number",
        "parameters": [
          {
            "$ref": "#/components/parameters/partnercode"
          },
          {
            "name": "trailerNumber",
            "in": "path",
            "description": "Trailer number to look up.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Trailers matching the number.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TrailerActor"
                  }
                },
                "example": [
                  {
                    "dataGUID": "trl-0c44a9",
                    "trailerId": "T-5531",
                    "trailerNumber": "5531",
                    "trailerModel": "Dry Van 53",
                    "trailerMake": "Wabash",
                    "trailerType1": "Van",
                    "trailerYear": 2021,
                    "trailerStatus": "empty",
                    "trailerLastContactLat": "41.5335",
                    "trailerLastContactLng": "-83.6236",
                    "trailerLastContactProximity": "Perrysburg, OH",
                    "lastContactedDateTime": "2026-10-01T09:10:00.000Z",
                    "trailerLastContactCity": "Perrysburg",
                    "trailerLastContactState": "OH",
                    "licensePlate": "TRL5531",
                    "licenseState": "OH",
                    "terminalId": "PBG",
                    "notes": [
                      {
                        "dataGUID": "note-2",
                        "note": "Reefer unit serviced 9/12",
                        "viaNoteType": "Maintenance"
                      }
                    ]
                  }
                ]
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PartnerError"
          },
          "401": {
            "description": "Either the API key is missing/invalid (problem JSON, see ApiKeyUnauthorized) or your company is not authorized for this partner (plain text `Not authorized to partner.` / `Not authorized.`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Not authorized to partner."
              }
            }
          },
          "403": {
            "description": "Forbidden - insufficient permissions"
          },
          "404": {
            "description": "No matching records (plain text `No trailers found.`), or the partner code is unknown (`Partner not found.`).",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "noResults": {
                    "value": "No trailers found."
                  },
                  "partnerNotFound": {
                    "value": "Partner not found."
                  }
                }
              }
            }
          },
          "422": {
            "description": "Validation Error"
          }
        },
        "x-zuplo-route": {
          "corsPolicy": "portal-cors",
          "handler": {
            "export": "urlRewriteHandler",
            "module": "$import(@zuplo/runtime)",
            "options": {
              "rewritePattern": "${env.VIA_API_BASE_URL}/partner/v1/${context.custom.partnerId}/trailers?trailerNumber=${params.trailerNumber}"
            }
          },
          "policies": {
            "inbound": [
              "api-key-inbound",
              "validate-partner"
            ],
            "outbound": [
              "format-outbound-via-traileractor"
            ]
          },
          "mcp": {
            "type": "tool",
            "name": "get_trailer_by_number",
            "description": "Get a single trailer by its trailer number. Requires the partner's code (the company whose data you are reading, e.g. MIST); call get_active_partners first if you do not have it.",
            "enabled": true,
            "annotations": {
              "title": "Trailers: Get by Trailer Number",
              "readOnlyHint": true,
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": false
            }
          }
        },
        "operationId": "get_trailer_by_number",
        "tags": [
          "Partners"
        ]
      }
    },
    "/v1/partner/{partnercode}/trailers": {
      "x-zuplo-path": {
        "pathMode": "open-api"
      },
      "post": {
        "summary": "Trailers - Create Trailer",
        "description": "Create a trailer",
        "parameters": [
          {
            "$ref": "#/components/parameters/partnercode"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/createTrailerBody"
        },
        "responses": {
          "201": {
            "description": "The created trailer card.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "./v1/schemas/CreatedCard.json"
                },
                "example": {
                  "_id": "trl-0c44a9",
                  "title": "5531",
                  "cardtype": "trailer",
                  "boardId": "board-fleet",
                  "listId": "list-trailers",
                  "companyId": "cmp-mist",
                  "carddata": {
                    "TrailerNumber": "5531",
                    "TrailerStatus": "empty",
                    "TrailerType1": "Van",
                    "TrailerYear": 2021
                  }
                }
              }
            }
          },
          "207": {
            "description": "Created, but some fields were skipped.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "./v1/schemas/PartialCreate.json"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden - insufficient permissions"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Validation error (plain text).",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "e1": {
                    "value": "Invalid TrailerStatus"
                  },
                  "e2": {
                    "value": "Invalid EquipmentType"
                  },
                  "e3": {
                    "value": "board not found"
                  }
                }
              }
            }
          }
        },
        "x-zuplo-route": {
          "corsPolicy": "portal-cors",
          "handler": {
            "export": "urlRewriteHandler",
            "module": "$import(@zuplo/runtime)",
            "options": {
              "rewritePattern": "${env.VIA_API_BASE_URL}/partner/v1/${context.custom.partnerId}/trailers"
            }
          },
          "policies": {
            "inbound": [
              "api-key-inbound",
              "validate-partner",
              "format-inbound-traileractor-via"
            ]
          }
        },
        "operationId": "create_trailer",
        "tags": [
          "Partners"
        ]
      }
    },
    "/v1/partner/{partnercode}/tractors/{id}": {
      "x-zuplo-path": {
        "pathMode": "open-api"
      },
      "get": {
        "summary": "Tractors - Get by Id",
        "description": "Get a tractor by id",
        "parameters": [
          {
            "$ref": "#/components/parameters/partnercode"
          },
          {
            "name": "id",
            "in": "path",
            "description": "The tractor card id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The tractor. Keys the platform has no value for are omitted.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TractorActor"
                },
                "example": {
                  "dataGUID": "trk-5f1c2a",
                  "tractorNumber": "1412",
                  "tractorType1": "Sleeper",
                  "tractorStatus": "Available",
                  "tractorMake": "Freightliner",
                  "tractorModel": "Cascadia",
                  "tractorYear": 2023,
                  "licensePlate": "PWX8812",
                  "licenseState": "OH",
                  "serialNumber": "1FUJGLDR5CSBH1234",
                  "lastContactDateTime": "2026-10-01T13:42:10.000Z",
                  "lastContactCity": "Findlay",
                  "lastContactState": "OH",
                  "tractorLastContactProximity": "3.2mi S of Findlay, OH",
                  "odometer": 412887,
                  "maintenance": [
                    {
                      "name": "Oil change",
                      "dueIn": 1800,
                      "dueInUnit": "miles",
                      "dueDate": "2026-10-20T00:00:00Z"
                    }
                  ],
                  "notes": [
                    {
                      "dataGUID": "note-1",
                      "note": "Assigned to Linehaul",
                      "viaNoteType": "Special Instructions"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PartnerError"
          },
          "401": {
            "description": "Either the API key is missing/invalid (problem JSON, see ApiKeyUnauthorized) or your company is not authorized for this partner (plain text `Not authorized to partner.` / `Not authorized.`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Not authorized to partner."
              }
            }
          },
          "403": {
            "description": "Forbidden - insufficient permissions"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Validation Error"
          }
        },
        "x-zuplo-route": {
          "corsPolicy": "portal-cors",
          "handler": {
            "export": "urlRewriteHandler",
            "module": "$import(@zuplo/runtime)",
            "options": {
              "rewritePattern": "${env.VIA_API_BASE_URL}/partner/v1/${context.custom.partnerId}/trucks/${params.id}"
            }
          },
          "policies": {
            "inbound": [
              "api-key-inbound",
              "validate-partner"
            ],
            "outbound": [
              "format-outbound-via-tractoractor"
            ]
          },
          "mcp": {
            "type": "tool",
            "name": "get_tractor",
            "description": "Get a single tractor by its id. Requires the partner's code (the company whose data you are reading, e.g. MIST); call get_active_partners first if you do not have it.",
            "enabled": true,
            "annotations": {
              "title": "Tractors: Get by Id",
              "readOnlyHint": true,
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": false
            }
          }
        },
        "operationId": "get_tractor",
        "tags": [
          "Partners"
        ]
      },
      "put": {
        "summary": "Tractors - Update Tractor",
        "description": "Update a tractor by id",
        "parameters": [
          {
            "$ref": "#/components/parameters/partnercode"
          },
          {
            "name": "id",
            "in": "path",
            "description": "The tractor card id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/updateTruckBody"
        },
        "responses": {
          "200": {
            "description": "The updated tractor.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TractorActor"
                },
                "example": {
                  "dataGUID": "trk-5f1c2a",
                  "tractorNumber": "1412",
                  "tractorType1": "Sleeper",
                  "tractorStatus": "Available",
                  "tractorMake": "Freightliner",
                  "tractorModel": "Cascadia",
                  "tractorYear": 2023,
                  "licensePlate": "PWX8812",
                  "licenseState": "OH",
                  "serialNumber": "1FUJGLDR5CSBH1234",
                  "lastContactDateTime": "2026-10-01T13:42:10.000Z",
                  "lastContactCity": "Findlay",
                  "lastContactState": "OH",
                  "tractorLastContactProximity": "3.2mi S of Findlay, OH",
                  "odometer": 412887,
                  "maintenance": [
                    {
                      "name": "Oil change",
                      "dueIn": 1800,
                      "dueInUnit": "miles",
                      "dueDate": "2026-10-20T00:00:00Z"
                    }
                  ],
                  "notes": [
                    {
                      "dataGUID": "note-1",
                      "note": "Assigned to Linehaul",
                      "viaNoteType": "Special Instructions"
                    }
                  ]
                }
              }
            }
          },
          "207": {
            "description": "Multi-status - some fields skipped due to permissions; body includes errorMessages and updated card"
          },
          "400": {
            "$ref": "#/components/responses/PartnerError"
          },
          "401": {
            "description": "Either the API key is missing/invalid (problem JSON, see ApiKeyUnauthorized) or your company is not authorized for this partner (plain text `Not authorized to partner.` / `Not authorized.`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Not authorized to partner."
              }
            }
          },
          "403": {
            "description": "Forbidden - insufficient permissions"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Validation Error"
          }
        },
        "x-zuplo-route": {
          "corsPolicy": "portal-cors",
          "handler": {
            "export": "urlRewriteHandler",
            "module": "$import(@zuplo/runtime)",
            "options": {
              "rewritePattern": "${env.VIA_API_BASE_URL}/partner/v1/${context.custom.partnerId}/trucks/${params.id}"
            }
          },
          "policies": {
            "inbound": [
              "api-key-inbound",
              "validate-partner",
              "format-inbound-tractoractor-via"
            ],
            "outbound": [
              "format-outbound-via-tractoractor"
            ]
          }
        },
        "operationId": "update_tractor",
        "tags": [
          "Partners"
        ]
      },
      "delete": {
        "summary": "Tractors - Delete Tractor",
        "description": "Delete a tractor by id",
        "parameters": [
          {
            "$ref": "#/components/parameters/partnercode"
          },
          {
            "name": "id",
            "in": "path",
            "description": "The tractor card id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Success"
          },
          "403": {
            "description": "Forbidden - insufficient permissions"
          },
          "404": {
            "description": "Not Found"
          },
          "422": {
            "description": "Validation Error"
          }
        },
        "x-zuplo-route": {
          "corsPolicy": "portal-cors",
          "handler": {
            "export": "urlRewriteHandler",
            "module": "$import(@zuplo/runtime)",
            "options": {
              "rewritePattern": "${env.VIA_API_BASE_URL}/partner/v1/${context.custom.partnerId}/trucks/${params.id}"
            }
          },
          "policies": {
            "inbound": [
              "api-key-inbound",
              "validate-partner"
            ]
          }
        },
        "operationId": "delete_tractor",
        "tags": [
          "Partners"
        ]
      }
    },
    "/v1/partner/{partnercode}/tractors/byNumber/{tractorNumber}": {
      "x-zuplo-path": {
        "pathMode": "open-api"
      },
      "get": {
        "summary": "Tractors - Get by Tractor Number",
        "description": "Get tractor by tractor number",
        "parameters": [
          {
            "$ref": "#/components/parameters/partnercode"
          },
          {
            "name": "tractorNumber",
            "in": "path",
            "description": "Tractor number to look up.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Tractors matching the number.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TractorActor"
                  }
                },
                "example": [
                  {
                    "dataGUID": "trk-5f1c2a",
                    "tractorNumber": "1412",
                    "tractorType1": "Sleeper",
                    "tractorStatus": "Available",
                    "tractorMake": "Freightliner",
                    "tractorModel": "Cascadia",
                    "tractorYear": 2023,
                    "licensePlate": "PWX8812",
                    "licenseState": "OH",
                    "serialNumber": "1FUJGLDR5CSBH1234",
                    "lastContactDateTime": "2026-10-01T13:42:10.000Z",
                    "lastContactCity": "Findlay",
                    "lastContactState": "OH",
                    "tractorLastContactProximity": "3.2mi S of Findlay, OH",
                    "odometer": 412887,
                    "maintenance": [
                      {
                        "name": "Oil change",
                        "dueIn": 1800,
                        "dueInUnit": "miles",
                        "dueDate": "2026-10-20T00:00:00Z"
                      }
                    ],
                    "notes": [
                      {
                        "dataGUID": "note-1",
                        "note": "Assigned to Linehaul",
                        "viaNoteType": "Special Instructions"
                      }
                    ]
                  }
                ]
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PartnerError"
          },
          "401": {
            "description": "Either the API key is missing/invalid (problem JSON, see ApiKeyUnauthorized) or your company is not authorized for this partner (plain text `Not authorized to partner.` / `Not authorized.`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Not authorized to partner."
              }
            }
          },
          "403": {
            "description": "Forbidden - insufficient permissions"
          },
          "404": {
            "description": "No matching records (plain text `No tractors found.`), or the partner code is unknown (`Partner not found.`).",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "noResults": {
                    "value": "No tractors found."
                  },
                  "partnerNotFound": {
                    "value": "Partner not found."
                  }
                }
              }
            }
          },
          "422": {
            "description": "Validation Error"
          }
        },
        "x-zuplo-route": {
          "corsPolicy": "portal-cors",
          "handler": {
            "export": "urlRewriteHandler",
            "module": "$import(@zuplo/runtime)",
            "options": {
              "rewritePattern": "${env.VIA_API_BASE_URL}/partner/v1/${context.custom.partnerId}/trucks?tractorNumber=${params.tractorNumber}"
            }
          },
          "policies": {
            "inbound": [
              "api-key-inbound",
              "validate-partner"
            ],
            "outbound": [
              "format-outbound-via-tractoractor"
            ]
          },
          "mcp": {
            "type": "tool",
            "name": "get_tractor_by_number",
            "description": "Get a single tractor by its tractor number. Requires the partner's code (the company whose data you are reading, e.g. MIST); call get_active_partners first if you do not have it.",
            "enabled": true,
            "annotations": {
              "title": "Tractors: Get by Tractor Number",
              "readOnlyHint": true,
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": false
            }
          }
        },
        "operationId": "get_tractor_by_number",
        "tags": [
          "Partners"
        ]
      }
    },
    "/v1/partner/{partnercode}/carriers": {
      "x-zuplo-path": {
        "pathMode": "open-api"
      },
      "get": {
        "tags": [
          "Partners"
        ],
        "summary": "Carriers - Get Carriers",
        "description": "Get a list of active carriers for a specific partner.",
        "parameters": [
          {
            "$ref": "#/components/parameters/partnercode"
          },
          {
            "$ref": "#/components/parameters/page"
          }
        ],
        "x-zuplo-route": {
          "corsPolicy": "portal-cors",
          "handler": {
            "export": "urlRewriteHandler",
            "module": "$import(@zuplo/runtime)",
            "options": {
              "rewritePattern": "https://mp.viaboards.com/"
            }
          },
          "policies": {
            "inbound": [
              "api-key-inbound",
              "change-method-inbound-post",
              "set-headers-inbound-proxy",
              "validate-partner",
              "query-carriers"
            ],
            "outbound": [
              "format-carrieractor"
            ]
          },
          "mcp": {
            "type": "tool",
            "name": "get_carriers",
            "description": "List carriers for a partner.",
            "enabled": true,
            "annotations": {
              "title": "Carriers: Get Carriers",
              "readOnlyHint": true,
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": false
            }
          }
        },
        "operationId": "get_carriers",
        "responses": {
          "200": {
            "description": "Carriers for the partner, 100 per page.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "./v1/schemas/CarrierSummary.json"
                  }
                },
                "examples": {
                  "default": {
                    "$ref": "./v1/examples/GetCarriers.json"
                  }
                }
              }
            }
          },
          "400": {
            "description": "`page` was not a positive integer (plain text), or the partnership could not be evaluated (`Error processing request.`).",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "page": {
                    "value": "Page parameter must be a positive integer"
                  },
                  "partner": {
                    "value": "Error processing request."
                  }
                }
              }
            }
          },
          "401": {
            "description": "Either the API key is missing/invalid (problem JSON, see ApiKeyUnauthorized) or your company is not authorized for this partner (plain text `Not authorized to partner.` / `Not authorized.`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Not authorized to partner."
              }
            }
          },
          "404": {
            "description": "No matching records (plain text `No carriers found.`), or the partner code is unknown (`Partner not found.`).",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "noResults": {
                    "value": "No carriers found."
                  },
                  "partnerNotFound": {
                    "value": "Partner not found."
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/partner/{partnercode}/carriers/{carrierid}": {
      "x-zuplo-path": {
        "pathMode": "open-api"
      },
      "get": {
        "tags": [
          "Partners"
        ],
        "summary": "Carriers - Get Carrier",
        "description": "Get a specific carrier's details for a given partner.",
        "parameters": [
          {
            "$ref": "#/components/parameters/partnercode"
          },
          {
            "$ref": "#/components/parameters/carrierid"
          }
        ],
        "x-zuplo-route": {
          "corsPolicy": "portal-cors",
          "handler": {
            "export": "urlRewriteHandler",
            "module": "$import(@zuplo/runtime)",
            "options": {
              "rewritePattern": "${env.VIA_API_BASE_URL}/partner/v1/${context.custom.partnerId}/carriers/${params.carrierid}"
            }
          },
          "policies": {
            "inbound": [
              "api-key-inbound",
              "validate-partner"
            ],
            "outbound": [
              "format-outbound-via-carrieractor"
            ]
          },
          "mcp": {
            "type": "tool",
            "name": "get_carrier",
            "description": "Get a single carrier by id. Requires the partner's code (the company whose data you are reading, e.g. MIST); call get_active_partners first if you do not have it.",
            "enabled": true,
            "annotations": {
              "title": "Carriers: Get Carrier",
              "readOnlyHint": true,
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": false
            }
          }
        },
        "operationId": "get_carrier",
        "responses": {
          "200": {
            "description": "The carrier. Keys the platform has no value for are omitted.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CarrierActor"
                },
                "example": {
                  "dataGUID": "car-77c0b1",
                  "carrierId": "ACME01",
                  "carrierName": "Acme Logistics LLC",
                  "scac": "ACML",
                  "address1": "900 Industrial Pkwy",
                  "city": "Toledo",
                  "state": "OH",
                  "zipCode": "43612",
                  "countryCode": "USA",
                  "primaryPhone": "419-555-0170",
                  "mcNumber": "MC-123456",
                  "dotNumber": "7654321",
                  "contact": "Dana Reyes",
                  "status": "Active",
                  "email": "dispatch@acme.example",
                  "insuranceInfo": [
                    {
                      "policyNumber": "CGL-88212",
                      "companyName": "Great Lakes Mutual",
                      "type": "Cargo",
                      "amount": 100000,
                      "currency": "USD",
                      "effectiveDate": "2026-01-01T00:00:00Z",
                      "expireDate": "2026-12-31T23:59:59Z"
                    }
                  ],
                  "contacts": [
                    {
                      "contactId": "c-1",
                      "contactName": "Dana Reyes",
                      "title": "Dispatch Manager",
                      "primaryPhone": "419-555-0170",
                      "email": "dispatch@acme.example"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PartnerError"
          },
          "401": {
            "description": "Either the API key is missing/invalid (problem JSON, see ApiKeyUnauthorized) or your company is not authorized for this partner (plain text `Not authorized to partner.` / `Not authorized.`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Not authorized to partner."
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/PartnerNotFound"
          }
        }
      }
    },
    "/v1/partner/{partnercode}/options/volumeunits": {
      "x-zuplo-path": {
        "pathMode": "open-api"
      },
      "get": {
        "tags": [
          "Dropdown Options"
        ],
        "summary": "Dropdown Options - Get Volume Units",
        "description": "Returns a list of valid volume units for a specific partner.",
        "parameters": [
          {
            "$ref": "#/components/parameters/partnercode"
          }
        ],
        "x-zuplo-route": {
          "corsPolicy": "portal-cors",
          "handler": {
            "export": "urlRewriteHandler",
            "module": "$import(@zuplo/runtime)",
            "options": {
              "rewritePattern": "https://automate.tranztec.com/webhook/dropdownoptions?type=volumeunits&environment=${env.VIA_MP_ENV}"
            }
          },
          "policies": {
            "inbound": [
              "api-key-inbound",
              "change-method-inbound-post",
              "validate-partner",
              "validate-dropdownoptions"
            ]
          },
          "mcp": {
            "type": "tool",
            "name": "get_volume_units",
            "description": "List valid volume unit dropdown options for a partner.",
            "enabled": true,
            "annotations": {
              "title": "Dropdown Options: Get Volume Units",
              "readOnlyHint": true,
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": false
            }
          }
        },
        "operationId": "get_volume_units",
        "responses": {
          "200": {
            "description": "The partner's volumeunits list.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "description": "Lookup values as configured for the partner.",
                  "items": {
                    "type": "object",
                    "additionalProperties": true
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PartnerError"
          },
          "401": {
            "description": "Either the API key is missing/invalid (problem JSON, see ApiKeyUnauthorized) or your company is not authorized for this partner (plain text `Not authorized to partner.` / `Not authorized.`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Not authorized to partner."
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/PartnerNotFound"
          }
        }
      }
    }
  },
  "x-tagGroups": [
    {
      "name": "For carriers",
      "tags": [
        "Carriers"
      ]
    },
    {
      "name": "For customers and shippers",
      "tags": [
        "Customers"
      ]
    },
    {
      "name": "For fleets and partners",
      "tags": [
        "Partners",
        "Relationships"
      ]
    },
    {
      "name": "Reference data",
      "tags": [
        "Dropdown Options"
      ]
    },
    {
      "name": "Utilities and webhooks",
      "tags": [
        "Utilities",
        "Webhooks"
      ]
    }
  ]
}