Vooma Shipments API

The Shipments API from Vooma — 3 operation(s) for shipments.

Operations 4

GET /shipments/{shipmentId} #
PUT /shipments/{shipmentId} #
POST /shipments/upsert #
POST /shipments #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/vooma-shipments-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

vooma-shipments-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: api Shipments API
  version: 0.1.0
  contact: {}
servers:
- url: https://api.vooma.ai/v0
  description: Vooma API
tags:
- name: Shipments
paths:
  /shipments/{shipmentId}:
    get:
      operationId: GetShipment
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetShipmentPayload'
      tags:
      - Shipments
      security:
      - bearer: []
      parameters:
      - in: path
        name: shipmentId
        required: true
        schema:
          type: string
    put:
      operationId: UpdateShipment
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Shipment'
      tags:
      - Shipments
      security:
      - bearer: []
      parameters:
      - in: path
        name: shipmentId
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateShipmentInput'
  /shipments/upsert:
    post:
      operationId: UpsertShipment
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Shipment'
      tags:
      - Shipments
      security:
      - bearer: []
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpsertShipmentInput'
  /shipments:
    post:
      operationId: CreateShipment
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Shipment'
      tags:
      - Shipments
      security:
      - bearer: []
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateShipmentInput'
components:
  schemas:
    MovementStopData:
      allOf:
      - $ref: '#/components/schemas/CommonStopData'
      - properties:
          location:
            $ref: '#/components/schemas/MovementStopLocation'
        required:
        - location
        type: object
    Dimensions:
      $ref: '#/components/schemas/V0Dimensions.Dimensions'
    V0Financials.Amount:
      properties:
        uom:
          $ref: '#/components/schemas/CurrencyUnits'
        value:
          type: number
          format: double
      required:
      - uom
      - value
      type: object
    LineItemType:
      enum:
      - FREIGHT_FLAT
      - FREIGHT_PER_MILE
      - FUEL
      - FUEL_FLAT
      - FUEL_PER_MILE
      - FREIGHT_PER_CONTAINER
      - CHASSIS
      - OVERWEIGHT
      - PRE_PULL
      - STORAGE
      - DETENTION
      - TMF_PIER_PASS
      - PORT_FEE
      - REDELIVERY
      - EXTRA_MILES
      - TRANSLOAD
      - ESCORT
      - EXPEDITED
      - CHASSIS_SPLIT
      - OTHER
      type: string
    MayHaveID_UserData_:
      allOf:
      - properties:
          id:
            type: string
        type: object
      - $ref: '#/components/schemas/UserData'
    Equipment:
      $ref: '#/components/schemas/V0Equipment.Equipment'
    MayHaveID_CarrierData_:
      allOf:
      - properties:
          id:
            type: string
        type: object
      - $ref: '#/components/schemas/CarrierData'
    V0Dimensions.Dimension:
      properties:
        value:
          type: number
          format: double
        units:
          anyOf:
          - $ref: '#/components/schemas/DimensionUnits'
          - type: string
          description: Typically one of the DimensionUnits enum values but subject to change
      required:
      - value
      - units
      type: object
      additionalProperties: false
    LocationContactData:
      $ref: '#/components/schemas/BaseContactData'
    V0Datetime.DateTimeRange:
      properties:
        startDate:
          type: string
          description: Start date in YYYY-MM-DD format
        endDate:
          type: string
          description: Optional end date in YYYY-MM-DD format
        startTime:
          type: string
          description: Optional start time in `timzone` and HH:mm:ss format.
        endTime:
          type: string
          description: Optional end time in `timezone` and HH:mm:ss format
        timezone:
          type: string
          description: Optional timezone in [tz database](https://en.wikipedia.org/wiki/Tz_database) format e.g. "America/New_York". If omitted UTC is assumed.
        type:
          $ref: '#/components/schemas/DateTimeRangeType'
      required:
      - startDate
      type: object
      additionalProperties: false
    UserExternalIdentifier:
      properties:
        type:
          anyOf:
          - $ref: '#/components/schemas/UserExternalIdentifierType'
          - type: string
          description: 'Typically one of the UserExternalIdentifierType enum values

            but subject to change'
        value:
          type: string
      required:
      - type
      - value
      type: object
      additionalProperties: false
    CreateShipmentInput:
      properties:
        shipment:
          $ref: '#/components/schemas/ShipmentData'
      required:
      - shipment
      type: object
    UserExternalIdentifierType:
      enum:
      - CUSTOM
      - EMAIL
      - PHONE
      - VOOMA_USERNAME
      type: string
    MayHaveID_MovementData_:
      allOf:
      - properties:
          id:
            type: string
        type: object
      - $ref: '#/components/schemas/MovementData'
    CarrierContactData:
      allOf:
      - $ref: '#/components/schemas/BaseContactData'
      - properties:
          carrierId:
            type: string
        required:
        - carrierId
        type: object
    V0Reference.Reference:
      properties:
        type:
          anyOf:
          - $ref: '#/components/schemas/ReferenceType'
          - type: string
          description: 'Typically one of the ReferenceType enum values

            but subject to change'
        value:
          type: string
      required:
      - type
      - value
      type: object
      additionalProperties: false
    PhoneSchedulingMethod:
      properties:
        contact:
          $ref: '#/components/schemas/LocationContact'
        type:
          type: string
          enum:
          - PHONE
          nullable: false
      required:
      - contact
      - type
      type: object
    PortalSchedulingMethod:
      properties:
        details:
          $ref: '#/components/schemas/PortalSchedulingDetails'
        type:
          type: string
          enum:
          - PORTAL
          nullable: false
      required:
      - details
      - type
      type: object
    EmailSchedulingMethod:
      properties:
        contact:
          $ref: '#/components/schemas/LocationContact'
        type:
          type: string
          enum:
          - EMAIL
          nullable: false
      required:
      - contact
      - type
      type: object
    LocationExternalIdentifier:
      properties:
        type:
          anyOf:
          - $ref: '#/components/schemas/LocationExternalIdentifierType'
          - type: string
          description: 'Typically one of the LocationExternalIdentifierType enum values

            but subject to change'
        value:
          type: string
      required:
      - type
      - value
      type: object
      additionalProperties: false
    GeoCoordinates:
      properties:
        longitude:
          type: number
          format: double
        latitude:
          type: number
          format: double
      required:
      - longitude
      - latitude
      type: object
    Liftgate:
      properties:
        type:
          type: string
          enum:
          - LIFTGATE
          nullable: false
      required:
      - type
      type: object
    MovementData:
      properties:
        tmsStatus:
          type: string
        attributes:
          $ref: '#/components/schemas/Attributes'
        tags:
          items:
            type: string
          type: array
        externalNotes:
          type: string
        internalNotes:
          type: string
        carrier:
          $ref: '#/components/schemas/AssignedCarrier'
        financials:
          $ref: '#/components/schemas/Financials'
        cargo:
          $ref: '#/components/schemas/Cargo'
        accessorials:
          items:
            $ref: '#/components/schemas/Accessorial'
          type: array
        equipmentOptions:
          items:
            $ref: '#/components/schemas/Equipment'
          type: array
        customer:
          $ref: '#/components/schemas/MayHaveID_CustomerData_'
        route:
          $ref: '#/components/schemas/MovementRoute'
        freightModeDetails:
          $ref: '#/components/schemas/FreightModeDetails'
        references:
          items:
            $ref: '#/components/schemas/Reference'
          type: array
        responsibleUser:
          $ref: '#/components/schemas/MayHaveID_UserData_'
        externalIds:
          items:
            $ref: '#/components/schemas/MovementExternalIdentifier'
          type: array
      required:
      - cargo
      - equipmentOptions
      - customer
      - route
      - references
      - externalIds
      type: object
    CarrierData:
      properties:
        equipment:
          items:
            $ref: '#/components/schemas/CarrierEquipment'
          type: array
        contacts:
          items:
            $ref: '#/components/schemas/CarrierContact'
          type: array
        dotNumber:
          type: string
        mcNumber:
          type: string
        name:
          type: string
      required:
      - name
      type: object
    V0Schedule.SchedulingDetails:
      properties:
        maxDaysAhead:
          type: number
          format: double
        notes:
          type: string
        methods:
          items:
            $ref: '#/components/schemas/SchedulingMethod'
          type: array
      required:
      - methods
      type: object
    Contact:
      $ref: '#/components/schemas/V0Contact.Contact'
    Tarping:
      properties:
        size:
          $ref: '#/components/schemas/Dimension'
        type:
          type: string
          enum:
          - TARPING
          nullable: false
      required:
      - size
      - type
      type: object
    ContactData:
      anyOf:
      - $ref: '#/components/schemas/CarrierContactData'
      - $ref: '#/components/schemas/CustomerContactData'
      - $ref: '#/components/schemas/LocationContactData'
    SchedulingType:
      enum:
      - FIRST_COME_FIRST_SERVE
      - APPOINTMENT
      type: string
    CurrencyUnits:
      enum:
      - USD
      - CAD
      type: string
    V0Weight.Weight:
      properties:
        units:
          $ref: '#/components/schemas/WeightUnits'
        value:
          type: number
          format: double
      required:
      - units
      - value
      type: object
    HeadacheRack:
      properties:
        type:
          type: string
          enum:
          - HEADACHE_RACK
          nullable: false
      required:
      - type
      type: object
    CoilRack:
      properties:
        type:
          type: string
          enum:
          - COIL_RACK
          nullable: false
      required:
      - type
      type: object
    V0Accessorial.Accessorial:
      anyOf:
      - $ref: '#/components/schemas/Tarping'
      - $ref: '#/components/schemas/Liftgate'
      - $ref: '#/components/schemas/HeadacheRack'
      - $ref: '#/components/schemas/CoilRack'
      - $ref: '#/components/schemas/PipeStakes'
      - $ref: '#/components/schemas/Gps'
      - $ref: '#/components/schemas/OverDimension'
      - $ref: '#/components/schemas/BlindShipment'
      - $ref: '#/components/schemas/DriverAssistance'
      - $ref: '#/components/schemas/Scale'
      - $ref: '#/components/schemas/Straps'
      - $ref: '#/components/schemas/Team'
      - $ref: '#/components/schemas/Transloading'
      - $ref: '#/components/schemas/Ppe'
      - $ref: '#/components/schemas/ChainsAndBinders'
      - $ref: '#/components/schemas/Dunnage'
      - $ref: '#/components/schemas/FoodGrade'
      - $ref: '#/components/schemas/Twic'
      - $ref: '#/components/schemas/LimitedAccess'
      - $ref: '#/components/schemas/InsidePickup'
      - $ref: '#/components/schemas/InsideDelivery'
      - $ref: '#/components/schemas/Permit'
      - $ref: '#/components/schemas/Other'
    V0Location.Location:
      $ref: '#/components/schemas/MayHaveID_LocationData_'
    LineItem:
      properties:
        type:
          anyOf:
          - $ref: '#/components/schemas/LineItemType'
          - type: string
          description: Typically one of the LineItemType enum values but subject to change
        description:
          type: string
        amount:
          $ref: '#/components/schemas/Amount'
      required:
      - description
      - amount
      type: object
      additionalProperties: false
    FacilityHours:
      properties:
        sunday:
          $ref: '#/components/schemas/DayHours'
        saturday:
          $ref: '#/components/schemas/DayHours'
        friday:
          $ref: '#/components/schemas/DayHours'
        thursday:
          $ref: '#/components/schemas/DayHours'
        wednesday:
          $ref: '#/components/schemas/DayHours'
        tuesday:
          $ref: '#/components/schemas/DayHours'
        monday:
          $ref: '#/components/schemas/DayHours'
      type: object
    DrayageSubtype:
      enum:
      - IMPORT
      - EXPORT
      type: string
    Financials:
      $ref: '#/components/schemas/V0Financials.Financials'
    Scale:
      properties:
        type:
          type: string
          enum:
          - SCALE
          nullable: false
      required:
      - type
      type: object
    SchedulingMethod:
      anyOf:
      - $ref: '#/components/schemas/EmailSchedulingMethod'
      - $ref: '#/components/schemas/PhoneSchedulingMethod'
      - $ref: '#/components/schemas/PortalSchedulingMethod'
    UpdateShipmentInput:
      properties:
        shipment:
          $ref: '#/components/schemas/ShipmentData'
      required:
      - shipment
      type: object
    V0Route.MovementRoute:
      properties:
        stops:
          items:
            $ref: '#/components/schemas/MovementStop'
          type: array
        mileage:
          $ref: '#/components/schemas/Mileage'
      required:
      - stops
      type: object
    LocationData:
      properties:
        name:
          type: string
        contacts:
          items:
            $ref: '#/components/schemas/LocationContact'
          type: array
        hours:
          $ref: '#/components/schemas/FacilityHours'
        scheduling:
          $ref: '#/components/schemas/SchedulingDetails'
        geoCoordinates:
          $ref: '#/components/schemas/GeoCoordinates'
        address:
          $ref: '#/components/schemas/Address'
        externalIds:
          items:
            $ref: '#/components/schemas/LocationExternalIdentifier'
          type: array
      required:
      - address
      - externalIds
      type: object
    ShippingUnits:
      enum:
      - BAGS
      - BALES
      - BOTTLES
      - BOXES
      - BUNDLES
      - CARTONS
      - CASES
      - CRATES
      - DRUMS
      - PACKAGES
      - PAILS
      - PALLETS
      - PIECES
      - ROLLS
      - SKIDS
      - TRUCKLOADS
      - TUBES
      - UNITS
      - VEHICLES
      type: string
    V0Cargo.Cargo:
      properties:
        declaredValue:
          $ref: '#/components/schemas/Amount'
        dimensions:
          $ref: '#/components/schemas/Dimensions'
        totalWeight:
          $ref: '#/components/schemas/Weight'
        commodities:
          items:
            $ref: '#/components/schemas/Commodity'
          type: array
      required:
      - commodities
      type: object
    Gps:
      properties:
        type:
          type: string
          enum:
          - GPS
          nullable: false
      required:
      - type
      type: object
    V0Contact.LocationContact:
      $ref: '#/components/schemas/MayHaveID_LocationContactData_'
    ChargesToCustomer:
      $ref: '#/components/schemas/V0Shipment.ChargesToCustomer'
    Other:
      properties:
        description:
          type: string
        type:
          type: string
          enum:
          - OTHER
          nullable: false
      required:
      - description
      - type
      type: object
    DriverAssistance:
      properties:
        type:
          type: string
          enum:
          - DRIVER_ASSISTANCE
          nullable: false
      required:
      - type
      type: object
    InsideDelivery:
      properties:
        type:
          type: string
          enum:
          - INSIDE_DELIVERY
          nullable: false
      required:
      - type
      type: object
    Cargo:
      $ref: '#/components/schemas/V0Cargo.Cargo'
    InsidePickup:
      properties:
        type:
          type: string
          enum:
          - INSIDE_PICKUP
          nullable: false
      required:
      - type
      type: object
    Ppe:
      properties:
        type:
          type: string
          enum:
          - PPE
          nullable: false
      required:
      - type
      type: object
    Amount:
      $ref: '#/components/schemas/V0Financials.Amount'
    Mileage:
      properties:
        uom:
          $ref: '#/components/schemas/MileageUnits'
        value:
          type: number
          format: double
      required:
      - uom
      - value
      type: object
    CustomerExternalIdentifier:
      properties:
        type:
          anyOf:
          - $ref: '#/components/schemas/CustomerExternalIdentifierType'
          - type: string
          description: Typically one of the CustomerExternalIdentifierType enum values, but strings are also allowed
        value:
          type: string
      required:
      - type
      - value
      type: object
      additionalProperties: false
    Commodity:
      $ref: '#/components/schemas/V0Cargo.Commodity'
    WeightUnits:
      enum:
      - LB
      - KG
      type: string
    UserData:
      $ref: '#/components/schemas/V0User.UserData'
    V0User.UserData:
      properties:
        externalIds:
          items:
            $ref: '#/components/schemas/UserExternalIdentifier'
          type: array
      required:
      - externalIds
      type: object
    DayHours:
      properties:
        type:
          type: string
          enum:
          - FACILITY_HOURS
          nullable: false
        timezone:
          type: string
        endTime:
          type: string
        startTime:
          type: string
      required:
      - type
      - timezone
      - endTime
      - startTime
      type: object
      additionalProperties: false
    LocationContact:
      $ref: '#/components/schemas/V0Contact.LocationContact'
    V0Financials.Financials:
      properties:
        costNegotiationGuidance:
          $ref: '#/components/schemas/CostNegotiationGuidance'
        costs:
          $ref: '#/components/schemas/Costs'
        paymentTerms:
          $ref: '#/components/schemas/PaymentTerms'
      required:
      - costs
      - paymentTerms
      type: object
    LimitedAccess:
      properties:
        type:
          type: string
          enum:
          - LIMITED_ACCESS
          nullable: false
      required:
      - type
      type: object
    V0Shipment.ChargesToCustomer:
      properties:
        lineItems:
          items:
            $ref: '#/components/schemas/LineItem'
          type: array
      required:
      - lineItems
      type: object
    MovementExternalIdentifier:
      properties:
        type:
          anyOf:
          - $ref: '#/components/schemas/MovementExternalIdentifierType'
          - type: string
        value:
          type: string
      required:
      - type
      - value
      type: object
      additionalProperties: false
    WithId_ShipmentData_:
      allOf:
      - properties:
          id:
            type: string
        required:
        - id
        type: object
      - $ref: '#/components/schemas/ShipmentData'
    MovementExternalIdentifierType:
      enum:
      - CUSTOM
      type: string
    PortalSchedulingDetails:
      properties:
        portal:
          $ref: '#/components/schemas/Portal'
      required:
      - portal
      type: object
    DimensionUnits:
      enum:
      - IN
      - CM
      - FT
      type: string
    Carrier:
      $ref: '#/components/schemas/MayHaveID_CarrierData_'
    Straps:
      properties:
        numberRequired:
          type: number
          format: double
        type:
          type: string
          enum:
          - STRAPS
          nullable: false
      required:
      - type
      type: object
    Dimension:
      $ref: '#/components/schemas/V0Dimensions.Dimension'
    V0Carrier.AssignedCarrier:
      properties:
        assignedDispatch:
          $ref: '#/components/schemas/CarrierContact'
        assignedDriver:
          $ref: '#/components/schemas/CarrierContact'
        assignedEquipment:
          $ref: '#/components/schemas/CarrierEquipment'
        carrier:
          $ref: '#/components/schemas/Carrier'
      required:
      - carrier
      type: object
    MovementStop:
      $ref: '#/components/schemas/V0Stop.MovementStop'
    OverDimension:
      properties:
        type:
          type: string
          enum:
          - OVER_DIMENSION
          nullable: false
      required:
      - type
      type: object
    V0ExternalId.ExternalIdentifier:
      properties:
        type:
          anyOf:
          - $ref: '#/components/schemas/ExternalIdentifierType'
          - type: string
        value:
          type: string
      required:
      - type
      - value
      type: object
      additionalProperties: false
    CustomerContactData:
      allOf:
      - $ref: '#/components/schemas/BaseContactData'
      - properties:
          customerId:
            type: string
        required:
        - customerId
        type: object
    CommonStopData:
      properties:
        externalNotes:
          type: string
        internalNotes:
          type: string
        accessorials:
          items:
            $ref: '#/components/schemas/Accessorial'
          type: array
        contact:
          $ref: '#/components/schemas/Contact'
        commodities:
          items:
            $ref: '#/components/schemas/Commodity'
          type: array
        weight:
          $ref: '#/components/schemas/Weight'
        notes:
          type: string
        schedulingType:
          $ref: '#/components/schemas/SchedulingType'
        dateTimeRanges:
          items:
            $ref: '#/components/schemas/DateTimeRange'
          type: array
        type:
          $ref: '#/components/schemas/StopType'
        stopReferences:
          items:
            $ref: '#/components/schemas/Reference'
          type: array
        externalIds:
          items:
            $ref: '#/components/schemas/ExternalIdentifier'
          type: array
      required:
      - type
      - stopReferences
      type: object
    Dunnage:
      properties:
        type:
          type: string
          enum:
          - DUNNAGE
          nullable: false
      required:
      - type
      type: object
    UpsertShipmentInput:
      properties:
        shipment:
          $ref: '#/components/schemas/ShipmentData'
      required:
      - shipment
      type: object
    LocationExternalIdentifierType:
      enum:
      - CUSTOM
      - GOOGLE_PLACES
      - TURVO
      type: string
    PaymentTerms:
      enum:
      - PREPAID
      - COLLECT
      - THIRD_PARTY
      type: string
    Shipment:
      $ref: '#/components/schemas/WithId_ShipmentData_'
    V0Contact.Contact:
      $ref: '#/components/schemas/MayHaveID_ContactData_'
    ReferenceType:
      enum:
      - ORDER_REFERENCE
      - PURCHASE_ORDER
      - BILL_OF_LADING
      - INVOICE
      - SHIPMENT
      - SALES_ORDER
      - TRACKING
      - DELIVERY
      - CUSTOMER_REFERENCE
      - LOAD
      - CONTAINER
      - MASTER_BILL_OF_LADING
      - BOOKING
      - SEAL
      - PICKUP
      - APPOINTMENT
      - ITEM_REFERENCE
      - OTHER
      type: string
    DateTimeRange:
      $ref: '#/components/schemas/V0Datetime.DateTimeRange'
    Portal:
      type: string
      enum:
      - AMAZON_CARRIER_CENTRAL
      - BLUE_YONDER
      - COSTCO
      - DSDLINK
      - E2OPEN
      - LMCONNECT
      - MANHATTAN
      - NCR
      - OPENDOCK
      - RYDERSHARE
      - YARDVIEW
    Accessorial:
      $ref: '#/components/schemas/V0Accessorial.Accessorial'
    DateTimeRangeType:
      enum:
      - FACILITY_HOURS
      - APPOINTMENT
      type: string
    HazmatClassQualifier:
      type: string
      enum:
      - P
      - S
    MayHaveID_CustomerData_:
      allOf:
      - properties:
          id:
            type: string
        type: object
      - $ref: '#/components/schemas/CustomerData'
    Address:
      properties:
        country:
          type: string
        postalCode:
          type: string
        city:
          type: string
        state:
          type: string
        addressTwo:
          type: string
        addressOne:
          type: string
      type: object
    HazmatContact:
      allOf:
      - $ref: '#/components/schemas/Contact'
      - properties:
          reference:
            $ref: '#/components/schemas/Reference'
        type: object
    V0Attributes.Attributes:
      properties: {}
      additionalProperties:
        type: string
      type: object
    HazmatClassification:
      properties:
        qualifier:
          anyOf:
          - $ref: '#/components/schemas/HazmatClassQualifier'
          - type: string
        hazardClass:
          anyOf:
          - $ref: '#/components/schemas/HazmatClass'
          - type: string
      required:
      - qualifier
      - hazardClass
      type: object
    AssignedCarrier:
      $ref: '#/components/schemas/V0Carrier.AssignedCarrier'
    MovementRoute:
      $ref: '#/components/schemas/V0Route.MovementRoute'
    MayHaveID_ContactData_:
      allOf:
      - properties:
          id:
            type: string
        type: object
      - $ref: '#/components/schemas/ContactData'
    Weight:
      $ref: '#/components/schemas/V0Weight.Weight'
    Attributes:
      $ref: '#/components/schemas/V0Attributes.Attributes'
    ChainsAndBinders:
      properties:
        type:
          type: string
          enum:
          - CHAINS_AND_BINDERS
          nullable: false
      required:
      - type
      type: object
    Permit:
      properties:
        type:
          type: string
          enum:
          - PERMIT
          nullable: false
      required:
      - type
      type: object
    PipeStakes:
      properties:
        type:
          type: string
          enum:
          - PIPE_STAKES
          nullable: false
      required:
      - type
      type: object
    MovementStopLocation:
      $ref: '#/components/schemas/V0Location.Location'
    ExternalIdentifierType:
      enum:
      - CUSTOM
      type: string
    FoodGrade:
      properties:
        type:
          type: string
          enum:
          - FOOD_GRADE
          nullable: false
      required:
      - type
      type: object
    FreightMode:
      enum:
      - TRUCKLOAD
      - LTL
      - PARTIAL_TRUCKLOAD
      - INTERMODAL
      - DRAYAGE
      - PARCEL
      type: string
    ShipmentData:
      properties:
        movements:
          items:
            $ref: '#/components/schemas/MayHaveID_MovementData_'
          type: array
        references:
          items:
            $ref: '#/components/schemas/Reference'
          type: array
        freightModeDetails:
          $ref: '#/components/schemas/FreightModeDetails'
        chargesToCustomer:
          $ref: '#/components/schemas/ChargesToCustomer'
        responsibleUser:
          $ref: '#/components/schemas/MayHaveID_UserData_'
        externalIds:
          items:
            $ref: '#/components/schemas/ShipmentExternalIdentifier'
          type: array
      required:
      - movements
      - references
      - freightModeDetails
      - chargesToCustomer
      - externalIds
      type: object
    Transloading:
      properties:
        type:
          type: string
          enum:
          - TRANSLOADING
          nullable: false
      required:
      - type
      type: object
    CustomerData:
      properties:
        contacts:
          items:
            $ref: '#/components/schemas/Contact'
          type: array
        name:
          type: string
        externalIds:
          items:
            $ref: '#/components/schemas/CustomerExternalIdentifier'
          type: array
      required:
      - name
      - externalIds
      type: object
    HazmatDetails:
      properties:
        classifications:
          items:
            $ref: '#/components/schemas/HazmatClassification'
          type: array
        packingGroup:
          type: string
        unNumber:
          type: string
        weight:
          $ref: '#/components/schemas/Weight'
        contact:
          $ref: '#/components/schemas/HazmatContact'
      required:
      - classifications
      - contact
      type: object
    Reference:
      $ref: '#/components/schemas/V0Reference.Reference'
    V0Mode.FreightModeDetails:
      properties:
        drayageSubtype:
          $ref: '#/components/schemas/DrayageSubtype'
        mode:
          $ref: '#/components/schemas/FreightMode'
      required:
      - mode
      type: object
    V0Cargo.Commodity:
      properties:
        isStackable:
          type: boolean
        itemReference:
          $ref: '#/components/schemas/Reference'
        dimensions:
          $ref: '#/components/schemas/Dimensions'
        weight:
          $ref: '#/components/schemas/Weight'
        hazmat:
          $ref: '#/components/schemas/HazmatDetails'
        nmfcCode:
          type: string
        freightClass:
          type: string
        pieceUnits:
          anyOf:
          - $ref: '#/components/schemas/ShippingUnits'
          - type: string
        pieceQuantity:
          type: number
          format: double
        handlingUnits:
          anyOf:
          - $ref: '#/components/schemas/ShippingUnits'
          - type: string
        handlingQuantity:
          type: number
          format: double
        description:
          type: string
      required:
      - description
      type: object
    BaseContactData:
      properties:
        name:
          type: string
        phone:
          type: string
        email:
          type: string
        role:
          type: string
      type: object
    V0Stop.MovementStop:
      $ref: '#/components/schemas/MayHaveID_MovementStopData_'
    EquipmentType:
      enum:
      - BOX_TRUCK
      - CARGO_VAN
      - CONESTOGA
      - CONTAINER
      - DOUBLE_DROP
      - DRY_VAN
      - FLATBED
      - HOT_SHOT
      - LOW_BOY
      - POWER_ONLY
      - REEFER
      - REMOVABLE_GOOSENECK
      - SPRINTER_VAN
      - STEP_DECK
      - STRAIGHT_TRUCK
      - AUTO_CARRIER
      - VAN_OR_REEFER
      - FLATBED_OR_STEP_DECK
      - OTHER
      type: string
    CarrierContact:
      properties:
        contact:
          $ref: '#/components/schemas/Contact'
        type:
          type: string
          enum:
          - DRIVER
          - DISPATCH
      required:
      - contact
      - type
      type: object
    Costs:
      properties:
        lineItems:
          items:
            $ref: '#/components/schemas/LineItem'
          type: array
      required:
      - lineItems
      type: object
    V0Dimensions.Dimensions:
      properties:
        height:
          $ref: '#/components/schemas/Dimension'
        width:
          $ref: '#/components/schemas/Dimension'
        length:
          $ref: '#/components/schemas/Dimension'
      type: object
    MayHaveID_MovementStopData_:
      allOf:
      - properties:
          id:
            type: string
        type: object
      - $ref: '#/components/schemas/MovementStopData'
    CostNegotiationGuidance:
      properties:
        maxPrice:
          $ref: '#/components/schemas/Amount'
        startingPrice:
          $ref: '#/components/schemas/Amount'
      required:
      - maxPrice
      - startingPrice
      type: object
    BlindShipment:
      properties:
        type

# --- truncated at 32 KB (36 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/vooma/refs/heads/main/openapi/vooma-shipments-api-openapi.yml