basePath: /v2
consumes:
- application/json
definitions:
  AbstractChargeLineItem:
    properties:
      amount:
        description: 'Total amount of the line item, or unit_amount times unit_quantity

          '
        format: float
        type: number
      category:
        enum:
        - ACC
        - ADJUSTMENT
        - DETENTION
        - FSC
        - FUEL
        - INSURANCE
        - LH
        - OTHER
        - Service Fee
        - TAX
        - TONU
        - VARIANCE
        type: string
      charge_code:
        $ref: '#/definitions/ChargeCode'
      created_at:
        format: date-time
        type: string
      id:
        format: uuid
        type: string
      unit_amount:
        description: Cost of one unit of the line item
        format: float
        type: number
      unit_amount_currency:
        default: USD
        enum:
        - CAD
        - USD
        type: string
      unit_name:
        description: Descriptor for one unit of the line item
        type: string
      unit_quantity:
        default: 1
        format: int32
        type: integer
      updated_at:
        format: date-time
        type: string
    required:
    - category
    - unit_amount
    - unit_quantity
    type: object
  Accessorial:
    description: Accessorial code, price, and description
    properties:
      code:
        type: string
      currency_unit:
        type: string
      description:
        type: string
      id:
        format: int32
        type: integer
      is_charge_code:
        type: boolean
      long_description:
        type: string
      price:
        format: float
        type: number
      type:
        type: string
    required:
    - id
    - code
    - description
    - long_description
    - type
    - is_charge_code
    - price
    - currency_unit
    type: object
  Address:
    properties:
      address_1:
        type: string
      address_2:
        type: string
      city:
        type: string
      country:
        type: string
      created_at:
        format: date-time
        type: string
      formatted_address:
        type: string
      id:
        format: uuid
        type: string
      latitude:
        format: float
        type: number
      longitude:
        format: float
        type: number
      phone_number:
        type: string
      postal_code:
        type: string
      state_province:
        type: string
      timezone:
        type: string
      updated_at:
        format: date-time
        type: string
    type: object
  AddressBookEntry:
    properties:
      accessorials:
        items:
          $ref: '#/definitions/Accessorial'
        type: array
      address:
        $ref: '#/definitions/Address'
      company_name:
        type: string
      created_at:
        format: date-time
        type: string
      custom_data:
        $ref: '#/definitions/LocationCustomData'
      default_appointment_type:
        $ref: '#/definitions/AppointmentType'
      dock_hours_end:
        format: time
        type: string
      dock_hours_start:
        format: time
        type: string
      external_reference:
        type: string
      id:
        format: uuid
        type: string
      is_default_origin:
        type: boolean
      location_name:
        type: string
      location_type:
        $ref: '#/definitions/LocationType'
      notes:
        type: string
      point_of_contacts:
        items:
          $ref: '#/definitions/PointOfContact'
        type: array
      updated_at:
        format: date-time
        type: string
    required:
    - address
    - is_default_origin
    - location_name
    type: object
  ApiKey:
    properties:
      company:
        type: string
      is_active:
        type: boolean
      key:
        type: string
      shipments_delete:
        type: boolean
      shipments_dispatching:
        type: boolean
      shipments_quoting:
        type: boolean
      shipments_read:
        type: boolean
      shipments_tracking:
        type: boolean
      shipments_write:
        type: boolean
    type: object
  AppointmentType:
    properties:
      code:
        type: string
      id:
        format: int32
        type: integer
      name:
        type: string
    required:
    - id
    - code
    - name
    type: object
  AssetsAccessBody:
    properties:
      eld_selection:
        type: string
    required:
    - eld_selection
    type: object
  AutomatedVendorProfile:
    description: Summary of a vendor that has some sort of automation enabled
    properties:
      company:
        $ref: '#/definitions/Company'
      has_dispatch:
        type: boolean
      has_imaging:
        type: boolean
      has_rating:
        type: boolean
      has_tracking:
        type: boolean
      has_vltl_specific_dispatch:
        type: boolean
      has_volume_rating:
        type: boolean
    required:
    - has_rating
    - has_dispatch
    - has_tracking
    - has_imaging
    - has_volume_rating
    - has_vltl_specific_dispatch
    - company
    type: object
  AutomationEvent:
    description: Event which was automatically done by the shipwell system
    properties:
      answered_by_machine:
        type: boolean
      completed_at:
        format: date-time
        type: string
      conversation_status:
        enum:
        - busy
        - canceled
        - completed
        - failed
        - in-progress
        - no-answer
        - queued
        - ringing
        type: string
      created_at:
        format: date-time
        type: string
      estimated_eta:
        format: date-time
        type: string
      estimated_location_name:
        type: string
      id:
        format: uuid
        type: string
      parsed_message:
        type: string
      recorded_audio:
        description: URL to an mp3 file holding recorded audio of the conversation
          of the event, if exists
        type: string
      response_message:
        type: string
      resulting_alert_level:
        enum:
        - HIGH
        - MEDIUM
        - LOW
        type: string
      scheduled_by_user:
        $ref: '#/definitions/User'
      scheduled_for:
        format: date-time
        type: string
      shipment:
        format: uuid
        type: string
      source:
        enum:
        - CALL
        - TEXT
        - EMAIL
        type: string
      sub_type:
        enum:
        - LOCATION_CHECK_IN
        - PRE_PICKUP
        type: string
      timeline_ordering_timestamp:
        description: 'Timestamp used in the default ordering of events.

          Will use completed_at if it is not null, otherwise

          will fall back on scheduled_for.

          '
        format: date-time
        type: string
      type:
        enum:
        - CALL
        - TEXT
        - EMAIL
        type: string
      updated_at:
        format: date-time
        type: string
    required:
    - scheduled_for
    - source
    - type
    - sub_type
    type: object
  AutomationEventSubType:
    enum:
    - LOCATION_CHECK_IN
    - PRE_PICKUP
    type: string
  BasePointOfContact:
    properties:
      created_at:
        format: date-time
        type: string
      email:
        type: string
      first_name:
        type: string
      id:
        format: uuid
        type: string
      job_title:
        type: string
      last_name:
        type: string
      phone_number:
        type: string
      updated_at:
        format: date-time
        type: string
    required:
    - first_name
    type: object
  BaseProductDescription:
    properties:
      description:
        type: string
      freight_class:
        enum:
        - '50'
        - '55'
        - '60'
        - '65'
        - '70'
        - '77.5'
        - '85'
        - '92.5'
        - '100'
        - '110'
        - '125'
        - '150'
        - '175'
        - '200'
        - '250'
        - '300'
        - '400'
        - '500'
        type: string
      hazmat_hazard_class:
        type: string
      hazmat_identification_number:
        type: string
      hazmat_packing_group:
        enum:
        - I
        - II
        - III
        type: string
      hazmat_proper_shipping_name:
        type: string
      height:
        format: float
        type: number
      id:
        format: uuid
        type: string
      length:
        format: float
        type: number
      length_unit:
        enum:
        - CM
        - IN
        type: string
      nmfc_item_code:
        type: string
      nmfc_sub_code:
        type: string
      package_type:
        enum:
        - BAG
        - BALE
        - BOX
        - BUCKET
        - BUNDLE
        - CAN
        - CARTON
        - CASE
        - COIL
        - CRATE
        - CYLINDER
        - DRUM
        - FLOOR_LOADED
        - PAIL
        - PIECES
        - PKG
        - PLT
        - REEL
        - ROLL
        - SKID
        - TUBE
        type: string
      piece_type:
        enum:
        - BAG
        - BALE
        - BOX
        - BUCKET
        - BUNDLE
        - CAN
        - CARTON
        - CASE
        - COIL
        - CRATE
        - CYLINDER
        - DRUM
        - PAIL
        - PIECES
        - REEL
        - ROLL
        - SKID
        - TUBE
        type: string
      product_ref:
        type: string
      provider_specific_packaging:
        description: Provider-specific type of packaging used for the product
        type: string
      refrigeration_max_temp:
        format: float
        type: number
      refrigeration_min_temp:
        format: float
        type: number
      refrigeration_required:
        type: boolean
      stackable:
        type: boolean
      temp_unit:
        enum:
        - F
        - C
        type: string
      total_weight:
        format: float
        type: number
      value_per_piece:
        format: float
        type: number
      value_per_piece_currency:
        enum:
        - CAD
        - USD
        type: string
      weight_unit:
        enum:
        - KG
        - LB
        type: string
      width:
        format: float
        type: number
    type: object
  BaseShipment:
    properties:
      accessorials:
        items:
          $ref: '#/definitions/Accessorial'
        type: array
      additional_bol_recipients:
        description: Additional email address to send the BOL to upon booking
        items:
          type: string
        type: array
      auction_stats:
        properties:
          declined_quotes:
            type: integer
          lowest_bid:
            format: float
            type: number
          messages:
            type: integer
          most_recent_quote_created_at:
            format: date-time
            type: string
          negotiations:
            type: integer
          quotes:
            type: integer
          visible_companies:
            type: integer
        title: AuctionStats
        type: object
      bol_number:
        type: string
      cancellation_reason:
        type: string
      capacity_provider_customer_reference_number:
        description: Customer reference number that came back from the capacity provider
        type: string
      created_at:
        format: date-time
        type: string
      created_by_user:
        format: uuid
        type: string
      current_address:
        $ref: '#/definitions/CurrentShipmentAddress'
      custom_data:
        $ref: '#/definitions/ShipmentCustomData'
      customer:
        $ref: '#/definitions/SlimCompany'
      customer_reference_number:
        type: string
      delayed:
        type: boolean
      description:
        type: string
      documents_count:
        type: integer
      drayage_booking_number:
        type: string
      drayage_chassis_number:
        type: string
      drayage_container_number:
        type: string
      drayage_container_return_date:
        type: string
      drayage_estimated_arrival_date:
        type: string
      drayage_last_free_date:
        type: string
      drayage_release_date:
        type: string
      drayage_seal_number:
        type: string
      equipment_config:
        $ref: '#/definitions/EquipmentConfig'
      equipment_type:
        $ref: '#/definitions/EquipmentType'
      est_trip_miles:
        format: float
        type: number
      external_tracking_link:
        type: string
      final_trip_miles:
        format: float
        type: number
      group_id:
        type: string
      id:
        format: uuid
        type: string
      line_items:
        items:
          $ref: '#/definitions/ShipmentLineItem'
        type: array
      marked_as_paid_by_user:
        format: uuid
        type: string
      markup:
        format: float
        type: number
      metadata:
        $ref: '#/definitions/ShipmentMetadata'
      mode:
        $ref: '#/definitions/ShipmentMode'
      name:
        type: string
      next_planned_stop_id:
        format: uuid
        type: string
      notes_count:
        type: integer
      notes_for_carrier:
        type: string
      parcel_pickup_status:
        enum:
        - DELAYED
        - DELIVERED
        - IN_TRANSIT
        - NOT_SCHEDULED
        - SCHEDULED
        type: string
      pickup_number:
        type: string
      preferred_currency:
        type: string
      pro_number:
        type: string
      purchase_order_number:
        type: string
      reference_id:
        type: string
      relationship_to_customer:
        $ref: '#/definitions/CarrierAssignment'
      relationship_to_vendor:
        $ref: '#/definitions/CarrierAssignment'
      reps:
        description: 'Representatives for the Shipment from within the requesting
          user''s

          own company

          '
        items:
          $ref: '#/definitions/ShipmentRep'
        type: array
      rfqs:
        description: 'All RFQs this Shipment has run, slimmed down to exclude their
          quotes

          '
        items:
          $ref: '#/definitions/SlimRFQ'
        type: array
      service_level:
        $ref: '#/definitions/ServiceLevel'
      shipment_pickup:
        format: uuid
        type: string
      significantly_modified_at:
        description: Not implemented
        format: date-time
        type: string
      state:
        enum:
        - appointment_pending
        - at_pickup
        - at_delivery
        - auction_running
        - cancelled
        - carrier_confirmed
        - delayed
        - delivered
        - dispatched
        - draft
        - in_transit
        - out_for_delivery
        - quote_accepted
        - quoting
        - reconciled
        - scheduled
        - tendered
        type: string
      stops:
        items:
          $ref: '#/definitions/Stop'
        type: array
      temperature_lower_limit:
        format: float
        type: number
      temperature_upper_limit:
        format: float
        type: number
      timeline_events:
        items:
          $ref: '#/definitions/ShipmentTimelineEvent'
        type: array
      timeline_last_updated_at:
        format: date-time
        type: string
      total_declared_value:
        format: float
        type: number
      total_declared_value_currency:
        enum:
        - CAD
        - USD
        type: string
      total_linear_feet:
        format: int32
        type: integer
      total_miles:
        format: int32
        type: integer
      tracking_number:
        type: string
      updated_at:
        format: date-time
        type: string
      weight_lbs:
        format: float
        type: number
    required:
    - id
    type: object
  BillRemitTo:
    properties:
      id:
        format: uuid
        type: string
      relationship:
        description: 'If SELF, carrier will be remit_to person.

          If FACTOR_COMPANY and remit_to_info has id of existing carrier factoring,
          the factoring company will be the remit_to.

          If FACTOR_COMPANY and remit_to_info does not have an id of an existing carrier
          factoring company, a new factor company will be created and

          added as remit_to.

          If FACTOR_COMPANY and no remit_to_info, the vendor_factoring_company on
          carrier relationship will be the remit_to.

          Otherwise carrier will be set as remit_to.

          '
        enum:
        - SELF
        - FACTOR_COMPANY
        type: string
      remit_to_info:
        properties:
          address:
            $ref: '#/definitions/Address'
          company_name:
            type: string
          created_at:
            format: date-time
            type: string
          email:
            format: email
            type: string
          id:
            format: uuid
            type: string
          updated_at:
            format: date-time
            type: string
        type: object
    type: object
  BillToOverride:
    description: 'Collection of bill-to information that will render on Shipment documents

      '
    properties:
      company_address:
        type: string
      company_name:
        type: string
      contact_email:
        type: string
      contact_phone:
        type: string
      created_at:
        format: date-time
        type: string
      direction:
        enum:
        - PREPAID
        - COLLECT
        - 3RD_PARTY
        type: string
      id:
        format: uuid
        type: string
      updated_at:
        format: date-time
        type: string
    required:
    - company_address
    - company_name
    - contact_email
    - contact_phone
    - direction
    type: object
  Brokerage:
    properties:
      billing_address:
        $ref: '#/definitions/Address'
      created_at:
        format: date-time
        type: string
      dba_name:
        type: string
      id:
        format: uuid
        type: string
      is_3pl:
        description: 'True if the Brokerage is actually a 3PL

          '
        type: boolean
      mailing_address:
        $ref: '#/definitions/Address'
      primary_email:
        type: string
      primary_phone_number:
        type: string
      updated_at:
        format: date-time
        type: string
    type: object
  BulkCreateSpotNegotiationRequest:
    properties:
      additional_customer_users:
        items:
          format: uuid
          type: string
        type: array
      message:
        type: string
      solicited_users:
        items:
          format: uuid
          type: string
        type: array
      special_instructions:
        type: string
    required:
    - additional_customer_users
    - solicited_users
    type: object
  BulkPrintLabelsRequest:
    items:
      properties:
        shipment:
          format: uuid
          type: string
      required:
      - shipment
      type: object
    type: array
  BulkPrintLabelsResponse:
    properties:
      batch_document:
        type: string
      labels:
        items:
          properties:
            id:
              format: uuid
              type: string
            label:
              $ref: '#/definitions/ShipmentDocumentMetadata'
          required:
          - id
          type: object
        type: array
    type: object
  BuyItNow:
    properties:
      equipment_type:
        type: integer
      mode:
        type: integer
    type: object
  CallLogRead:
    allOf:
    - $ref: '#/definitions/CallLogWrite'
    - properties:
        created_at:
          format: date-time
          type: string
        id:
          format: uuid
          type: string
        updated_at:
          format: date-time
          type: string
        user:
          $ref: '#/definitions/SlimUser'
      required:
      - recommendation_id
      - shipment
      - quote_amount
      - notes
      - created_at
      - updated_at
      - user
      - id
      type: object
  CallLogShipmentSummary:
    properties:
      highest_bid_logged:
        format: float
        type: number
      lowest_bid_logged:
        format: float
        type: number
      most_recent_bid_amount_logged:
        format: float
        type: number
      most_recent_time_logged:
        format: date-time
        type: string
      most_recent_user_logged:
        format: uuid
        type: string
      number_of_calls_logged:
        format: float
        type: number
      recommendation_id:
        format: uuid
        type: string
    required:
    - recommendation_id
    - lowest_bid_logged
    - highest_bid_logged
    - number_of_calls_logged
    type: object
  CallLogWrite:
    properties:
      notes:
        type: string
      quote_amount:
        maximum: 1000000000
        minimum: 0
        type: number
      recommendation_id:
        format: uuid
        type: string
      shipment:
        format: uuid
        type: string
    required:
    - recommendation_id
    - shipment
    - notes
    type: object
  Carrier:
    properties:
      accounts_receivable_email:
        type: string
      approved_at:
        format: date-time
        type: string
      billing_address:
        $ref: '#/definitions/Address'
      created_at:
        format: date-time
        type: string
      custom_data:
        $ref: '#/definitions/CarrierCustomData'
      dba_name:
        type: string
      display_name:
        description: 'Read-only name of the Carrier which will be its dba_name if
          one

          exists, else the Carrier''s Company''s name

          '
        type: string
      display_primary_email:
        description: 'Read-only email of the Carrier which will be its email if one

          exists, else the Carrier''s Company''s email

          '
        type: string
      display_primary_phone_number:
        description: 'Read-only phone number of the Carrier which will be its phone
          number if one

          exists, else the Carrier''s Company''s phone number

          '
        type: string
      eld_providers:
        items:
          $ref: '#/definitions/CarrierELDProvider'
        type: array
      id:
        format: uuid
        type: string
      mailing_address:
        $ref: '#/definitions/Address'
      pickup_request_email:
        type: string
      primary_email:
        type: string
      primary_phone_number:
        type: string
      service_center_lookup_url:
        type: string
      updated_at:
        format: date-time
        type: string
      usdot_number:
        type: string
    type: object
  CarrierAssignment:
    properties:
      created_at:
        format: date-time
        type: string
      customer:
        $ref: '#/definitions/Company'
      customer_charge_line_items:
        description: 'Costs owed to vendor as the customer records them,

          readable by both customer and vendor but writable

          only by the customer

          '
        items:
          $ref: '#/definitions/ShipmentChargeLineItem'
        type: array
      id:
        format: uuid
        type: string
      is_assigned_carrier:
        type: boolean
      send_point_of_contact_email:
        description: If true, send an email to the assigned point of contact
        type: boolean
      updated_at:
        format: date-time
        type: string
      vendor:
        $ref: '#/definitions/Company'
      vendor_charge_line_items:
        description: 'Costs owed to vendor as the vendor records them,

          readable by both customer and vendor but writable

          only by the vendor

          '
        items:
          $ref: '#/definitions/ShipmentChargeLineItem'
        type: array
      vendor_point_of_contact:
        format: uuid
        type: string
    required:
    - vendor
    - charge_line_items
    type: object
  CarrierCustomData:
    description: Custom data for CarrierCustomData
    type: object
  CarrierELDProvider:
    properties:
      id:
        format: uuid
        type: string
      name:
        type: string
    type: object
  CarrierPocTag:
    properties:
      created_at:
        format: date-time
        type: string
      id:
        format: uuid
        type: string
      name:
        type: string
      updated_at:
        format: date-time
        type: string
    required:
    - name
    type: object
  CarrierPointOfContact:
    allOf:
    - $ref: '#/definitions/PointOfContact'
    - properties:
        job_title:
          enum:
          - Admin
          - Billing
          - Owner Operator
          - Driver
          - Dispatcher
          - Other
          type: string
        should_send_email:
          type: boolean
      required:
      - job_title
      type: object
  CarrierPrioritizationRecommendation:
    properties:
      area_code_matched_dest:
        description: True if carrier phone area code has overlap with pickup location
        type: boolean
      area_code_matched_origin:
        description: True if carrier phone area code has overlap with pickup location
        type: boolean
      carrier_city:
        description: Carrier HQ city
        type: string
      carrier_name:
        description: Name of carrier
        type: string
      carrier_phone:
        description: Contact phone information of carrier
        type: string
      carrier_state:
        description: Carrier HQ state
        type: string
      closest_driver_dist:
        description: Distance of closest asset of carrier from pickup (miles)
        type: number
      count_SW_lane_shipments:
        description: Number of times carrier covered this lane for SW
        type: number
      count_SW_shipments:
        description: Number of times carrier covered ANY lane for SW
        type: number
      dest_carrier_latlong_dist:
        description: Distance of carrier HQ from dropoff (miles)
        type: number
      num_drivers_close:
        description: Number of assets of carrier within a specified radius of pickup
        type: number
      num_trucks:
        description: Total number of assets carrier owns
        type: integer
      orig_carrier_latlong_dist:
        description: Distance of carrier HQ from pickup (miles)
        type: number
    required:
    - carrier_name
    - carrier_phone
    type: object
  CarrierRelationship:
    properties:
      bill_to_vendor_by_default:
        description: 'Whether or not the vendor requests that they be assigned as
          the

          bill-to party when they get tendered loads. Setting is read-only,

          and will not be present when this object is part of a list.

          '
        type: boolean
      carrier_direct_integration_profile:
        properties:
          company:
            format: uuid
            type: string
          provider_code:
            type: string
        type: object
      carrier_owner:
        $ref: '#/definitions/User'
      carrier_status:
        enum:
        - ACTIVE
        - INACTIVE
        - DO_NOT_USE
        type: string
      carrier_status_last_updated:
        format: date-time
        type: string
      created_at:
        format: date-time
        type: string
      external_payment_processor:
        properties:
          status:
            enum:
            - TRIUMPH
            - SYNC_ERROR
            - NONE
            type: string
          triumph_id:
            format: uuid
            type: string
        type: object
      fmcsa_census_data:
        $ref: '#/definitions/FmcsaCensusData'
      fmcsa_vendor:
        $ref: '#/definitions/Company'
      id:
        format: uuid
        type: string
      is_editable:
        type: boolean
      notes:
        type: string
      point_of_contacts:
        items:
          $ref: '#/definitions/CarrierPointOfContact'
        type: array
      shipwell_vendor:
        $ref: '#/definitions/Company'
      tags:
        items:
          $ref: '#/definitions/CarrierTag'
        type: array
      updated_at:
        format: date-time
        type: string
      vendor_factoring_company:
        $ref: '#/definitions/VendorFactoringCompany'
    required:
    - vendor
    type: object
  CarrierSpecificShipperRelationship:
    properties:
      company:
        $ref: '#/definitions/Company'
      created_at:
        format: date-time
        type: string
      id:
        format: uuid
        type: string
      is_hidden:
        type: boolean
      is_modified:
        type: boolean
      markup:
        $ref: '#/definitions/Markup'
      shipper_relationship:
        format: uuid
        type: string
      updated_at:
        format: date-time
        type: string
    type: object
  CarrierStatus:
    enum:
    - ACTIVE
    - INACTIVE
    - DO_NOT_USE
    type: string
  CarrierTag:
    properties:
      created_at:
        format: date-time
        type: string
      id:
        format: uuid
        type: string
      name:
        type: string
      updated_at:
        format: date-time
        type: string
    required:
    - name
    type: object
  CaseNote:
    properties:
      case:
        format: uuid
        type: string
      created_at:
        format: date-time
        type: string
      created_by_user:
        $ref: '#/definitions/User'
      id:
        format: uuid
        type: string
      note:
        type: string
      updated_at:
        format: date-time
        type: string
    required:
    - note
    type: object
  ChargeCode:
    description: Standardized code for a type of line item charge
    properties:
      code:
        type: string
      description:
        type: string
      id:
        format: int32
        type: integer
    type: object
  ChargeLineItemCategory:
    description: Categorization option for charge line items
    properties:
      id:
        type: string
      name:
        type: string
    required:
    - id
    - name
    type: object
  Company:
    allOf:
    - $ref: '#/definitions/SlimCompany'
    - properties:
        billing_address:
          $ref: '#/definitions/Address'
        brokerage:
          $ref: '#/definitions/Brokerage'
        carrier:
          $ref: '#/definitions/Carrier'
        custom_data:
          $ref: '#/definitions/CompanyCustomData'
        feature_flags:
          $ref: '#/definitions/FeatureFlags'
        identifying_codes:
          items:
            $ref: '#/definitions/IdentifyingCode'
          type: array
        insurance_expires_at:
          format: date-time
          type: string
        insurance_policy_number:
          type: string
        insurance_provider_name:
          type: string
        insurance_provider_phone:
          type: string
        insurance_validated_at:
          format: date-time
          type: string
        mailing_address:
          $ref: '#/definitions/Address'
        primary_phone_number:
          type: string
        shipper:
          $ref: '#/definitions/Shipper'
        subdomain:
          type: string
      type: object
    required:
    - primary_phone_number
    - primary_email
    type: object
  CompanyCustomData:
    description: Custom data for CompanyCustomData
    type: object
  CompanyLogo:
    description: The set of logos associated with a company. Use the image_type param
      to filter by type
    properties:
      company_name:
        type: string
      id:
        format: uuid
        type: string
      image_type:
        enum:
        - LOGO_COLOR
        - LOGO_WHITE
        - INLINE_COLOR
        - INLINE_WHITE
        type: string
      logo:
        type: string
    required:
    - logo
    type: object
  CompanyPreferences:
    description: Preferences associated with a company
    properties:
      auto_archive_shipment_days:
        format: int32
        type: integer
      billing_instructions:
        type: string
      billing_terms:
        type: string
      country:
        enum:
        - US
        - CA
        type: string
      custom_customer_fields:
        items:
          $ref: '#/definitions/CustomCustomerField'
        type: array
      custom_references:
        items:
          $ref: '#/definitions/CustomReference'
        type: array
      default_carrier_status:
        enum:
        - ACTIVE
        - INACTIVE
        - DO_NOT_USE
        type: string
      invoicing_terms:
        type: string
      rate_confirmation_terms:
        type: string
      send_bol_to_vendor:
        type: boolean
      send_rate_confirmation_to_vendor:
        type: boolean
    type: object
  CompanyWithOptionalUsers:
    allOf:
    - $ref: '#/definitions/Company'
    - properties:
        users:
          description: 'List of slim users at the company.

            Only present if expandUsers parameter is allowed

            in the API route and set to True.

            '
          items:
            $ref: '#/definitions/User'
          type: array
      type: object
    type: object
  Contract:
    properties:
      additional_stop_charge_flat_fee:
        format: float
        type: number
      additional_stop_charge_flat_fee_currency:
        default: USD
        enum:
        - CAD
        - USD
        type: string
      additional_stop_charge_per_mile:
        format: float
        type: number
      additional_stop_charge_per_mile_currency:
        default: USD
        enum:
        - CAD
        - USD
        type: string
      carrier_name:
        type: string
      carrier_relationship:
        format: uuid
        type: string
      created_at:
        format: date-time
        type: string
      destinations:
        items:
          $ref: '#/definitions/Address'
        type: array
      distance_estimation_system:
        type: string
      distance_miles:
        format: integer
        type: number
      documents:
        items:
          $ref: '#/definitions/DocumentMetadata'
        type: array
      end_date:
        format: date
        type: string
      equipment_types:
        items:
          $ref: '#/definitions/EquipmentType'
        type: array
      external_id:
        type: string
      fuel_included:
        type: boolean
      id:
        format: uuid
        type: string
      minimum_rate:
        format: float
        type: number
      minimum_rate_currency:
        default: USD
        enum:
        - CAD
        - USD
        type: string
      modes:
        items:
          $ref: '#/definitions/ShipmentMode'
        type: array
      name:
        type: string
      notes:
        type: string
      origins:
        items:
          $ref: '#/definitions/Address'
        type: array
      rate:
        format: float
        type: number
      rate_currency:
        default: USD
        enum:
        - CAD
        - USD
        type: string
      rate_type:
        enum:
        - PER_MILE
        - FLAT_RATE
        type: string
      service_level_agreement:
        format: uuid
        type: string
      service_level_agreement_name:
        type: string
      start_date:
        format: date
        type: string
      status:
        enum:
        - ACTIVE
        - PAUSED
        - SUSPENDED
        - EXPIRED
        type: string
      updated_at:
        format: date-time
        type: string
    required:
    - name
    type: object
  ContractRateTypes:
    enum:
    - PER_MILE
    - FLAT_RATE
    type: string
  ContractStatuses:
    enum:
    - ACTIVE
    - PAUSED
    - SUSPENDED
    - EXPIRED
    type: string
  CrFeedback:
    allOf:
    - $ref: '#/definitions/CrFeedbackCreate'
    - properties:
        id:
          format: uuid
          type: string
        user_id:
          format: uuid
          type: string
      type: object
  CrFeedbackCreate:
    properties:
      comments:
        type: string
      recommendation_id:
        format: uuid
        type: string
      type:
        enum:
        - good
        - bad_for_shipment
        - should_never_recommend
        type: string
    type: object
  CrFieldErrorsResponse:
    properties:
      field_errors:
        additionalProperties:
          items:
            type: string
          type: array
        type: object
      non_field_errors:
        items:
          type: string
        type: array
    type: object
  CrRecommendationResponse:
    properties:
      carrier_city:
        description: Carrier HQ city
        type: string
      carrier_name:
        description: Name of carrier
        type: string
      carrier_phone:
        description: Contact phone information of carrier
        type: string
      carrier_state:
        description: Carrier HQ state
        type: string
      closest_driver_distance:
        description: Distance of closest asset of carrier from pickup (miles)
        type: number
      destination_area_code_matched:
        description: True if carrier phone area code has overlap with pickup location
        type: boolean
      destination_carrier_distance:
        description: Distance of carrier HQ from dropoff (miles)
        type: number
      external_shipment_id:
        description: External ID of shipment assocaited with.
        format: uuid
        type: string
      id:
        description: ID of this recommendation
        format: uuid
        type: string
      number_of_drivers_close:
        description: Number of assets of carrier within a specified radius of pickup
        type: number
      number_of_trucks:
        description: Total number of assets carrier owns
        type: integer
      origin_area_code_matched:
        description: True if carrier phone area code has overlap with pickup location
        type: boolean
      origin_carrier_distance:
        description: Distance of carrier HQ from pickup (miles)
        type: number
      recommendation_score:
        description: rating of this recommendation. On a scale of 0-5
        type: number
      shipwell_lane_shipments_count:
        description: Number of times carrier covered this lane for SW
        type: number
      shipwell_shipments_count:
        description: Number of times carrier covered ANY lane for SW
        type: number
    required:
    - external_shipment_id
    - carrier_name
    - carrier_phone
    type: object
  CrRecommendationShipment:
    properties:
      dropoff_city:
        type: string
      dropoff_lat:
        maximum: 90
        minimum: -90
        type: number
      dropoff_long:
        maximum: 180
        minimum: -180
        type: number
      dropoff_state:
        description: Two letter abreviation of dropoff state
        maxLength: 2
        minLength: 2
        type: string
      equipment_type:
        description: Type of equipment required.
        enum:
        - AUTO_CARRIER
        - AUTOHAULER
        - B_TRAIN
        - BULK
        - CONESTOGA
        - CONTAINER
        - CONTAINER_BREAK_BULK
        - CONTAINER_STANDARD_20_FOOT
        - CONTAINER_STANDARD_40_FOOT
        - CONTAINER_FLAT_TRACK_20_FOOT
        - CONTAINER_FLAT_TRACK_40_FOOT
        - CONTAINER_HEAVY_TESTED_20_FOOT
        - CONTAINER_HIGH_CUBE_40_FOOT
        - CONTAINER_HIGH_CUBE_45_FOOT
        - CONTAINER_INSULATED
        - CONTAINER_ISO_TANK_20_FOOT
        - CONTAINER_ISO_TANK_24_FOOT
        - CONTAINER_ISO_TANK_40_FOOT
        - CONTAINER_OPEN_TOP_20_FOOT
        - CONTAINER_OPEN_TOP_40_FOOT
        - CONTAINER_REEFER_20_FOOT
        - CONTAINER_REEFER_40_FOOT
        - CONTAINER_REFRIGERATED
        - CONVEYOR
        - CURTAIN_SIDE
        - DOUBLE_DROP
        - DROP_DECK
        - DROP_DECK_LANDOLL
        - DRY_VAN
        - DUMP_TRAILER
        - FLATBED
        - FLATBED_53_FOOT
        - FLATBED_AIR_RIDE
        - FLATBED_CONESTOGA
        - FLATBED_DOUBLE
        - FLATBED_HOTSHOT
        - FLATBED_MAXI
        - FLATBED_OVERDIMENSION
        - HOPPER
        - HOPPER_BOTTOM
        - INSULATED_VAN
        - LOWBOY
        - LOWBOY_OVERDIMENSION
        - MOVING_VAN
        - OTHER
        - PNEUMATIC
        - POWER_ONLY
        - REEFER
        - REEFER_AIR_RIDE
        - REEFER_DOUBLE
        - REEFER_INTERMODAL
        - REMOVABLE_GOOSENECK
        - STEP_DECK
        - STEPDECK_CONESTOGA
        - STRAIGHT_BOX_TRUCK
        - STRETCH_TRAILER
        - TANKER
        - TANKER_ALUMINUM
        - TANKER_INTERMODAL
        - TANKER_STEEL
        - TILT
        - TRUCK_AND_TRAILER
        - VAN_AIR_RIDE
        - VAN_DOUBLE
        - VAN_INSULATED
        - VAN_INTERMODAL
        - VAN_OPEN_TOP
        - VAN_ROLLER_BED
        - VAN_SPRINTER
        - VAN_TRIPLE
        - VAN_VENTED
        - VAN_WITH_CURTAINS
        type: string
      external_shipment_id:
        description: Shipment ID in external system.
        format: uuid
        type: string
      pickup_city:
        type: string
      pickup_lat:
        maximum: 90
        minimum: -90
        type: number
      pickup_long:
        maximum: 180
        minimum: -180
        type: number
      pickup_state:
        description: Two letter abreviation of pickup state
        maxLength: 2
        minLength: 2
        type: string
      pickup_time:
        description: Pickup time in ISO-8601 (yyyy-mm-ddThh:mm:ss.sssss+tz.info)
        type: string
    required:
    - external_shipment_id
    - equipment_type
    - dropoff_city
    - dropoff_state
    - dropoff_lat
    - dropoff_long
    - pickup_city
    - pickup_state
    - pickup_lat
    - pickup_long
    - pickup_time
    type: object
  CrRecommendationShipmentResponse:
    allOf:
    - $ref: '#/definitions/CrRecommendationShipment'
    - properties:
        id:
          description: ID of RecommendationShipment created on server.
          format: uuid
          type: string
        recommendations:
          items:
            $ref: '#/definitions/CrRecommendationResponse'
          type: array
      required:
      - id
      - recommendations
      type: object
  CreateCompanyRequestBody:
    properties:
      company:
        $ref: '#/definitions/Company'
      signup_brokerage_subdomain:
        description: If signing up a new shipper, set the brokers subdomain here to
          automatically create an inactive broker-shipper relationship
        type: string
      user:
        $ref: '#/definitions/User'
    required:
    - company
    - user
    type: object
  CreateEquipmentConfig:
    properties:
      carrier:
        format: uuid
        type: string
      created_at:
        format: date-time
        type: string
      driver:
        $ref: '#/definitions/Driver'
      driver_pin:
        format: int32
        type: integer
      id:
        format: uuid
        type: string
      power_unit:
        format: uuid
        type: string
      power_unit_name:
        type: string
      trailer:
        format: uuid
        type: string
      updated_at:
        type: string
    type: object
  CreateQuote:
    allOf:
    - $ref: '#/definitions/Quote'
    - properties:
        carrier:
          description: ID of the Carrier for this quote
          format: uuid
          type: string
        equipment_type:
          description: ID of the EquipmentType for this quote
          format: int32
          type: integer
        mode:
          description: ID of the ShipmentMode for this quote
          format: int32
          type: integer
        service_level:
          description: ID of the ServiceLevel for this quote
          format: int32
          type: integer
    description: Request body used to create a Quote
    type: object
  CreateShipmentTimelineEvent:
    allOf:
    - $ref: '#/definitions/ShipmentTimelineEvent'
    - properties:
        actor:
          description: 'ID of the User who took the action described in the event

            '
          format: uuid
          type: string
      type: object
    type: object
  CreateShipperRelationship:
    allOf:
    - $ref: '#/definitions/ShipperRelationship'
    - properties:
        user:
          $ref: '#/definitions/User'
      type: object
    required:
    - user
    type: object
  CreateSpotNegotiationQuote:
    allOf:
    - $ref: '#/definitions/CreateQuote'
    - properties:
        message:
          description: Message to include in Quote Created Email
          type: string
    description: Request body used to create a Quote
    type: object
  CurrencyCode:
    enum:
    - CAD
    - USD
    type: string
  CurrentShipmentAddress:
    allOf:
    - $ref: '#/definitions/Address'
    - properties:
        reported_at:
          description: Time when the shipment was at the address
          format: date-time
          type: string
      type: object
    type: object
  CustomCustomerField:
    description: Custom fields for a company's customers
    properties:
      id:
        format: uuid
        type: string
      name:
        type: string
    type: object
  CustomCustomerFieldValue:
    description: Custom fields and their values for a given customer
    properties:
      custom_field:
        $ref: '#/definitions/CustomCustomerField'
      id:
        format: uuid
        type: string
      value:
        type: string
    type: object
  CustomReference:
    description: Custom reference for a company
    properties:
      id:
        format: uuid
        type: string
      is_required:
        type: boolean
      reference:
        type: string
    type: object
  CustomReferenceValue:
    description: Custom reference values for a shipment
    properties:
      custom_reference:
        format: uuid
        type: string
      custom_reference_name:
        type: string
      id:
        format: uuid
        type: string
      value:
        type: string
    type: object
  Dashboard:
    description: Statistics for the dashboard page
    properties:
      delayed:
        format: int32
        type: integer
      delivery:
        format: int32
        type: integer
      scheduled:
        format: int32
        type: integer
      transit:
        format: int32
        type: integer
    type: object
  DataDocksAppointment:
    description: Appointment info coming from DataDocks
    properties:
      appointment_number:
        format: int32
        type: integer
      booking_information:
        $ref: '#/definitions/DataDocksBookingInformation'
      has_scheduled_times:
        description: If true, this appointment has all in/out times scheduled
        type: boolean
      purchase_orders:
        items:
          type: string
        type: array
      status:
        enum:
        - booked
        - cancelled
        - drop
        - late
        - needs_time
        - no_show
        - pending
        - unscheduled
        type: string
      type_of_shipment:
        enum:
        - inbound
        - other
        - outbound
        type: string
    type: object
  DataDocksBookingInformation:
    description: Booking window for a DataDocks event
    properties:
      time_in:
        format: date-time
        type: string
      time_out:
        format: date-time
        type: string
    type: object
  DataDocksStopAppointment:
    properties:
      appointment:
        $ref: '#/definitions/DataDocksAppointment'
      stop:
        description: ID of the stop that may have an appointment
        type: string
    type: object
  DataImport:
    description: Imports created by a company
    properties:
      created_at:
        format: date-time
        type: string
      csv_file:
        type: string
      error:
        type: string
      google_sheet_id:
        type: string
      google_sheet_tab:
        type: string
      id:
        format: uuid
        type: string
      is_complete:
        type: boolean
      name:
        type: string
      total_rows:
        format: int32
        type: integer
      type:
        type: string
      updated_at:
        format: date-time
        type: string
    required:
    - type
    type: object
  DataImportError:
    description: Errors for a given import row or value
    properties:
      errors:
        type: string
      row:
        format: uuid
        type: string
      value:
        $ref: '#/definitions/ImportValue'
    type: object
  Device:
    properties:
      id:
        format: uuid
        type: string
      platform:
        enum:
        - iOS
        - ANDROID
        type: string
      token:
        type: string
    type: object
  DocumentAuditlog:
    description: Auditlog for Documents sent on a Shipment
    items:
      properties:
        emails:
          items:
            properties:
              replyto_email:
                type: string
              status:
                type: string
              to_email:
                type: string
              updated_at:
                format: date-time
                type: string
            type: object
          type: array
        file:
          type: string
        filename:
          type: string
        id:
          format: uuid
          type: string
      type: object
    type: array
  DocumentMetadata:
    description: Metadata about a document
    properties:
      created_at:
        format: date-time
        type: string
      created_by_id:
        format: uuid
        type: string
      created_by_name:
        type: string
      description:
        type: string
      file:
        type: string
      filename:
        type: string
      id:
        format: uuid
        type: string
      updated_at:
        format: date-time
        type: string
    type: object
  DocumentType:
    description: Enumeration of the currently supported document types
    properties:
      id:
        type: string
      name:
        type: string
    required:
    - id
    - name
    type: object
  Driver:
    properties:
      app_last_opened_at:
        format: date-time
        type: string
      cdl_number:
        type: string
      cdl_state:
        type: string
      created_at:
        format: date-time
        type: string
      id:
        format: uuid
        type: string
      phone_number:
        type: string
      pin:
        format: int32
        type: integer
      platform:
        enum:
        - iOS
        - ANDROID
        type: string
      provider:
        type: string
      updated_at:
        format: date-time
        type: string
      user:
        $ref: '#/definitions/User'
    type: object
  DriverLog:
    properties:
      created_at:
        format: date-time
        type: string
      log:
        type: string
    type: object
  DriverLogin:
    properties:
      phone_number:
        type: string
      pin:
        format: int32
        type: integer
    type: object
  DriverPushNotificationTypesEnum:
    enum:
    - new_message
    - upcoming_pickup
    - stop_completion
    - tracking_request
    type: string
  ELDAddress:
    properties:
      city:
        type: string
      country:
        type: string
      postal_code:
        type: string
      state:
        type: string
    type: object
  ELDCredentials:
    description: Ideally, we would use oneOf (FleetupCredentials, KeepTruckinCredentials,
      TeletracCredentials) but Swagger 2 does not support this. This is a catch-all
      for all the Credential types
    properties:
      acctId:
        type: string
      api_key:
        type: string
      provider:
        type: string
      secret:
        type: string
    type: object
  ELDDeviceLocation:
    description: Location Data for device
    properties:
      address:
        $ref: '#/definitions/ELDAddress'
      device_id:
        type: string
      event_description:
        type: string
      lat:
        format: float
        type: number
      location_name:
        description: Friendly name if available e.g. Austin, TX
        type: string
      lon:
        format: float
        type: number
      odometer:
        format: int32
        type: integer
      speed:
        description: GPS speed in Km/h
        format: int32
        type: integer
      update_time:
        format: date-time
        type: string
    required:
    - update_time
    type: object
  ELDDriverStatus:
    enum:
    - driving
    - off_duty_not_driving
    - off_duty
    - sleeper
    type: string
  ELDDriversCreated:
    properties:
      drivers:
        items:
          $ref: '#/definitions/Driver'
        type: array
      errors:
        items:
          additionalProperties:
            type: string
          type: object
        type: array
      skipped_drivers:
        items:
          properties:
            driver_id:
              type: string
            email:
              type: string
            first_name:
              type: string
            last_name:
              type: string
            phone:
              type: string
          type: object
        type: array
    type: object
  ELDLocation:
    properties:
      address:
        $ref: '#/definitions/ELDAddress'
      event_description:
        type: string
      lat:
        format: float
        type: number
      location_name:
        description: Friendly name if available e.g. Austin, TX
        type: string
      lon:
        format: float
        type: number
      odometer:
        format: int32
        type: integer
      speed:
        description: GPS speed in Km/h
        format: int32
        type: integer
      update_time:
        format: date-time
        type: string
    required:
    - update_time
    type: object
  ELDLocationUpdateRequest:
    properties:
      locations:
        items:
          $ref: '#/definitions/ELDDeviceLocation'
        type: array
    type: object
  ELDProvider:
    enum:
    - eroad
    - fleetmatics
    - fleetup
    - geotab
    - ise
    - jjkeller
    - keep_truckin
    - omnitracs_vlv
    - peoplenet
    - samsara
    - teletrac
    - zonar
    type: string
  ETAWindow:
    properties:
      created_at:
        format: date-time
        type: string
      initial_window_end:
        description: End of the initial estimate of ETA window
        format: date-time
        type: string
      initial_window_start:
        description: Start of the initial estimate of ETA window
        format: date-time
        type: string
      running_window_end:
        description: Start of the most recent estimate of ETA window
        format: date-time
        type: string
      running_window_start:
        description: Start of the most recent estimate of ETA window
        format: date-time
        type: string
      updated_at:
        format: date-time
        type: string
    type: object
  EmbedUrlResponse:
    properties:
      embed_url:
        type: string
    required:
    - embed_url
    type: object
  EquipmentConfig:
    properties:
      carrier:
        $ref: '#/definitions/Carrier'
      created_at:
        format: date-time
        type: string
      driver:
        $ref: '#/definitions/Driver'
      driver_pin:
        format: int32
        type: integer
      id:
        format: uuid
        type: string
      power_unit:
        $ref: '#/definitions/PowerUnit'
      trailer:
        $ref: '#/definitions/Trailer'
      updated_at:
        format: date-time
        type: string
    type: object
  EquipmentType:
    description: Equipment type
    properties:
      id:
        format: int32
        type: integer
      machine_readable:
        enum:
        - AUTO_CARRIER
        - AUTOHAULER
        - B_TRAIN
        - BULK
        - CONESTOGA
        - CONTAINER
        - CONTAINER_BREAK_BULK
        - CONTAINER_STANDARD_20_FOOT
        - CONTAINER_STANDARD_40_FOOT
        - CONTAINER_FLAT_TRACK_20_FOOT
        - CONTAINER_FLAT_TRACK_40_FOOT
        - CONTAINER_HEAVY_TESTED_20_FOOT
        - CONTAINER_HIGH_CUBE_40_FOOT
        - CONTAINER_HIGH_CUBE_45_FOOT
        - CONTAINER_INSULATED
        - CONTAINER_ISO_TANK_20_FOOT
        - CONTAINER_ISO_TANK_24_FOOT
        - CONTAINER_ISO_TANK_40_FOOT
        - CONTAINER_OPEN_TOP_20_FOOT
        - CONTAINER_OPEN_TOP_40_FOOT
        - CONTAINER_REEFER_20_FOOT
        - CONTAINER_REEFER_40_FOOT
        - CONTAINER_REFRIGERATED
        - CONVEYOR
        - CURTAIN_SIDE
        - DOUBLE_DROP
        - DROP_DECK
        - DROP_DECK_LANDOLL
        - DRY_VAN
        - DUMP_TRAILER
        - FLATBED
        - FLATBED_53_FOOT
        - FLATBED_AIR_RIDE
        - FLATBED_CONESTOGA
        - FLATBED_DOUBLE
        - FLATBED_HOTSHOT
        - FLATBED_MAXI
        - FLATBED_OVERDIMENSION
        - HOPPER
        - HOPPER_BOTTOM
        - INSULATED_VAN
        - LOWBOY
        - LOWBOY_OVERDIMENSION
        - MOVING_VAN
        - OTHER
        - PNEUMATIC
        - POWER_ONLY
        - REEFER
        - REEFER_AIR_RIDE
        - REEFER_DOUBLE
        - REEFER_INTERMODAL
        - REMOVABLE_GOOSENECK
        - STEP_DECK
        - STEPDECK_CONESTOGA
        - STRAIGHT_BOX_TRUCK
        - STRETCH_TRAILER
        - TANKER
        - TANKER_ALUMINUM
        - TANKER_INTERMODAL
        - TANKER_STEEL
        - TILT
        - TRUCK_AND_TRAILER
        - VAN_AIR_RIDE
        - VAN_DOUBLE
        - VAN_INSULATED
        - VAN_INTERMODAL
        - VAN_OPEN_TOP
        - VAN_ROLLER_BED
        - VAN_SPRINTER
        - VAN_TRIPLE
        - VAN_VENTED
        - VAN_WITH_CURTAINS
        type: string
      name:
        type: string
    required:
    - id
    - name
    - machine_readable
    type: object
  EquipmentTypes:
    enum:
    - AUTO_CARRIER
    - AUTOHAULER
    - B_TRAIN
    - BULK
    - CONESTOGA
    - CONTAINER
    - CONTAINER_BREAK_BULK
    - CONTAINER_STANDARD_20_FOOT
    - CONTAINER_STANDARD_40_FOOT
    - CONTAINER_FLAT_TRACK_20_FOOT
    - CONTAINER_FLAT_TRACK_40_FOOT
    - CONTAINER_HEAVY_TESTED_20_FOOT
    - CONTAINER_HIGH_CUBE_40_FOOT
    - CONTAINER_HIGH_CUBE_45_FOOT
    - CONTAINER_INSULATED
    - CONTAINER_ISO_TANK_20_FOOT
    - CONTAINER_ISO_TANK_24_FOOT
    - CONTAINER_ISO_TANK_40_FOOT
    - CONTAINER_OPEN_TOP_20_FOOT
    - CONTAINER_OPEN_TOP_40_FOOT
    - CONTAINER_REEFER_20_FOOT
    - CONTAINER_REEFER_40_FOOT
    - CONTAINER_REFRIGERATED
    - CONVEYOR
    - CURTAIN_SIDE
    - DOUBLE_DROP
    - DROP_DECK
    - DROP_DECK_LANDOLL
    - DRY_VAN
    - DUMP_TRAILER
    - FLATBED
    - FLATBED_53_FOOT
    - FLATBED_AIR_RIDE
    - FLATBED_CONESTOGA
    - FLATBED_DOUBLE
    - FLATBED_HOTSHOT
    - FLATBED_MAXI
    - FLATBED_OVERDIMENSION
    - HOPPER
    - HOPPER_BOTTOM
    - INSULATED_VAN
    - LOWBOY
    - LOWBOY_OVERDIMENSION
    - MOVING_VAN
    - OTHER
    - PNEUMATIC
    - POWER_ONLY
    - REEFER
    - REEFER_AIR_RIDE
    - REEFER_DOUBLE
    - REEFER_INTERMODAL
    - REMOVABLE_GOOSENECK
    - STEP_DECK
    - STEPDECK_CONESTOGA
    - STRAIGHT_BOX_TRUCK
    - STRETCH_TRAILER
    - TANKER
    - TANKER_ALUMINUM
    - TANKER_INTERMODAL
    - TANKER_STEEL
    - TILT
    - TRUCK_AND_TRAILER
    - VAN_AIR_RIDE
    - VAN_DOUBLE
    - VAN_INSULATED
    - VAN_INTERMODAL
    - VAN_OPEN_TOP
    - VAN_ROLLER_BED
    - VAN_SPRINTER
    - VAN_TRIPLE
    - VAN_VENTED
    - VAN_WITH_CURTAINS
    type: string
  ExtendedELDProvider:
    enum:
    - eroad
    - fleetmatics
    - fleetup
    - geotab
    - ise
    - jjkeller
    - keep_truckin
    - omnitracs_vlv
    - peoplenet
    - samsara
    - teletrac
    - zonar
    - other
    type: string
  FeatureFlags:
    description: 'Read-only set of boolean flags that describe what features

      a Company has enabled

      '
    properties:
      analytics_enabled:
        description: Flag that enables analytics capability
        type: boolean
      can_book_manual_shipments:
        description: 'Flag that notifies the frontend whether or not

          it should display manual shipment booking pages

          '
        type: boolean
      can_initiate_mobile_ping_tracking:
        description: 'Flag that allows a company to initiate cell phone ping tracking
          requests

          '
        type: boolean
      can_override_bill_to_for_automated_ltl:
        description: 'Flag that notifies the frontend whether or not to render

          bill-to override dialog for autobook LTL shipments

          '
        type: boolean
      carrier_prioritization_enabled:
        description: Flag that allows users of the company to access the carrier prioritization
          features.
        type: boolean
      company:
        format: uuid
        type: string
      contracts_enabled:
        description: Flag that allows user to use contracts and SLAs
        type: boolean
      credit_limit_enabled:
        description: Flag that allows a company to block dispatch for customers who've
          used all the credit they're allowed
        type: boolean
      datadocks_enabled:
        description: 'Flag that enables DataDocks integration

          '
        type: boolean
      fedex_enabled:
        description: Flag that enables Fedex capabilities
        type: boolean
      freightwaves_driver_texts_enabled:
        description: Temp flag that allows user to see the freightwaves demo functionality
        type: boolean
      ftl_instant_rates_enabled:
        description: Flag that enables a companies usage of FTL Instant Rates
        type: boolean
      historical_pricing_enabled:
        description: Flag that allows user to view historical pricing data visualization
        type: boolean
      integrations_enabled:
        description: Flag that enables third party applications supported on the platform
          capability
        type: boolean
      invoicing_enabled:
        description: Flag that allows users of the company to access invoicing features.
        type: boolean
      load_board_enabled:
        description: Flag that allows users of the company to post shipments to the
          load board
        type: boolean
      new_dashboard_enabled:
        description: Flag that allows user to see the new dashboard views
        type: boolean
      policies_enabled:
        description: Flag that allows user to use policies
        type: boolean
      purchase_orders_enabled:
        description: Flag that enables purchase order capability
        type: boolean
      rmis_enabled:
        description: Flag that enables syncing carrier profile data from RMIS
        type: boolean
      send_shipwell_network_enabled:
        description: Flag that allows users to send quotes to the shipwell network
        type: boolean
      show_load_board:
        description: Flag that notifies the frontend whether or not to display the
          load board
        type: boolean
      supplier_invites_enabled:
        description: Flag that enables a company from sending supplier invite links
        type: boolean
      triumph_pay_enabled:
        description: Flag that enables company to use the Triumph Pay integration
        type: boolean
      ups_enabled:
        description: Flag that enables UPS capabilities
        type: boolean
      uses_3pl_quoting_flow:
        description: Flag that instructs frontend to render the 3PL-specific quoting
          flow
        type: boolean
      usps_enabled:
        description: Flag that enables USPS capabilities
        type: boolean
    type: object
  FedexAccount:
    properties:
      account_number:
        type: string
      company:
        format: uuid
        type: string
      freight_account:
        $ref: '#/definitions/FedexFreightAccount'
      id:
        format: uuid
        type: string
      key:
        type: string
      meter_number:
        type: string
      password:
        type: string
      smart_post_hub_id:
        type: integer
    type: object
  FedexDirectQuote:
    allOf:
    - $ref: '#/definitions/GenesisQuote'
  FedexFreightAccount:
    allOf:
    - $ref: '#/definitions/GenesisAddress'
    - properties:
        freight_account_number:
          type: string
      type: object
    type: object
  FedexPackaging:
    properties:
      description:
        description: All possible dimensional sub-types of the package type
        items:
          type: string
        type: array
      id:
        description: Fedex machine-readable identifier for the package type
        type: string
      label:
        description: Human-readable short description of the package type
        type: string
    type: object
  FedexShipmentOptions:
    allOf:
    - $ref: '#/definitions/GenesisShipmentOptions'
    - properties:
        account:
          description: ID of the FedexAccount to dispatch or rate with, if using FedEx
            direct rating or dispatch
          format: uuid
          type: string
        alcohol_recipient_type:
          enum:
          - CONSUMER
          - LICENSEE
          type: string
        battery_material_type:
          enum:
          - LITHIUM_ION
          - LITHIUM_METAL
          type: string
        battery_packaging_type:
          enum:
          - CONTAINED_IN_EQUIPMENT
          - PACKED_WITH_EQUIPMENT
          type: string
        dropoff_type:
          enum:
          - REGULAR_PICKUP
          - STATION
          - REQUEST_COURIER
          - BUSINESS_SERVICE_CENTER
          - DROP_BOX
          type: string
        home_delivery_date:
          format: date-'date-time'
          type: string
        home_delivery_phone_number:
          type: string
        home_delivery_type:
          enum:
          - APPOINTMENT
          - DATE_CERTAIN
          - EVENING
          type: string
        packaging:
          type: string
        service_code:
          enum:
          - FEDEX_1_DAY_FREIGHT
          - FEDEX_2_DAY
          - FEDEX_2_DAY_AM
          - FEDEX_2_DAY_FREIGHT
          - FEDEX_3_DAY_FREIGHT
          - FEDEX_EXPRESS_SAVER
          - FEDEX_FIRST_FREIGHT
          - FEDEX_FREIGHT_ECONOMY
          - FEDEX_FREIGHT_PRIORITY
          - FEDEX_GROUND
          - FIRST_OVERNIGHT
          - GROUND_HOME_DELIVERY
          - INTERNATIONAL_ECONOMY
          - INTERNATIONAL_ECONOMY_FREIGHT
          - INTERNATIONAL_FIRST
          - INTERNATIONAL_PRIORITY
          - INTERNATIONAL_PRIORITY_EXPRESS
          - INTERNATIONAL_PRIORITY_FREIGHT
          - PRIORITY_OVERNIGHT
          - SMART_POST
          - STANDARD_OVERNIGHT
          - EUROPE_FIRST_INTERNATIONAL_PRIORITY
          - FEDEX_DISTANCE_DEFERRED
          - FEDEX_NEXT_DAY_AFTERNOON
          - FEDEX_NEXT_DAY_EARLY_MORNING
          - FEDEX_NEXT_DAY_END_OF_DAY
          - FEDEX_NEXT_DAY_FREIGHT
          - FEDEX_NEXT_DAY_MID_MORNING
          - SAME_DAY
          - SAME_DAY_CITY
          type: string
        shipment_services:
          items:
            type: string
          type: array
        smart_post_indicia_type:
          enum:
          - MEDIA_MAIL
          - PARCEL_SELECT
          - PRESORTED_BOUND_PRINTED_MATTER
          - PRESORTED_STANDARD
          - PARCEL_RETURN
          type: string
        use_preferred_rates:
          default: false
          type: boolean
      type: object
    description: Shipment rating and dispatch options specific to FedEx
  FleetupCredentials:
    description: Credentials for connecting to Fleetup
    properties:
      acctId:
        type: string
      owner_id:
        type: string
      secret:
        type: string
    required:
    - acctId
    - secret
    type: object
  FmcsaCarrier:
    description: FMCSA carrier data
    properties:
      active:
        type: string
      dba_name:
        type: string
      mc_number:
        type: string
      name:
        type: string
      physical_city:
        type: string
      physical_country:
        type: string
      physical_postal_code:
        type: string
      physical_state:
        type: string
      physical_street:
        type: string
      usdot:
        type: string
    type: object
  FmcsaCensusData:
    description: FMCSA census vendor data
    properties:
      active:
        type: boolean
      cdl_drivers:
        format: int32
        type: integer
      hazmat_indicator:
        type: boolean
      identification_codes:
        items:
          $ref: '#/definitions/IdentifyingCodeType'
        type: array
      revoked:
        type: boolean
      safety_rating:
        type: string
      safety_rating_date:
        type: string
      total_buses:
        format: int32
        type: integer
      total_drivers:
        format: int32
        type: integer
      total_power_units:
        format: int32
        type: integer
      total_trucks:
        format: int32
        type: integer
      usdot:
        type: string
    type: object
  FormattedAddress:
    properties:
      formatted_address:
        type: string
    required:
    - formatted_address
    type: object
  GenesisAddress:
    properties:
      city:
        type: string
      country_code:
        type: string
      line_1:
        type: string
      line_2:
        type: string
      postal_code:
        type: string
      state_or_province:
        type: string
    required:
    - line_1
    - city
    - state_or_province
    - postal_code
    - country_code
    type: object
  GenesisQuote:
    properties:
      carrier_code:
        type: string
      service_code:
        type: string
    type: object
  GenesisShipmentOptions:
    properties:
      bill_to_account_number:
        type: string
      bill_to_payment_type:
        enum:
        - COLLECT
        - RECIPIENT
        - SENDER
        - THIRD_PARTY
        type: string
      cod_collection_amount:
        format: float
        type: number
      cod_collection_currency:
        default: USD
        enum:
        - CAD
        - USD
        type: string
      cod_collection_type:
        enum:
        - ANY
        - COMPANY_CHECK
        - GUARANTEED_FUNDS
        - PERSONAL_CHECK
        type: string
      customer_transaction_id:
        type: string
      signature_option_release_number:
        type: string
      signature_option_signature_type:
        enum:
        - ADULT_SIGNATURE
        - DIRECT_SIGNATURE
        - NO_SIGNATURE
        - INDIRECT_SIGNATURE
        - SERVICE_DEFAULT
        type: string
    type: object
  Hazmat:
    description: Hazmat code
    properties:
      hazard_class:
        type: string
      id:
        format: int32
        type: integer
      identification_number:
        type: string
      packing_group:
        type: string
      proper_shipping_name:
        type: string
    required:
    - id
    - identification_number
    - proper_shipping_name
    - hazard_class
    - packing_group
    type: object
  HistoricalPriceSources:
    enum:
    - chainalytics_spot
    - dat_spot
    - shipwell_internal
    type: string
  HoursOfService:
    description: Hours of Service Record
    properties:
      break:
        description: Number of minutes spent on break i.e. Off duty or in the sleeper
          berth (minutes)
        type: number
      cycle:
        description: On Duty and Driving Time available in this cycle (minutes)
        type: number
      drive:
        description: Driving time available in this shift (minutes)
        type: number
      shift:
        description: On Duty time available in this shift (minutes)
        type: number
    required:
    - cycle
    - shift
    - drive
    - break
    type: object
  HoursOfServiceResponse:
    properties:
      driver_id:
        type: string
      hos:
        $ref: '#/definitions/HoursOfService'
      status:
        enum:
        - driving
        - off_duty_not_driving
        - off_duty
        - sleeper
        type: string
    type: object
  IdentifyingCode:
    properties:
      created_at:
        format: date-time
        type: string
      id:
        format: uuid
        type: string
      type:
        type: string
      updated_at:
        format: date-time
        type: string
      value:
        type: string
    required:
    - type
    - value
    type: object
  IdentifyingCodeType:
    description: Enum of special reserved IdentyfingCode types
    properties:
      id:
        type: string
      name:
        type: string
    required:
    - id
    - name
    type: object
  ImportColumnMapping:
    description: Imports columns for a given import
    properties:
      column_index:
        format: int32
        type: integer
      created_at:
        format: date-time
        type: string
      data_import:
        format: uuid
        type: string
      id:
        format: uuid
        type: string
      sheet_column_name:
        type: string
      shipwell_column_name:
        type: string
      updated_at:
        format: date-time
        type: string
    required:
    - id
    - column_index
    - data_import
    - sheet_column_name
    type: object
  ImportJob:
    description: Imports rows for a given import
    properties:
      error_rows:
        format: int32
        type: integer
      id:
        format: uuid
        type: string
      is_complete:
        type: boolean
      success_rows:
        format: int32
        type: integer
    type: object
  ImportRow:
    description: Imports rows for a given import
    properties:
      created_at:
        format: date-time
        type: string
      data_import:
        format: uuid
        type: string
      id:
        format: uuid
        type: string
      import_values:
        items:
          $ref: '#/definitions/ImportValue'
        type: array
      row_index:
        format: int32
        type: integer
      updated_at:
        format: date-time
        type: string
    required:
    - id
    - data_import
    type: object
  ImportValue:
    description: Imports values for a given import
    properties:
      column_mapping:
        format: uuid
        type: string
      created_at:
        format: date-time
        type: string
      data_import:
        format: uuid
        type: string
      id:
        format: uuid
        type: string
      row:
        format: uuid
        type: string
      updated_at:
        format: date-time
        type: string
      value:
        type: string
    required:
    - id
    - data_import
    type: object
  InaccurateCarrier:
    description: Data about the inaccurate carrier
    properties:
      notes:
        type: string
      usdot:
        type: string
    required:
    - inaccurate_vendor
    - notes
    type: object
  InboxMessage:
    description: Inbox Message
    properties:
      created_at:
        format: date-time
        type: string
      id:
        format: uuid
        type: string
      level:
        type: string
      message:
        type: string
      read:
        type: boolean
      url:
        type: string
    required:
    - id
    - read
    - message
    - created_at
    type: object
  InitiateCheckCallRequest:
    description: Request body to initiate a check call on a shipment
    properties:
      automation_event_sub_type:
        description: What type of check call to make
        enum:
        - LOCATION_CHECK_IN
        - PRE_PICKUP
        type: string
      phone_number:
        description: Phone number to call
        type: string
    required:
    - automation_event_sub_type
    - phone_number
    type: object
  Invoice:
    description: Data about a shipment invoice
    properties:
      balance:
        format: float
        type: number
      created_at:
        format: date-time
        type: string
      custom_data:
        $ref: '#/definitions/InvoiceCustomData'
      customer_reference_number:
        type: string
      doc_number:
        type: string
      documents:
        items:
          $ref: '#/definitions/ShipmentDocumentMetadata'
        type: array
      id:
        format: uuid
        type: string
      line_items:
        items:
          properties:
            amount:
              format: float
              type: number
            description:
              type: string
            id:
              type: string
            sales_item_detail:
              properties:
                id:
                  type: string
                name:
                  type: string
                quantity:
                  format: float
                  type: number
                quickbooks_item:
                  $ref: '#/definitions/QuickbooksItem'
                service_date:
                  format: date
                  type: string
                total:
                  format: float
                  type: number
                unit_price:
                  format: float
                  type: number
              type: object
          type: object
        type: array
      needs_quickbooks_refresh:
        type: boolean
      payment_status:
        default: Not paid
        enum:
        - Fully paid
        - Partially paid
        - Not paid
        type: string
      payment_terms:
        type: string
      quickbooks_invoice_id:
        type: string
      quickbooks_last_updated:
        format: date-time
        type: string
      shipment:
        properties:
          bol_number:
            type: string
          id:
            format: uuid
            type: string
          name:
            type: string
          pro_number:
            type: string
          purchase_order_number:
            type: string
          reference_id:
            type: string
        type: object
      total_amount:
        format: float
        type: number
      updated_at:
        format: date-time
        type: string
      voided:
        type: boolean
    type: object
  InvoiceCustomData:
    description: Custom data for Invoice
    type: object
  InvoiceLineItem:
    properties:
      amount:
        description: 'Effective amount of the line item, or unit_amount times unit_quantity
          minus prepaid amount

          '
        format: float
        type: number
      charge_code:
        $ref: '#/definitions/ChargeCode'
      service_date:
        format: date
        type: string
      unit_amount:
        description: Cost of one unit of the line item
        format: float
        type: number
      unit_amount_currency:
        default: USD
        enum:
        - CAD
        - USD
        type: string
      unit_name:
        description: Descriptor for one unit of the line item
        type: string
      unit_quantity:
        default: 1
        format: int32
        type: integer
    required:
    - charge_code
    - unit_amount
    - unit_name
    - unit_quantity
    type: object
  JobRole:
    properties:
      db_name:
        type: string
      human_readable_name:
        type: string
    type: object
  KeepTruckinCredentials:
    description: Credentials for connecting to KeepTruckin
    properties:
      api_key:
        type: string
    required:
    - api_key
    type: object
  LinearFeetEstimate:
    properties:
      estimated_linear_feet:
        description: Read-only result of linear feet calculation
        format: int32
        type: integer
      line_items:
        items:
          $ref: '#/definitions/ShipmentLineItem'
        type: array
    type: object
  LoadBoardBiddingStatuses:
    enum:
    - bidding
    - closed
    - open
    - won
    - tendered
    - accepted
    - rejected
    - expired
    type: string
  LoadBoardShipment:
    properties:
      accessorials:
        items:
          $ref: '#/definitions/Accessorial'
        type: array
      bid_count:
        format: int32
        type: integer
      bidding_status:
        enum:
        - bidding
        - closed
        - open
        - won
        - tendered
        - accepted
        - rejected
        - expired
        type: string
      buy_it_now_amount:
        format: float
        type: number
      buy_it_now_amount_currency:
        enum:
        - CAD
        - USD
        type: string
      created_at:
        format: date-time
        type: string
      customer:
        $ref: '#/definitions/SlimCompany'
      drayage_booking_number:
        type: string
      drayage_chassis_number:
        type: string
      drayage_container_number:
        type: string
      drayage_container_return_date:
        type: string
      drayage_estimated_arrival_date:
        type: string
      drayage_last_free_date:
        type: string
      drayage_release_date:
        type: string
      drayage_seal_number:
        type: string
      equipment_types:
        items:
          $ref: '#/definitions/EquipmentType'
        type: array
      expires_at:
        format: date-time
        type: string
      id:
        format: uuid
        type: string
      is_tendered:
        type: boolean
      line_items:
        items:
          $ref: '#/definitions/ShipmentLineItem'
        type: array
      load_board_id:
        type: string
      lowest_bid_amount:
        format: float
        type: number
      lowest_bids:
        items:
          format: float
          type: number
        type: array
      match_score:
        format: float
        type: number
      modes:
        items:
          $ref: '#/definitions/ShipmentMode'
        type: array
      preferred_currency:
        type: string
      spot_negotiation:
        format: uuid
        type: string
      state:
        enum:
        - appointment_pending
        - at_pickup
        - at_delivery
        - auction_running
        - cancelled
        - carrier_confirmed
        - delayed
        - delivered
        - dispatched
        - draft
        - in_transit
        - out_for_delivery
        - quote_accepted
        - quoting
        - reconciled
        - scheduled
        - tendered
        type: string
      stops:
        items:
          $ref: '#/definitions/Stop'
        type: array
      tenders:
        items:
          $ref: '#/definitions/TenderGet'
        type: array
      total_declared_value:
        format: float
        type: number
      total_declared_value_currency:
        enum:
        - USD
        - CAD
        type: string
      total_miles:
        format: int32
        type: integer
      updated_at:
        format: date-time
        type: string
      weight_lbs:
        format: float
        type: number
    required:
    - accessorials
    - bidding_status
    - customer
    - id
    - line_items
    - load_board_id
    - state
    - stops
    type: object
  LoadBoardTenderStatuses:
    enum:
    - open
    - accepted
    - rejected
    - revoked
    - expired
    type: string
  LocationCustomData:
    description: Custom data for Location
    type: object
  LocationRating:
    properties:
      driver:
        format: uuid
        type: string
      message:
        type: string
      rating:
        format: int32
        type: integer
      stop:
        format: uuid
        type: string
    required:
    - rating
    type: object
  LocationType:
    properties:
      id:
        format: int32
        type: integer
      name:
        type: string
    required:
    - name
    type: object
  Login:
    properties:
      email:
        type: string
      password:
        type: string
    required:
    - email
    - password
    type: object
  LoginResponse:
    properties:
      api_key:
        type: string
      company:
        $ref: '#/definitions/Company'
      driver:
        $ref: '#/definitions/Driver'
      driver_token:
        type: string
      token:
        type: string
      user:
        $ref: '#/definitions/User'
    type: object
  Markup:
    properties:
      created_at:
        format: date-time
        type: string
      ftl_markup_flat_fee:
        type: number
      ftl_markup_percentage:
        description: percentage is in decimal form from 0 to 1 where 1 is 100%
        type: number
      ftl_markup_type:
        enum:
        - flat_fee
        - percentage
        type: string
      id:
        format: uuid
        type: string
      ltl_markup_flat_fee:
        type: number
      ltl_markup_minimum:
        description: 'Optional minimum LTL markup value that will override percentage-based

          calculations when it exceeds their outputs

          '
        type: number
      ltl_markup_percentage:
        description: percentage is in decimal form from 0 to 1 where 1 is 100%
        type: number
      ltl_markup_type:
        enum:
        - flat_fee
        - percentage
        type: string
      updated_at:
        format: date-time
        type: string
    type: object
  MessageListShipmentMessage:
    description: Message about a Shipment, includes information about the shipment
      as well
    properties:
      first_stop_city:
        type: string
      first_stop_state:
        type: string
      id:
        format: uuid
        type: string
      is_current_shipment:
        type: boolean
      last_stop_city:
        type: string
      last_stop_state:
        type: string
      most_recent_message:
        type: string
      most_recent_message_created_at:
        format: date-time
        type: string
      reference_id:
        type: string
    required:
    - id
    - is_current_shipment
    - reference_id
    type: object
  NMFC:
    description: NMFCCode description
    properties:
      code:
        type: string
      description:
        type: string
      freight_class:
        type: string
      id:
        format: int32
        type: integer
      long_description:
        type: string
      sub_code:
        type: string
    required:
    - id
    - code
    - description
    - long_description
    - freight_class
    - sub_code
    type: object
  NotificationPreference:
    properties:
      enabled:
        type: boolean
      id:
        format: uuid
        type: string
      medium:
        enum:
        - email
        - sms
        - push
        - inbox
        type: string
      notification_type:
        type: string
    type: object
  PackageType:
    description: Package type code
    properties:
      code:
        type: string
      description:
        type: string
      id:
        format: int32
        type: integer
      long_description:
        type: string
    required:
    - id
    - code
    - description
    - long_description
    type: object
  ParcelPickupStatus:
    enum:
    - DELAYED
    - DELIVERED
    - IN_TRANSIT
    - NOT_SCHEDULED
    - SCHEDULED
    type: string
  PhoneNumberLookup:
    properties:
      caller_name:
        type: string
      caller_type:
        type: string
      carrier_name:
        type: string
      phone_number:
        type: string
      type:
        enum:
        - landline
        - mobile
        - unverified
        - voip
        type: string
      updated_at:
        format: date-time
        type: string
    required:
    - phone_number
    type: object
  PointOfContact:
    allOf:
    - $ref: '#/definitions/BasePointOfContact'
    - properties:
        load_board_enabled:
          type: boolean
        load_board_invite_last_sent_at:
          format: date-time
          type: string
        preferences:
          $ref: '#/definitions/PointOfContactNotificationPreferences'
        user:
          description: ID of the User that this PointOfContact refers to
          format: uuid
          type: string
      required:
      - preferences
      type: object
  PointOfContactNotificationPreferences:
    properties:
      cancellation:
        type: boolean
      delayed:
        type: boolean
      delivered:
        type: boolean
      eta_changed:
        type: boolean
      picked_up:
        type: boolean
      receive_bol_on_shipment_booked:
        type: boolean
      shipment_booked:
        type: boolean
    required:
    - cancellation
    - delayed
    - delivered
    - eta_changed
    - picked_up
    - receive_bol_on_shipment_booked
    - shipment_booked
    type: object
  Policy:
    properties:
      created_at:
        format: date-time
        type: string
      destinations:
        items:
          $ref: '#/definitions/Address'
        type: array
      end_date:
        format: date
        type: string
      equipment_types:
        items:
          $ref: '#/definitions/EquipmentType'
        type: array
      id:
        format: uuid
        type: string
      modes:
        items:
          $ref: '#/definitions/ShipmentMode'
        type: array
      name:
        type: string
      origins:
        items:
          $ref: '#/definitions/Address'
        type: array
      start_date:
        format: date
        type: string
      status:
        enum:
        - ACTIVE
        - INACTIVE
        type: string
      updated_at:
        format: date-time
        type: string
      workflow_id:
        type: string
    required:
    - name
    type: object
  PostBrokeragesBrokerageidShipperRelationshipsShipperrelationshipidDocuments:
    properties:
      description:
        type: string
      file:
        format: binary
        type: string
    required:
    - file
    - description
    type: object
  PostCompaniesCompanyidUsers:
    properties:
      avatar:
        format: binary
        type: string
      company_id:
        format: uuid
        type: string
      completed_onboarding:
        type: boolean
      created_at:
        type: string
      email:
        type: string
      first_name:
        type: string
      is_quoting_limited_user:
        type: boolean
      last_login:
        type: string
      last_name:
        type: string
      password:
        type: string
      permissions:
        items:
          type: string
        type: array
      phone_number:
        type: string
      timezone:
        type: string
      updated_at:
        type: string
    required:
    - avatar
    - email
    - first_name
    - last_name
    type: object
  PostProducts:
    properties:
      description:
        type: string
      external_pickup_address:
        format: uuid
        type: string
      freight_class:
        type: string
      hazmat_hazard_class:
        type: string
      hazmat_identification_number:
        type: string
      hazmat_packing_group:
        type: string
      hazmat_proper_shipping_name:
        type: string
      height:
        format: float
        type: number
      image:
        format: binary
        type: string
      length:
        format: float
        type: number
      length_unit:
        type: string
      nmfc_item_code:
        type: string
      nmfc_sub_code:
        type: string
      package_type:
        type: string
      piece_type:
        type: string
      product_ref:
        type: string
      provider_specific_packaging:
        type: string
      refrigeration_max_temp:
        format: float
        type: number
      refrigeration_min_temp:
        format: float
        type: number
      refrigeration_required:
        type: boolean
      stackable:
        type: boolean
      temp_unit:
        type: string
      total_weight:
        format: float
        type: number
      value_per_piece:
        format: float
        type: number
      weight_unit:
        type: string
      width:
        format: float
        type: number
    required:
    - description
    - product_ref
    type: object
  PowerUnit:
    properties:
      created_at:
        format: date-time
        type: string
      description:
        type: string
      distance_traveled_miles:
        format: int32
        type: integer
      id:
        format: uuid
        type: string
      license_plate_number:
        type: string
      license_plate_state_province:
        type: string
      make:
        type: string
      model:
        type: string
      name:
        type: string
      provider:
        type: string
      updated_at:
        format: date-time
        type: string
      vin:
        type: string
    required:
    - name
    type: object
  Product:
    allOf:
    - $ref: '#/definitions/BaseProductDescription'
    - properties:
        external_can_quote:
          type: boolean
        external_id:
          type: string
        external_pickup_address:
          $ref: '#/definitions/AddressBookEntry'
        filename:
          type: string
        image:
          type: string
        max_pieces_per_package:
          format: int32
          type: integer
        source:
          type: string
      type: object
    required:
    - id
    - product_ref
    - description
    type: object
  PurchaseOrder:
    properties:
      actual_delivery_datetime:
        format: date-time
        type: string
      actual_pickup_datetime:
        format: date-time
        type: string
      company:
        format: uuid
        type: string
      created_at:
        format: date-time
        type: string
      custom_data:
        $ref: '#/definitions/PurchaseOrderCustomData'
      customer_external_id:
        type: string
      customer_name:
        type: string
      description:
        type: string
      destination_address:
        $ref: '#/definitions/Address'
      destination_dock_external_id:
        description: Destination dock ID of the purchase order from the company's
          external system
        type: string
      destination_stop:
        format: uuid
        type: string
      id:
        format: uuid
        type: string
      invoice_external_id:
        type: string
      line_items:
        items:
          $ref: '#/definitions/PurchaseOrderLineItem'
        type: array
      order_number:
        type: string
      origin_address:
        $ref: '#/definitions/Address'
      origin_dock_external_id:
        description: Origin dock ID of the purchase order from the company's external
          system
        type: string
      origin_stop:
        format: uuid
        type: string
      planned_delivery_end_datetime:
        format: date-time
        type: string
      planned_delivery_start_datetime:
        format: date-time
        type: string
      planned_pickup_end_datetime:
        format: date-time
        type: string
      planned_pickup_start_datetime:
        format: date-time
        type: string
      shipment:
        format: uuid
        type: string
      source:
        enum:
        - MAGENTO
        - SHIPWELL_WEB
        - SHOPIFY
        type: string
      source_system_id:
        type: string
      status:
        enum:
        - delivered
        type: string
      subtotal_amount:
        type: number
      subtotal_amount_currency:
        default: USD
        enum:
        - CAD
        - USD
        type: string
      supplier_external_id:
        type: string
      supplier_name:
        type: string
      tax_amount:
        type: number
      tax_amount_currency:
        default: USD
        enum:
        - CAD
        - USD
        type: string
      updated_at:
        format: date-time
        type: string
    required:
    - order_number
    - destination_address
    - origin_address
    - source
    type: object
  PurchaseOrderCustomData:
    description: Custom data for PurchaseOrder
    type: object
  PurchaseOrderLineItem:
    allOf:
    - $ref: '#/definitions/BaseProductDescription'
    - properties:
        custom_data:
          $ref: '#/definitions/PurchaseOrderLineItemCustomDate'
        description:
          type: string
        product_ref:
          type: string
        purchase_order:
          format: uuid
          type: string
        total_packages:
          format: int32
          type: integer
        total_pieces:
          format: int32
          type: integer
      type: object
    required:
    - id
    type: object
  PurchaseOrderLineItemCustomDate:
    description: Custom data for PurchaseOrderLineItem
    type: object
  QuickbooksAuthDetails:
    description: Quickbooks authorization details for a given company
    properties:
      authorized_by_user:
        format: uuid
        type: string
      company:
        format: uuid
        type: string
      created_at:
        format: date-time
        type: string
      id:
        format: uuid
        type: string
      re_authorized_by_user:
        format: uuid
        type: string
      realm_id:
        type: string
      updated_at:
        format: date-time
        type: string
    type: object
  QuickbooksBill:
    properties:
      balance:
        format: float
        type: number
      created_at:
        format: date-time
        type: string
      custom_data:
        $ref: '#/definitions/QuickbooksBillCustomData'
      doc_number:
        type: string
      documents:
        items:
          $ref: '#/definitions/ShipmentDocumentMetadata'
        type: array
      due_date:
        format: date
        type: string
      id:
        format: uuid
        type: string
      line_items:
        items:
          properties:
            account_based_expense_detail:
              properties:
                category:
                  $ref: '#/definitions/QuickbooksGLAccount'
                class_type:
                  properties:
                    id:
                      format: uuid
                      type: string
                    name:
                      type: string
                    quickbooks_id:
                      type: string
                  type: object
                id:
                  format: uuid
                  type: string
              type: object
            amount:
              format: float
              type: number
            description:
              type: string
            id:
              type: string
          type: object
        type: array
      payment_status:
        type: string
      quickbooks_id:
        format: integer
        type: string
      remit_to:
        $ref: '#/definitions/BillRemitTo'
      shipment:
        properties:
          bol_number:
            type: string
          id:
            format: uuid
            type: string
          name:
            type: string
          pro_number:
            type: string
          purchase_order_number:
            type: string
          reference_id:
            type: string
        type: object
      sync_token:
        type: string
      terms:
        type: string
      total_amount:
        format: float
        type: number
      transaction_date:
        format: date
        type: string
      updated_at:
        format: date-time
        type: string
    type: object
  QuickbooksBillCustomData:
    description: Custom data for QuickbooksBills
    type: object
  QuickbooksBillLineItem:
    properties:
      amount:
        description: 'Effective amount of the line item, or unit_amount times quantity
          minus prepaid_amount

          '
        format: float
        type: number
      charge_code:
        $ref: '#/definitions/ChargeCode'
    required:
    - amount
    - charge_code
    type: object
  QuickbooksBillPayment:
    properties:
      bank_account:
        $ref: '#/definitions/QuickbooksGLAccount'
      created_at:
        format: date-time
        type: string
      doc_number:
        type: string
      id:
        format: uuid
        type: string
      line_items:
        items:
          properties:
            amount:
              format: float
              type: number
            bill:
              $ref: '#/definitions/QuickbooksBill'
            id:
              type: string
          type: object
        type: array
      pay_type:
        enum:
        - Check
        - Creditcard
        type: number
      quickbooks_id:
        format: integer
        type: string
      total_amount:
        format: float
        type: number
      transaction_date:
        format: date
        type: string
      updated_at:
        format: date-time
        type: string
      vendor:
        format: uuid
        type: string
    type: object
  QuickbooksCustomer:
    properties:
      bill_addr:
        properties:
          city:
            type: string
          country:
            type: string
          id:
            type: string
          line1:
            type: string
        type: object
      company_name:
        type: string
      country_sub_division_code:
        type: string
      display_name:
        type: string
      domain:
        type: string
      family_name:
        type: string
      fully_qualified_name:
        type: string
      given_name:
        type: string
      id:
        type: string
      postal_code:
        type: string
      primary_email_addr:
        properties:
          address:
            type: string
        type: object
      primary_phone:
        properties:
          free_form_number:
            type: string
        type: object
      ship_addr:
        properties:
          city:
            type: string
          country_sub_division_code:
            type: string
          id:
            type: string
          line1:
            type: string
          postal_code:
            type: string
        type: object
      sync_token:
        type: string
    type: object
  QuickbooksCustomerUpdateBody:
    properties:
      bill_addr:
        properties:
          city:
            type: string
          country:
            type: string
          country_sub_division_code:
            type: string
          lat:
            type: string
          line1:
            type: string
          long:
            type: string
          postal_code:
            type: string
        type: object
      company_name:
        type: string
      display_name:
        type: string
      domain:
        type: string
      family_name:
        type: string
      fully_qualified_name:
        type: string
      given_name:
        type: string
      primary_email_addr:
        properties:
          address:
            type: string
        type: object
      primary_phone:
        properties:
          free_form_number:
            type: string
        type: object
    type: object
  QuickbooksEmailResponse:
    properties:
      invoice:
        $ref: '#/definitions/Invoice'
      message:
        description: Email sent successfully.
        type: string
    type: object
  QuickbooksExpenseClass:
    properties:
      id:
        format: uuid
        type: string
      name:
        type: string
      quickbooks_id:
        type: string
    type: object
  QuickbooksExpensesCategoryMapping:
    properties:
      category:
        type: string
      expense_account:
        properties:
          id:
            format: uuid
            type: string
          name:
            type: string
          quickbooks_id:
            type: string
        type: object
      expense_class:
        properties:
          id:
            format: uuid
            type: string
          name:
            type: string
          quickbooks_id:
            type: string
        type: object
      id:
        format: uuid
        type: string
    type: object
  QuickbooksGLAccount:
    properties:
      account_subtype:
        type: string
      account_type:
        type: string
      id:
        format: uuid
        type: string
      name:
        type: string
      quickbooks_id:
        type: string
    type: object
  QuickbooksItem:
    properties:
      description:
        type: string
      fully_qualified_name:
        type: string
      id:
        format: uuid
        type: string
      name:
        type: string
      quickbooks_id:
        type: string
    type: object
  QuickbooksItemCategoryMapping:
    properties:
      category:
        type: string
      id:
        format: uuid
        type: string
      quickbooks_item:
        $ref: '#/definitions/QuickbooksItem'
      shipment_mode:
        $ref: '#/definitions/ShipmentMode'
    type: object
  QuickbooksPaymentTerm:
    properties:
      active:
        type: boolean
      created_at:
        format: date-time
        type: string
      due_days:
        type: integer
      id:
        format: uuid
        type: string
      name:
        type: string
      needs_quickbooks_refresh:
        type: boolean
      quickbooks_id:
        type: string
      realm_id:
        type: string
      sync_token:
        type: string
      updated_at:
        format: date-time
        type: string
    type: object
  QuickbooksVendor:
    properties:
      account_number:
        format: uuid
        type: string
      billing_address:
        $ref: '#/definitions/QuickbooksVendorAddress'
      company_name:
        type: string
      created_at:
        format: date-time
        type: string
      display_name:
        type: string
      id:
        format: uuid
        type: string
      realm_id:
        type: string
      sync_token:
        type: string
      term_ref:
        type: string
      updated_at:
        format: date-time
        type: string
      vendor_1099:
        default: false
        type: boolean
      vendor_reference_number:
        type: string
    type: object
  QuickbooksVendorAddress:
    properties:
      address_1:
        type: string
      address_2:
        type: string
      city:
        type: string
      country:
        type: string
      id:
        format: uuid
        type: string
      phone_number:
        type: string
      postal_code:
        type: string
      state_province:
        type: string
    type: object
  QuickbooksVoidResponse:
    properties:
      invoice:
        $ref: '#/definitions/Invoice'
    type: object
  Quote:
    properties:
      accepted_at:
        format: date-time
        type: string
      approved_by_rfq_at:
        description: Not implemented
        format: date-time
        type: string
      can_dispatch:
        type: boolean
      carrier:
        $ref: '#/definitions/Carrier'
      charge_line_items:
        items:
          $ref: '#/definitions/QuoteChargeLineItem'
        type: array
      created_at:
        format: date-time
        type: string
      created_by_company:
        $ref: '#/definitions/SlimCompany'
      created_by_user:
        format: uuid
        type: string
      currency:
        default: USD
        description: Read-only currency code describing the currency of line items
          on the quote
        enum:
        - CAD
        - USD
        type: string
      customer_markup:
        description: 'Markup charge to the end customer, obfuscated so only authorized

          users can read/write its true value

          '
        format: float
        type: number
      delivery_date:
        description: Planned delivery date of the shipment, in string of the form
          YYYY-MM-DD
        type: string
      display_earliest_pickup:
        description: Human-readable date/time of earliest pickup, if one exists
        type: string
      earliest_pickup_date:
        description: Earliest date the shipment could be run, in string of the form
          YYYY-MM-DD
        type: string
      earliest_pickup_time:
        description: Earliest time the shipment could be run
        format: time
        type: string
      equipment_type:
        $ref: '#/definitions/EquipmentType'
      error_message:
        description: Error that happened during quoting
        type: string
      expires_at:
        format: date-time
        type: string
      fedex_direct_quote:
        $ref: '#/definitions/FedexDirectQuote'
      id:
        format: uuid
        type: string
      info_message:
        description: Description of caveats about the quote
        type: string
      is_csp_rate:
        description: 'True iff Quote originated from a rate that a Brokerage negotiated

          on behalf of one of their FreightAuthorities

          '
        type: boolean
      is_failure:
        description: 'if true, this Quote does not represent an actual price

          but instead a failure to provide a Quote to an RFQ

          '
        type: boolean
      lane_type:
        default: UNSPECIFIED
        enum:
        - DIRECT
        - INTERLINE
        - UNSPECIFIED
        type: string
      mode:
        $ref: '#/definitions/ShipmentMode'
      provider_logo_url:
        description: URL for the logo of the quote provider
        type: string
      quoted_non_dispatchable_accessorials:
        items:
          $ref: '#/definitions/Accessorial'
        type: array
      reference_number:
        type: string
      revoked_at:
        description: Not implemented
        format: date-time
        type: string
      rfq:
        description: ID of the RFQ to which this quote is related
        format: uuid
        type: string
      service_level:
        $ref: '#/definitions/ServiceLevel'
      source_type:
        enum:
        - INSTANT
        - MANUAL
        - PRIVATE_MARKETPLACE
        type: string
      spot_negotiation_quote:
        $ref: '#/definitions/SpotNegotiationQuoteInfo'
      total:
        description: Sum of all the charge line items of this quote
        format: float
        type: number
      transit_days:
        format: int32
        type: integer
      updated_at:
        format: date-time
        type: string
      ups_direct_quote:
        $ref: '#/definitions/UPSDirectQuote'
      usps_direct_quote:
        $ref: '#/definitions/USPSDirectQuote'
    type: object
  QuoteChargeLineItem:
    allOf:
    - $ref: '#/definitions/AbstractChargeLineItem'
    - properties:
        is_provider_markup:
          type: boolean
        quote:
          description: ID of the Quote to which this line item is related
          format: uuid
          type: string
    type: object
  RFQ:
    allOf:
    - $ref: '#/definitions/SlimRFQ'
    - properties:
        fedex_specific_options:
          $ref: '#/definitions/FedexShipmentOptions'
        parent_rfq:
          $ref: '#/definitions/SlimRFQ'
        quotes:
          description: All Quotes extended to this RFQ
          items:
            $ref: '#/definitions/Quote'
          type: array
        spot_negotiations:
          description: All the active SpotNegotiations of the RFQ
          items:
            $ref: '#/definitions/SpotNegotiation'
          type: array
        ups_specific_options:
          $ref: '#/definitions/UPSShipmentOptions'
        usps_specific_options:
          $ref: '#/definitions/USPSShipmentOptions'
      type: object
    type: object
  RMISAccountRequest:
    properties:
      api_password:
        type: string
      api_username:
        type: string
      ftp_password:
        type: string
      ftp_username:
        type: string
    required:
    - api_username
    - api_password
    - ftp_username
    - ftp_password
    type: object
  RMISAccountResponse:
    properties:
      api_username:
        type: string
      company:
        format: uuid
        type: string
      ftp_username:
        type: string
      id:
        format: uuid
        type: string
    required:
    - company
    - api_username
    - ftp_username
    type: object
  RecordedELDProvider:
    description: Recorded eld provider for a carrier relationship
    properties:
      created_at:
        format: date-time
        type: string
      freight_authority_vendor_relationship:
        format: uuid
        type: string
      id:
        format: uuid
        type: string
      label:
        type: string
      supported_provider_name:
        enum:
        - eroad
        - fleetmatics
        - fleetup
        - geotab
        - ise
        - jjkeller
        - keep_truckin
        - omnitracs_vlv
        - peoplenet
        - samsara
        - teletrac
        - zonar
        - other
        type: string
    type: object
  RecordedEquipmentType:
    description: Recorded equipment type for a carrier relationship
    properties:
      created_at:
        format: date-time
        type: string
      eld_provider:
        enum:
        - eroad
        - fleetmatics
        - fleetup
        - geotab
        - ise
        - jjkeller
        - keep_truckin
        - omnitracs_vlv
        - peoplenet
        - samsara
        - teletrac
        - zonar
        type: string
      equipment_metadata:
        description: Accepted values - Air Rides, High Cube (110"), Logistic Padded,
          Alchohol, EDI Capable, Step-Decks, Hot Shots, Double Drops, RGN
        items:
          type: string
        type: array
      freight_authority_vendor_relationship:
        format: uuid
        type: string
      id:
        format: uuid
        type: string
      quantity:
        format: int32
        type: integer
    type: object
  RegisterFedex:
    properties:
      account_number:
        type: string
      billing_address:
        $ref: '#/definitions/GenesisAddress'
      contact:
        properties:
          company_name:
            type: string
          email_address:
            type: string
          first_name:
            type: string
          last_name:
            type: string
          phone_number:
            type: string
        required:
        - first_name
        - last_name
        - company_name
        - phone_number
        - email_address
        type: object
      freight_account:
        $ref: '#/definitions/FedexFreightAccount'
      secondary_email:
        type: string
      shipping_address:
        $ref: '#/definitions/GenesisAddress'
      smart_post_hub_id:
        type: integer
    required:
    - account_number
    - shipping_address
    - contact
    - billing_address
    type: object
  RegisterFedexResponse:
    allOf:
    - $ref: '#/definitions/RegisterFedex'
    - properties:
        messages:
          items:
            type: string
          type: array
  RegisterUPS:
    properties:
      account_number:
        type: string
      address:
        $ref: '#/definitions/GenesisAddress'
      company:
        type: string
      email:
        type: string
      name:
        type: string
      phone:
        type: string
    required:
    - account_number
    - company
    - email
    - name
    - phone
    - address
    type: object
  RegisterUPSResponse:
    properties:
      account_number:
        type: string
    required:
    - account_number
    type: object
  SavedQuickbooksCustomers:
    properties:
      balance:
        format: float
        type: number
      company_name:
        type: string
      customer_reference_number:
        type: string
      fully_qualified_name:
        type: string
      id:
        type: string
      payment_terms:
        type: string
      realm_id:
        type: string
    type: object
  ScheduleShipmentPickupRequest:
    description: Details of a Shipment pickup
    properties:
      address_book_entry:
        format: uuid
        type: string
      fedex_account:
        format: uuid
        type: string
      is_regularly_scheduled:
        type: boolean
      point_of_contact:
        $ref: '#/definitions/BasePointOfContact'
      provider_carrier_code:
        type: string
      provider_code:
        type: string
      scheduled_date:
        format: date
        type: string
      shipments:
        items:
          format: uuid
          type: string
        type: array
      special_instructions:
        type: string
      time_window_end:
        format: time
        type: string
      time_window_start:
        format: time
        type: string
    required:
    - scheduled_date
    - time_window_start
    - time_window_end
    - point_of_contact
    - provider_code
    - address_book_entry
    type: object
  SendDocument:
    description: Send documents to recipient list via email
    properties:
      documents:
        description: List of Document IDs to attach to email
        items:
          format: uuid
          type: string
        type: array
      message:
        type: string
      recipient_emails:
        description: List of email addresses of recipients
        items:
          type: string
        type: array
      subject:
        type: string
    required:
    - documents
    - message
    - recipient_emails
    - subject
    type: object
  ServiceLevel:
    description: Standardized code for a shipment service level
    properties:
      code:
        type: string
      description:
        type: string
      id:
        format: int32
        type: integer
    type: object
  ServiceLevelAgreement:
    properties:
      awarded_loads:
        format: int32
        type: integer
      awarded_loads_interval:
        enum:
        - DAY
        - WEEK
        - MONTH
        type: string
      capacity:
        format: int32
        type: integer
      capacity_interval:
        enum:
        - DAY
        - WEEK
        - MONTH
        - YEAR
        type: string
      committed_loads:
        format: int32
        type: integer
      committed_loads_interval:
        enum:
        - DAY
        - WEEK
        - MONTH
        - YEAR
        type: string
      company:
        format: uuid
        type: string
      created_at:
        format: date-time
        type: string
      end_date:
        format: date
        type: string
      external_id:
        type: string
      id:
        format: int32
        type: integer
      minimum_acceptance_interval:
        enum:
        - DAY
        - WEEK
        - MONTH
        - YEAR
        type: string
      minimum_acceptance_percent:
        format: float
        type: number
      minimum_on_time_delivery_interval:
        enum:
        - DAY
        - WEEK
        - MONTH
        type: string
      minimum_on_time_delivery_percent:
        format: float
        type: number
      minimum_on_time_pickup_interval:
        enum:
        - DAY
        - WEEK
        - MONTH
        type: string
      minimum_on_time_pickup_percent:
        format: float
        type: number
      name:
        type: string
      notes:
        type: string
      position:
        enum:
        - PRIMARY
        - SECONDARY
        - TERTIARY
        - OTHER
        type: string
      start_date:
        format: date
        type: string
      status:
        enum:
        - ACTIVE
        - INACTIVE
        type: string
      updated_at:
        format: date-time
        type: string
    type: object
  ServiceLevelAgreementIntervals:
    enum:
    - DAY
    - WEEK
    - MONTH
    - YEAR
    type: string
  ServiceLevelAgreementStatuses:
    enum:
    - ACTIVE
    - INACTIVE
    type: string
  ShareShipment:
    description: Request/response body for sharing a Shipment
    properties:
      external_link:
        description: Read-only link to a share Shipment page
        type: string
      recipient_emails:
        description: Emails that should receive a link to the Shipment
        items:
          format: email
          type: string
        type: array
    type: object
  Shipment:
    allOf:
    - $ref: '#/definitions/BaseShipment'
    - properties:
        current_carrier:
          $ref: '#/definitions/Company'
        fedex_specific_options:
          $ref: '#/definitions/FedexShipmentOptions'
        most_recently_awarded_quote:
          $ref: '#/definitions/Quote'
        most_recently_awarded_quote_id:
          format: uuid
          type: string
        most_recently_awarded_tender:
          $ref: '#/definitions/TenderGet'
        most_recently_awarded_tender_id:
          format: uuid
          type: string
        ups_specific_options:
          $ref: '#/definitions/UPSShipmentOptions'
        usps_specific_options:
          $ref: '#/definitions/USPSShipmentOptions'
    type: object
  ShipmentAlertLevel:
    enum:
    - HIGH
    - MEDIUM
    - LOW
    type: string
  ShipmentCase:
    description: A case which is assigned to a shipment
    properties:
      assignee:
        $ref: '#/definitions/User'
      created_at:
        format: date-time
        type: string
      created_by_user:
        $ref: '#/definitions/User'
      description:
        type: string
      id:
        format: uuid
        type: string
      is_open:
        type: boolean
      title:
        type: string
      updated_at:
        format: date-time
        type: string
    type: object
  ShipmentChargeLineItem:
    allOf:
    - $ref: '#/definitions/AbstractChargeLineItem'
    - properties:
        prepaid_amount:
          description: Amount on the charge line item that is prepaid. Assumed to
            always be in the currency of the unit amount
          format: float
          type: number
        vendor_assignment:
          description: ID of the VendorAssignment to which this line item is related
          format: uuid
          type: string
    description: 'Line item recording a charge that some vendor is charging

      their customer for a shipment

      '
    type: object
  ShipmentCustomData:
    description: Custom data for Shipment
    type: object
  ShipmentDocumentMetadata:
    allOf:
    - $ref: '#/definitions/DocumentMetadata'
    - properties:
        company:
          type: string
        driver:
          description: ID of the driver who created the document, if one exists
          format: uuid
          type: string
        is_carrier_document:
          type: boolean
        shipment:
          format: uuid
          type: string
        type:
          enum:
          - BOL
          - FUEL
          - LUMPER
          - HOS
          - SIGNATURE
          - RATE_CONFIRMATION
          - CUSTOMER_TENDER
          - DELIVERY_RECEIPT
          - WEIGHT_CERTIFICATE
          - OVERAGES_SHORTAGES_AND_DAMAGES
          - INVOICE
          - INSURANCE
          - SHIPPING_LABEL
          - OTHER
          type: string
      type: object
    description: Metadata about a document
    type: object
  ShipmentLineItem:
    allOf:
    - $ref: '#/definitions/BaseProductDescription'
    - properties:
        dry_ice_unit:
          default: LB
          type: string
        dry_ice_weight:
          format: float
          type: number
        insured_value:
          type: number
        insured_value_currency:
          default: USD
          enum:
          - CAD
          - USD
          type: string
        purchase_order:
          description: Optional ID of PurchaseOrder to which line item is associated
          format: uuid
          type: string
        total_packages:
          format: int32
          type: integer
        total_pieces:
          format: int32
          type: integer
      type: object
    required:
    - id
    type: object
  ShipmentMessage:
    description: Message about a Shipment
    properties:
      created_at:
        format: date-time
        type: string
      id:
        format: uuid
        type: string
      message:
        type: string
      sender_avatar:
        type: string
      sender_id:
        format: uuid
        type: string
      sender_name:
        type: string
      shipment:
        format: uuid
        type: string
      updated_at:
        format: date-time
        type: string
    required:
    - message
    - shipment
    type: object
  ShipmentMetadata:
    description: Contextual metadata about a shipment
    properties:
      alert_level:
        enum:
        - HIGH
        - MEDIUM
        - LOW
        type: string
      alert_message:
        type: string
      archived:
        type: boolean
      automation_enabled:
        type: boolean
      bill_to_override:
        $ref: '#/definitions/BillToOverride'
      buy_it_now_amount:
        format: float
        type: number
      buy_it_now_amount_currency:
        enum:
        - CAD
        - USD
        type: string
      custom_reference_values:
        items:
          $ref: '#/definitions/CustomReferenceValue'
        type: array
      has_open_auction:
        type: boolean
      load_board_enabled:
        type: boolean
      load_board_id:
        type: string
      max_buy_amount:
        type: number
      max_buy_amount_currency:
        enum:
        - CAD
        - USD
        type: string
      open:
        type: boolean
      pending_tender_acceptance:
        type: boolean
      tags:
        description: List of ShipmentTag IDs
        items:
          format: uuid
          type: string
        type: array
    type: object
  ShipmentMode:
    description: Standardized code for a shipment mode
    properties:
      code:
        type: string
      description:
        type: string
      id:
        format: int32
        type: integer
    type: object
  ShipmentNote:
    description: Note about a Shipment or Shipment Quote
    properties:
      company:
        format: uuid
        type: string
      created_at:
        format: date-time
        type: string
      creator_full_name:
        type: string
      creator_id:
        format: uuid
        type: string
      id:
        format: uuid
        type: string
      is_pinned:
        type: boolean
      message:
        type: string
      shipment:
        format: uuid
        type: string
      updated_at:
        format: date-time
        type: string
    type: object
  ShipmentPickup:
    allOf:
    - $ref: '#/definitions/ScheduleShipmentPickupRequest'
    - description: Details of a Shipment pickup
      properties:
        address_book_entry:
          $ref: '#/definitions/AddressBookEntry'
        cancelled_at:
          format: date-time
          type: string
        created_at:
          format: date-time
          type: string
        fedex_account:
          format: uuid
          type: string
        id:
          format: uuid
          type: string
        pickup_number:
          type: string
        provider_location_id:
          type: string
        updated_at:
          format: date-time
          type: string
      required:
      - id
      - created_at
      - updated_at
      type: object
  ShipmentPosition:
    description: Latitude and longitude of a shipment.
    properties:
      id:
        format: uuid
        type: string
      latitude:
        format: float
        type: number
      longitude:
        format: float
        type: number
    type: object
  ShipmentRep:
    description: User serving as a responsible party for a Shipment
    properties:
      id:
        format: uuid
        type: string
      role:
        $ref: '#/definitions/ShipmentRepRole'
      user:
        $ref: '#/definitions/User'
    type: object
  ShipmentRepRole:
    description: Role a ShipmentRep has on a Shipment
    properties:
      id:
        type: integer
      name:
        type: string
    required:
    - id
    - name
    type: object
  ShipmentRoute:
    description: Relevant data from the Here API route.
    properties:
      distance:
        format: float
        type: number
      id:
        format: uuid
        type: string
      route_legs:
        items:
          $ref: '#/definitions/ShipmentRouteLeg'
        type: array
      traffic_time:
        format: float
        type: number
    type: object
  ShipmentRouteLeg:
    description: Details of maneuvers between waypoints.
    properties:
      distance:
        format: float
        type: number
      id:
        format: uuid
        type: string
      positions:
        items:
          $ref: '#/definitions/ShipmentPosition'
        type: array
      traffic_time:
        format: float
        type: number
    type: object
  ShipmentSpotNegotiation:
    allOf:
    - $ref: '#/definitions/SpotNegotiation'
    - properties:
        shipment:
          $ref: '#/definitions/Shipment'
      type: object
    description: SpotNegotiation with extra details about its Shipment
  ShipmentState:
    properties:
      id:
        type: string
      label:
        type: string
    type: object
  ShipmentStatusEnum:
    enum:
    - appointment_pending
    - at_pickup
    - at_delivery
    - auction_running
    - cancelled
    - carrier_confirmed
    - delayed
    - delivered
    - dispatched
    - draft
    - in_transit
    - out_for_delivery
    - quote_accepted
    - quoting
    - reconciled
    - scheduled
    - tendered
    type: string
  ShipmentTag:
    description: Tag that can be applied to shipments
    properties:
      color:
        enum:
        - cherry_bomb
        - electric_trees
        - faded_white
        - lake_travis
        - ricky_fowler
        - rock_bottom
        - sky_ship
        - so_cirrus
        - the_hotness
        - well_water
        type: string
      company:
        format: uuid
        type: string
      id:
        format: uuid
        type: string
      name:
        type: string
    type: object
  ShipmentTimelineEvent:
    description: An event that took place during the life of the shipment
    properties:
      actor:
        $ref: '#/definitions/User'
      created_at:
        format: date-time
        type: string
      description:
        type: string
      event_sub_type:
        enum:
        - AT_DELIVERY
        - AT_LOCATION
        - AT_PICKUP
        - CANCELED
        - DELAYED
        - DELIVERED
        - DELIVERED_EXCEPTION
        - DELIVERY
        - DELIVERY_APPOINTMENT
        - DELIVERY_MISSED
        - DEPARTED
        - DEPARTURE
        - DEPARTURE_MISSED
        - DISPATCHED
        - EXCEPTION
        - HELD
        - IN_TRANSIT
        - INFO
        - INTERLINE
        - INTERLINE_DELIVERED
        - INTERLINE_MISSED
        - OUT_FOR_DELIVERY
        - PICKED_UP
        - PICKUP
        - PICKUP_MISSED
        - STOP_COMPLETED
        type: string
      event_type:
        enum:
        - AT_DELIVERY
        - AT_PICKUP
        - BOOKED
        - CANCELLED
        - CARRIER_MATCHED
        - DELIVERED
        - DETAILS_CHANGED
        - DISPATCHED
        - DRIVER_ASSIGNED
        - ETA_CHANGED
        - INFO
        - LOCATION_UPDATED
        - PICKED_UP
        - TRACK_RECEIVED
        - STOP_COMPLETED
        type: string
      id:
        format: uuid
        type: string
      occurred_at:
        format: date-time
        type: string
      source:
        type: string
      updated_at:
        format: date-time
        type: string
    required:
    - description
    - event_type
    type: object
  Shipper:
    properties:
      billing_address:
        $ref: '#/definitions/Address'
      created_at:
        format: date-time
        type: string
      dba_name:
        type: string
      id:
        format: uuid
        type: string
      mailing_address:
        $ref: '#/definitions/Address'
      primary_email:
        type: string
      primary_phone_number:
        type: string
      updated_at:
        format: date-time
        type: string
    type: object
  ShipperRelationship:
    properties:
      account_reps:
        items:
          format: uuid
          type: string
        type: array
      bill_to_brokerage_by_default:
        description: 'Whether or not the brokerage requests that they be assigned
          as the

          bill-to party when they get tendered loads

          '
        type: boolean
      broker_imposed_credit_limit:
        type: number
      can_book_with_rates:
        type: boolean
      can_quote_with_rates:
        type: boolean
      company:
        $ref: '#/definitions/CompanyWithOptionalUsers'
      created_at:
        format: date-time
        type: string
      credit_balance:
        type: number
      credit_used:
        type: number
      custom_customer_field_values:
        items:
          $ref: '#/definitions/CustomCustomerFieldValue'
        type: array
      id:
        format: uuid
        type: string
      is_own_brokerage:
        type: boolean
      markup:
        $ref: '#/definitions/Markup'
      sales_reps:
        items:
          format: uuid
          type: string
        type: array
      updated_at:
        format: date-time
        type: string
    required:
    - markup
    - company
    - broker_imposed_credit_limit
    type: object
  ShipwellError:
    properties:
      error:
        type: string
      error_description:
        type: string
      field_errors:
        additionalProperties:
          items:
            type: string
          type: array
        type: object
      field_errors_condensed:
        items:
          properties:
            field_errors:
              items:
                type: string
              type: array
            field_name:
              type: string
          type: object
        type: array
      non_field_errors:
        items:
          type: string
        type: array
    required:
    - error
    - error_description
    type: object
  ShipwellHistoricalPricingSinglePrice:
    properties:
      carrier_cost:
        type: number
      carrier_email:
        type: string
      carrier_name:
        type: string
      carrier_phone_number:
        type: string
      mc_number:
        type: string
      pu_date:
        description: Date string in of the form YYYY-MM-DD
        type: string
      reference_id:
        type: string
    type: object
  ShopifyLogin:
    allOf:
    - $ref: '#/definitions/Login'
    - properties:
        shop:
          type: string
      type: object
    description: Shipwell login which ties account to Shopify
  ShopifySettings:
    properties:
      auto_apply_residential_accessorials:
        type: boolean
      can_book:
        type: boolean
      default_freight_class:
        type: number
      default_height:
        type: number
      default_length:
        type: number
      default_weight:
        type: number
      default_width:
        type: number
      dropoff_accessorials:
        items:
          $ref: '#/definitions/Accessorial'
        type: array
      enabled_carriers:
        items:
          $ref: '#/definitions/Company'
        type: array
    type: object
  SlimCarrierAssignment:
    allOf:
    - $ref: '#/definitions/CarrierAssignment'
    - properties:
        customer:
          $ref: '#/definitions/SlimCompany'
        vendor:
          $ref: '#/definitions/SlimCompany'
      type: object
  SlimCompany:
    properties:
      billing_email:
        type: string
      brokerage:
        format: uuid
        type: string
      carrier:
        format: uuid
        type: string
      created_at:
        format: date-time
        type: string
      dba_name:
        type: string
      id:
        format: uuid
        type: string
      is_shipwell:
        type: boolean
      name:
        type: string
      primary_email:
        type: string
      shipper:
        format: uuid
        type: string
      updated_at:
        format: date-time
        type: string
    required:
    - name
    type: object
  SlimRFQ:
    properties:
      autoquote:
        description: 'Whether or not this RFQ should perform an autoquoting process

          '
        type: boolean
      company_owner_id:
        format: uuid
        type: string
      created_at:
        format: date-time
        type: string
      creator:
        $ref: '#/definitions/User'
      did_finish_autoquote:
        description: Whether or not this RFQ completed an autoquoting process
        type: boolean
      equipment_types:
        items:
          $ref: '#/definitions/EquipmentType'
        type: array
      has_parent_rfq:
        type: boolean
      id:
        format: uuid
        type: string
      restrict_autoquote_to_companies:
        description: 'Array of Companies that, if provided, the autoquoting process

          will restrict its quote results to only rates that come

          from those vendor companies

          '
        items:
          $ref: '#/definitions/Company'
        type: array
      shipment:
        description: ID of the Shipment for which this RFQ was created
        format: uuid
        type: string
      shipment_modes:
        items:
          $ref: '#/definitions/ShipmentMode'
        type: array
      spot_negotiations:
        description: All SpotNegotiation IDs of the RFQ
        items:
          format: uuid
          type: string
        type: array
      updated_at:
        format: date-time
        type: string
    required:
    - autoquote
    - shipment
    type: object
  SlimShipment:
    allOf:
    - $ref: '#/definitions/BaseShipment'
    - properties:
        current_carrier:
          $ref: '#/definitions/SlimCompany'
        relationship_to_customer:
          $ref: '#/definitions/SlimCarrierAssignment'
        relationship_to_vendor:
          $ref: '#/definitions/SlimCarrierAssignment'
    type: object
  SlimUser:
    properties:
      email:
        type: string
      first_name:
        type: string
      id:
        format: uuid
        type: string
      last_name:
        type: string
      phone_number:
        type: string
    required:
    - first_name
    - last_name
    - email
    type: object
  SpotNegotiation:
    properties:
      closed_by_customer_at:
        format: date-time
        type: string
      closed_by_vendor_at:
        format: date-time
        type: string
      created_at:
        format: date-time
        type: string
      customer:
        $ref: '#/definitions/SlimCompany'
      id:
        format: uuid
        type: string
      involved_customer_users:
        items:
          $ref: '#/definitions/User'
        type: array
      involved_vendor_users:
        items:
          $ref: '#/definitions/User'
        type: array
      is_most_recent_winner:
        type: boolean
      match_score:
        type: number
      message_count:
        type: integer
      quotes:
        description: Optional list of quotes included on this spot negotiation
        items:
          $ref: '#/definitions/Quote'
          type: object
        type: array
      updated_at:
        format: date-time
        type: string
      vendor:
        $ref: '#/definitions/SlimCompany'
    required:
    - involved_customer_users
    - involved_vendor_users
    type: object
  SpotNegotiationMessage:
    properties:
      created_at:
        format: date-time
        type: string
      id:
        format: uuid
        type: string
      message:
        type: string
      sender:
        $ref: '#/definitions/User'
      spot_negotiation:
        format: uuid
        type: string
      updated_at:
        format: date-time
        type: string
    type: object
  SpotNegotiationQuoteInfo:
    properties:
      declined_at:
        format: date-time
        type: string
      spot_negotiation:
        format: uuid
        type: string
    type: object
  Stop:
    properties:
      accessorials:
        items:
          $ref: '#/definitions/Accessorial'
        type: array
      appointment_type:
        $ref: '#/definitions/AppointmentType'
      carrier_specified_eta:
        $ref: '#/definitions/ETAWindow'
      confirmed_arrival_at:
        description: Optional of when the driver first arrived at the Stop
        format: date-time
        type: string
      confirmed_departure_at:
        description: Optional of when the Stop was departed
        format: date-time
        type: string
      created_at:
        format: date-time
        type: string
      display_eta_window:
        type: string
      display_planned_window:
        type: string
      display_schedule:
        type: string
      eta_overridden_by:
        description: ID of User who marked ETA as overridden, if exists
        format: uuid
        type: string
      id:
        format: uuid
        type: string
      instructions:
        type: string
      internal_notes:
        type: string
      is_completed:
        description: Whether or not the Stop was completed
        type: boolean
      is_dropoff:
        type: boolean
      is_pickup:
        type: boolean
      location:
        $ref: '#/definitions/StopLocation'
      ordinal_index:
        format: int32
        type: integer
      planned_date:
        description: Planned date of the stop, in string of the form YYYY-MM-DD
        type: string
      planned_time_window_end:
        format: time
        type: string
      planned_time_window_start:
        format: time
        type: string
      predictive_model_eta:
        $ref: '#/definitions/ETAWindow'
      unconfirmed_arrival_at:
        description: Read-only. Geofence arrival time
        format: date-time
        type: string
      unconfirmed_departure_at:
        description: Read-only. Geofence departure time
        format: date-time
        type: string
      updated_at:
        format: date-time
        type: string
    required:
    - id
    - location
    - ordinal_index
    - is_dropoff
    - is_pickup
    type: object
  StopLocation:
    properties:
      address:
        $ref: '#/definitions/Address'
      company_name:
        type: string
      created_at:
        format: date-time
        type: string
      dock_external_id:
        type: string
      dock_hours_end:
        format: time
        type: string
      dock_hours_start:
        format: time
        type: string
      id:
        format: uuid
        type: string
      location_name:
        type: string
      location_type:
        $ref: '#/definitions/LocationType'
      notes:
        type: string
      point_of_contacts:
        items:
          $ref: '#/definitions/PointOfContact'
        type: array
      updated_at:
        format: date-time
        type: string
    required:
    - address
    - location_name
    type: object
  SupplierInvite:
    description: A user's supplier invite
    properties:
      booked_at:
        format: date-time
        type: string
      company:
        format: uuid
        type: string
      created_at:
        format: date-time
        type: string
      express_delivery:
        type: boolean
      key:
        type: string
      message_to_supplier:
        type: string
      po_number:
        type: string
      revoked_at:
        format: date-time
        type: string
      sent_by_user:
        format: uuid
        type: string
      shipment:
        format: uuid
        type: string
      shipment_created_at:
        format: date-time
        type: string
      status:
        enum:
        - BOOKED
        - CANCELLED
        - REQUESTED
        - UNABLE_TO_BOOK
        type: string
      supplier_email_address:
        format: email
        type: string
    required:
    - supplier_email_address
    type: object
  SupplierInviteResponse:
    allOf:
    - $ref: '#/definitions/SupplierInvite'
    - properties:
        shipment:
          $ref: '#/definitions/SlimShipment'
        user:
          $ref: '#/definitions/User'
      type: object
    type: object
  Task:
    description: A task
    properties:
      assignee:
        $ref: '#/definitions/User'
      case:
        format: uuid
        type: string
      created_at:
        format: date-time
        type: string
      created_by_user:
        $ref: '#/definitions/User'
      description:
        type: string
      due_date:
        format: date-time
        type: string
      id:
        format: uuid
        type: string
      is_open:
        type: boolean
      shipment:
        format: uuid
        type: string
      updated_at:
        format: date-time
        type: string
    required:
    - description
    type: object
  TeletracCredentials:
    description: Credentials for connecting to Teletrac
    properties:
      owner_id:
        type: string
    required:
    - owner_id
    type: object
  TenderAcceptReject:
    properties:
      rejection_code:
        enum:
        - A13
        - EQU
        - CPU
        - LL1
        - LL2
        type: string
      rejection_reason:
        type: string
      type:
        enum:
        - ACCEPT
        - REJECT
        type: string
    required:
    - type
    title: TenderAcceptReject
    type: object
  TenderAppointmentEventRequest:
    properties:
      created_at:
        format: date-time
        type: string
      notes:
        type: string
      recorded_at:
        format: date-time
        type: string
      stop_sequence_id:
        minimum: 1
        type: number
      window_end:
        format: date-time
        type: string
      window_start:
        format: date-time
        type: string
    required:
    - stop_sequence_id
    - recorded_at
    - window_start
    - window_end
    title: TenderAppointmentEventRequest
    type: object
  TenderBase:
    properties:
      charge_line_items:
        items:
          properties:
            category:
              description: Code the charge category for this line item
              type: string
            unit_amount:
              description: Amount of a single unit of this line item
              type: number
            unit_amount_currency:
              description: 3 letter code of currency for this line item. If not provided,
                assumed to be USD.
              maxLength: 3
              minLength: 3
              type: string
            unit_name:
              description: Name of charge
              type: string
            unit_quantity:
              description: Quantity of this line item
              type: integer
          required:
          - unit_amount
          - unit_name
          - unit_quantity
          title: TenderChargeLineItem
          type: object
        type: array
      delivery_date:
        description: requested delivery date for this tender (in YYYY-MM-DD format)
        format: date
        type: string
      earliest_pickup_date:
        description: Earliest date tender is available for pickup (in YYYY-MM-DD format)
        format: date
        type: string
      earliest_pickup_time:
        description: Earliest time tender is available for pickup (in HH:MM:SS format)
        type: string
      equipment_type:
        description: machine_readable string of the EquipmentType requested for this
          tender.
        type: string
      error_message:
        description: Open-ended field for error information regarding this tender
        type: string
      expires_at:
        description: Datetime that this tender expires at.
        format: date-time
        type: string
      info_message:
        description: Open-ended field for other information regarding this tender
          e.g special instructions
        type: string
      lane_type:
        description: machine_readable string of the LaneType (formerly QuoteLaneType)
          requested for this tender.
        enum:
        - DIRECT
        - INTERLINE
        - UNSPECIFIED
        type: string
      latest_pickup_date:
        description: Latest date tender is available for pickup (in YYYY-MM-DD format)
        format: date
        type: string
      latest_pickup_time:
        description: Latest time tender is available for pickup (in HH:MM:SS format)
        type: string
      reference_number:
        description: Reference number/string for this tender. Primarially for references
          from external systems.
        type: string
      transit_days:
        description: Number of days scheduled for transit
        type: integer
    type: object
  TenderCreate:
    allOf:
    - $ref: '#/definitions/TenderBase'
    - properties:
        carrier:
          description: UUID of the carrier for the company the shipment is being tendered
            to
          format: uuid
          type: string
        involved_tender_to_company_users:
          items:
            format: uuid
            type: string
          type: array
        mode:
          description: ID of the shipment mode
          format: int32
          type: integer
        service_level:
          description: ID of the service level type
          format: int32
          type: integer
        shipment:
          description: UUID of the shipment this tender is for
          format: uuid
          type: string
        tender_to_company:
          description: UUID of the company to tender this shipment to
          format: uuid
          type: string
      required:
      - shipment
      - tender_to_company
      type: object
  TenderEquipmentEventRequest:
    properties:
      equipment_id:
        type: string
      notes:
        type: string
      recorded_at:
        format: date-time
        type: string
      type_code:
        enum:
        - BULK
        - CONTAINER
        - CONESTOGA
        - DRY_VAN
        - DOUBLE_DROP
        - DROP_DECK
        - FLATBED
        - FLATBED_CONESTOGA
        - OTHER
        - REEFER
        - TRUCK_AND_TRAILER
        - VAN_VENTED
        type: string
    title: TenderEquipmentEventRequest
    type: object
  TenderEtaEventRequest:
    properties:
      created_at:
        format: date-time
        type: string
      notes:
        type: string
      recorded_at:
        format: date-time
        type: string
      stop_sequence_id:
        minimum: 1
        type: number
      window_end:
        format: date-time
        type: string
      window_start:
        format: date-time
        type: string
    required:
    - stop_sequence_id
    - recorded_at
    - window_start
    - window_end
    title: TenderEtaEventRequest
    type: object
  TenderEventRequest:
    properties:
      customer:
        $ref: '#/definitions/TenderRequestCustomer'
      events:
        properties:
          appointment:
            items:
              $ref: '#/definitions/TenderAppointmentEventRequest'
            type: array
          equipment:
            items:
              $ref: '#/definitions/TenderEquipmentEventRequest'
            type: array
          eta:
            items:
              $ref: '#/definitions/TenderEtaEventRequest'
            type: array
          location:
            items:
              $ref: '#/definitions/TenderLocationEventRequest'
            type: array
          shipment_state:
            items:
              $ref: '#/definitions/TenderShipmentStateEventRequest'
            type: array
          stop_location_event:
            items:
              $ref: '#/definitions/TenderStopLocationEventRequest'
            type: array
        type: object
      tender_id:
        format: uuid
        type: string
      vendor:
        $ref: '#/definitions/TenderRequestVendor'
    required:
    - customer
    - vendor
    - tender_id
    - events
    title: TenderEventRequest
    type: object
  TenderGet:
    allOf:
    - $ref: '#/definitions/TenderBase'
    - properties:
        accepted_at:
          description: Datetime that the tender was accepted at or null if not accepted.
          format: date-time
          type: string
        carrier:
          $ref: '#/definitions/Carrier'
        created_at:
          format: date-time
          type: string
        created_by_company_id:
          description: UUID of company that created this tender
          format: uuid
          type: string
        created_by_user_id:
          description: UUID of user that created this tender (if known)
          format: uuid
          type: string
        expires_at:
          description: Datetime the tender expires or null if it doesn't expire.
          format: date-time
          type: string
        external_edi_system_shipment_id:
          description: External system shipment identification value
          type: string
        id:
          description: UUID of this tender
          format: uuid
          type: string
        involved_tender_to_company_users:
          items:
            $ref: '#/definitions/SlimUser'
          type: array
        mode:
          $ref: '#/definitions/ShipmentMode'
        rejected_at:
          description: Datetime the tender was rejected or null if not rejected.
          format: date-time
          type: string
        revoked_at:
          description: Datetime the tender was revoked by the shipper or null if not
            revoked.
          format: date-time
          type: string
        service_level:
          $ref: '#/definitions/ServiceLevel'
        shipment_id:
          description: UUID of the shipment this tender is for
          format: uuid
          type: string
        status:
          enum:
          - open
          - accepted
          - rejected
          - revoked
          - expired
          type: string
        tender_to_company:
          $ref: '#/definitions/Company'
        updated_at:
          format: date-time
          type: string
      required:
      - id
      - created_by_company_id
      type: object
  TenderLocationEventRequest:
    properties:
      city:
        type: string
      country:
        type: string
      geo_location:
        properties:
          lat:
            format: float
            type: number
          lon:
            format: float
            type: number
        type: object
      notes:
        type: string
      postal_code:
        type: string
      recorded_at:
        format: date-time
        type: string
      state:
        type: string
    required:
    - city
    - state
    - country
    - geo_location
    title: TenderLocationEventRequest
    type: object
  TenderRequest:
    properties:
      customer:
        $ref: '#/definitions/TenderRequestCustomer'
      equipment:
        properties:
          temperature_control:
            properties:
              lower_limit:
                $ref: '#/definitions/TenderRequestTemperature'
              upper_limit:
                $ref: '#/definitions/TenderRequestTemperature'
            type: object
          type_code:
            enum:
            - BULK
            - CONTAINER
            - CONESTOGA
            - DRY_VAN
            - DOUBLE_DROP
            - DROP_DECK
            - FLATBED
            - FLATBED_CONESTOGA
            - OTHER
            - REEFER
            - TRUCK_AND_TRAILER
            - VAN_VENTED
            type: string
        required:
        - type_code
        title: TenderRequestEquipment
        type: object
      shipment:
        properties:
          accessorials:
            items:
              enum:
              - GUARANTEED
              - HAZMAT
              - NOTIFY_BEFORE_DELIVERY
              type: string
            type: array
            uniqueItems: true
          charges:
            items:
              properties:
                name:
                  maxLength: 256
                  type: string
                quantity:
                  format: int64
                  minimum: 0
                  type: number
                value:
                  minimum: 0
                  type: number
              required:
              - name
              - quantity
              - value
              title: TenderRequestCharge
              type: object
            type: array
          expires_at:
            format: date-time
            type: string
          external_edi_system_shipment_id:
            description: The identifier for the shipment in an external EDI system
            type: string
          purchase_order_number:
            maxLength: 256
            type: string
          shipment_refence_id:
            maxLength: 20
            type: string
          shipper_reference_id:
            maxLength: 256
            type: string
          special_instructions:
            type: string
          stops:
            items:
              properties:
                accessorials:
                  items:
                    enum:
                    - APPOINTMENT_REQUESTED
                    - LIFTGATE
                    - CONVENTION_TRADESHOW
                    - CONSTRUCTION_SITE
                    - INSIDE_PICKUP_DELIVERY
                    - LIMITED_ACCESS
                    - FARM
                    type: string
                  type: array
                  uniqueItems: true
                address:
                  properties:
                    city:
                      maxLength: 128
                      type: string
                    country:
                      maxLength: 2
                      type: string
                    line_1:
                      maxLength: 256
                      type: string
                    line_2:
                      maxLength: 256
                      type: string
                    postal_code:
                      maxLength: 20
                      type: string
                    state_or_province:
                      maxLength: 2
                      type: string
                  required:
                  - line_1
                  - city
                  - state_or_province
                  - country
                  - postal_code
                  title: TenderRequestShipmentStopAddress
                  type: object
                contacts:
                  items:
                    properties:
                      email:
                        format: email
                        type: string
                      first_name:
                        maxLength: 45
                        type: string
                      last_name:
                        maxLength: 45
                        type: string
                      phone:
                        type: string
                    required:
                    - first_name
                    title: TenderRequestShipmentStopContact
                    type: object
                  minItems: 1
                  type: array
                earliest_pickup:
                  format: date-time
                  type: string
                latest_pickup:
                  format: date-time
                  type: string
                line_items:
                  items:
                    properties:
                      description:
                        maxLength: 256
                        type: string
                      packaging:
                        enum:
                        - PACKAGE
                        - PALLET
                        type: string
                      quantity:
                        minimum: 0
                        type: number
                      weight:
                        $ref: '#/definitions/TenderRequestWeight'
                    title: TenderRequestShipmentStopLineItem
                    type: object
                  type: array
                reason:
                  enum:
                  - LOAD
                  - UNLOAD
                  type: string
                sequence_id:
                  minimum: 1
                  type: number
                special_instructions:
                  type: string
              required:
              - sequence_id
              - reason
              - address
              - contacts
              title: TenderRequestShipmentStop
              type: object
            type: array
          tender_id:
            format: uuid
            readOnly: true
            type: string
          weight:
            $ref: '#/definitions/TenderRequestWeight'
        required:
        - stops
        - charges
        title: TenderRequestShipment
        type: object
      vendor:
        $ref: '#/definitions/TenderRequestVendor'
    required:
    - customer
    - vendor
    - shipment
    - equipment
    title: TenderRequest
    type: object
  TenderRequestCustomer:
    properties:
      id:
        format: uuid
        type: string
      name:
        type: string
    required:
    - id
    title: TenderRequestCustomer
    type: object
  TenderRequestTemperature:
    properties:
      unit:
        enum:
        - C
        - F
        type: string
      value:
        type: number
    required:
    - unit
    - value
    title: TenderRequestTemperature
    type: object
  TenderRequestVendor:
    properties:
      ff:
        type: string
      id:
        format: uuid
        type: string
      mc:
        type: string
      mx:
        type: string
      nsc:
        type: string
      scac:
        type: string
      usdot:
        type: string
    title: TenderRequestVendor
    type: object
  TenderRequestWeight:
    properties:
      unit:
        enum:
        - KG
        - LBS
        type: string
      value:
        minimum: 0
        type: number
    required:
    - unit
    - value
    title: TenderRequestWeight
    type: object
  TenderShipmentStateEventRequest:
    properties:
      recorded_at:
        format: date-time
        type: string
      status:
        enum:
        - TENDERED_FOR_DELIVERY
        - IN_TRANSIT
        - CANCELLED
        - LOADING
        - DELAYED
        - DELIVERED
        - HELD
        type: string
    required:
    - recorded_at
    - status
    title: TenderStopLocationEventRequest
    type: object
  TenderStopLocationEventRequest:
    properties:
      event_type:
        enum:
        - ARRIVAL
        - AT_LOCATION
        - ATTEMPT
        - COMPLETED
        - DEPARTURE
        - EXCEPTION
        - MISSED
        type: string
      notes:
        type: string
      recorded_at:
        format: date-time
        type: string
      stop_sequence_id:
        minimum: 1
        type: number
    required:
    - stop_sequence_id
    - recorded_at
    - event_type
    title: TenderStopLocationEventRequest
    type: object
  TextMessageTemplates:
    properties:
      ambiguous_feedback_message:
        type: string
      ambiguous_response_to_delivery_message:
        type: string
      damage_only_message:
        type: string
      detention_only_message:
        type: string
      internal_ambiguous_feedback_message:
        type: string
      internal_damage_only_message:
        type: string
      internal_detention_only_message:
        type: string
      internal_multiple_issues_message:
        type: string
      multiple_issues_message:
        type: string
      no_feedback_messsage:
        type: string
      no_response_to_delivery_message:
        type: string
      pod_attached_message:
        type: string
      pod_not_attached_message:
        type: string
      validate_delivery_completion_message:
        type: string
      yes_response_to_delivery_message:
        type: string
    required:
    - validate_delivery_completion_message
    - ambiguous_response_to_delivery_message
    - yes_response_to_delivery_message
    - no_response_to_delivery_message
    - pod_not_attached_message
    - pod_attached_message
    - ambiguous_feedback_message
    - internal_ambiguous_feedback_message
    - no_feedback_messsage
    - detention_only_message
    - internal_detention_only_message
    - damage_only_message
    - internal_damage_only_message
    - multiple_issues_message
    - internal_multiple_issues_message
    type: object
  Trailer:
    properties:
      created_at:
        format: date-time
        type: string
      description:
        type: string
      distance_traveled_miles:
        format: int32
        type: integer
      equipment_type:
        $ref: '#/definitions/EquipmentType'
      id:
        format: uuid
        type: string
      license_plate_number:
        type: string
      license_plate_state_province:
        type: string
      max_haul_volume_ft3:
        format: int32
        type: integer
      max_haul_weight_lbs:
        format: int32
        type: integer
      name:
        type: string
      updated_at:
        format: date-time
        type: string
    required:
    - name
    type: object
  TriumphPayAuthDetails:
    description: Triumph Pay authorization details for a given company
    properties:
      authorized_by_user:
        format: uuid
        type: string
      company:
        format: uuid
        type: string
      created_at:
        format: date-time
        type: string
      id:
        format: uuid
        type: string
      re_authorized_by_user:
        format: uuid
        type: string
      realm_id:
        type: string
      updated_at:
        format: date-time
        type: string
    type: object
  TriumphPayCarrierInvoice:
    description: Triumph Pay vendor invoices submitted
    properties:
      external_key:
        type: string
      is_paid:
        type: boolean
      source_bill:
        format: uuid
        type: string
    type: object
  TriumphPayCarrierPaymentAccount:
    description: Triumph Pay vendor payments accounts synced
    properties:
      created_at:
        format: date-time
        type: string
      id:
        format: uuid
        type: string
      is_default:
        type: boolean
      mail_check_data:
        properties:
          address:
            $ref: '#/definitions/Address'
          mail_to_name:
            type: string
        type: object
      payment_type:
        enum:
        - ACH_BANK
        - MAIL_CHECK
        - FACTOR
        type: string
      vendor_factor_company:
        $ref: '#/definitions/VendorFactoringCompany'
    required:
    - payment_type
    type: object
  TriumphPayDocumentsSubmissionEmail:
    description: Triumph Pay documents submission email
    properties:
      documents_submission_email:
        description: The documents submission email
        format: email
        type: string
    required:
    - documents_submission_email
    type: object
  TriumphPayPaymentAccountTypes:
    enum:
    - ACH_BANK
    - MAIL_CHECK
    - FACTOR
    type: string
  TriumphPayVendor:
    description: Triumph Pay vendor list details
    properties:
      created_at:
        format: date-time
        type: string
      freight_authority_vendor_relationship_details:
        properties:
          freight_authority:
            type: string
          vendor_name:
            type: string
        type: object
      id:
        format: uuid
        type: string
      triumph_carrier_accounts:
        items:
          $ref: '#/definitions/TriumphPayCarrierPaymentAccount'
        type: array
      triumph_carrier_invoices:
        items:
          $ref: '#/definitions/TriumphPayCarrierInvoice'
        type: array
      vendor:
        format: uuid
        type: string
    type: object
  TriumphPayVendorPaymentAccountData:
    description: Triumph Pay vendor payment account create or update data
    properties:
      account_name:
        description: A nickname to identify the account. Only required for ACH_BANK
          payment type
        type: string
      bank_account_data:
        description: Bank account data if payment_type is ACH_BANK
        properties:
          bank_account_number:
            type: string
          bank_routing_number:
            type: string
        type: object
      payment_type:
        description: The payment type information to update
        enum:
        - ACH_BANK
        - MAIL_CHECK
        - FACTOR
        type: string
      vendor_billing_address:
        $ref: '#/definitions/Address'
        description: Mailing address data if payment_type is MAIL_CHECK
      vendor_factor_company:
        $ref: '#/definitions/VendorFactoringCompany'
        description: Factoring company data if payment_type is FACTOR
    required:
    - payment_type
    type: object
  TriumphPayVendorPaymentAccountDataWithFactorCompanyChangeDocuments:
    allOf:
    - $ref: '#/definitions/TriumphPayVendorPaymentAccountData'
    - properties:
        id:
          description: ID of the particular payment account
          format: uuid
          type: string
        letter_of_release_document:
          format: uuid
          type: string
        notice_of_assignment_document:
          format: uuid
          type: string
      type: object
    type: object
  TruckloadHistoricalPricingPrice:
    properties:
      avg_price:
        type: number
      date:
        description: Date string in of the form YYYY-MM-DD
        type: string
      max_price:
        type: number
      min_price:
        type: number
    type: object
  TruckloadHistoricalPricingRequest:
    properties:
      equipment_type:
        description: Shipment EquipmentType ID
        type: integer
      sources:
        items:
          enum:
          - chainalytics_spot
          - dat_spot
          - shipwell_internal
          type: string
        type: array
      stops:
        items:
          properties:
            country:
              type: string
            zip:
              type: string
          type: object
        title: Stops
        type: array
    required:
    - equipment_type
    - stops
    - sources
    type: object
  TruckloadHistoricalPricingResponse:
    properties:
      error_message:
        type: string
      failed:
        type: boolean
      historical_pricing:
        properties:
          chainalytics_spot:
            items:
              $ref: '#/definitions/TruckloadHistoricalPricingPrice'
            type: array
          dat_spot:
            items:
              $ref: '#/definitions/TruckloadHistoricalPricingPrice'
            type: array
          shipwell_internal:
            items:
              $ref: '#/definitions/ShipwellHistoricalPricingSinglePrice'
            type: array
        title: HistoricalPricing
        type: object
      trip_miles:
        type: number
    type: object
  UPSAccount:
    properties:
      account_number:
        type: string
      company:
        format: uuid
        type: string
      id:
        format: uuid
        type: string
      provider_reference_number:
        type: string
    type: object
  UPSDirectQuote:
    allOf:
    - $ref: '#/definitions/GenesisQuote'
  UPSPackaging:
    properties:
      description:
        description: All possible dimensional sub-types of the package type
        items:
          type: string
        type: array
      id:
        description: identifier for the package type
        type: string
      label:
        description: Human-readable short description of the package type
        type: string
    type: object
  UPSShipmentOptions:
    allOf:
    - $ref: '#/definitions/GenesisShipmentOptions'
    - properties:
        account:
          description: ID of the UPSAccount to dispatch or rate with
          format: uuid
          type: string
        alcohol_recipient_type:
          enum:
          - CONSUMER
          - LICENSEE
          type: string
        packaging:
          enum:
          - UPS_LETTER
          - UPS_EXPRESS_BOX
          - UPS_25KG_BOX
          - UPS_10_KG_BOX
          - UPS_TUBE
          - UPS_PAK
          - UPS_SMALL_EXPRESS_BOX
          - UPS_MEDIUM_EXPRESS_BOX
          - UPS_LARGE_EXPRESS_BOX
          - YOUR_PACKAGING
          type: string
        service_code:
          enum:
          - GROUND
          - UPS_STANDARD
          - UPS_SAVER
          - EXPRESS
          - EXPRESS_PLUS
          - EXPEDITED
          - NEXT_DAY_AIR
          - NEXT_DAY_AIR_SAVER
          - NEXT_DAY_AIR_EARLY_AM
          - SECOND_DAY_AIR
          - SECOND_DAY_AIR_AM
          - THREE_DAY_SELECT
          type: string
      type: object
    description: Shipment rating and dispatch options specific to UPS
  USPSDirectQuote:
    allOf:
    - $ref: '#/definitions/GenesisQuote'
  USPSPackaging:
    properties:
      description:
        description: All possible dimensional sub-types of the package type
        items:
          type: string
        type: array
      id:
        description: identifier for the package type
        type: string
      label:
        description: Human-readable short description of the package type
        type: string
    type: object
  USPSShipmentOptions:
    allOf:
    - $ref: '#/definitions/GenesisShipmentOptions'
    - properties:
        packaging:
          enum:
          - USPS_LETTER
          - USPS_FLAT
          - USPS_FLAT_RATE_ENVELOPE
          - USPS_FLAT_RATE_LEGAL_ENVELOPE
          - USPS_FLAT_RATE_PADDED_ENVELOPE
          - USPS_PARCEL
          - USPS_IRREGULAR_PARCEL
          - USPS_SOFT_PACK
          - USPS_SMALL_FLAT_RATE_BOX
          - USPS_MEDIUM_FLAT_RATE_BOX
          - USPS_LARGE_FLAT_RATE_BOX
          - USPS_LARGE_FLAT_RATE_BOX_APOFPO
          - USPS_REGIONAL_RATE_BOX_A
          - USPS_REGIONAL_RATE_BOX_B
          - USPS_LARGE_PARCEL
          - USPS_FLAT_RATE_GIFT_CARD_ENVELOPE
          - USPS_FLAT_RATE_WINDOW_ENVELOPE
          - USPS_FLAT_RATE_CARDBOARD_ENVELOPE
          - USPS_SMALL_FLAT_RATE_ENVELOPE
          - USPS_LARGE_FLAT_RATE_BOARD_GAME_BOX
          - YOUR_PACKAGING
          type: string
        service_code:
          enum:
          - FIRST
          - PRIORITY
          - EXPRESS
          - PARCEL_SELECT
          - LIBRARY_MAIL
          - MEDIA_MAIL
          type: string
      type: object
    description: Shipment rating and dispatch options specific to USPS
  User:
    properties:
      avatar:
        type: string
      company_id:
        format: uuid
        type: string
      completed_onboarding:
        type: boolean
      created_at:
        format: date-time
        type: string
      email:
        type: string
      feature_flag_new_ui:
        type: boolean
      first_name:
        type: string
      id:
        format: uuid
        type: string
      is_quoting_limited_user:
        type: boolean
      last_login:
        format: date-time
        type: string
      last_name:
        type: string
      password:
        type: string
      permissions:
        items:
          type: string
        type: array
      phone_number:
        type: string
      subscribed_to_loadboard:
        type: boolean
      timezone:
        type: string
      updated_at:
        format: date-time
        type: string
    required:
    - first_name
    - last_name
    - email
    type: object
  UserDashboardConfiguration:
    properties:
      config:
        properties:
          columns:
            description: 'Array of column names in the order that they

              should render when loading the dashboard

              '
            items:
              type: string
            type: array
          filters:
            additionalProperties:
              items:
                type: string
              type: array
            description: 'Object with the filters you want in it

              '
            type: object
          ordering:
            description: 'Array of column names prefixed with ''+'' or ''-'' to indicate

              how the dashboard columns should be sorted

              '
            items:
              type: string
            type: array
        type: object
      created_at:
        format: date-time
        type: string
      id:
        format: uuid
        type: string
      is_default:
        type: boolean
      name:
        description: Unique name of this user's dashboard configuration
        type: string
      table_type:
        type: string
      updated_at:
        format: date-time
        type: string
      user:
        format: uuid
        type: string
    type: object
  ValidatedAddress:
    properties:
      geocoded_address:
        $ref: '#/definitions/Address'
      provided_formatted_address:
        type: string
      warnings:
        items:
          type: string
        type: array
    required:
    - provided_formatted_address
    type: object
  VehicleLocation:
    allOf:
    - $ref: '#/definitions/ELDLocation'
    - properties:
        unit_id:
          type: string
        vehicle_id:
          type: string
      required:
      - vehicle_id
      type: object
    description: Vehicle Location Data
  Vendor:
    properties:
      existing_vendor_relationship:
        format: uuid
        type: string
      fmcsa_census_data:
        $ref: '#/definitions/FmcsaCensusData'
      fmcsa_vendor:
        $ref: '#/definitions/Company'
      is_editable:
        type: boolean
      shipwell_vendor:
        $ref: '#/definitions/Company'
    type: object
  VendorFactoringCompany:
    properties:
      address:
        $ref: '#/definitions/Address'
      company_name:
        type: string
      created_at:
        format: date-time
        type: string
      email:
        format: email
        type: string
      id:
        format: uuid
        type: string
      triumph_pay_key:
        type: string
      updated_at:
        format: date-time
        type: string
    required:
    - company_name
    - address
    type: object
  Versions:
    properties:
      frontend_version:
        type: string
    type: object
host: api.shipwell.com
info:
  description: Describes Shipwell's version 2 API.
  title: Shipwell API
  version: 2.5.317
parameters:
  AddressBookEntry: &id001
    in: body
    name: body
    required: true
    schema:
      $ref: '#/definitions/AddressBookEntry'
  AutomationEvent: &id040
    in: body
    name: body
    required: true
    schema:
      $ref: '#/definitions/AutomationEvent'
  Body: &id002
    in: body
    name: body
    required: true
    schema:
      properties:
        company_id:
          format: uuid
          type: string
      required:
      - company_id
      type: object
  Body2: &id025
    in: body
    name: body
    required: true
    schema:
      properties:
        award:
          type: boolean
      required:
      - award
      title: AwardDeclineQuoteRequest
      type: object
  Body3: &id016
    in: body
    name: body
    required: true
    schema:
      properties:
        phone_number:
          description: phone number to send pin to
          type: string
      title: DriverPinRequest
      type: object
  BulkCreateSpotNegotiationRequest: &id024
    in: body
    name: body
    required: true
    schema:
      $ref: '#/definitions/BulkCreateSpotNegotiationRequest'
  BuyItNowRequest: &id031
    in: body
    name: body
    required: true
    schema:
      $ref: '#/definitions/BuyItNow'
  CarrierAssignment: &id041
    in: body
    name: body
    required: true
    schema:
      $ref: '#/definitions/CarrierAssignment'
  CarrierPocTag: &id005
    in: body
    name: body
    required: true
    schema:
      $ref: '#/definitions/CarrierPocTag'
  CarrierRelationship: &id006
    in: body
    name: body
    required: true
    schema:
      $ref: '#/definitions/CarrierRelationship'
  CarrierTag: &id010
    in: body
    name: body
    required: true
    schema:
      $ref: '#/definitions/CarrierTag'
  CaseNote: &id034
    in: body
    name: body
    required: true
    schema:
      $ref: '#/definitions/CaseNote'
  Contract: &id007
    in: body
    name: body
    required: true
    schema:
      $ref: '#/definitions/Contract'
  CpDropoffCity:
    in: query
    name: dropoff_city
    required: true
    type: string
  CpDropoffLat:
    in: query
    maximum: 90
    minimum: -90
    name: dropoff_lat
    required: true
    type: number
  CpDropoffLng:
    in: query
    maximum: 180
    minimum: -180
    name: dropoff_lng
    required: true
    type: number
  CpDropoffState:
    description: Two letter abreviation of dropoff state
    in: query
    maxLength: 2
    minLength: 2
    name: dropoff_state
    required: true
    type: string
  CpEquipmentType:
    enum:
    - dry_van
    - reefer
    - flatbed
    in: query
    name: equipment_type
    required: true
    type: string
  CpPickupCity:
    in: query
    name: pickup_city
    required: true
    type: string
  CpPickupLat:
    in: query
    maximum: 90
    minimum: -90
    name: pickup_lat
    required: true
    type: number
  CpPickupLng:
    in: query
    maximum: 180
    minimum: -180
    name: pickup_lng
    required: true
    type: number
  CpPickupState:
    description: Two letter abreviation of pickup state
    in: query
    maxLength: 2
    minLength: 2
    name: pickup_state
    required: true
    type: string
  CpPickupTime:
    description: Pickup time in ISO-8601 (yyyy-mm-ddThh:mm:ss.sssss+tz.info)
    in: query
    name: pickup_time
    required: true
    type: string
  CrRecommendationId:
    description: Id of the recommendation object.
    format: uuid
    in: path
    name: CrRecommendationId
    required: true
    type: string
  CrRecommendationShipmentId:
    description: Id of the recommendation shipment object.
    format: uuid
    in: path
    name: CrRecommendationShipmentId
    required: true
    type: string
  CreateQuote: &id030
    in: body
    name: body
    required: true
    schema:
      $ref: '#/definitions/CreateQuote'
  CreateShipmentTimelineEvent: &id045
    in: body
    name: body
    required: true
    schema:
      $ref: '#/definitions/CreateShipmentTimelineEvent'
  CreateSpotNegotiationQuote: &id027
    in: body
    name: body
    required: true
    schema:
      $ref: '#/definitions/CreateSpotNegotiationQuote'
  Driver: &id014
    in: body
    name: body
    required: true
    schema:
      $ref: '#/definitions/Driver'
  PostBrokeragesBrokerageidShipperRelationshipsShipperrelationshipidDocuments: &id003
    in: body
    name: body
    schema:
      $ref: '#/definitions/PostBrokeragesBrokerageidShipperRelationshipsShipperrelationshipidDocuments'
  PostCompaniesCompanyidUsers: &id015
    in: body
    name: body
    schema:
      $ref: '#/definitions/PostCompaniesCompanyidUsers'
  PostProducts: &id020
    in: body
    name: body
    schema:
      $ref: '#/definitions/PostProducts'
  PowerUnit: &id011
    in: body
    name: body
    required: true
    schema:
      $ref: '#/definitions/PowerUnit'
  PurchaseOrder: &id021
    in: body
    name: body
    required: true
    schema:
      $ref: '#/definitions/PurchaseOrder'
  PurchaseOrderLineItem: &id022
    in: body
    name: body
    required: true
    schema:
      $ref: '#/definitions/PurchaseOrderLineItem'
  QuickbooksCustomerId:
    description: The id of the quickbooks customer
    format: uuid
    in: path
    name: QuickbooksCustomerId
    required: true
    type: string
  Quote: &id028
    in: body
    name: body
    required: true
    schema:
      $ref: '#/definitions/Quote'
  RFQ: &id029
    in: body
    name: body
    required: true
    schema:
      $ref: '#/definitions/RFQ'
  RecordedELDProvider: &id008
    in: body
    name: body
    required: true
    schema:
      $ref: '#/definitions/RecordedELDProvider'
  RecordedEquipmentType: &id009
    in: body
    name: body
    required: true
    schema:
      $ref: '#/definitions/RecordedEquipmentType'
  ServiceLevelAgreement: &id032
    in: body
    name: body
    required: true
    schema:
      $ref: '#/definitions/ServiceLevelAgreement'
  Shipment: &id033
    in: body
    name: body
    required: true
    schema:
      $ref: '#/definitions/Shipment'
  ShipmentCase: &id013
    in: body
    name: body
    required: true
    schema:
      $ref: '#/definitions/ShipmentCase'
  ShipmentDocumentMetadata: &id004
    in: body
    name: body
    required: true
    schema:
      $ref: '#/definitions/ShipmentDocumentMetadata'
  ShipmentMessage: &id042
    in: body
    name: body
    required: true
    schema:
      $ref: '#/definitions/ShipmentMessage'
  ShipmentNote: &id043
    in: body
    name: body
    required: true
    schema:
      $ref: '#/definitions/ShipmentNote'
  ShipmentTag: &id036
    in: body
    name: body
    required: true
    schema:
      $ref: '#/definitions/ShipmentTag'
  SpotNegotiation: &id023
    in: body
    name: body
    required: true
    schema:
      $ref: '#/definitions/SpotNegotiation'
  SpotNegotiationMessage: &id026
    in: body
    name: body
    required: true
    schema:
      $ref: '#/definitions/SpotNegotiationMessage'
  Stop: &id044
    in: body
    name: body
    required: true
    schema:
      $ref: '#/definitions/Stop'
  SupplierInvite: &id017
    in: body
    name: body
    required: true
    schema:
      $ref: '#/definitions/SupplierInvite'
  Task: &id035
    in: body
    name: body
    required: true
    schema:
      $ref: '#/definitions/Task'
  TenderAcceptReject: &id038
    in: body
    name: body
    required: true
    schema:
      $ref: '#/definitions/TenderAcceptReject'
  TenderEventRequest: &id039
    in: body
    name: body
    required: true
    schema:
      $ref: '#/definitions/TenderEventRequest'
  TenderRequest: &id037
    in: body
    name: body
    required: true
    schema:
      $ref: '#/definitions/TenderRequest'
  Trailer: &id012
    in: body
    name: body
    required: true
    schema:
      $ref: '#/definitions/Trailer'
  TriumphPayDocumentsSubmissionEmail: &id018
    in: body
    name: body
    required: true
    schema:
      $ref: '#/definitions/TriumphPayDocumentsSubmissionEmail'
  UserDashboardConfiguration: &id019
    in: body
    name: body
    required: true
    schema:
      $ref: '#/definitions/UserDashboardConfiguration'
  accountNumber:
    description: Fedex account number
    in: query
    name: account_number
    type: string
  accountRepsContains:
    description: Return RateShareConfigs where once of the account reps names contains
      this string
    in: query
    name: accounts_reps__contains
    required: false
    type: string
  accountRepsIds:
    collectionFormat: multi
    description: Return RateShareConfigs where these user IDs are listed as account
      reps
    in: query
    items:
      type: string
    name: account_reps_ids
    required: false
    type: array
  activeVendorAssignment:
    description: Include/exclude Shipments with active CarrierAssignments
    in: query
    name: active_vendor_assignment
    required: false
    type: boolean
  addressBookEntry:
    description: Include pickups with this address book entry id
    in: query
    name: address_book_entry
    required: false
    type: string
  addressBookId:
    description: The id of a company address book entry
    format: uuid
    in: path
    name: addressBookId
    required: true
    type: string
  alerts:
    description: Filter on whether or not a Shipment has alert messages
    in: query
    name: alerts
    required: false
    type: boolean
  archived:
    description: Filter on whether or not a shipment is archived
    in: query
    name: archived
    required: false
    type: boolean
  automationEventId:
    description: The id of the shipment automation event
    format: uuid
    in: path
    name: automationEventId
    required: true
    type: string
  beginDatetime:
    description: For requesting data starting at a given date
    format: date-time
    in: query
    name: beginDatetime
    required: false
    type: string
  bolNumber:
    collectionFormat: multi
    description: Include Shipments with these BOL Numbers
    in: query
    items:
      type: string
    name: bol_number
    required: false
    type: array
  bolNumberContains:
    description: Return shipments where the BOL number contains this value
    in: query
    name: bol_number__contains
    required: false
    type: string
  bolNumberExclude:
    collectionFormat: multi
    description: Exclude Shipments with these BOL Numbers
    in: query
    items:
      type: string
    name: bol_number__exclude
    required: false
    type: array
  brokerageId:
    description: The id of the brokerage
    format: uuid
    in: path
    name: brokerageId
    required: true
    type: string
  buyItNowAmountGte:
    description: Return shipments with a buy-it-now amount greater than or equal to
      this value
    format: float
    in: query
    name: buy_it_now_amount__gte
    required: false
    type: number
  buyItNowAmountLte:
    description: Return shipments with a buy-it-now amount less than or equal to this
      value
    format: float
    in: query
    name: buy_it_now_amount__lte
    required: false
    type: number
  callLogShipmentId:
    description: Id of the shipment object.
    format: uuid
    in: path
    name: ShipmentId
    required: true
    type: string
  cancelled:
    description: Return pickups based on if they are cancelled
    in: query
    name: cancelled
    required: false
    type: boolean
  carrierAssignmentId:
    description: The id of a CarrierAssignment
    format: uuid
    in: path
    name: carrierAssignmentId
    required: true
    type: string
  carrierId:
    description: The id of the carrier
    format: uuid
    in: path
    name: carrierId
    required: true
    type: string
  carrierIdQuery:
    description: The id of the carrier
    format: uuid
    in: query
    name: carrierId
    required: false
    type: string
  carrierNameContains:
    description: Name of the carrier
    in: query
    name: carrier_name__contains
    type: string
  carrierOwnerEmail:
    description: Return vendor relationships where carrier_owner email address contains
      the value provided
    in: query
    name: carrier_owner_email__contains
    type: string
  carrierOwnerId:
    description: Return vendor relationships where carrier_owner has this User ID
    format: uuid
    in: query
    name: carrier_owner_id
    type: string
  carrierOwnerName:
    description: Return vendor relationships where carrier_owner name contains the
      value provided
    in: query
    name: carrier_owner_name__contains
    type: string
  carrierRelationshipId:
    description: The id of the vendor relationship
    format: uuid
    in: path
    name: carrierRelationshipId
    required: true
    type: string
  carrierRelationshipIdSearch:
    collectionFormat: multi
    description: The id of the vendor relationship
    in: query
    items:
      format: uuid
      type: string
    name: carrier_relationship_id
    required: false
    type: array
  carrierRelationshipPointOfContactId:
    description: The id of a vendor relationship point of contact
    format: uuid
    in: path
    name: carrierRelationshipPointOfContactId
    required: true
    type: string
  carrierStatus:
    description: Return vendor relationships where carrier_status equals the value
      provided
    enum:
    - ACTIVE
    - INACTIVE
    - DO_NOT_USE
    in: query
    name: carrier_status
    required: false
    type: string
  caseId:
    description: The id of the case
    format: uuid
    in: path
    name: caseId
    required: true
    type: string
  caseNoteId:
    description: The id of the case note
    format: uuid
    in: path
    name: caseNoteId
    required: true
    type: string
  companyBillingAddressContains:
    description: Return objects where the company billing address contains this string
    in: query
    name: billing_address__contains
    required: false
    type: string
  companyContains:
    description: Return objects where the company name contains this string
    in: query
    name: company__contains
    required: false
    type: string
  companyId:
    description: The id of the company
    format: uuid
    in: path
    name: companyId
    required: true
    type: string
  companyImpersonation:
    description: allows request to retrieve information about the company given in
      the header instead of the company associated with the requesting user
    in: header
    name: X-Company-Id
    required: false
    type: string
  companyMailingAddressContains:
    description: Return objects where the company mailing address contains this string
    in: query
    name: mailing_address__contains
    required: false
    type: string
  companyPrimaryEmailContains:
    description: Return objects where the company primary email contains this string
    in: query
    name: primary_email__contains
    required: false
    type: string
  companyPrimaryPhoneNumberContains:
    description: Return objects where the company primary phone number contains this
      string
    in: query
    name: primary_phone_number__contains
    required: false
    type: string
  contractId:
    description: The id of a contract
    format: uuid
    in: path
    name: contractId
    required: true
    type: string
  contractNameContains:
    description: Include Contracts where name contains this string
    in: query
    name: name__contains
    required: false
    type: string
  contractStatus:
    description: Include Contracts where status is exactly this string
    in: query
    name: status
    required: false
    type: string
  createDriver:
    description: Whether or not to create a driver if it does not exist
    in: query
    name: createDriver
    required: false
    type: boolean
  createdAt:
    description: For requesting data created at a certain datetime
    format: date-time
    in: query
    name: created_at
    required: false
    type: string
  customer:
    description: Return Shipments with this exact value as the customer company name
    in: query
    name: customer
    required: false
    type: string
  customerContains:
    description: Return Shipments where the customer company name contains this value
    in: query
    name: customer__contains
    required: false
    type: string
  customerId:
    description: Return Shipments with this exact ID for the customer company
    format: uuid
    in: query
    name: customer_id
    required: false
    type: string
  customerReferenceNumber:
    collectionFormat: multi
    description: Include Shipments with these Customer Reference Numbers
    in: query
    items:
      type: string
    name: customer_reference_number
    required: false
    type: array
  customerReferenceNumberContains:
    description: Include Shipments where the Customer Reference Numbers contains this
      value
    in: query
    name: customer_reference_number__contains
    required: false
    type: string
  customerReferenceNumberExclude:
    collectionFormat: multi
    description: Exclude Shipments with these Customer Reference Numbers
    in: query
    items:
      type: string
    name: customer_reference_number__exclude
    required: false
    type: array
  destinationContains:
    description: Return Shipments with this value in the destination
    in: query
    name: destination__contains
    required: false
    type: string
  destinationLat:
    description: Latitude of location to filter on for destination stop
    format: float
    in: query
    name: destination_lat
    required: false
    type: number
  destinationLon:
    description: Longitude of location to filter on for destination stop
    format: float
    in: query
    name: destination_lon
    required: false
    type: number
  destinationRadius:
    description: Radius from the destination stop
    in: query
    name: destination_radius
    required: false
    type: integer
  destinationStateProvince:
    description: Return Shipments with this state province on its destination stop
    in: query
    name: destination_state_province
    required: false
    type: string
  destinationsContains:
    collectionFormat: multi
    description: Return Shipments with this value in the destinations
    in: query
    items:
      type: string
    name: destinations__contains
    required: false
    type: array
  destinationsStateProvince:
    description: Return Shipments with this state province on its destinations
    in: query
    items:
      type: string
    name: destinations_state_province
    required: false
    type: array
  deviceId:
    description: The id of the device
    format: uuid
    in: path
    name: deviceId
    required: true
    type: string
  documentId:
    description: The id of the document
    format: uuid
    in: path
    name: documentId
    required: true
    type: string
  drayageBookingNumber:
    description: Include shipments where the drayage booking number contains this
      value
    in: query
    name: drayage_booking_number__contains
    required: false
    type: string
  drayageChassisNumber:
    description: Include shipments where the drayage chassis number contains this
      value
    in: query
    name: drayage_chassis_number__contains
    required: false
    type: string
  drayageContainerNumber:
    description: Include shipments where the drayage container number contains this
      value
    in: query
    name: drayage_container_number__contains
    required: false
    type: string
  drayageContainerReturnDateGte:
    description: Include shipments where the drayage container return date is greater
      than or equal to this value
    in: query
    name: drayage_container_return_date__gte
    required: false
    type: string
  drayageContainerReturnDateLte:
    description: Include shipments where the drayage container return date is less
      than or equal to this value
    in: query
    name: drayage_container_return_date__lte
    required: false
    type: string
  drayageEstimatedArrivalDateGte:
    description: Include shipments where the drayage estimated arrival date is greater
      than or equal to this value
    in: query
    name: drayage_estimated_arrival_date__gte
    required: false
    type: string
  drayageEstimatedArrivalDateLte:
    description: Include shipments where the drayage estimated arrival date is less
      than or equal to this value
    in: query
    name: drayage_estimated_arrival_date__lte
    required: false
    type: string
  drayageLastFreeDateGte:
    description: Include shipments where the drayage last free datetime is greater
      than or equal to this value
    in: query
    name: drayage_last_free_date__gte
    required: false
    type: string
  drayageLastFreeDateLte:
    description: Include shipments where the drayage last free datetime is less than
      or equal to this value
    in: query
    name: drayage_last_free_date__lte
    required: false
    type: string
  drayageReleaseDateGte:
    description: Include shipments where the drayage release datetime is greater than
      or equal to this value
    in: query
    name: drayage_release_date__gte
    required: false
    type: string
  drayageReleaseDateLte:
    description: Include shipments where the drayage release datetime is less than
      or equal to this value
    in: query
    name: drayage_release_date__lte
    required: false
    type: string
  drayageSealNumber:
    description: Include shipments where the drayage seal number contains this value
    in: query
    name: drayage_seal_number__contains
    required: false
    type: string
  driverAssigned:
    description: Return Shipments where the driver is assigned/unassigned
    in: query
    name: driver_assigned
    required: false
    type: boolean
  driverId:
    description: The id of the driver
    format: uuid
    in: path
    name: driverId
    required: true
    type: string
  dropoffGte:
    description: Return Shipments with a dropoff stop with a planned date greater
      than or equal to this value
    format: date
    in: query
    name: dropoff__gte
    required: false
    type: string
  dropoffLte:
    description: Return Shipments with a dropoff stop with a planned data less than
      or equal to this value
    format: date
    in: query
    name: dropoff__lte
    required: false
    type: string
  endDatetime:
    description: For requesting data ending at a given date
    format: date-time
    in: query
    name: endDatetime
    required: false
    type: string
  equipmentType:
    description: Return shipments with this equipment type
    in: query
    name: equipment_type
    required: false
    type: string
  equipmentTypeContains:
    description: Return shipments where the equipment type contains this value
    in: query
    name: equipment_type__contains
    required: false
    type: string
  equipmentTypes:
    collectionFormat: multi
    description: Return contracts with equipment types
    in: query
    items:
      type: string
    name: equipment_types
    required: false
    type: array
  expandUsers:
    description: If True, render slim users on a CompanyWithOptionalUsers object
    in: query
    name: expand_users
    required: false
    type: boolean
  expiresAtGte:
    description: Include load board shipments where expires_at is greater than or
      equal to this value
    format: date
    in: query
    name: expires_at__gte
    required: false
    type: string
  expiresAtLte:
    description: Include load board shipments where expires_at is less than or equal
      to this value
    format: date
    in: query
    name: expires_at__lte
    required: false
    type: string
  externalShipmentViewKey:
    description: Secret view key authorizing user to see the Shipment
    in: query
    name: key
    required: true
    type: string
  fedexAccount:
    description: Return pickups specific to this FedEx account
    in: query
    name: fedex_account
    required: false
    type: string
  fedexAccountId:
    format: uuid
    in: path
    name: fedexAccountId
    required: true
    type: string
  groupId:
    description: Group id for a shipment
    in: query
    name: groupId
    required: false
    type: string
  hasBill:
    description: If true, show shipments which have at least one bill otherwise show
      those with none.
    in: query
    name: has_bill
    required: false
    type: boolean
  hasDirectIntegration:
    description: Return vendor relationships where Shipwell has a direct integration
      with the vendor
    in: query
    name: has_direct_integration
    type: boolean
  hasInvoice:
    description: If true, show shipments which have at least one invoice otherwise
      show those with none.
    in: query
    name: has_invoice
    required: false
    type: boolean
  importColumnMappingId:
    description: The id of an import column mapping
    format: uuid
    in: path
    name: importColumnMappingId
    required: true
    type: string
  importId:
    description: The id of an import
    format: uuid
    in: path
    name: importId
    required: true
    type: string
  importJobId:
    description: The id of an import job
    format: uuid
    in: path
    name: importJobId
    required: true
    type: string
  importRowId:
    description: The id of an import row
    format: uuid
    in: path
    name: importRowId
    required: true
    type: string
  importValueId:
    description: The id of an import value
    format: uuid
    in: path
    name: importValueId
    required: true
    type: string
  includeFailureQuotes:
    description: If true, include failed Quotes in the result set
    in: query
    name: include_failures
    required: false
    type: boolean
  invoiceId:
    description: The id of an invoice
    format: uuid
    in: path
    name: invoiceId
    required: true
    type: string
  isRegularlyScheduled:
    description: Include pickups with this is_regularly_scheduled value
    in: query
    name: is_regularly_scheduled
    required: false
    type: boolean
  loadBoardBiddingStatus:
    collectionFormat: multi
    description: The bidding status of shipments on the load board
    in: query
    items:
      enum:
      - bidding
      - closed
      - open
      - won
      - tendered
      - accepted
      - rejected
      - expired
      type: string
    name: bidding_status
    required: false
    type: array
  loadBoardEnabled:
    description: Filter on whether or not a shipment is posted on the company load
      board
    in: query
    name: load_board_enabled
    required: false
    type: boolean
  loadBoardId:
    description: Return shipments where the load board ID is equal to this value
    in: query
    name: load_board_id
    required: false
    type: string
  loadBoardIdContains:
    description: Return shipments where the load board ID contains this value
    in: query
    name: load_board_id__contains
    required: false
    type: string
  loadBoardShipmentId:
    description: The load board ID of a shipment on the load board
    in: path
    name: loadBoardShipmentId
    required: true
    type: string
  loadBoardTenderStatus:
    collectionFormat: multi
    description: The tender status of shipments on the load board
    in: query
    items:
      enum:
      - open
      - accepted
      - rejected
      - revoked
      - expired
      type: string
    name: tender_status
    required: false
    type: array
  manual_entry:
    description: If the entry is being manually added instead of via search, set this
      to true
    in: query
    name: manual_entry
    required: true
    type: boolean
  mcNumber:
    description: search by this (exact) mc number
    in: query
    name: mc_number
    type: string
  mcNumberContains:
    description: Return companies where the mc number contains this string
    in: query
    name: mc_number__contains
    type: string
  messageId:
    description: The id of the message
    format: uuid
    in: path
    name: messageId
    required: true
    type: string
  mode:
    description: Return shipments with this shipment mode
    in: query
    name: mode
    required: false
    type: string
  modeContains:
    description: Return shipments where the shipment mode contains this value
    in: query
    name: mode__contains
    required: false
    type: string
  modes:
    collectionFormat: multi
    description: Return contracts with shipment mode codes
    in: query
    items:
      type: string
    name: modes
    required: false
    type: array
  nameContains:
    description: Return Shipments where the shipment name contains this value
    in: query
    name: name__contains
    required: false
    type: string
  onlyMyShipments:
    description: Whether to fetch all company requests or ones created by the user
    in: query
    name: only_my_shipments
    required: false
    type: boolean
  open:
    description: Filter on whether or not a shipment is open
    in: query
    name: open
    required: false
    type: boolean
  ordering:
    description: determines which column to sort by. Prepend with '-' to sort desc
    in: query
    name: ordering
    type: string
  originContains:
    description: Return Shipments with this value in the origin
    in: query
    name: origin__contains
    required: false
    type: string
  originLat:
    description: Latitude of location to filter on for origin stop
    format: float
    in: query
    name: origin_lat
    required: false
    type: number
  originLon:
    description: Longitude of location to filter on for origin stop
    format: float
    in: query
    name: origin_lon
    required: false
    type: number
  originRadius:
    description: Radius from origin stop
    in: query
    name: origin_radius
    required: false
    type: integer
  originStateProvince:
    description: Return Shipments with this state province on its origin stop
    in: query
    name: origin_state_province
    required: false
    type: string
  originsContains:
    collectionFormat: multi
    description: Return Shipments with this value in the origins
    in: query
    items:
      type: string
    name: origins__contains
    required: false
    type: array
  originsStateProvince:
    collectionFormat: multi
    description: Return Shipments with this state province on its origins
    in: query
    items:
      type: string
    name: origins_state_province
    required: false
    type: array
  page:
    description: indicates what page of a list of query results you want to view
    in: query
    name: page
    type: integer
  page-size:
    description: indicates the how many items to return per page in a list request
    in: query
    name: page-size
    type: integer
  parcelPickupStatus:
    collectionFormat: multi
    description: Include Shipments where the parcel pickup status equals one of these
      values
    in: query
    items:
      enum:
      - DELAYED
      - DELIVERED
      - IN_TRANSIT
      - NOT_SCHEDULED
      - SCHEDULED
      type: string
    name: parcel_pickup_status
    required: false
    type: array
  pickupCompany:
    description: Return pickups specific to this company
    in: query
    name: company
    required: false
    type: string
  pickupGte:
    description: Return Shipments with a pickup stop with a planned date greater than
      or equal to this value
    format: date
    in: query
    name: pickup__gte
    required: false
    type: string
  pickupId:
    description: Include shipments currently associated with the provided ShipmentPickup's
      ID
    format: uuid
    in: query
    name: pickup_id
    required: false
    type: string
  pickupLte:
    description: Return Shipments with a pickup stop with a planned date less than
      or equal to this value
    format: date
    in: query
    name: pickup__lte
    required: false
    type: string
  pickupNumber:
    collectionFormat: multi
    description: Include Shipments with these Pickup Numbers
    in: query
    items:
      type: string
    name: pickup_number
    required: false
    type: array
  pickupNumberContains:
    description: Include Shipments where the Pickup Number contains this value
    in: query
    name: pickup_number__contains
    required: false
    type: string
  pickupNumberExclude:
    collectionFormat: multi
    description: Exclude Shipments with these Pickup Numbers
    in: query
    items:
      type: string
    name: pickup_number__exclude
    required: false
    type: array
  pickupPickupNumber:
    description: Include pickups with this pickup number
    in: query
    name: pickup_number
    required: false
    type: string
  pickupPickupNumberContains:
    description: Include pickups where the pickup number contains this value
    in: query
    name: pickup_number__contains
    required: false
    type: string
  pickupPickupNumberExcludes:
    description: Exclude pickups with this pickup number
    in: query
    name: pickup_number__excludes
    required: false
    type: string
  pickupShipmentIds:
    description: Return pickup with that include this shipment
    in: query
    name: shipment_ids
    required: false
    type: string
  pointOfContact:
    description: Include pickups with this point of contact name
    in: query
    name: point_of_contact
    type: string
  pointOfContactContains:
    description: Include pickups where the point of contact includes this value
    in: query
    name: point_of_contact__contains
    type: string
  pointOfContactExcludes:
    description: Exclude pickups where the point of contact includes this value
    in: query
    name: point_of_contact__excludes
    type: string
  pointOfContactsContains:
    description: Return objects where a point of contact contains this string in their
      name or email
    in: query
    name: point_of_contacts__contains
    required: false
    type: string
  policyId:
    description: The id of a policy
    format: uuid
    in: path
    name: policyId
    required: true
    type: string
  powerUnit:
    description: Return Shipments where this power unit is assigned
    format: uuid
    in: query
    name: power_unit
    required: false
    type: string
  powerUnitId:
    description: The id of the power unit
    format: uuid
    in: path
    name: powerUnitId
    required: true
    type: string
  powerUnitName:
    description: PowerUnit name to query on
    in: query
    name: power_unit_name
    type: string
  proNumber:
    collectionFormat: multi
    description: Include Shipments with these PRO Numbers
    in: query
    items:
      type: string
    name: pro_number
    required: false
    type: array
  proNumberContains:
    description: Return shipments where the PRO number contains this value
    in: query
    name: pro_number__contains
    required: false
    type: string
  proNumberExclude:
    collectionFormat: multi
    description: Exclude Shipments with these PRO Numbers
    in: query
    items:
      type: string
    name: pro_number__exclude
    required: false
    type: array
  productId:
    description: The id of the product
    format: uuid
    in: path
    name: productId
    required: true
    type: string
  provider:
    description: The provider of a carrier specific to a request
    in: query
    name: provider
    required: true
    type: string
  providerCarrierCode:
    description: Include pickups with this provider carrier code
    in: query
    name: provider_carrier_code
    required: false
    type: string
  providerCarrierCodeContains:
    description: Include pickups where the provider carrier code contains this value
    in: query
    name: provider_carrier_code__contains
    required: false
    type: string
  providerCarrierCodeExcludes:
    description: Exclude pickups with this provider carrier code
    in: query
    name: provider_carrier_code__excludes
    required: false
    type: string
  providerCode:
    description: Include pickups with this provider code
    in: query
    name: provider_code
    required: false
    type: string
  providerLocationId:
    description: Include pickups with this provider location id
    in: query
    name: provider_location_id
    required: false
    type: string
  providerLocationIdContains:
    description: Include pickups where the provider location id  contains this value
    in: query
    name: provider_location_id__contains
    required: false
    type: string
  providerLocationIdExcludes:
    description: Exclude pickups with this provider location id
    in: query
    name: provider_location_id__excludes
    required: false
    type: string
  providers:
    description: An array of providers
    in: query
    items:
      type: string
    name: providers
    required: false
    type: array
  purchaseOrderActualDeliveryDatetime:
    description: Include PurchaseOrders where actual_delivery_datetime is equal to
      this value
    format: date-time
    in: query
    name: actual_delivery_datetime
    required: false
    type: string
  purchaseOrderActualDeliveryDatetimeGte:
    description: Include PurchaseOrders where actual_delivery_datetime is greater
      than or equal to this value
    format: date-time
    in: query
    name: actual_delivery_datetime__gte
    required: false
    type: string
  purchaseOrderActualDeliveryDatetimeLte:
    description: Include PurchaseOrders where actual_delivery_datetime is less than
      or equal to this value
    format: date-time
    in: query
    name: actual_delivery_datetime__lte
    required: false
    type: string
  purchaseOrderActualPickupDatetime:
    description: Include PurchaseOrders where actual_pickup_datetime is equal to this
      value
    format: date-time
    in: query
    name: actual_pickup_datetime
    required: false
    type: string
  purchaseOrderActualPickupDatetimeGte:
    description: Include PurchaseOrders where actual_pickup_datetime is greater than
      or equal to this value
    format: date-time
    in: query
    name: actual_pickup_datetime__gte
    required: false
    type: string
  purchaseOrderActualPickupDatetimeLte:
    description: Include PurchaseOrders where actual_pickup_datetime is less than
      or equal to this value
    format: date-time
    in: query
    name: actual_pickup_datetime__lte
    required: false
    type: string
  purchaseOrderArchived:
    description: Filter on whether or not a PurchaseOrder is archived
    in: query
    name: archived
    required: false
    type: boolean
  purchaseOrderCreatedAt:
    description: Include PurchaseOrders where created_at is equal to this value
    format: date
    in: query
    name: created_at
    required: false
    type: string
  purchaseOrderCreatedAtGte:
    description: Include PurchaseOrders where created_at is greater than or equal
      to this value
    format: date
    in: query
    name: created_at__gte
    required: false
    type: string
  purchaseOrderCreatedAtLte:
    description: Include PurchaseOrders where created_at is less than or equal to
      this value
    format: date
    in: query
    name: created_at__lte
    required: false
    type: string
  purchaseOrderCreatedByUserId:
    description: Include PurchaseOrders where created_by_user_id is exactly this string
    format: uuid
    in: query
    name: created_by_user_id
    required: false
    type: string
  purchaseOrderCustomerExternalIdContains:
    description: Include PurchaseOrders where customer_external_id contains this string
    in: query
    name: customer_external_id__contains
    required: false
    type: string
  purchaseOrderCustomerNameContains:
    description: Include PurchaseOrders where customer_name contains this string
    in: query
    name: customer_name__contains
    required: false
    type: string
  purchaseOrderDescriptionContains:
    description: Include PurchaseOrders where description contains this string
    in: query
    name: description__contains
    required: false
    type: string
  purchaseOrderDestinationAddressContains:
    description: Include PurchaseOrders where destination_address contains this string
    in: query
    name: destination_address__contains
    required: false
    type: string
  purchaseOrderId:
    description: The id of the purchase order
    format: uuid
    in: path
    name: purchaseOrderId
    required: true
    type: string
  purchaseOrderInvoiceExternalIdContains:
    description: Include PurchaseOrders where invoice_external_id contains this string
    in: query
    name: invoice_external_id__contains
    required: false
    type: string
  purchaseOrderLineItemId:
    description: The id of the purchase order line item
    format: uuid
    in: path
    name: purchaseOrderLineItemId
    required: true
    type: string
  purchaseOrderNumber:
    collectionFormat: multi
    description: Include Shipments with these PO Numbers
    in: query
    items:
      type: string
    name: purchase_order_number
    required: false
    type: array
  purchaseOrderNumberContains:
    description: Include Shipments where the PO number contains this value
    in: query
    name: purchase_order_number__contains
    required: false
    type: string
  purchaseOrderNumberExclude:
    collectionFormat: multi
    description: Exclude Shipments with these PO Numbers
    in: query
    items:
      type: string
    name: purchase_order_number__exclude
    required: false
    type: array
  purchaseOrderOriginAddressContains:
    description: Include PurchaseOrders where origin_address contains this string
    in: query
    name: origin_address__contains
    required: false
    type: string
  purchaseOrderPONumberContains:
    description: Include PurchaseOrders where po_number contains this string
    in: query
    name: order_number__contains
    required: false
    type: string
  purchaseOrderPlannedDeliveryEndDatetime:
    description: Include PurchaseOrders where planned_delivery_end_datetime is equal
      to this value
    format: date-time
    in: query
    name: planned_delivery_end_datetime
    required: false
    type: string
  purchaseOrderPlannedDeliveryEndDatetimeGte:
    description: Include PurchaseOrders where planned_delivery_end_datetime is greater
      than or equal to this value
    format: date-time
    in: query
    name: planned_delivery_end_datetime__gte
    required: false
    type: string
  purchaseOrderPlannedDeliveryEndDatetimeLte:
    description: Include PurchaseOrders where planned_delivery_end_datetime is less
      than or equal to this value
    format: date-time
    in: query
    name: planned_delivery_end_datetime__lte
    required: false
    type: string
  purchaseOrderPlannedDeliveryStartDatetime:
    description: Include PurchaseOrders where planned_delivery_start_datetime is equal
      to this value
    format: date-time
    in: query
    name: planned_delivery_start_datetime
    required: false
    type: string
  purchaseOrderPlannedDeliveryStartDatetimeGte:
    description: Include PurchaseOrders where planned_delivery_start_datetime is greater
      than or equal to this value
    format: date-time
    in: query
    name: planned_delivery_start_datetime__gte
    required: false
    type: string
  purchaseOrderPlannedDeliveryStartDatetimeLte:
    description: Include PurchaseOrders where planned_delivery_start_datetime is less
      than or equal to this value
    format: date-time
    in: query
    name: planned_delivery_start_datetime__lte
    required: false
    type: string
  purchaseOrderPlannedPickupEndDatetime:
    description: Include PurchaseOrders where planned_pickup_end_datetime is equal
      to this value
    format: date-time
    in: query
    name: planned_pickup_end_datetime
    required: false
    type: string
  purchaseOrderPlannedPickupEndDatetimeGte:
    description: Include PurchaseOrders where planned_pickup_end_datetime is greater
      than or equal to this value
    format: date-time
    in: query
    name: planned_pickup_end_datetime__gte
    required: false
    type: string
  purchaseOrderPlannedPickupEndDatetimeLte:
    description: Include PurchaseOrders where planned_pickup_end_datetime is less
      than or equal to this value
    format: date-time
    in: query
    name: planned_pickup_end_datetime__lte
    required: false
    type: string
  purchaseOrderPlannedPickupStartDatetime:
    description: Include PurchaseOrders where planned_pickup_start_datetime is equal
      to this value
    format: date-time
    in: query
    name: planned_pickup_start_datetime
    required: false
    type: string
  purchaseOrderPlannedPickupStartDatetimeGte:
    description: Include PurchaseOrders where planned_pickup_start_datetime__gte is
      greater than or equal to this value
    format: date-time
    in: query
    name: planned_pickup_start_datetime__gte
    required: false
    type: string
  purchaseOrderPlannedPickupStartDatetimeLte:
    description: Include PurchaseOrders where planned_pickup_start_datetime__gte is
      less than or equal to this value
    format: date-time
    in: query
    name: planned_pickup_start_datetime__lte
    required: false
    type: string
  purchaseOrderShipmentAssigned:
    description: Include PurchaseOrders that have/do not have a shipment assigned
    in: query
    name: shipment_assigned
    required: false
    type: boolean
  purchaseOrderShipmentId:
    description: Include PurchaseOrders where shipment_id is exactly this string
    format: uuid
    in: query
    name: shipment_id
    required: false
    type: string
  purchaseOrderSource:
    description: Include PurchaseOrders where source is exactly this string
    in: query
    name: source
    required: false
    type: string
  purchaseOrderSourceSystemIdContains:
    description: Include PurchaseOrders where source_system_id contains this string
    in: query
    name: source_system_id__contains
    required: false
    type: string
  purchaseOrderStatus:
    description: Include PurchaseOrders where status is exactly this string
    in: query
    name: status
    required: false
    type: string
  purchaseOrderSupplierExternalIdContains:
    description: Include PurchaseOrders where vendor_external_id contains this string
    in: query
    name: supplier_external_id__contains
    required: false
    type: string
  purchaseOrderSupplierNameContains:
    description: Include PurchaseOrders where vendor_name contains this string
    in: query
    name: supplier_name__contains
    required: false
    type: string
  purchaseOrderTotalPriceGte:
    description: Include PurchaseOrders where total_price is greater than or equal
      to this amount
    in: query
    name: total_price__gte
    required: false
    type: number
  purchaseOrderTotalPriceLte:
    description: Include PurchaseOrders where total_price is less than or equal to
      this amount
    in: query
    name: total_price__lte
    required: false
    type: number
  q:
    description: search query
    in: query
    name: q
    type: string
  quickbooksBillId:
    description: The id of the quickbooks bill
    format: uuid
    in: path
    name: quickbooksBillId
    required: true
    type: string
  quickbooksExpensesCategoryMappingId:
    description: The id of the QuickbooksExpenses to Category Mapping
    format: uuid
    in: path
    name: quickbooksExpensesCategoryMappingId
    required: true
    type: string
  quickbooksItemCategoryMappingId:
    description: The id of the Quickbooks Item to Category Mapping
    format: uuid
    in: path
    name: quickbooksItemCategoryMappingId
    required: true
    type: string
  quickbooksVendorId:
    description: The id of the quickbooks vendor
    format: uuid
    in: path
    name: quickbooksVendorId
    required: true
    type: string
  quoteId:
    description: The id of the quote
    format: uuid
    in: path
    name: quoteId
    required: true
    type: string
  rate:
    description: The rate
    format: float
    in: query
    name: rate
    type: number
  read:
    description: filter on whether or not an object has been read
    in: query
    name: read
    type: boolean
  recordedELDProviderId:
    description: The id of the recorded ELD provider
    format: uuid
    in: path
    name: recordedELDProviderId
    required: true
    type: string
  recordedEquipmentTypeId:
    description: The id of the recorded equipment type
    format: uuid
    in: path
    name: recordedEquipmentTypeId
    required: true
    type: string
  referenceId:
    collectionFormat: multi
    description: Include Shipments with these Reference IDs
    in: query
    items:
      type: string
    name: reference_id
    required: false
    type: array
  referenceIdContains:
    description: Include Shipments where the reference ID contains this value
    in: query
    name: reference_id__contains
    required: false
    type: string
  referenceIdExclude:
    collectionFormat: multi
    description: Exclude Shipments with these Reference IDs
    in: query
    items:
      type: string
    name: reference_id__exclude
    required: false
    type: array
  repId:
    description: The id of the rep
    format: uuid
    in: path
    name: repId
    required: true
    type: string
  reps:
    collectionFormat: multi
    description: Include Shipments with these reps
    in: query
    items:
      format: uuid
      type: string
    name: reps
    required: false
    type: array
  requestedEquipmentTypes:
    collectionFormat: multi
    description: Return shipments where the load board offering company requests these
      equipment type machine readable codes
    in: query
    items:
      type: string
    name: requested_equipment_types
    required: false
    type: array
  requestedEquipmentTypesContains:
    collectionFormat: multi
    description: Return shipments where the load board offering company requests equipment
      types that partially match machine readable codes
    in: query
    items:
      type: string
    name: requested_equipment_types__contains
    required: false
    type: array
  requestedShipmentModes:
    collectionFormat: multi
    description: Return shipments where the load board offering company requests these
      shipment mode codes
    in: query
    items:
      type: string
    name: requested_shipment_modes
    required: false
    type: array
  rfqId:
    description: The id of the rfq
    format: uuid
    in: path
    name: rfqId
    required: true
    type: string
  rmisAccountId:
    format: uuid
    in: path
    name: rmisAccountId
    required: true
    type: string
  salesRepsContains:
    description: Return RateShareConfigs where once of the sales reps names contains
      this string
    in: query
    name: sales_reps__contains
    required: false
    type: string
  salesRepsIds:
    collectionFormat: multi
    description: Return RateShareConfigs where these user IDs are listed as sales
      repss
    in: query
    items:
      type: string
    name: sales_reps_ids
    required: false
    type: array
  scheduledDate:
    description: Date of a scheduled pickup
    format: date
    in: query
    name: scheduled_date
    type: string
  scheduledDateGte:
    description: Return pickups with a scheduled date greater than or equal to this
      value
    format: date
    in: query
    name: scheduled_date__gte
    type: string
  scheduledDateLte:
    description: Return pickups with a scheduled date less than or equal to this value
    format: date
    in: query
    name: scheduled_date__lte
    type: string
  scheduledTimeWindowEndGte:
    description: Return pickups with a scheduled end time window date and time greater
      than or equal to this value
    in: query
    name: scheduled_time_window_end__gte
    type: string
  scheduledTimeWindowEndLte:
    description: Return pickups with a scheduled end time window date and time less
      than or equal to this value
    in: query
    name: scheduled_time_window_end__lte
    type: string
  scheduledTimeWindowStartGte:
    description: Return pickups with a scheduled start time window date and time greater
      than or equal to this value
    in: query
    name: scheduled_time_window_start__gte
    type: string
  scheduledTimeWindowStartLte:
    description: Return pickups with a scheduled start time window date and time less
      than or equal to this value
    in: query
    name: scheduled_time_window_start__lte
    type: string
  serviceLevel:
    description: Return shipments with this service level
    in: query
    name: service_level
    required: false
    type: string
  serviceLevelAgreementId:
    description: The id of a service level agreement
    in: path
    name: serviceLevelAgreementId
    required: true
    type: string
  shipmentCaseId:
    description: The id of the shipment case
    format: uuid
    in: path
    name: shipmentCaseId
    required: true
    type: string
  shipmentCreatedAtGte:
    description: Include shipments where created_at is greater than or equal to this
      value
    format: date-time
    in: query
    name: created_at__gte
    required: false
    type: string
  shipmentCreatedAtLte:
    description: Include shipments where created_at is less than or equal to this
      value
    format: date-time
    in: query
    name: created_at__lte
    required: false
    type: string
  shipmentId:
    description: The id of the shipment
    format: uuid
    in: path
    name: shipmentId
    required: true
    type: string
  shipmentLocationFilterDistance:
    description: Applies a distance filter and only returns points greater than filter_distance
      km apart. To return all, set this to -1
    in: query
    name: filter_distance
    required: false
    type: string
  shipmentMessageId:
    format: uuid
    in: path
    name: shipmentMessageId
    required: true
    type: string
  shipmentNoteId:
    format: uuid
    in: path
    name: shipmentNoteId
    required: true
    type: string
  shipmentPickupId:
    format: uuid
    in: path
    name: shipmentPickupId
    required: true
    type: string
  shipmentStatus:
    collectionFormat: multi
    description: Include Shipments with these statuses
    in: query
    items:
      enum:
      - appointment_pending
      - at_pickup
      - at_delivery
      - auction_running
      - cancelled
      - carrier_confirmed
      - delayed
      - delivered
      - dispatched
      - draft
      - in_transit
      - out_for_delivery
      - quote_accepted
      - quoting
      - reconciled
      - scheduled
      - tendered
      type: string
    name: status
    required: false
    type: array
  shipmentStatusContains:
    description: Include shipments where the status contains this string
    in: query
    name: status__contains
    required: false
    type: string
  shipmentStatusExclude:
    collectionFormat: multi
    description: Exclude Shipments with these statuses
    in: query
    items:
      enum:
      - appointment_pending
      - at_pickup
      - at_delivery
      - auction_running
      - cancelled
      - carrier_confirmed
      - delayed
      - delivered
      - dispatched
      - draft
      - in_transit
      - out_for_delivery
      - quote_accepted
      - quoting
      - reconciled
      - scheduled
      - tendered
      type: string
    name: status__exclude
    required: false
    type: array
  shipmentTagId:
    format: uuid
    in: path
    name: shipmentTagId
    required: true
    type: string
  shipmentTags:
    collectionFormat: multi
    description: Include only Shipments with at least one matching ShipmentTag
    in: query
    items:
      format: uuid
      type: string
    name: tags
    required: false
    type: array
  shipmentTimelineEventId:
    format: uuid
    in: path
    name: shipmentTimelineEventId
    required: true
    type: string
  shipperCarrierRelationshipId:
    description: The id of the shipper carrier relationship
    format: uuid
    in: path
    name: shipperCarrierRelationshipId
    required: true
    type: string
  shipperId:
    description: The id of the shipper
    format: uuid
    in: path
    name: shipperId
    required: true
    type: string
  shipperRelationshipId:
    description: The id of the shipper relationship
    format: uuid
    in: path
    name: shipperRelationshipId
    required: true
    type: string
  since:
    description: filter on objects since a datetime
    format: date-time
    in: query
    name: since
    type: string
  specialInstructions:
    description: Include pickups with these special instructions
    in: query
    name: special_instructions
    type: string
  specialInstructionsContains:
    description: Include pickups where the special instructions includes this value
    in: query
    name: special_instructions__contains
    type: string
  specialInstructionsExcludes:
    description: Exclude pickups where the special instructions includes this value
    in: query
    name: special_instructions__excludes
    type: string
  spotNegotiationId:
    description: The id of the spot negotiation
    format: uuid
    in: path
    name: spotNegotiationId
    required: true
    type: string
  spotNegotiationMessageId:
    description: The id of the spot negotiation message
    format: uuid
    in: path
    name: spotNegotiationMessageId
    required: true
    type: string
  spotNegotiationQuoteId:
    description: The id of the spot negotiation quote
    format: uuid
    in: path
    name: spotNegotiationQuoteId
    required: true
    type: string
  spotnegotiationClosedByCustomer:
    description: Restrict SpotNegotiations based on whether customer closed
    in: query
    name: closed_by_customer
    required: false
    type: boolean
  spotnegotiationClosedByVendor:
    description: Restrict SpotNegotiations based on whether vendor closed
    in: query
    name: closed_by_vendor
    required: false
    type: boolean
  spotnegotiationCustomerId:
    description: ID of customer company to which to restrict SpotNegotiations
    format: uuid
    in: query
    name: customer_id
    required: false
    type: string
  spotnegotiationCustomerNameContains:
    description: Partial name of customer company to which to restrict SpotNegotiations
    in: query
    name: customer_name__contains
    required: false
    type: string
  spotnegotiationInvolvedOnly:
    description: Restrict SpotNegotiations to those in which user is explicitly involved
    in: query
    name: involved_only
    required: false
    type: boolean
  spotnegotiationInvolvedVendorUsers:
    collectionFormat: multi
    description: Restrict SpotNegotiations to those with provided User IDs involved
      on the vendor side
    in: query
    items:
      format: uuid
      type: string
    name: involved_vendor_users
    required: false
    type: array
  spotnegotiationIsMostRecentWinner:
    description: Restrict SpotNegotiations to those that are or are not the most recent
      winner
    in: query
    name: is_most_recent_winner
    required: false
    type: boolean
  spotnegotiationIsOpen:
    description: Restrict SpotNegotiations based on both sides agreeing the negotiation
      is open
    in: query
    name: is_open
    required: false
    type: boolean
  spotnegotiationShipment:
    description: Return SpotNegotiations where Shipment ID matches
    format: uuid
    in: query
    name: shipment
    required: false
    type: string
  spotnegotiationShipmentBolNumber:
    description: Return SpotNegotiations where Shipment BOL number matches
    in: query
    name: shipment_bol_number
    required: false
    type: string
  spotnegotiationShipmentBolNumberContains:
    description: Return SpotNegotiations where Shipment BOL number partially matches
    in: query
    name: shipment_bol_number__contains
    required: false
    type: string
  spotnegotiationShipmentCapacityProviderCustomerReferenceNumber:
    description: Return SpotNegotiations where Shipment capacity provider customer
      reference number matches
    in: query
    name: shipment_capacity_provider_customer_reference_number
    required: false
    type: string
  spotnegotiationShipmentCapacityProviderCustomerReferenceNumberContains:
    description: Return SpotNegotiations where Shipment capacity provider customer
      reference number partially matches
    in: query
    name: shipment_capacity_provider_customer_reference_number__contains
    required: false
    type: string
  spotnegotiationShipmentCustomerReferenceNumber:
    description: Return SpotNegotiations where Shipment customer reference number
      matches
    in: query
    name: shipment_customer_reference_number
    required: false
    type: string
  spotnegotiationShipmentCustomerReferenceNumberContains:
    description: Return SpotNegotiations where Shipment customer reference number
      partially matches
    in: query
    name: shipment_customer_reference_number__contains
    required: false
    type: string
  spotnegotiationShipmentDelayed:
    description: Return SpotNegotiations where Shipment delayed matches
    in: query
    name: shipment_delayed
    required: false
    type: string
  spotnegotiationShipmentDestinationContains:
    description: Return SpotNegotiations where Shipment destination partially matches
    in: query
    name: shipment_destination__contains
    required: false
    type: string
  spotnegotiationShipmentDropoffGte:
    description: Return SpotNegotiations with a dropoff stop with a planned date greater
      than or equal to this value
    format: date
    in: query
    name: shipment_dropoff__gte
    required: false
    type: string
  spotnegotiationShipmentDropoffLte:
    description: Return SpotNegotiations with a dropoff stop with a planned data less
      than or equal to this value
    format: date
    in: query
    name: shipment_dropoff__lte
    required: false
    type: string
  spotnegotiationShipmentName:
    description: Return SpotNegotiations where Shipment name matches
    in: query
    name: shipment_name
    required: false
    type: string
  spotnegotiationShipmentNameContains:
    description: Return SpotNegotiations where Shipment name partially matches
    in: query
    name: shipment_name__contains
    required: false
    type: string
  spotnegotiationShipmentOriginContains:
    description: Return SpotNegotiations where Shipment origin partially matches
    in: query
    name: shipment_origin__contains
    required: false
    type: string
  spotnegotiationShipmentPickupGte:
    description: Return SpotNegotiations with a pickup stop with a planned date greater
      than or equal to this value
    format: date
    in: query
    name: shipment_pickup__gte
    required: false
    type: string
  spotnegotiationShipmentPickupLte:
    description: Return SpotNegotiations with a pickup stop with a planned date less
      than or equal to this value
    format: date
    in: query
    name: shipment_pickup__lte
    required: false
    type: string
  spotnegotiationShipmentPickupNumber:
    description: Return SpotNegotiations where Shipment pickup number matches
    in: query
    name: shipment_pickup_number
    required: false
    type: string
  spotnegotiationShipmentPickupNumberContains:
    description: Return SpotNegotiations where Shipment pickup number partially matches
    in: query
    name: shipment_pickup_number__contains
    required: false
    type: string
  spotnegotiationShipmentProNumber:
    description: Return SpotNegotiations where Shipment PRO number matches
    in: query
    name: shipment_pro_number
    required: false
    type: string
  spotnegotiationShipmentProNumberContains:
    description: Return SpotNegotiations where Shipment PRO number partially matches
    in: query
    name: shipment_pro_number__contains
    required: false
    type: string
  spotnegotiationShipmentPurchaseOrderNumber:
    description: Return SpotNegotiations where Shipment purchase order number matches
    in: query
    name: shipment_purchase_order_number
    required: false
    type: string
  spotnegotiationShipmentPurchaseOrderNumberContains:
    description: Return SpotNegotiations where Shipment purchase order number partially
      matches
    in: query
    name: shipment_purchase_order_number__contains
    required: false
    type: string
  spotnegotiationShipmentReferenceId:
    description: Return SpotNegotiations where Shipment reference_id matches
    in: query
    name: shipment_reference_id
    required: false
    type: string
  spotnegotiationShipmentReferenceIdContains:
    description: Return SpotNegotiations where Shipment reference_id partially matches
    in: query
    name: shipment_reference_id__contains
    required: false
    type: string
  spotnegotiationShipmentState:
    description: Return SpotNegotiations where Shipment state matches
    in: query
    name: shipment_state
    required: false
    type: string
  spotnegotiationShipmentStatus:
    collectionFormat: multi
    description: Return SpotNegotiations with Shipments that have provided statuses
    in: query
    items:
      enum:
      - appointment_pending
      - at_pickup
      - at_delivery
      - auction_running
      - cancelled
      - carrier_confirmed
      - delayed
      - delivered
      - dispatched
      - draft
      - in_transit
      - out_for_delivery
      - quote_accepted
      - quoting
      - reconciled
      - scheduled
      - tendered
      type: string
    name: shipment_status
    required: false
    type: array
  spotnegotiationVendorId:
    description: ID of the vendor company to which to restrict SpotNegotiations
    format: uuid
    in: query
    name: vendor_id
    required: false
    type: string
  spotnegotiationVendorNameContains:
    description: Partial name of the vendor company to which to restrict SpotNegotiations
    in: query
    name: vendor_name__contains
    required: false
    type: string
  stopId:
    description: The id of the stop
    format: uuid
    in: path
    name: stopId
    required: true
    type: string
  stopsContains:
    description: Return Shipments with this value in one of its stops
    in: query
    name: stops__contains
    required: false
    type: string
  stopsStateProvince:
    description: Return Shipments with this state province on one of its stops
    in: query
    name: stops_state_province
    required: false
    type: string
  supplierInviteBookedAtGte:
    description: Include SupplierInvites where booked_at is greater than or equal
      to this value
    format: date
    in: query
    name: booked_at__gte
    required: false
    type: string
  supplierInviteBookedAtLte:
    description: Include SupplierInvites where booked_at is less than or equal to
      this value
    format: date
    in: query
    name: booked_at__lte
    required: false
    type: string
  supplierInviteCreatedAtGte:
    description: Include SupplierInvites where created_at is greater than or equal
      to this value
    format: date
    in: query
    name: created_at__gte
    required: false
    type: string
  supplierInviteCreatedAtLte:
    description: Include SupplierInvites where created_at is less than or equal to
      this value
    format: date
    in: query
    name: created_at__lte
    required: false
    type: string
  supplierInviteExpressDelivery:
    description: Return objects where express_delivery is this value
    in: query
    name: express_delivery
    required: false
    type: boolean
  supplierInviteKey:
    description: The token key for the supplier invite
    in: path
    name: supplierInviteKey
    required: true
    type: string
  supplierInviteMessageToSupplierContains:
    description: Return objects where the message_to_supplier contains this string
    in: query
    name: message_to_supplier__contains
    required: false
    type: string
  supplierInvitePONumber:
    description: Return objects where the po_number is equal to this string
    in: query
    name: po_number
    required: false
    type: string
  supplierInvitePONumberContains:
    description: Return objects where the po_number contains this string
    in: query
    name: po_number__contains
    required: false
    type: string
  supplierInviteRevokedAtGte:
    description: Include SupplierInvites where revoked_at is greater than or equal
      to this value
    format: date
    in: query
    name: revoked_at__gte
    required: false
    type: string
  supplierInviteRevokedAtLte:
    description: Include SupplierInvites where revoked_at is less than or equal to
      this value
    format: date
    in: query
    name: revoked_at__lte
    required: false
    type: string
  supplierInviteSentByUserName:
    description: Return objects where the sent_by_user name is equal to this string
    in: query
    name: sent_by_user_name
    required: false
    type: string
  supplierInviteSentByUserNameContains:
    description: Return objects where one of the sent_by_user name contains this string
    in: query
    name: sent_by_user_name__contains
    required: false
    type: string
  supplierInviteShipmentCreatedAtGte:
    description: Include SupplierInvites where the Shipment created_at is greater
      than or equal to this value
    format: date
    in: query
    name: shipment_created_at__gte
    required: false
    type: string
  supplierInviteShipmentCreatedAtLte:
    description: Include SupplierInvites where Shipment created_at is less than or
      equal to this value
    format: date
    in: query
    name: shipment_created_at__lte
    required: false
    type: string
  supplierInviteShipmentReferenceId:
    description: Include SupplierInvites where the Shipment reference_id is this value
    in: query
    name: shipment_reference_id
    required: false
    type: string
  supplierInviteShipmentReferenceIdContains:
    description: Return objects where one of the Shipment reference_id contains this
      string
    in: query
    name: shipment_reference_id__contains
    required: false
    type: string
  supplierInviteStatus:
    collectionFormat: multi
    description: Include Supplier Invite with these statuses
    in: query
    items:
      enum:
      - BOOKED
      - CANCELLED
      - REQUESTED
      - UNABLE_TO_BOOK
      type: string
    name: status
    required: false
    type: array
  supplierInviteSupplierEmailAddress:
    description: Return objects where the supplier_email_address is equal to this
      string
    in: query
    name: supplier_email_address
    required: false
    type: string
  supplierInviteSupplierEmailAddressContains:
    description: Return objects where one of the supplier_email_address contains this
      string
    in: query
    name: supplier_email_address__contains
    required: false
    type: string
  supplierInviteUpdatedAtGte:
    description: Include SupplierInvites where updated_at is greater than or equal
      to this value
    format: date
    in: query
    name: updated_at__gte
    required: false
    type: string
  supplierInviteUpdatedAtLte:
    description: Include SupplierInvites where updated_at is less than or equal to
      this value
    format: date
    in: query
    name: updated_at__lte
    required: false
    type: string
  tableType:
    description: filter for dashboard config to return a specific table type
    in: query
    name: table_type
    type: string
  tagId:
    description: The id of the tag
    format: uuid
    in: path
    name: tagId
    required: true
    type: string
  tags:
    collectionFormat: multi
    description: Return objects with these (exact) tags
    in: query
    items:
      type: string
    name: tags
    required: false
    type: array
  tagsContains:
    description: Return objects where one of the tags contains this string
    in: query
    name: tags__contains
    required: false
    type: string
  taskAssignee:
    description: ID of the user assigned to the task
    format: uuid
    in: query
    name: assignee_id
    required: false
    type: string
  taskCaseId:
    description: ID of the case the task belongs to
    format: uuid
    in: query
    name: case_id
    required: false
    type: string
  taskCreatedByUser:
    description: ID of the user who created the task
    format: uuid
    in: query
    name: created_by_user_id
    required: false
    type: string
  taskDescriptionContains:
    description: Text search of the task description
    format: uuid
    in: query
    name: description__contains
    required: false
    type: string
  taskDueDateGte:
    description: Search tasks with a due date greater than or equal to the value
    format: date-time
    in: query
    name: due_date__gte
    required: false
    type: string
  taskDueDateLte:
    description: Search tasks with a due date less than or equal to the value
    format: date-time
    in: query
    name: due_date__lte
    required: false
    type: string
  taskId:
    description: The id of the task
    format: uuid
    in: path
    name: taskId
    required: true
    type: string
  taskIsOpen:
    description: Whether or not the task is open
    in: query
    name: is_open
    required: false
    type: boolean
  taskShipmentId:
    description: ID of the shipment the task belongs to
    format: uuid
    in: query
    name: shipment_id
    required: false
    type: string
  tenderCreatedByCompany:
    description: Restrict Tenders by created by customer ID
    format: uuid
    in: query
    name: created_by_company__id
    required: false
    type: string
  tenderCustomerShipperReferenceNumber:
    description: Restrict Tenders by custoemr shipment reference number
    in: query
    name: shipment__customer_reference_number
    required: false
    type: string
  tenderExternalSystemShipmentId:
    description: Restrict Tenders by the external EDI system shipment ID
    in: query
    name: external_edi_system_shipment_id
    required: false
    type: string
  tenderId:
    format: uuid
    in: path
    name: tenderId
    required: true
    type: string
  tenderShipmentId:
    description: Restrict Tenders by shipment ID
    format: uuid
    in: query
    name: shipment_id
    required: false
    type: string
  tenderShipmentReferenceId:
    description: Restrict Tenders by the shipment reference_id on the platform
    in: query
    name: shipment__reference_id
    required: false
    type: string
  tenderTenderToCompany:
    description: Restrict Tenders by company ID of carrier assigned to tender
    format: uuid
    in: query
    name: tender_to_company_id
    required: false
    type: string
  timeFrame:
    description: Return shipments that are within the given time frame
    enum:
    - current
    - past
    - upcoming
    in: query
    name: time_frame
    required: false
    type: string
  timelineLastUpdatedAtGte:
    description: Return shipments where last timeline update was greater than or equal
      to the value or was never updated
    in: query
    name: timeline_last_updated_at__gte
    required: false
    type: string
  timelineLastUpdatedAtLte:
    description: Return shipments where last timeline update was less than or equal
      to the value or was never updated
    in: query
    name: timeline_last_updated_at__lte
    required: false
    type: string
  totalMilesGte:
    description: Return shipments with total miles greater than or equal to this value
    in: query
    name: total_miles__gte
    required: false
    type: integer
  totalMilesLte:
    description: Return shipments with total miles less than or equal to this value
    in: query
    name: total_miles__lte
    required: false
    type: integer
  trailerId:
    description: The id of the trailer
    format: uuid
    in: path
    name: trailerId
    required: true
    type: string
  triumphId:
    description: The id of the vendor triumph pay record
    format: uuid
    in: path
    name: triumphId
    required: true
    type: string
  triumphPaymentTypeId:
    description: The id of the payment type synced to triumph pay
    format: uuid
    in: path
    name: triumphPaymentTypeId
    required: true
    type: string
  triumphSettingsId:
    description: The id of the company's triumph pay settings
    format: uuid
    in: path
    name: triumphSettingsId
    required: true
    type: string
  updatedAt:
    description: For requesting data updated at a certain datetime
    format: date-time
    in: query
    name: updated_at
    required: false
    type: string
  upsAccount:
    description: Return pickups specific to this UPS account
    in: query
    name: ups_account
    required: false
    type: string
  upsAccountId:
    format: uuid
    in: path
    name: upsAccountId
    required: true
    type: string
  usdot:
    description: search by this (exact) usdot number
    in: query
    name: usdot
    type: string
  usdotContains:
    description: Return companies where the usdot number contains this string
    in: query
    name: usdot__contains
    type: string
  userDashboardConfigurationId:
    description: The id of the user dashboard configuration
    format: uuid
    in: path
    name: userDashboardConfigurationId
    required: true
    type: string
  userId:
    description: The id of the user
    format: uuid
    in: path
    name: userId
    required: true
    type: string
  validateOnly:
    description: Whether imports should only validate the data or commit it to the
      database
    in: query
    name: validateOnly
    required: true
    type: boolean
  vendor:
    description: Return Shipments with this exact value as the vendor Carrier ID
    in: query
    name: vendor_id
    required: false
    type: string
  vendorContains:
    description: Return Shipments where the vendor company name contains this value
    in: query
    name: vendor__contains
    required: false
    type: string
  vendorEnabledForLoadBoard:
    description: Return vendor relationships that have at least one load board enabled
      point of contact
    in: query
    name: load_board_enabled
    type: boolean
  weightLbsGte:
    description: Return shipments with weight lbs greater than or equal to this value
    in: query
    name: weight_lbs__gte
    required: false
    type: integer
  weightLbsLte:
    description: Return shipments with weight lbs less than or equal to this value
    in: query
    name: weight_lbs__lte
    required: false
    type: integer
paths:
  /address-book/:
    get:
      parameters:
      - $ref: '#/parameters/page'
      - $ref: '#/parameters/page-size'
      - $ref: '#/parameters/ordering'
      - $ref: '#/parameters/q'
      responses:
        '200':
          description: Successfully returned a list of address book entries
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/AddressBookEntry'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedAddressBookEntry
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Get a list of address book entries
      tags:
      - address-book
    post:
      parameters:
      - *id001
      responses:
        '201':
          description: Successfully created a new address book entry
          schema:
            $ref: '#/definitions/AddressBookEntry'
        default:
          $ref: '#/responses/defaultError'
      summary: Creates a new address book entry
      tags:
      - address-book
  /address-book/{addressBookId}/:
    delete:
      responses:
        '204':
          $ref: '#/responses/noContent'
        default:
          $ref: '#/responses/defaultError'
      summary: Delete an address book entry
      tags:
      - address-book
    get:
      responses:
        '200':
          description: Successfully returned an address book entry
          schema:
            $ref: '#/definitions/AddressBookEntry'
        default:
          $ref: '#/responses/defaultError'
      summary: Obtain information about an address book entry
      tags:
      - address-book
    parameters:
    - $ref: '#/parameters/addressBookId'
    put:
      parameters:
      - *id001
      responses:
        '200':
          description: Successfully returned an address book entry
          schema:
            $ref: '#/definitions/AddressBookEntry'
        default:
          $ref: '#/responses/defaultError'
      summary: Update an address book entry or add point of contacts
      tags:
      - address-book
  /analytics/integrations/looker/content/:
    get:
      responses:
        '200':
          description: Successfully returned a user's available content
          schema:
            properties:
              managed_content:
                properties:
                  dashboards:
                    items:
                      properties:
                        description:
                          type: string
                        embed_url:
                          type: string
                        id:
                          type: integer
                        short_url:
                          type: string
                        title:
                          type: string
                      type: object
                    type: array
                  looks:
                    items:
                      properties:
                        description:
                          type: string
                        embed_url:
                          type: string
                        id:
                          type: integer
                        short_url:
                          type: string
                        title:
                          type: string
                      type: object
                    type: array
                type: object
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Resources a user has available under the 'managed' space
      tags:
      - analytics
  /analytics/integrations/looker/signurl/:
    get:
      responses:
        '200':
          description: Successfully returned an embedded URL
          schema:
            $ref: '#/definitions/EmbedUrlResponse'
        default:
          $ref: '#/responses/defaultError'
      summary: URL formatted in looker's SSO structure for embedded resources
      tags:
      - analytics
    parameters:
    - description: 'URL to a looker resource that needs to be embedded

        '
      in: query
      name: looker_resource
      required: true
      type: string
  /auth/apikeys/:
    get:
      responses:
        '200':
          description: List of API Keys
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/ApiKey'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedAPIKeys
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Returns a list of API Keys of the company of the current authenticated
        user
      tags:
      - users
    post:
      parameters:
      - in: body
        name: body
        required: true
        schema:
          properties:
            is_active:
              type: boolean
            shipments_delete:
              type: boolean
            shipments_dispatching:
              type: boolean
            shipments_quoting:
              type: boolean
            shipments_read:
              type: boolean
            shipments_tracking:
              type: boolean
            shipments_write:
              type: boolean
          title: CreateApiKey
          type: object
      responses:
        '204':
          description: API Key has been created
        default:
          $ref: '#/responses/defaultError'
      summary: Use this route to generate a new API Key
      tags:
      - users
  /auth/apikeys/{key}:
    get:
      parameters:
      - in: path
        name: key
        required: true
        type: string
      responses:
        '200':
          description: An API Key
          schema:
            properties:
              company:
                type: string
              is_active:
                type: boolean
              key:
                type: string
              shipments_delete:
                type: boolean
              shipments_dispatching:
                type: boolean
              shipments_quoting:
                type: boolean
              shipments_read:
                type: boolean
              shipments_tracking:
                type: boolean
              shipments_write:
                type: boolean
            title: ApiKey
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Returns information about a specific API Key
      tags:
      - users
    patch:
      parameters:
      - in: path
        name: key
        required: true
        type: string
      responses:
        '200':
          description: The updated API Key
          schema:
            $ref: '#/definitions/ApiKey'
        default:
          $ref: '#/responses/defaultError'
      summary: Updates information about the current API Key
      tags:
      - users
    put:
      parameters:
      - in: path
        name: key
        required: true
        type: string
      responses:
        '200':
          description: The updated API Key
          schema:
            $ref: '#/definitions/ApiKey'
        default:
          $ref: '#/responses/defaultError'
      summary: Updates information about the current API Key
      tags:
      - users
  /auth/change-password/:
    post:
      parameters:
      - in: body
        name: body
        required: true
        schema:
          properties:
            new_password:
              type: string
            old_password:
              type: string
          title: ChangePassword
          type: object
      responses:
        '200':
          description: Password was changed
          schema:
            properties:
              token:
                type: string
            title: TokenResponse
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Change a user's password
      tags:
      - users
  /auth/me/:
    get:
      responses:
        '200':
          description: Returns the authenticated user object
          schema:
            properties:
              company:
                $ref: '#/definitions/Company'
              driver:
                $ref: '#/definitions/Driver'
              driver_token:
                type: string
              user:
                $ref: '#/definitions/User'
            title: MeResponse
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Returns the currently authenticated user
      tags:
      - users
  /auth/password-reset/:
    post:
      parameters:
      - in: body
        name: body
        required: true
        schema:
          properties:
            password:
              type: string
            token:
              format: uuid
              type: string
          title: ResetPassword
          type: object
      responses:
        '204':
          description: Token accepted and password set
        default:
          $ref: '#/responses/defaultError'
      summary: Submit a password reset token
      tags:
      - users
  /auth/request-magic-link/:
    post:
      parameters:
      - in: body
        name: body
        required: true
        schema:
          properties:
            email:
              format: email
              type: string
          required:
          - email
          title: MagicLinkRequest
          type: object
      responses:
        '204':
          description: If the user exists, the email was sent
        default:
          $ref: '#/responses/defaultError'
      summary: Request a magic link email to be sent to a specified address
      tags:
      - users
  /auth/request-password-reset/:
    post:
      parameters:
      - in: body
        name: body
        required: true
        schema:
          properties:
            email:
              type: string
          title: RequestPasswordReset
          type: object
      responses:
        '204':
          description: If the user exists and has not yet been verified, the email
            is sent.
        default:
          $ref: '#/responses/defaultError'
      summary: Requests a Reset Password Email
      tags:
      - users
  /auth/request-verification-email/:
    post:
      parameters:
      - in: body
        name: body
        required: true
        schema:
          properties:
            email:
              type: string
          title: RequestVerificationEmail
          type: object
      responses:
        '204':
          description: If the user exists and has not yet been verified, the email
            is sent.
        default:
          $ref: '#/responses/defaultError'
      summary: Requests a Verification Email
      tags:
      - users
  /auth/set-password/:
    post:
      parameters:
      - in: body
        name: body
        required: true
        schema:
          properties:
            password:
              type: string
            token:
              format: uuid
              type: string
          title: SetPassword
          type: object
      responses:
        '204':
          description: Token accepted and password set, email is also verified
        default:
          $ref: '#/responses/defaultError'
      summary: Submit a set password token
      tags:
      - users
  /auth/token/:
    post:
      parameters:
      - in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/Login'
      responses:
        '200':
          description: Returns the associated auth token and the user object
          schema:
            $ref: '#/definitions/LoginResponse'
        default:
          $ref: '#/responses/defaultError'
      security: []
      summary: Login given a users credentials
      tags:
      - users
  /auth/update-signup-info/:
    post:
      parameters:
      - in: body
        name: body
        required: true
        schema:
          properties:
            email:
              type: string
            phone_number:
              type: string
          title: ResetSignupInfo
          type: object
      responses:
        '204':
          description: Info has been updated
        default:
          $ref: '#/responses/defaultError'
      summary: If the user set the incorrect phone or email when signing up, use this
        route to update it
      tags:
      - users
  /auth/verify-email/:
    post:
      parameters:
      - in: body
        name: body
        required: true
        schema:
          properties:
            token:
              format: uuid
              type: string
          title: VerifyEmail
          type: object
      responses:
        '200':
          description: Token accepted and user's email verified.
          schema:
            properties:
              email:
                type: string
              is_active:
                type: boolean
              phone_number:
                type: string
            title: VerificationResponse
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Submit an email verification token
      tags:
      - users
  /automation/driver-texts/message-templates/:
    get:
      responses:
        '200':
          description: Text message templates for the currently logged in user's company.
          schema:
            $ref: '#/definitions/TextMessageTemplates'
        default:
          $ref: '#/responses/defaultError'
      summary: Gets the current text message templates.
      tags:
      - driver-text-flow
    put:
      parameters:
      - in: body
        name: body
        schema:
          $ref: '#/definitions/TextMessageTemplates'
      responses:
        '200':
          description: Updated call log object
          schema:
            $ref: '#/definitions/TextMessageTemplates'
        default:
          $ref: '#/responses/defaultError'
      summary: Updates text message templates to new values.
      tags:
      - driver-text-flow
  /billing/integrations/quickbooks/accounts/:
    get:
      parameters:
      - description: The type of General Ledger Account to retrieve
        enum:
        - Bank
        - Expense
        in: query
        name: account-type
        required: false
        type: string
      - $ref: '#/parameters/page'
      - $ref: '#/parameters/page-size'
      responses:
        '200':
          description: Successfully returned a list of all quickbooks general ledger
            accounts
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/QuickbooksGLAccount'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedQuickbooksGLAccount
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Returns a list of available Quickbooks General Ledger Accounts (Bank
        Checking, Expense)
      tags:
      - billing
    post:
      responses:
        '200':
          description: Successfully Populates Quickbooks Bank Checking and Expense
            Expense Accounts to the platform
          schema:
            properties:
              message:
                type: string
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Populates Quickbooks Bank Checking and Expense Accounts to the platform
      tags:
      - billing
  /billing/integrations/quickbooks/bill-payments/:
    get:
      parameters:
      - $ref: '#/parameters/page'
      - $ref: '#/parameters/page-size'
      responses:
        '200':
          description: Successfully returned a list of all expense accounts
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/QuickbooksBillPayment'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedQuickbooksBillPayments
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Retrieve all Bill Payments for a company
      tags:
      - billing
    post:
      parameters:
      - in: body
        name: body
        required: true
        schema:
          properties:
            bank_account_id:
              description: The appropriate Bank Checking Account Id
              type: string
            line_items:
              items:
                properties:
                  amount:
                    description: Amount to be paid to the above bill
                    format: float
                    type: number
                  bill_id:
                    description: The Id of the bill to be paid by Bill Payment
                    format: uuid
                    type: string
                required:
                - bill_id
                - amount
                type: object
              type: array
            selected_documents:
              items:
                description: 'The id of the document being attached, if any

                  '
                type: string
              type: array
            vendor_company_id:
              format: uuid
              type: string
            vendor_ref:
              format: integer
              type: string
          required:
          - vendor_ref
          - vendor_company_id
          - line_items
          - bank_account_id
          title: BillPaymentBody
          type: object
      responses:
        '201':
          description: Successfully created a Bill Payment on Quickbooks
          schema:
            $ref: '#/definitions/QuickbooksBillPayment'
        default:
          $ref: '#/responses/defaultError'
      summary: Create a Bill Payment on Quickbooks
      tags:
      - billing
  /billing/integrations/quickbooks/bill-payments/{billPaymentId}:
    get:
      parameters:
      - description: The Id of the Bill Payment to retrieve
        format: uuid
        in: path
        name: billPaymentId
        required: true
        type: string
      responses:
        '200':
          description: Successfully returned the requested Quickbooks Bill Payment
          schema:
            $ref: '#/definitions/QuickbooksBillPayment'
        default:
          $ref: '#/responses/defaultError'
      summary: Retrieve a specific Bill Payment
      tags:
      - billing
  /billing/integrations/quickbooks/bills/:
    get:
      responses:
        '200':
          description: Successfully returned a list of quickbooks bills for a company
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/QuickbooksBill'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedQuickbooksBill
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: List quickbooks bills for a company as long as a user hits this end
        point.One can also query using doc_number but thats optional.
      tags:
      - billing
    parameters:
    - description: 'String, if present, will get quickbook bills by Doc Number

        '
      in: query
      name: doc_number
      required: false
      type: string
  /billing/integrations/quickbooks/expense-classes/:
    get:
      parameters:
      - $ref: '#/parameters/page'
      - $ref: '#/parameters/page-size'
      responses:
        '200':
          description: Successfully returned a list all expense classes
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/QuickbooksExpenseClass'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedQuickbooksExpenseClass
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Returns a list of available Quickbooks Expense Classes
      tags:
      - billing
    post:
      responses:
        '200':
          description: Successfully Populates Quickbooks Expense Classes to the platform
          schema:
            properties:
              message:
                type: string
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Populates Quickbooks Expense Classes to the platform
      tags:
      - billing
  /billing/integrations/quickbooks/expenses-categories-mapping/:
    get:
      parameters:
      - $ref: '#/parameters/page'
      - $ref: '#/parameters/page-size'
      responses:
        '200':
          description: Successfully returned a list of mappings
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/QuickbooksExpensesCategoryMapping'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedQuickbooksExpensesCategoryMapping
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Returns a list of Quickbooks Expense Class and Account to ChargeLineItemCategory
        mappings
      tags:
      - billing
    post:
      parameters:
      - in: body
        name: body
        required: true
        schema:
          properties:
            category:
              type: string
            expense_account:
              properties:
                id:
                  format: uuid
                  type: string
                name:
                  type: string
                quickbooks_id:
                  type: string
              type: object
            expense_class:
              properties:
                id:
                  format: uuid
                  type: string
                name:
                  type: string
                quickbooks_id:
                  type: string
              type: object
          required:
          - category
          - expense_account
          - expense_class
          type: object
      responses:
        '201':
          description: Successfully creates Expense Account and Class to ChargeLineItemCategory
            mapping
          schema:
            $ref: '#/definitions/QuickbooksExpensesCategoryMapping'
        default:
          $ref: '#/responses/defaultError'
      summary: Creates a mapping for Quickbooks Expense Class and Account to ChargeLineItemCategory
      tags:
      - billing
  /billing/integrations/quickbooks/expenses-categories-mapping/{quickbooksExpensesCategoryMappingId}/:
    delete:
      responses:
        '204':
          $ref: '#/responses/noContent'
        default:
          $ref: '#/responses/defaultError'
      summary: Delete a QuickbooksExpensesCategoryMapping
      tags:
      - billing
    get:
      responses:
        '200':
          description: Successfully returned a QuickbooksExpensesCategory Mapping
          schema:
            $ref: '#/definitions/QuickbooksExpensesCategoryMapping'
        default:
          $ref: '#/responses/defaultError'
      summary: Retrieve specific Quickbooks Expense Account and Class to ChargeLineItemCategory
        mapping
      tags:
      - billing
    parameters:
    - $ref: '#/parameters/quickbooksExpensesCategoryMappingId'
    put:
      parameters:
      - in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/QuickbooksExpensesCategoryMapping'
      responses:
        '200':
          description: Returns the updated QuickbooksExpensesCategoryMapping object
          schema:
            $ref: '#/definitions/QuickbooksExpensesCategoryMapping'
        default:
          $ref: '#/responses/defaultError'
      summary: Update a QuickbooksExpensesCategory Mapping
      tags:
      - billing
  /billing/integrations/quickbooks/payment-terms/:
    get:
      responses:
        '200':
          description: Successfully retrieve quickbooks payment terms
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/QuickbooksPaymentTerm'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedQuickbooksPaymentTerms
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Retrieve Quickbooks payment terms from the database
      tags:
      - billing
    post:
      responses:
        '200':
          description: Successfully retreive Payment Terms from Quickbooks and return
            them
          schema:
            items:
              $ref: '#/definitions/QuickbooksPaymentTerm'
            type: array
        default:
          $ref: '#/responses/defaultError'
      summary: Retrieve Payment Terms from Quickbooks, create/update them in our database
        and return them to the user
      tags:
      - billing
  /billing/integrations/quickbooks/shipments/{shipmentId}/bills/:
    get:
      parameters:
      - $ref: '#/parameters/page'
      - $ref: '#/parameters/page-size'
      - $ref: '#/parameters/q'
      responses:
        '200':
          description: Successfully returned a list of bills for ashipment
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/QuickbooksBill'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedQuickbooksBill
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Returns a list of bills for a shipment
      tags:
      - billing
    parameters:
    - $ref: '#/parameters/shipmentId'
    post:
      parameters:
      - in: body
        name: body
        required: true
        schema:
          properties:
            doc_number:
              type: string
            document_tag:
              description: 'Specifies document type, the default is shipment_document

                '
              type: string
            line_items:
              items:
                $ref: '#/definitions/QuickbooksBillLineItem'
              type: array
            remit_to:
              $ref: '#/definitions/BillRemitTo'
            selected_documents:
              items:
                description: 'The id of the document being attached, if any

                  '
                type: string
              type: array
            terms:
              description: Payment terms
              type: string
            transaction_date:
              format: date
              type: string
            vendor_company_id:
              format: uuid
              type: string
            vendor_ref:
              format: integer
              type: string
          required:
          - vendor_ref
          - vendor_company_id
          - line_items
          type: object
      responses:
        '201':
          description: Successfully creates a shipment bill
          schema:
            $ref: '#/definitions/QuickbooksBill'
        default:
          $ref: '#/responses/defaultError'
      summary: Creates a bill for a given shipment
      tags:
      - billing
  /billing/integrations/quickbooks/shipments/{shipmentId}/bills/{quickbooksBillId}:
    get:
      responses:
        '200':
          description: Successfully returns a bill for a shipment
          schema:
            $ref: '#/definitions/QuickbooksBill'
        default:
          $ref: '#/responses/defaultError'
      summary: Get information about a specific bill for a shipment
      tags:
      - billing
    parameters:
    - $ref: '#/parameters/shipmentId'
    - $ref: '#/parameters/quickbooksBillId'
    put:
      parameters:
      - in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/QuickbooksBill'
      responses:
        '200':
          description: Successfully updates the quickbooks bill
          schema:
            $ref: '#/definitions/QuickbooksBill'
      summary: Update a specific quickbooks bill
      tags:
      - billing
  /billing/integrations/quickbooks/unbilled-shipments/:
    get:
      parameters:
      - $ref: '#/parameters/page'
      - $ref: '#/parameters/page-size'
      - $ref: '#/parameters/shipmentStatus'
      responses:
        '200':
          description: Successfully returned a list of delivered but unbilled shipments
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/Shipment'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedShipment
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Returns all delivered shipments that need a vendor-side bill. By default,
        returns shipments with the state delivered. Can be filtered by the shipment_status
        parameter.
      tags:
      - billing
  /billing/integrations/quickbooks/vendors-mapping/:
    post:
      parameters:
      - in: body
        name: body
        required: true
        schema:
          properties:
            company_id:
              description: the carrier company id on the platform to be mapped.
              type: string
            vendor_ref:
              description: the vendor id on Quickbooks
              type: string
          type: object
      responses:
        '201':
          description: 'Successfully created a vendor-to-company mapping

            '
          schema:
            properties:
              company_id:
                type: string
              message:
                type: string
              vendor_ref:
                type: string
            title: QuickbooksVendorMapping
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Map a carrier company on the platform to a Quickbooks Vendor
      tags:
      - billing
  /billing/integrations/quickbooks/vendors-mapping/{companyId}/:
    get:
      description: 'Check and retrieve a mapping of a Quickbooks Vendor on the platform

        '
      responses:
        '200':
          description: Successfully returned a vendor to carrier company mapping
          schema:
            properties:
              company_id:
                type: string
              mapping_exists:
                type: boolean
              vendor_ref:
                type: string
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Check if vendor-company mapping exists
      tags:
      - billing
    parameters:
    - $ref: '#/parameters/companyId'
  /billing/integrations/quickbooks/vendors-populate/:
    post:
      responses:
        '200':
          description: Quickbooks vendors saved successfully.
          schema:
            properties:
              message:
                type: string
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Populates company's quickbooks vendors to the platform
      tags:
      - billing
  /billing/integrations/quickbooks/vendors/:
    get:
      parameters:
      - $ref: '#/parameters/page'
      - $ref: '#/parameters/page-size'
      - $ref: '#/parameters/q'
      responses:
        '200':
          description: Successfully returned a list of Quickbooks Vendors on the platform
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/QuickbooksVendor'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedQuickbooksVendor
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Returns a list of Quickbooks Vendors as on Quickbooks
      tags:
      - billing
    post:
      parameters:
      - *id002
      responses:
        '201':
          description: Successfully creates a vendor on Quickbooks
          schema:
            $ref: '#/definitions/QuickbooksVendor'
        default:
          $ref: '#/responses/defaultError'
      summary: Successfully creates a Vendor on quickbooks using carrier company details
        from the platform.
      tags:
      - billing
  /billing/integrations/quickbooks/vendors/{quickbooksVendorId}:
    get:
      responses:
        '200':
          description: Successfully returns a quickbooks vendor
          schema:
            $ref: '#/definitions/QuickbooksVendor'
        default:
          $ref: '#/responses/defaultError'
      summary: Get information about a specific quickbooks vendor
      tags:
      - billing
    parameters:
    - $ref: '#/parameters/quickbooksVendorId'
    put:
      parameters:
      - in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/QuickbooksVendor'
      responses:
        '200':
          description: Successfully updates the quickbooks vendor
          schema:
            $ref: '#/definitions/QuickbooksVendor'
      summary: Update a specific quickbooks vendor
      tags:
      - billing
  /brokerages/{brokerageId}/shipper-relationships/:
    get:
      parameters:
      - $ref: '#/parameters/page'
      - $ref: '#/parameters/page-size'
      - $ref: '#/parameters/ordering'
      - $ref: '#/parameters/q'
      - $ref: '#/parameters/accountRepsContains'
      - $ref: '#/parameters/accountRepsIds'
      - $ref: '#/parameters/salesRepsContains'
      - $ref: '#/parameters/salesRepsIds'
      - $ref: '#/parameters/companyContains'
      - $ref: '#/parameters/companyPrimaryEmailContains'
      - $ref: '#/parameters/companyPrimaryPhoneNumberContains'
      - $ref: '#/parameters/customerId'
      - $ref: '#/parameters/expandUsers'
      responses:
        '200':
          description: Successfully returned a list of shipper relationships
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/ShipperRelationship'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedShipperRelationship
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Returns a list of a brokerage shipper relationships
      tags:
      - shipper-relationship
    parameters:
    - $ref: '#/parameters/brokerageId'
    post:
      parameters:
      - in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/CreateShipperRelationship'
      responses:
        '201':
          description: Successfully created a new shipper along with a relationship
            to the authenticated broker
          schema:
            $ref: '#/definitions/ShipperRelationship'
        default:
          $ref: '#/responses/defaultError'
      summary: Creates a new shipper along with a relationship to the authenticated
        broker
      tags:
      - shipper-relationship
  /brokerages/{brokerageId}/shipper-relationships/{shipperRelationshipId}/:
    delete:
      responses:
        '204':
          $ref: '#/responses/noContent'
        default:
          $ref: '#/responses/defaultError'
      summary: Delete a shipper relationship
      tags:
      - shipper-relationship
    get:
      responses:
        '200':
          description: Successfully returned a shipper relationship
          schema:
            $ref: '#/definitions/ShipperRelationship'
        default:
          $ref: '#/responses/defaultError'
      summary: Obtain information about a shipper relationship
      tags:
      - shipper-relationship
    parameters:
    - $ref: '#/parameters/brokerageId'
    - $ref: '#/parameters/shipperRelationshipId'
    put:
      parameters:
      - in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/ShipperRelationship'
      responses:
        '200':
          description: Successfully returned a shipper relationship
          schema:
            $ref: '#/definitions/ShipperRelationship'
        default:
          $ref: '#/responses/defaultError'
      summary: Update a shipper relationship
      tags:
      - shipper-relationship
  /brokerages/{brokerageId}/shipper-relationships/{shipperRelationshipId}/carriers/:
    get:
      responses:
        '200':
          description: Successfully returned a list of carrier relationships
          schema:
            items:
              $ref: '#/definitions/CarrierSpecificShipperRelationship'
            type: array
        default:
          $ref: '#/responses/defaultError'
      summary: Returns a list of carrier relationships for a given shipper to brokerage
        relationship
      tags:
      - shipper-carrier-relationships
    parameters:
    - $ref: '#/parameters/brokerageId'
    - $ref: '#/parameters/shipperRelationshipId'
    put:
      parameters:
      - in: body
        name: body
        required: true
        schema:
          items:
            $ref: '#/definitions/CarrierSpecificShipperRelationship'
          type: array
      responses:
        '200':
          description: Successfully modified a new carrier relationships
          schema:
            items:
              $ref: '#/definitions/CarrierSpecificShipperRelationship'
            type: array
        default:
          $ref: '#/responses/defaultError'
      summary: Updates any modified carrier relationships
      tags:
      - shipper-carrier-relationships
  /brokerages/{brokerageId}/shipper-relationships/{shipperRelationshipId}/documents/:
    get:
      parameters:
      - $ref: '#/parameters/page'
      - $ref: '#/parameters/page-size'
      responses:
        '200':
          description: Successfully retrieved document metadata
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/DocumentMetadata'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedDocumentMetadata
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Get metadata about documents on a shipper relationship
      tags:
      - shipper-relationship
    parameters:
    - $ref: '#/parameters/brokerageId'
    - $ref: '#/parameters/shipperRelationshipId'
    post:
      parameters:
      - *id003
      responses:
        '201':
          description: Successfully created a document
          schema:
            $ref: '#/definitions/DocumentMetadata'
        default:
          $ref: '#/responses/defaultError'
      summary: Create a document on a shipment
      tags:
      - shipper-relationship
  /brokerages/{brokerageId}/shipper-relationships/{shipperRelationshipId}/documents/{documentId}/:
    delete:
      responses:
        '204':
          $ref: '#/responses/noContent'
        default:
          $ref: '#/responses/defaultError'
      summary: Delete a Document
      tags:
      - shipper-relationship
    get:
      responses:
        '200':
          description: Successfully retrieved document metadata
          schema:
            $ref: '#/definitions/DocumentMetadata'
        default:
          $ref: '#/responses/defaultError'
      summary: Get metadata about a document
      tags:
      - shipper-relationship
    parameters:
    - $ref: '#/parameters/brokerageId'
    - $ref: '#/parameters/shipperRelationshipId'
    - $ref: '#/parameters/documentId'
    put:
      parameters:
      - *id004
      responses:
        '200':
          description: Successfully updated document metadata
          schema:
            $ref: '#/definitions/ShipmentDocumentMetadata'
        default:
          $ref: '#/responses/defaultError'
      summary: Update metadata about a document
      tags:
      - shipper-relationship
  /call-log/:
    get:
      parameters:
      - format: uuid
        in: query
        name: recommendation_id
        required: true
        type: string
      responses:
        '200':
          description: List of call log objects.
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/CallLogRead'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: CallLogListReponse
            type: object
      summary: Searches for call logs for the given recommendation_id.
      tags:
      - call-log
    post:
      parameters:
      - in: body
        name: body
        schema:
          $ref: '#/definitions/CallLogWrite'
      responses:
        '201':
          description: Created call log object
          schema:
            $ref: '#/definitions/CallLogRead'
        '400':
          description: Request was bad; usually missing parameters
          schema:
            $ref: '#/definitions/CrFieldErrorsResponse'
      summary: Saves a call log.
      tags:
      - call-log
  /call-log/for-shipment/{ShipmentId}:
    get:
      responses:
        '200':
          description: List of call log objects.
          schema:
            properties:
              results:
                items:
                  $ref: '#/definitions/CallLogShipmentSummary'
                type: array
            title: ShipmentCallLogReponse
            type: object
      summary: Searches for call logs for a given shipment and summerizes them by
        recommendation.
      tags:
      - call-log
    parameters:
    - $ref: '#/parameters/callLogShipmentId'
  /carrier-poc-tags/:
    get:
      parameters:
      - $ref: '#/parameters/page'
      - $ref: '#/parameters/page-size'
      - $ref: '#/parameters/ordering'
      responses:
        '200':
          description: Successfully returned a list of carrier point of contact tags
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/CarrierPocTag'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedCarrierPocTag
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Get a list of available carrier point of contact tags
      tags:
      - carrier-tags
    post:
      parameters:
      - *id005
      responses:
        '201':
          description: Successfully created a new carrier point of contact tag
          schema:
            $ref: '#/definitions/CarrierPocTag'
        default:
          $ref: '#/responses/defaultError'
      summary: Create a new carrier point of contact tag
      tags:
      - carrier-tags
  /carrier-poc-tags/{tagId}/:
    delete:
      responses:
        '204':
          $ref: '#/responses/noContent'
        default:
          $ref: '#/responses/defaultError'
      summary: Delete a carrier point of contact tag
      tags:
      - carrier-tags
    get:
      responses:
        '200':
          description: Successfully returned a carrier point of contact tag
          schema:
            $ref: '#/definitions/CarrierPocTag'
        default:
          $ref: '#/responses/defaultError'
      summary: Obtain information about a carrier point of contact tag
      tags:
      - carrier-tags
    parameters:
    - $ref: '#/parameters/tagId'
    put:
      parameters:
      - *id005
      responses:
        '200':
          description: Successfully updated the carrier point of contact tag
          schema:
            $ref: '#/definitions/CarrierPocTag'
        default:
          $ref: '#/responses/defaultError'
      summary: Update the carrier point of contact tag
      tags:
      - carrier-tags
  /carrier-prioritization/v1/get-recommendations/:
    get:
      deprecated: true
      parameters:
      - $ref: '#/parameters/CpEquipmentType'
      - $ref: '#/parameters/CpDropoffCity'
      - $ref: '#/parameters/CpDropoffState'
      - $ref: '#/parameters/CpDropoffLat'
      - $ref: '#/parameters/CpDropoffLng'
      - $ref: '#/parameters/CpPickupCity'
      - $ref: '#/parameters/CpPickupState'
      - $ref: '#/parameters/CpPickupLat'
      - $ref: '#/parameters/CpPickupLng'
      - $ref: '#/parameters/CpPickupTime'
      responses:
        '200':
          description: Successfully returned list of suggestions, or no suggestions
            were found (results will be empty list).
          schema:
            properties:
              results:
                items:
                  $ref: '#/definitions/CarrierPrioritizationRecommendation'
                type: array
              success:
                type: boolean
            title: CarrierPrioritizationResponse
            type: object
        '400':
          description: Request was bad; usually missing parameters
          schema:
            properties:
              field_errors:
                properties:
                  field_name:
                    items:
                      type: string
                    type: array
                type: object
            type: object
      summary: Returns a list of recommended companies for a shipment with the given
        parameters.
      tags:
      - carrier-prioritization
  /carrier-recommendation/v1/feedback/:
    post:
      parameters:
      - description: The shipment to get recommendations for.
        in: body
        name: body
        schema:
          $ref: '#/definitions/CrFeedbackCreate'
      responses:
        '200':
          description: Newly created Shipment object and list of suggestions generated.
          schema:
            $ref: '#/definitions/CrFeedback'
        '400':
          description: Request was bad; usually missing parameters
          schema:
            $ref: '#/definitions/CrFieldErrorsResponse'
      summary: Saves feedback for the given recommendation.
      tags:
      - carrier-prioritization
  /carrier-recommendation/v1/recommendation-shipments/:
    get:
      parameters:
      - format: uuid
        in: query
        name: external_shipment_id
        required: true
        type: string
      responses:
        '200':
          description: List of shipment objects and list of associated suggestions
            generated.
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/CrRecommendationShipmentResponse'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            type: object
      summary: Searches for recommendation shipments with the given external_shipment_id.
      tags:
      - carrier-prioritization
    post:
      parameters:
      - description: The shipment to get recommendations for.
        in: body
        name: body
        schema:
          $ref: '#/definitions/CrRecommendationShipment'
      responses:
        '200':
          description: Newly created Shipment object and list of suggestions generated.
          schema:
            $ref: '#/definitions/CrRecommendationShipmentResponse'
        '400':
          description: Request was bad; usually missing parameters
          schema:
            $ref: '#/definitions/CrFieldErrorsResponse'
      summary: Saves and returns a list of recommended companies for a shipment with
        the given parameters.
      tags:
      - carrier-prioritization
  /carrier-recommendation/v1/recommendation-shipments/{CrRecommendationShipmentId}/:
    get:
      responses:
        '200':
          description: Shipment object and list of associated suggestions generated.
          schema:
            $ref: '#/definitions/CrRecommendationShipmentResponse'
        default:
          $ref: '#/responses/defaultError'
      summary: Returns the recommendation object and its associated recommendations.
      tags:
      - carrier-prioritization
    parameters:
    - $ref: '#/parameters/CrRecommendationShipmentId'
  /carrier-recommendation/v1/recommendations/:
    get:
      parameters:
      - format: uuid
        in: query
        name: recommendation_shipment__external_shipment_id
        required: true
        type: string
      responses:
        '200':
          description: List of associated recommendations.
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/CrRecommendationResponse'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Searches for recommendations with the given external_shipment_id.
      tags:
      - carrier-prioritization
  /carrier-recommendation/v1/recommendations/{CrRecommendationId}/:
    get:
      responses:
        '200':
          description: Recommendation object.
          schema:
            $ref: '#/definitions/CrRecommendationResponse'
        default:
          $ref: '#/responses/defaultError'
      summary: Returns the recommendation object.
      tags:
      - carrier-prioritization
    parameters:
    - $ref: '#/parameters/CrRecommendationId'
  /carrier-relationships/:
    get:
      parameters:
      - $ref: '#/parameters/page'
      - $ref: '#/parameters/page-size'
      - $ref: '#/parameters/ordering'
      - $ref: '#/parameters/q'
      - $ref: '#/parameters/carrierOwnerId'
      - $ref: '#/parameters/carrierOwnerEmail'
      - $ref: '#/parameters/carrierOwnerName'
      - $ref: '#/parameters/carrierStatus'
      - $ref: '#/parameters/companyBillingAddressContains'
      - $ref: '#/parameters/companyContains'
      - $ref: '#/parameters/companyMailingAddressContains'
      - $ref: '#/parameters/companyPrimaryEmailContains'
      - $ref: '#/parameters/companyPrimaryPhoneNumberContains'
      - $ref: '#/parameters/mcNumber'
      - $ref: '#/parameters/mcNumberContains'
      - $ref: '#/parameters/pointOfContactsContains'
      - $ref: '#/parameters/tags'
      - $ref: '#/parameters/tagsContains'
      - $ref: '#/parameters/usdot'
      - $ref: '#/parameters/usdotContains'
      - $ref: '#/parameters/vendor'
      - $ref: '#/parameters/vendorEnabledForLoadBoard'
      - $ref: '#/parameters/hasDirectIntegration'
      responses:
        '200':
          description: Successfully returned a list of carrier relationships
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/CarrierRelationship'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedCarrierRelationship
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Get the list of relationships with carriers
      tags:
      - carrier-relationships
    post:
      parameters:
      - $ref: '#/parameters/manual_entry'
      - *id006
      responses:
        '201':
          description: Successfully created a new carrier relationship
          schema:
            $ref: '#/definitions/CarrierRelationship'
        default:
          $ref: '#/responses/defaultError'
      summary: Creates a new relationship with a carrier.  If the carrier does not
        exist, it will be created.
      tags:
      - carrier-relationships
  /carrier-relationships/{carrierRelationshipId}/:
    delete:
      responses:
        '204':
          $ref: '#/responses/noContent'
        default:
          $ref: '#/responses/defaultError'
      summary: Delete a carrier relationship
      tags:
      - carrier-relationships
    get:
      responses:
        '200':
          description: Successfully returned a carrier relationship
          schema:
            $ref: '#/definitions/CarrierRelationship'
        default:
          $ref: '#/responses/defaultError'
      summary: Obtain information about a carrier relationship
      tags:
      - carrier-relationships
    parameters:
    - $ref: '#/parameters/carrierRelationshipId'
    put:
      parameters:
      - *id006
      responses:
        '200':
          description: Successfully returned a carrier relationship
          schema:
            $ref: '#/definitions/CarrierRelationship'
        default:
          $ref: '#/responses/defaultError'
      summary: Update information about a carrier relationship
      tags:
      - carrier-relationships
  /carrier-relationships/{carrierRelationshipId}/analytics/:
    get:
      responses:
        '200':
          description: Embed URL
          schema:
            $ref: '#/definitions/EmbedUrlResponse'
        default:
          $ref: '#/responses/defaultError'
      summary: Retrieve an embed URL for a looker dashboard about the carrier
      tags:
      - carrier-relationships
    parameters:
    - $ref: '#/parameters/carrierRelationshipId'
  /carrier-relationships/{carrierRelationshipId}/contracts/:
    get:
      parameters:
      - $ref: '#/parameters/page'
      - $ref: '#/parameters/page-size'
      - $ref: '#/parameters/ordering'
      - $ref: '#/parameters/q'
      - $ref: '#/parameters/destinationContains'
      - $ref: '#/parameters/destinationStateProvince'
      - $ref: '#/parameters/originContains'
      - $ref: '#/parameters/originStateProvince'
      - $ref: '#/parameters/contractNameContains'
      - $ref: '#/parameters/contractStatus'
      - $ref: '#/parameters/createdAt'
      - $ref: '#/parameters/updatedAt'
      - $ref: '#/parameters/rate'
      - $ref: '#/parameters/carrierNameContains'
      responses:
        '200':
          description: Paginated list of contracts
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/Contract'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedContract
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: List contracts
      tags:
      - contracts
    parameters:
    - $ref: '#/parameters/carrierRelationshipId'
    post:
      parameters:
      - *id007
      responses:
        '201':
          description: Successfully created a contract
          schema:
            $ref: '#/definitions/Contract'
        default:
          $ref: '#/responses/defaultError'
      summary: Create a new contract
      tags:
      - contracts
  /carrier-relationships/{carrierRelationshipId}/contracts/{contractId}/:
    delete:
      responses:
        '204':
          $ref: '#/responses/noContent'
        default:
          $ref: '#/responses/defaultError'
      summary: Delete a Contract
      tags:
      - contracts
    get:
      responses:
        '200':
          description: Successfully returned a Contract
          schema:
            $ref: '#/definitions/Contract'
        default:
          $ref: '#/responses/defaultError'
      summary: Retrieve a Contracct
      tags:
      - contracts
    parameters:
    - $ref: '#/parameters/carrierRelationshipId'
    - $ref: '#/parameters/contractId'
    put:
      parameters:
      - *id007
      responses:
        '200':
          description: Successfully updated a Contract
          schema:
            $ref: '#/definitions/Contract'
        default:
          $ref: '#/responses/defaultError'
      summary: Update a Contract
      tags:
      - contracts
  /carrier-relationships/{carrierRelationshipId}/documents/:
    get:
      parameters:
      - $ref: '#/parameters/page'
      - $ref: '#/parameters/page-size'
      responses:
        '200':
          description: Successfully retrieved document metadata
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/DocumentMetadata'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedDocumentMetadata
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Get metadata about documents on a carrier relationship
      tags:
      - carrier-relationships
    parameters:
    - $ref: '#/parameters/carrierRelationshipId'
    post:
      parameters:
      - *id003
      responses:
        '201':
          description: Successfully created a document
          schema:
            $ref: '#/definitions/DocumentMetadata'
        default:
          $ref: '#/responses/defaultError'
      summary: Create a document on a shipment
      tags:
      - carrier-relationships
  /carrier-relationships/{carrierRelationshipId}/documents/{documentId}/:
    delete:
      responses:
        '204':
          $ref: '#/responses/noContent'
        default:
          $ref: '#/responses/defaultError'
      summary: Delete a Document
      tags:
      - carrier-relationships
    get:
      responses:
        '200':
          description: Successfully retrieved document metadata
          schema:
            $ref: '#/definitions/DocumentMetadata'
        default:
          $ref: '#/responses/defaultError'
      summary: Get metadata about a document
      tags:
      - carrier-relationships
    parameters:
    - $ref: '#/parameters/carrierRelationshipId'
    - $ref: '#/parameters/documentId'
    put:
      parameters:
      - *id004
      responses:
        '200':
          description: Successfully updated document metadata
          schema:
            $ref: '#/definitions/ShipmentDocumentMetadata'
        default:
          $ref: '#/responses/defaultError'
      summary: Update metadata about a document
      tags:
      - carrier-relationships
  /carrier-relationships/{carrierRelationshipId}/eld-providers/:
    get:
      responses:
        '200':
          description: Successfully retrieved ELD providers
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/RecordedELDProvider'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedRecordedELDProvider
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: List ELD providers for a carrier relationship
      tags:
      - carrier-relationships
    parameters:
    - $ref: '#/parameters/carrierRelationshipId'
    post:
      parameters:
      - *id008
      responses:
        '201':
          description: Created ELD provider entry
          schema:
            $ref: '#/definitions/RecordedELDProvider'
        default:
          $ref: '#/responses/defaultError'
      summary: Create an ELD provider entry for a carrier relationship
      tags:
      - carrier-relationships
  /carrier-relationships/{carrierRelationshipId}/eld-providers/{recordedELDProviderId}/:
    delete:
      responses:
        '204':
          $ref: '#/responses/noContent'
        default:
          $ref: '#/responses/defaultError'
      summary: Delete an ELD provider entry for a carrier relationship
      tags:
      - carrier-relationships
    get:
      responses:
        '200':
          description: Retrieved ELD provider entry
          schema:
            $ref: '#/definitions/RecordedELDProvider'
        default:
          $ref: '#/responses/defaultError'
      summary: Retrieve an ELD provider entry for a carrier relationship
      tags:
      - carrier-relationships
    parameters:
    - $ref: '#/parameters/carrierRelationshipId'
    - $ref: '#/parameters/recordedELDProviderId'
    put:
      parameters:
      - *id008
      responses:
        '200':
          description: Updated ELD provider entry
          schema:
            $ref: '#/definitions/RecordedELDProvider'
        default:
          $ref: '#/responses/defaultError'
      summary: Update an ELD provider entry for a carrier relationship
      tags:
      - carrier-relationships
  /carrier-relationships/{carrierRelationshipId}/equipment-types/:
    get:
      responses:
        '200':
          description: Successfully equipment types providers
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/RecordedEquipmentType'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedRecordedEquipmentType
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: List equipment types for a carrier relationship
      tags:
      - carrier-relationships
    parameters:
    - $ref: '#/parameters/carrierRelationshipId'
    post:
      parameters:
      - *id009
      responses:
        '201':
          description: Created equipment type entry
          schema:
            $ref: '#/definitions/RecordedEquipmentType'
        default:
          $ref: '#/responses/defaultError'
      summary: Create an equipment type entry for a carrier relationship
      tags:
      - carrier-relationships
  /carrier-relationships/{carrierRelationshipId}/equipment-types/{recordedEquipmentTypeId}/:
    delete:
      responses:
        '204':
          $ref: '#/responses/noContent'
        default:
          $ref: '#/responses/defaultError'
      summary: Delete an equipment type entry for a carrier relationship
      tags:
      - carrier-relationships
    get:
      responses:
        '200':
          description: Retrieved equipment type entry
          schema:
            $ref: '#/definitions/RecordedEquipmentType'
        default:
          $ref: '#/responses/defaultError'
      summary: Retrieve an equipment type entry for a carrier relationship
      tags:
      - carrier-relationships
    parameters:
    - $ref: '#/parameters/carrierRelationshipId'
    - $ref: '#/parameters/recordedEquipmentTypeId'
    put:
      parameters:
      - *id009
      responses:
        '200':
          description: Updated equipment type entry
          schema:
            $ref: '#/definitions/RecordedEquipmentType'
        default:
          $ref: '#/responses/defaultError'
      summary: Update an equipment type entry for a carrier relationship
      tags:
      - carrier-relationships
  ? /carrier-relationships/{carrierRelationshipId}/point-of-contacts/{carrierRelationshipPointOfContactId}/send-load-board-invite/
  : parameters:
    - $ref: '#/parameters/carrierRelationshipId'
    - $ref: '#/parameters/carrierRelationshipPointOfContactId'
    post:
      responses:
        '200':
          description: Updated information about the point of contact
          schema:
            $ref: '#/definitions/PointOfContact'
        default:
          $ref: '#/responses/defaultError'
      summary: Re-send an email to a carrier point of contact inviting them to the
        load board
      tags:
      - carrier-relationships
  /carrier-tags/:
    get:
      parameters:
      - $ref: '#/parameters/page'
      - $ref: '#/parameters/page-size'
      - $ref: '#/parameters/ordering'
      responses:
        '200':
          description: Successfully returned a list of carrier tags
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/CarrierTag'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedCarrierTag
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Get a list of available carrier tags
      tags:
      - carrier-tags
    post:
      parameters:
      - *id010
      responses:
        '201':
          description: Successfully created a new carrier tag
          schema:
            $ref: '#/definitions/CarrierTag'
        default:
          $ref: '#/responses/defaultError'
      summary: Create a new carrier tag
      tags:
      - carrier-tags
  /carrier-tags/{tagId}/:
    delete:
      responses:
        '204':
          $ref: '#/responses/noContent'
        default:
          $ref: '#/responses/defaultError'
      summary: Delete a carrier tag
      tags:
      - carrier-tags
    get:
      responses:
        '200':
          description: Successfully returned a carrier tag
          schema:
            $ref: '#/definitions/CarrierTag'
        default:
          $ref: '#/responses/defaultError'
      summary: Obtain information about a carrier tag
      tags:
      - carrier-tags
    parameters:
    - $ref: '#/parameters/tagId'
    put:
      parameters:
      - *id010
      responses:
        '200':
          description: Successfully updated the carrier tag
          schema:
            $ref: '#/definitions/CarrierTag'
        default:
          $ref: '#/responses/defaultError'
      summary: Update the carrier tag
      tags:
      - carrier-tags
  /carriers/:
    get:
      parameters:
      - $ref: '#/parameters/usdot'
      responses:
        '200':
          description: Successfully returned a carrier
          schema:
            $ref: '#/definitions/Vendor'
        default:
          $ref: '#/responses/defaultError'
      summary: Get a FMCSA and carrier reported data about a carrier given a USDOT
      tags:
      - carrier-relationships
  /carriers/integrations/automated-vendors/:
    get:
      responses:
        '200':
          description: List of automated vendor profiles
          schema:
            items:
              $ref: '#/definitions/AutomatedVendorProfile'
            type: array
        default:
          $ref: '#/responses/defaultError'
      summary: 'Retrieve a list of all vendors that support some form of

        automated quoting, dispatching, tracking, or imaging

        '
      tags:
      - carriers
  /carriers/report-inaccurate/:
    post:
      parameters:
      - in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/InaccurateCarrier'
      responses:
        '204':
          $ref: '#/responses/noContent'
        default:
          $ref: '#/responses/defaultError'
      summary: Reports inaccurate carrier data to the Shipwell team
      tags:
      - carrier-relationships
  /carriers/search/:
    get:
      parameters:
      - $ref: '#/parameters/q'
      - $ref: '#/parameters/page'
      - $ref: '#/parameters/page-size'
      - $ref: '#/parameters/ordering'
      responses:
        '200':
          description: Successfully returned a list of FMCSA carriers
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/FmcsaCarrier'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedFmcsaCarrier
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Search for a list of carriers
      tags:
      - carrier-relationships
  /carriers/upgrade-permission-request/:
    post:
      parameters:
      - in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/AssetsAccessBody'
      responses:
        '204':
          $ref: '#/responses/noContent'
        default:
          $ref: '#/responses/defaultError'
      summary: Allows an SLU dispatcher to request access to Assets
      tags:
      - carriers
  /carriers/{carrierId}/elds/credentials/:
    parameters:
    - $ref: '#/parameters/carrierId'
    post:
      parameters:
      - in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/ELDCredentials'
      responses:
        '201':
          description: Successfully created new credentials
        default:
          $ref: '#/responses/defaultError'
      summary: Creates or Updates ELD Credentials
      tags:
      - carriers
  /carriers/{carrierId}/elds/hos/:
    get:
      responses:
        '200':
          description: Successfully got Hours of Service for carrier drivers
          schema:
            properties:
              results:
                items:
                  $ref: '#/definitions/HoursOfServiceResponse'
                type: array
            title: HoursOfServiceRecords
            type: object
        '204':
          $ref: '#/responses/noContent'
        default:
          $ref: '#/responses/defaultError'
      summary: Get all driver hours of service for the carrier
      tags:
      - carriers
    parameters:
    - $ref: '#/parameters/carrierId'
    - $ref: '#/parameters/providers'
  /carriers/{carrierId}/elds/hos/{driverId}/:
    get:
      responses:
        '200':
          description: Successfully got Hours of Service
          schema:
            $ref: '#/definitions/HoursOfServiceResponse'
        '204':
          $ref: '#/responses/noContent'
        default:
          $ref: '#/responses/defaultError'
      summary: Get Hours of Service for the driver
      tags:
      - carriers
    parameters:
    - $ref: '#/parameters/carrierId'
    - $ref: '#/parameters/driverId'
  /carriers/{carrierId}/elds/power-unit-locations/:
    get:
      responses:
        '200':
          description: Successfully got locations
          schema:
            properties:
              vehicle_locations:
                items:
                  $ref: '#/definitions/VehicleLocation'
                type: array
            title: FleetLocationResponse
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Get most recently reported Locations for the fleet
      tags:
      - carriers
    parameters:
    - $ref: '#/parameters/carrierId'
    - $ref: '#/parameters/providers'
  /carriers/{carrierId}/elds/power-unit-locations/{powerUnitId}/:
    get:
      parameters:
      - $ref: '#/parameters/carrierId'
      - $ref: '#/parameters/powerUnitId'
      responses:
        '200':
          description: Successfully got vehicle location
          schema:
            $ref: '#/definitions/VehicleLocation'
        default:
          $ref: '#/responses/defaultError'
      summary: Get the most recent location for the power unit
      tags:
      - carriers
  /carriers/{carrierId}/power-units/:
    get:
      parameters:
      - $ref: '#/parameters/page'
      - $ref: '#/parameters/page-size'
      - $ref: '#/parameters/ordering'
      - $ref: '#/parameters/powerUnitName'
      responses:
        '200':
          description: Successfully returned a list of power units
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/PowerUnit'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedPowerUnit
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Power units for a carrier
      tags:
      - carriers
    parameters:
    - $ref: '#/parameters/carrierId'
    post:
      description: If this Carrier has an ELD Provider, calling this with no body,
        will pull the power units from the provider
      parameters:
      - *id011
      responses:
        '201':
          description: Successfully created a new power unit or if this has an ELD
            Provider, then successfully pulled vehicle information and created power
            units in which case, the response is a list of PowerUnits
          schema:
            $ref: '#/definitions/PowerUnit'
        default:
          $ref: '#/responses/defaultError'
      summary: Creates a new power unit
      tags:
      - carriers
  /carriers/{carrierId}/power-units/{powerUnitId}/:
    delete:
      responses:
        '204':
          $ref: '#/responses/noContent'
        default:
          $ref: '#/responses/defaultError'
      summary: Delete a power unit
      tags:
      - carriers
    get:
      responses:
        '200':
          description: Successfully returned a power unit
          schema:
            $ref: '#/definitions/PowerUnit'
        default:
          $ref: '#/responses/defaultError'
      summary: Obtain information about a power unit
      tags:
      - carriers
    parameters:
    - $ref: '#/parameters/carrierId'
    - $ref: '#/parameters/powerUnitId'
    put:
      parameters:
      - *id011
      responses:
        '200':
          description: Successfully returned a power unit
          schema:
            $ref: '#/definitions/PowerUnit'
        default:
          $ref: '#/responses/defaultError'
      summary: Update information about a power unit
      tags:
      - carriers
  /carriers/{carrierId}/power-units/{powerUnitId}/shipments/:
    get:
      responses:
        '200':
          description: Successfully returned a list of shipments
          schema:
            items:
              $ref: '#/definitions/Shipment'
            type: array
        default:
          $ref: '#/responses/defaultError'
      summary: Active Shipments that has this power-unit assigned
      tags:
      - carriers
    parameters:
    - $ref: '#/parameters/carrierId'
    - $ref: '#/parameters/powerUnitId'
  /carriers/{carrierId}/trailers/:
    get:
      parameters:
      - $ref: '#/parameters/page'
      - $ref: '#/parameters/page-size'
      - $ref: '#/parameters/ordering'
      responses:
        '200':
          description: Successfully returned a list of trailers
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/Trailer'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedTrailer
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Trailers for a carrier
      tags:
      - carriers
    parameters:
    - $ref: '#/parameters/carrierId'
    post:
      parameters:
      - *id012
      responses:
        '201':
          description: Successfully created a new trailer
          schema:
            $ref: '#/definitions/Trailer'
        default:
          $ref: '#/responses/defaultError'
      summary: Creates a new trailer
      tags:
      - carriers
  /carriers/{carrierId}/trailers/{trailerId}/:
    delete:
      responses:
        '204':
          $ref: '#/responses/noContent'
        default:
          $ref: '#/responses/defaultError'
      summary: Delete a trailer
      tags:
      - carriers
    get:
      responses:
        '200':
          description: Successfully returned a trailer
          schema:
            $ref: '#/definitions/Trailer'
        default:
          $ref: '#/responses/defaultError'
      summary: Obtain information about a trailer
      tags:
      - carriers
    parameters:
    - $ref: '#/parameters/carrierId'
    - $ref: '#/parameters/trailerId'
    put:
      parameters:
      - *id012
      responses:
        '200':
          description: Successfully returned a trailer
          schema:
            $ref: '#/definitions/Trailer'
        default:
          $ref: '#/responses/defaultError'
      summary: Update information about a trailer
      tags:
      - carriers
  /cases/:
    get:
      parameters:
      - $ref: '#/parameters/page'
      - $ref: '#/parameters/page-size'
      responses:
        '200':
          description: List of cases for a given Company
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/ShipmentCase'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedShipmentCase
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: List cases for a Company
      tags:
      - tasks
    post:
      parameters:
      - in: body
        name: body
        required: true
        schema:
          properties:
            assignee:
              $ref: '#/definitions/User'
            description:
              type: string
            is_open:
              type: boolean
            shipment_id:
              format: uuid
              type: string
            title:
              type: string
          required:
          - assignee
          - description
          - is_open
          - title
          - shipment_id
          type: object
      responses:
        '201':
          description: The newly created ShipmentCase
          schema:
            $ref: '#/definitions/ShipmentCase'
        default:
          $ref: '#/responses/defaultError'
      summary: Create a new case
      tags:
      - tasks
  /cases/{caseId}/:
    delete:
      responses:
        '204':
          $ref: '#/responses/noContent'
        default:
          $ref: '#/responses/defaultError'
      summary: Delete a Case
      tags:
      - tasks
    get:
      responses:
        '200':
          description: Data for a case
          schema:
            $ref: '#/definitions/ShipmentCase'
        default:
          $ref: '#/responses/defaultError'
      summary: Retrieve data for a case
      tags:
      - tasks
    parameters:
    - $ref: '#/parameters/caseId'
    put:
      parameters:
      - *id013
      responses:
        '200':
          description: The updated Case
          schema:
            $ref: '#/definitions/ShipmentCase'
        default:
          $ref: '#/responses/defaultError'
      summary: Update a Case
      tags:
      - tasks
  /companies/:
    get:
      parameters:
      - $ref: '#/parameters/page'
      - $ref: '#/parameters/page-size'
      - $ref: '#/parameters/ordering'
      - $ref: '#/parameters/carrierIdQuery'
      responses:
        '200':
          description: Successfully returned a list of companies
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/Company'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedCompany
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Returns a list of companies scoped to the authorization token.
      tags:
      - companies
      - public
    post:
      parameters:
      - in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/CreateCompanyRequestBody'
      responses:
        '201':
          description: Successfully created a new company
          schema:
            $ref: '#/definitions/Company'
        default:
          $ref: '#/responses/defaultError'
      security: []
      summary: Creates a new company
      tags:
      - companies
      - public
  /companies/identifying-codes/:
    get:
      responses:
        '200':
          description: Successfully returned a list of identifying codes
          schema:
            items:
              $ref: '#/definitions/IdentifyingCodeType'
            type: array
        default:
          $ref: '#/responses/defaultError'
      security: []
      summary: A list of all identifying codes supported by the API
      tags:
      - companies
  /companies/logos/:
    get:
      parameters:
      - description: search by a company's subdomain
        in: query
        name: subdomain
        required: true
        type: string
      - description: optional parameter to search for a particular image type
        in: query
        name: image_type
        required: false
        type: string
      responses:
        '200':
          description: Successfully returned a list of logos
          schema:
            items:
              $ref: '#/definitions/CompanyLogo'
            type: array
        default:
          $ref: '#/responses/defaultError'
      security: []
      summary: A list of logos associated with a company. A subdomain must be provided
        to search for logos
      tags:
      - companies
  /companies/{companyId}/:
    delete:
      responses:
        '204':
          $ref: '#/responses/noContent'
        default:
          $ref: '#/responses/defaultError'
      summary: Delete a company
      tags:
      - companies
      - public
    get:
      responses:
        '200':
          description: Successfully returned a company
          schema:
            $ref: '#/definitions/Company'
        default:
          $ref: '#/responses/defaultError'
      summary: Obtain information about a company
      tags:
      - companies
      - public
    parameters:
    - $ref: '#/parameters/companyId'
    put:
      parameters:
      - in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/Company'
      responses:
        '200':
          description: Returns the updated company object
          schema:
            $ref: '#/definitions/Company'
        default:
          $ref: '#/responses/defaultError'
      summary: Update a company
      tags:
      - companies
      - public
  /companies/{companyId}/dashboard/:
    get:
      responses:
        '200':
          description: Successfully returned dashboard info
          schema:
            $ref: '#/definitions/Dashboard'
        default:
          $ref: '#/responses/defaultError'
      summary: Obtain information about the companies dashboard
      tags:
      - companies
    parameters:
    - $ref: '#/parameters/companyId'
  /companies/{companyId}/documents/:
    get:
      parameters:
      - $ref: '#/parameters/page'
      - $ref: '#/parameters/page-size'
      responses:
        '200':
          description: Successfully retrieved company documents
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/DocumentMetadata'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedDocumentMetadata
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Get metadata about documents on a company
      tags:
      - companies
    parameters:
    - $ref: '#/parameters/companyId'
    post:
      parameters:
      - in: body
        name: body
        schema:
          properties:
            description:
              type: string
            file:
              format: binary
              type: string
            type:
              type: string
          required:
          - file
          - description
          - type
          type: object
      responses:
        '201':
          description: Successfully created a document
          schema:
            $ref: '#/definitions/DocumentMetadata'
        default:
          $ref: '#/responses/defaultError'
      summary: Create a document on a company
      tags:
      - companies
  /companies/{companyId}/documents/{documentId}/:
    delete:
      responses:
        '204':
          $ref: '#/responses/noContent'
        default:
          $ref: '#/responses/defaultError'
      summary: Delete a Company Document
      tags:
      - companies
    get:
      responses:
        '200':
          description: Successfully retrieved company document
          schema:
            $ref: '#/definitions/DocumentMetadata'
        default:
          $ref: '#/responses/defaultError'
      summary: Get metadata about a company document
      tags:
      - companies
    parameters:
    - $ref: '#/parameters/companyId'
    - $ref: '#/parameters/documentId'
    put:
      parameters:
      - in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/DocumentMetadata'
      responses:
        '200':
          description: Successfully updated company document
          schema:
            $ref: '#/definitions/DocumentMetadata'
        default:
          $ref: '#/responses/defaultError'
      summary: Update metadata about a company document
      tags:
      - companies
  /companies/{companyId}/drivers/:
    get:
      parameters:
      - $ref: '#/parameters/page'
      - $ref: '#/parameters/page-size'
      - $ref: '#/parameters/ordering'
      - $ref: '#/parameters/providers'
      responses:
        '200':
          description: Successfully returned a list of Drivers
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/Driver'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedDriver
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Returns a list of drivers associated to a company
      tags:
      - companies
    parameters:
    - $ref: '#/parameters/companyId'
    post:
      parameters:
      - in: body
        name: body
        schema:
          $ref: '#/definitions/Driver'
      responses:
        '201':
          description: Successfully created a new driver. If the request was for an
            init of ELD drivers, the response is ELDDriversCreated
          schema:
            $ref: '#/definitions/Driver'
        default:
          $ref: '#/responses/defaultError'
      summary: Creates a new driver. If the company has an ELD Provider, doing a post
        with an empty body will pull the drivers from the ELD Service and create users
        if the driver phone number and email are unique
      tags:
      - users
  /companies/{companyId}/drivers/{driverId}/:
    delete:
      responses:
        '204':
          $ref: '#/responses/noContent'
        default:
          $ref: '#/responses/defaultError'
      summary: Delete a driver
      tags:
      - companies
    get:
      responses:
        '200':
          description: Successfully returned a Driver
          schema:
            $ref: '#/definitions/Driver'
        default:
          $ref: '#/responses/defaultError'
      summary: Returns a driver associated to a company
      tags:
      - companies
    parameters:
    - $ref: '#/parameters/companyId'
    - $ref: '#/parameters/driverId'
    put:
      parameters:
      - *id014
      responses:
        '200':
          description: Successfully updated a Driver
          schema:
            $ref: '#/definitions/Driver'
        default:
          $ref: '#/responses/defaultError'
      summary: Update a driver
      tags:
      - companies
  /companies/{companyId}/preferences/:
    get:
      responses:
        '200':
          description: Successfully returned company preference info
          schema:
            $ref: '#/definitions/CompanyPreferences'
        default:
          $ref: '#/responses/defaultError'
      summary: Obtain the company's preferences
      tags:
      - companies
    parameters:
    - $ref: '#/parameters/companyId'
    put:
      parameters:
      - in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/CompanyPreferences'
      responses:
        '200':
          description: Successfully updated the company's preferences
          schema:
            $ref: '#/definitions/CompanyPreferences'
        default:
          $ref: '#/responses/defaultError'
      summary: Update the company's preferences
      tags:
      - companies
  /companies/{companyId}/users/:
    get:
      parameters:
      - $ref: '#/parameters/page'
      - $ref: '#/parameters/page-size'
      - $ref: '#/parameters/ordering'
      responses:
        '200':
          description: Successfully returned a list of users
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/User'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedUser
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Returns a list of users associated to a company
      tags:
      - users
    parameters:
    - $ref: '#/parameters/companyId'
    post:
      parameters:
      - *id015
      responses:
        '201':
          description: Successfully created a new user
          schema:
            $ref: '#/definitions/User'
        default:
          $ref: '#/responses/defaultError'
      summary: Creates a new user
      tags:
      - users
  /companies/{companyId}/users/{userId}/:
    delete:
      responses:
        '204':
          $ref: '#/responses/noContent'
        default:
          $ref: '#/responses/defaultError'
      summary: Delete a user
      tags:
      - users
    get:
      responses:
        '200':
          description: Successfully returned a user
          schema:
            $ref: '#/definitions/User'
        default:
          $ref: '#/responses/defaultError'
      summary: Obtain information about a user
      tags:
      - users
    parameters:
    - $ref: '#/parameters/companyId'
    - $ref: '#/parameters/userId'
    put:
      parameters:
      - *id015
      responses:
        '200':
          description: Returns the updated user object
          schema:
            $ref: '#/definitions/User'
        default:
          $ref: '#/responses/defaultError'
      summary: Update a user
      tags:
      - users
  /companies/{companyId}/users/{userId}/link-driver/:
    parameters:
    - $ref: '#/parameters/companyId'
    - $ref: '#/parameters/userId'
    post:
      responses:
        '200':
          description: Returns the associated auth token and the user object
          schema:
            properties:
              carrier_id:
                format: uuid
                type: string
              driver_id:
                format: uuid
                type: string
              token:
                type: string
              user:
                $ref: '#/definitions/User'
              user_token:
                type: string
            title: DriverTokenResponse
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Link a user to a driver if the relationship doesn't already exist
      tags:
      - users
  /configuration/android/min-required-version/:
    get:
      responses:
        '200':
          description: Minimum required Android app version
          schema:
            properties:
              version:
                format: int32
                type: integer
            title: AndroidMinVersion
            type: object
      security: []
      summary: Get the minimum required Android app version
      tags:
      - configuration
  /configuration/ios/min-required-version/:
    get:
      responses:
        '200':
          description: Minimum required iOS app version
          schema:
            properties:
              version:
                format: int32
                type: integer
            title: iOSMinVersion
            type: object
      security: []
      summary: Get the minimum required iOS app version
      tags:
      - configuration
  /contracts/:
    get:
      parameters:
      - $ref: '#/parameters/page'
      - $ref: '#/parameters/page-size'
      - $ref: '#/parameters/ordering'
      - $ref: '#/parameters/q'
      - $ref: '#/parameters/destinationsContains'
      - $ref: '#/parameters/destinationsStateProvince'
      - $ref: '#/parameters/originsContains'
      - $ref: '#/parameters/originsStateProvince'
      - $ref: '#/parameters/contractNameContains'
      - $ref: '#/parameters/contractStatus'
      - $ref: '#/parameters/equipmentTypes'
      - $ref: '#/parameters/modes'
      - $ref: '#/parameters/carrierRelationshipIdSearch'
      - $ref: '#/parameters/createdAt'
      - $ref: '#/parameters/updatedAt'
      - $ref: '#/parameters/rate'
      - $ref: '#/parameters/carrierNameContains'
      responses:
        '200':
          description: Paginated list of contracts
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/Contract'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedContract
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: List contracts
      tags:
      - contracts
  /contracts/{contractId}/:
    get:
      responses:
        '200':
          description: Successfully returned a Contract
          schema:
            $ref: '#/definitions/Contract'
        default:
          $ref: '#/responses/defaultError'
      summary: Retrieve a Contract
      tags:
      - contracts
    parameters:
    - $ref: '#/parameters/contractId'
  /devices/:
    post:
      parameters:
      - in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/Device'
      responses:
        '201':
          description: Device is registered
          schema:
            $ref: '#/definitions/Device'
        default:
          $ref: '#/responses/defaultError'
      summary: Create a device registration
      tags:
      - devices
  /devices/{deviceId}/:
    delete:
      parameters:
      - $ref: '#/parameters/deviceId'
      responses:
        '204':
          description: Device is unregistered
        default:
          $ref: '#/responses/defaultError'
      summary: Delete a device registration
      tags:
      - devices
  /documents/document-types/:
    get:
      responses:
        '200':
          description: Successfully returned a list of document types
          schema:
            items:
              $ref: '#/definitions/DocumentType'
            type: array
        default:
          $ref: '#/responses/defaultError'
      security: []
      summary: A list of all the currently supported document types
      tags:
      - documents
  /documents/generate-labels/:
    post:
      parameters:
      - in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/BulkPrintLabelsRequest'
      responses:
        '200':
          description: Successfully returned a batch of labels to print
          schema:
            $ref: '#/definitions/BulkPrintLabelsResponse'
        default:
          $ref: '#/responses/defaultError'
      summary: Generate shipping labels in bulk
      tags:
      - documents
  /drivers/log/:
    get:
      responses:
        '200':
          description: Successfully returned a list of logs for a driver
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/DriverLog'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedDriverLog
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Returns a list of logs for a driver
      tags:
      - drivers
    post:
      parameters:
      - in: body
        name: body
        required: true
        schema:
          properties:
            log:
              type: string
          type: object
      responses:
        '201':
          description: Successfully created a new log event for a driver
          schema:
            $ref: '#/definitions/DriverLog'
        default:
          $ref: '#/responses/defaultError'
      summary: Creates a new log event for a driver
      tags:
      - drivers
  /drivers/me/:
    get:
      responses:
        '200':
          description: The authenticated driver
          schema:
            $ref: '#/definitions/Driver'
        default:
          $ref: '#/responses/defaultError'
      summary: Returns information about the current authenticated user
      tags:
      - drivers
    put:
      parameters:
      - *id014
      responses:
        '200':
          description: The updated driver
          schema:
            $ref: '#/definitions/Driver'
        default:
          $ref: '#/responses/defaultError'
      summary: Updates information about the current authenticated user
      tags:
      - drivers
  /drivers/messages/:
    get:
      parameters:
      - $ref: '#/parameters/page'
      - $ref: '#/parameters/page-size'
      responses:
        '200':
          description: Successfully returned a list of messages/shipment data
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/MessageListShipmentMessage'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedDriverMessages
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Returns a list of messages a driver is assigned to
      tags:
      - drivers
  /drivers/notifications/stops/{stopId}/complete/:
    parameters:
    - $ref: '#/parameters/stopId'
    post:
      parameters:
      - in: body
        name: body
        required: true
        schema:
          properties:
            confirmed_arrival_at:
              description: Confirmed arrival time. Required if 'push_response' is
                True
              format: date-time
              type: string
            confirmed_departure_at:
              description: Confirmed departure time. Required if 'push_response' is
                True
              format: date-time
              type: string
            push_response:
              description: True if driver confirms stop is complete. False if driver
                does not confirm stop is complete
              type: boolean
          required:
          - push_response
          title: CompletePushResponse
          type: object
      responses:
        '204':
          $ref: '#/responses/noContent'
        default:
          $ref: '#/responses/defaultError'
      summary: Driver response to stop complete push notification
      tags:
      - drivers
  /drivers/notifications/stops/{stopId}/pickup/:
    parameters:
    - $ref: '#/parameters/stopId'
    post:
      parameters:
      - in: body
        name: body
        required: true
        schema:
          properties:
            push_response:
              description: True if driver responded 'yes' to pickup push notification.
                False if driver responded 'no' to pickup push notification.
              type: boolean
          required:
          - push_response
          title: PickupPushResponse
          type: object
      responses:
        '204':
          $ref: '#/responses/noContent'
        default:
          $ref: '#/responses/defaultError'
      summary: Driver response to pickup push notification
      tags:
      - drivers
  /drivers/pin/android/:
    post:
      parameters:
      - $ref: '#/parameters/createDriver'
      - *id016
      responses:
        '204':
          $ref: '#/responses/noContent'
        '403':
          description: 'Phone number exists for a Carrier company but not for a driver

            '
          schema:
            $ref: '#/definitions/ShipwellError'
        '404':
          description: 'Phone number is not associated with a valid assigned driver

            or a Carrier company

            '
          schema:
            $ref: '#/definitions/ShipwellError'
        default:
          $ref: '#/responses/defaultError'
      security: []
      summary: Allows a driver to request a 4 digit pin for android. An SMS will be
        sent to the provided phone number.
      tags:
      - drivers
  /drivers/pin/ios/:
    post:
      parameters:
      - $ref: '#/parameters/createDriver'
      - *id016
      responses:
        '204':
          $ref: '#/responses/noContent'
        '403':
          description: 'Phone number exists for a Carrier company but not for a driver

            '
          schema:
            $ref: '#/definitions/ShipwellError'
        '404':
          description: 'Phone number is not associated with a valid assigned driver

            or a Carrier company

            '
          schema:
            $ref: '#/definitions/ShipwellError'
        default:
          $ref: '#/responses/defaultError'
      security: []
      summary: Allows a driver to request a 4 digit pin for iOS. An SMS will be sent
        to the provided phone number.
      tags:
      - drivers
  /drivers/push-notifications/tracking/:
    post:
      parameters:
      - in: body
        name: body
        required: true
        schema:
          properties:
            shipment:
              description: Shipment ID to send a tracking notification about
              format: uuid
              type: string
          required:
          - shipment
          type: object
      responses:
        '200':
          description: Successfully sent a push notification to driver
          schema:
            $ref: '#/definitions/Shipment'
        default:
          $ref: '#/responses/defaultError'
      summary: Sends driver a shipment a tracking push notification
      tags:
      - drivers
  /drivers/shipments/:
    get:
      parameters:
      - $ref: '#/parameters/timeFrame'
      - $ref: '#/parameters/page'
      - $ref: '#/parameters/page-size'
      - $ref: '#/parameters/ordering'
      responses:
        '200':
          description: Successfully returned a list of shipments
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/SlimShipment'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedSlimShipment
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Returns a list of shipments a driver is assigned to
      tags:
      - drivers
  /drivers/stops/{stopId}/rate-location/:
    parameters:
    - $ref: '#/parameters/stopId'
    post:
      parameters:
      - in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/LocationRating'
      responses:
        '201':
          description: Succesfully create a LocationRating
          schema:
            $ref: '#/definitions/LocationRating'
        default:
          $ref: '#/responses/defaultError'
      summary: Driver rating of a location after completing a Stop.
      tags:
      - drivers
  /drivers/token/:
    post:
      parameters:
      - in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/DriverLogin'
      responses:
        '200':
          description: Returns the associated auth token and the user object
          schema:
            properties:
              carrier_id:
                format: uuid
                type: string
              driver_id:
                format: uuid
                type: string
              token:
                type: string
              user:
                $ref: '#/definitions/User'
              user_token:
                type: string
            title: DriverTokenResponse
            type: object
        default:
          $ref: '#/responses/defaultError'
      security: []
      summary: Allows a driver to login with their phone number and a 4 digit pin
      tags:
      - drivers
  /import-jobs/{importJobId}/errors/:
    get:
      parameters:
      - $ref: '#/parameters/page'
      - $ref: '#/parameters/page-size'
      responses:
        '200':
          description: Successfully returned a list of errors for an import job
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/DataImportError'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedDataImportError
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Get a list or errors for an import jobs
      tags:
      - imports
    parameters:
    - $ref: '#/parameters/importJobId'
  /imports/:
    get:
      parameters:
      - $ref: '#/parameters/page'
      - $ref: '#/parameters/page-size'
      responses:
        '200':
          description: Successfully returned a list of imports
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/DataImport'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedDataImport
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Get a list of imports
      tags:
      - imports
    post:
      parameters:
      - in: body
        name: body
        schema:
          properties:
            csv_file:
              format: binary
              type: string
            google_sheet_id:
              type: string
            google_sheet_tab:
              type: string
            is_complete:
              type: boolean
            name:
              type: string
            type:
              type: string
          required:
          - type
          type: object
      responses:
        '201':
          description: Successfully started a new import
          schema:
            $ref: '#/definitions/DataImport'
        default:
          $ref: '#/responses/defaultError'
      summary: Creates a new import
      tags:
      - imports
  /imports/importable-fields/:
    get:
      responses:
        '200':
          description: Successfully returned a list of importable fields
          schema:
            additionalProperties:
              additionalProperties:
                properties:
                  description:
                    type: string
                  required:
                    type: boolean
                type: object
              type: object
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: A list of all fields allowed to be imported for a given importable-type
      tags:
      - imports
  /imports/importable-types/:
    get:
      responses:
        '200':
          description: Successfully returned a list of importable types
          schema:
            additionalProperties:
              type: string
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: A list of all object types allowed to be imported. Key is the key which
        is used elsewhere, value is the human readable string
      tags:
      - imports
  /imports/{importId}/:
    get:
      responses:
        '200':
          description: Successfully returned an import
          schema:
            $ref: '#/definitions/DataImport'
        default:
          $ref: '#/responses/defaultError'
      summary: Obtain information about an import
      tags:
      - imports
    parameters:
    - $ref: '#/parameters/importId'
    put:
      parameters:
      - in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/DataImport'
      responses:
        '200':
          description: Returns the updated import object
          schema:
            $ref: '#/definitions/DataImport'
        default:
          $ref: '#/responses/defaultError'
      summary: Update an import
      tags:
      - imports
  /imports/{importId}/column-mappings/:
    get:
      parameters:
      - $ref: '#/parameters/importId'
      responses:
        '200':
          description: Successfully returned a list column mappings for an import
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/ImportColumnMapping'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedImportColumnMapping
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Get a list column mappings for an import
      tags:
      - imports
  /imports/{importId}/column-mappings/{importColumnMappingId}/:
    get:
      responses:
        '200':
          description: Successfully returned an import column mapping
          schema:
            $ref: '#/definitions/ImportColumnMapping'
        default:
          $ref: '#/responses/defaultError'
      summary: Obtain information about an import column mapping
      tags:
      - imports
    parameters:
    - $ref: '#/parameters/importId'
    - $ref: '#/parameters/importColumnMappingId'
    put:
      parameters:
      - in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/ImportColumnMapping'
      responses:
        '200':
          description: Returns the updated import column mapping object
          schema:
            $ref: '#/definitions/ImportColumnMapping'
        default:
          $ref: '#/responses/defaultError'
      summary: Update an import column mapping
      tags:
      - imports
  /imports/{importId}/jobs/:
    get:
      responses:
        '200':
          description: Successfully returned a list of import jobs
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/ImportJob'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedImportJob
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Get a list jobs for an import
      tags:
      - imports
    parameters:
    - $ref: '#/parameters/importId'
    post:
      parameters:
      - $ref: '#/parameters/validateOnly'
      responses:
        '201':
          description: Returns the created job
          schema:
            $ref: '#/definitions/ImportJob'
        default:
          $ref: '#/responses/defaultError'
      summary: Validates then saves an import. This commits all data.
      tags:
      - imports
  /imports/{importId}/jobs/{importJobId}/:
    get:
      responses:
        '200':
          description: Successfully returned an import job
          schema:
            $ref: '#/definitions/ImportJob'
        default:
          $ref: '#/responses/defaultError'
      summary: Get a job for an import
      tags:
      - imports
    parameters:
    - $ref: '#/parameters/importId'
    - $ref: '#/parameters/importJobId'
  /imports/{importId}/rows/:
    get:
      parameters:
      - $ref: '#/parameters/importId'
      - $ref: '#/parameters/page'
      - $ref: '#/parameters/page-size'
      responses:
        '200':
          description: Successfully returned a list rows for an import
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/ImportRow'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedImportRow
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Get a list rows for an import
      tags:
      - imports
  /imports/{importId}/rows/{importRowId}/:
    get:
      responses:
        '200':
          description: Successfully returned an import row
          schema:
            $ref: '#/definitions/ImportRow'
        default:
          $ref: '#/responses/defaultError'
      summary: Obtain information about an import row
      tags:
      - imports
    parameters:
    - $ref: '#/parameters/importId'
    - $ref: '#/parameters/importRowId'
    put:
      parameters:
      - in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/ImportRow'
      responses:
        '200':
          description: Returns the updated import row
          schema:
            $ref: '#/definitions/ImportRow'
        default:
          $ref: '#/responses/defaultError'
      summary: Update an import row
      tags:
      - imports
  /imports/{importId}/values/{importValueId}/:
    parameters:
    - $ref: '#/parameters/importId'
    - $ref: '#/parameters/importValueId'
    put:
      parameters:
      - in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/ImportValue'
      responses:
        '200':
          description: Returns the updated import value
          schema:
            $ref: '#/definitions/ImportValue'
        default:
          $ref: '#/responses/defaultError'
      summary: Update an import value
      tags:
      - imports
  /inbox/:
    get:
      parameters:
      - $ref: '#/parameters/page'
      - $ref: '#/parameters/page-size'
      - $ref: '#/parameters/ordering'
      - $ref: '#/parameters/read'
      - $ref: '#/parameters/since'
      responses:
        '200':
          description: Successfully returns the list of messages
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/InboxMessage'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedInboxMessage
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Get a list of a user's inbox messages
      tags:
      - inbox
  /inbox/delete_all/:
    delete:
      responses:
        '204':
          description: Successfully deleted all inbox messages
        default:
          $ref: '#/responses/defaultError'
      summary: Delete all inbox messages
      tags:
      - inbox
  /inbox/mark_all_as_read/:
    get:
      responses:
        '204':
          description: Successfully marked all messages as read
        default:
          $ref: '#/responses/defaultError'
      summary: Mark all inbox messages as read
      tags:
      - inbox
  /inbox/mark_all_as_unread/:
    get:
      responses:
        '204':
          description: Successfully marked all messages as unread
        default:
          $ref: '#/responses/defaultError'
      summary: Mark all inbox messages as unread
      tags:
      - inbox
  /inbox/{messageId}/:
    delete:
      responses:
        '204':
          description: Successfully deleted a message
        default:
          $ref: '#/responses/defaultError'
      summary: Delete a message
      tags:
      - inbox
    get:
      responses:
        '200':
          description: Successfully returns a message
          schema:
            $ref: '#/definitions/InboxMessage'
        default:
          $ref: '#/responses/defaultError'
      summary: Get a specific message
      tags:
      - inbox
    parameters:
    - $ref: '#/parameters/messageId'
    put:
      parameters:
      - in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/InboxMessage'
      responses:
        '200':
          description: Successfully updated a message
          schema:
            $ref: '#/definitions/InboxMessage'
        default:
          $ref: '#/responses/defaultError'
      summary: Update a specific message
      tags:
      - inbox
  /integrations/datadocks/shipments/{shipmentId}/appointments/:
    get:
      responses:
        '200':
          description: 'An ordered list of all stops on the shipment and their DataDocks
            appointments,

            if those appointments exist

            '
          schema:
            items:
              $ref: '#/definitions/DataDocksStopAppointment'
            type: array
        default:
          $ref: '#/responses/defaultError'
      summary: Retrieve DataDocks appointments for all stops of a shipment, if they
        exist
      tags:
      - integrations
    parameters:
    - $ref: '#/parameters/shipmentId'
  /integrations/datadocks/tokens/carriers/:
    get:
      parameters:
      - in: query
        name: exchange_token
        required: true
        type: string
      responses:
        '302':
          description: Redirect link to DataDocks
      security: []
      summary: 'Use an exchange token to retrieve a link

        that carriers can use to log into DataDocks

        '
      tags:
      - integrations
  /integrations/datadocks/tokens/internal-users/:
    get:
      parameters:
      - format: uuid
        in: query
        name: stop
        required: true
        type: string
      responses:
        '200':
          description: Redirect link to DataDocks
          schema:
            properties:
              redirect_url:
                type: string
            title: RedirectUrl
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: 'Use an exchange token to retrieve a link

        that Shipwell users can use to log into DataDocks and

        see the purchase orders for a given stop

        '
      tags:
      - integrations
  /integrations/shopify/login/:
    post:
      parameters:
      - in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/ShopifyLogin'
          type: object
      responses:
        '201':
          description: Successfully tied the shopify and shipwell accounts together
          schema:
            $ref: '#/definitions/LoginResponse'
        default:
          $ref: '#/responses/defaultError'
      summary: Login which will tie the user to the shopify account
      tags:
      - integrations
  /integrations/shopify/settings/:
    get:
      responses:
        '200':
          description: Successfully returned shopify settings
          schema:
            $ref: '#/definitions/ShopifySettings'
        default:
          $ref: '#/responses/defaultError'
      summary: Returns a list of settings for the companies shopify account
      tags:
      - integrations
    post:
      parameters:
      - in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/ShopifySettings'
      responses:
        '201':
          description: Successfully updated a the companies shopify settings
          schema:
            $ref: '#/definitions/ShopifySettings'
        default:
          $ref: '#/responses/defaultError'
      summary: Updates the settings for the companies shopify account
      tags:
      - integrations
  /invoicing/integrations/quickbooks/auth/:
    get:
      responses:
        '200':
          description: Successfully initiate Quickbooks authentication
          schema:
            properties:
              redirect_url:
                type: string
            title: RedirectUrl
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Initiates quickbooks authentication for logged in user with Shipwell
        API
      tags:
      - invoicing
    parameters:
    - description: The route to redirect to after successful quickbooks authentication
      in: query
      name: redirect_url
      type: string
  /invoicing/integrations/quickbooks/auth/authorization-details/:
    get:
      responses:
        '200':
          description: Successfully returns Quickbooks Authorization details for a
            given company
          schema:
            $ref: '#/definitions/QuickbooksAuthDetails'
        default:
          $ref: '#/responses/defaultError'
      summary: Returns Quickbooks Authorization details for a given company
      tags:
      - invoicing
  /invoicing/integrations/quickbooks/auth/check/:
    get:
      responses:
        '200':
          description: Successfully checks user has authenticated with Quickbooks
          schema:
            properties:
              is_authenticated:
                type: boolean
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Checks if a user has authenticated with quickbooks
      tags:
      - invoicing
  /invoicing/integrations/quickbooks/auth/revoke-authorization/:
    post:
      responses:
        '200':
          description: Successfully revokes Quickbooks Authorization for a given company
          schema:
            properties:
              message:
                type: string
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Revokes Quickbooks Authorization for a given company
      tags:
      - invoicing
  /invoicing/integrations/quickbooks/customers-mapping/:
    post:
      parameters:
      - in: body
        name: body
        required: true
        schema:
          properties:
            company_id:
              description: the company to map onto the Quickbooks customer
              type: string
            customer_ref:
              description: the customer id on Quickbooks
              type: string
          type: object
      responses:
        '201':
          description: 'Successfully created a customer-to-company mapping

            '
          schema:
            properties:
              company_id:
                type: string
              customer_ref:
                type: string
              message:
                type: string
            title: QuickbooksCustomerMapping
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Map a company on Shipwell onto a customer on Quickbooks
      tags:
      - invoicing
  /invoicing/integrations/quickbooks/customers-mapping/{companyId}/:
    get:
      description: 'Check and retrieve a mapping of a Quickbooks Customer with a Shipwell
        Company

        '
      responses:
        '200':
          description: Successfully returned a customer-to-company mapping
          schema:
            properties:
              company_id:
                type: string
              customer_ref:
                type: string
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Check if customer-company mapping exists
      tags:
      - invoicing
    parameters:
    - $ref: '#/parameters/companyId'
  /invoicing/integrations/quickbooks/customers-populate/:
    post:
      responses:
        '200':
          description: Quickbooks customers saved successfully.
          schema:
            properties:
              message:
                type: string
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Populates company's quickbooks customers to the platform
      tags:
      - invoicing
  /invoicing/integrations/quickbooks/customers/:
    get:
      parameters:
      - $ref: '#/parameters/page'
      - $ref: '#/parameters/page-size'
      - $ref: '#/parameters/q'
      responses:
        '200':
          description: Successfuly returned a list of Quickbooks customers
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/SavedQuickbooksCustomers'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedQuickbooksCustomers
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Returns all quickbooks customers on the current realmId
      tags:
      - invoicing
    post:
      parameters:
      - *id002
      responses:
        '201':
          description: Successfully created a customer on Quickbooks
          schema:
            $ref: '#/definitions/QuickbooksCustomer'
        default:
          $ref: '#/responses/defaultError'
      summary: Successfully creates a customer on Quickbooks
      tags:
      - invoicing
  /invoicing/integrations/quickbooks/customers/{QuickbooksCustomerId}/:
    get:
      description: 'Successfully retrieved a quickbooks customer

        '
      responses:
        '200':
          description: Successfully retrieved a quickbooks customer
          schema:
            $ref: '#/definitions/QuickbooksCustomer'
        default:
          $ref: '#/responses/defaultError'
      summary: Retrieve a quickbooks customer
      tags:
      - invoicing
    parameters:
    - $ref: '#/parameters/QuickbooksCustomerId'
    put:
      description: 'Successfully updated an invoice.

        This is a sparse update.

        Sparse updating provides the ability to update a subset of properties for
        a given customer.

        Only elements specified in the body are updated. Missing elements are left
        untouched.

        '
      parameters:
      - in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/QuickbooksCustomerUpdateBody'
      responses:
        '200':
          description: Successfully updated a quickbooks customer
          schema:
            $ref: '#/definitions/QuickbooksCustomer'
        default:
          $ref: '#/responses/defaultError'
      summary: Update  a quickbooks customer
      tags:
      - invoicing
  /invoicing/integrations/quickbooks/invoices/:
    get:
      responses:
        '200':
          description: Successfully returned a list of invoices for a company
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/Invoice'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedInvoice
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: List invoices for a company
      tags:
      - invoicing
    parameters:
    - $ref: '#/parameters/companyId'
    - description: 'String, if present, will get an invoice by Doc Number

        '
      in: query
      name: doc_number
      required: false
      type: string
  /invoicing/integrations/quickbooks/invoices/{invoiceId}/:
    get:
      description: 'Successfully retrieved an invoice for a company

        '
      responses:
        '200':
          description: Successfully returned an invoice for a company
          schema:
            $ref: '#/definitions/Invoice'
        default:
          $ref: '#/responses/defaultError'
      summary: Retrieve invoice for a company
      tags:
      - invoicing
    parameters:
    - $ref: '#/parameters/companyId'
    - $ref: '#/parameters/invoiceId'
  /invoicing/integrations/quickbooks/invoices/{invoiceId}/email/:
    parameters:
    - $ref: '#/parameters/invoiceId'
    post:
      parameters:
      - in: body
        name: body
        schema:
          properties:
            email:
              description: A list of email addresses. Restricted to 3 addresses at
                a time. Email characters total should be less than 97 characters in
                the field.
              items:
                type: string
              type: array
          type: object
      responses:
        '200':
          description: Successfuly sent an email with invoice and attached documents.
          schema:
            $ref: '#/definitions/QuickbooksEmailResponse'
        default:
          $ref: '#/responses/defaultError'
      summary: Send an invoice via email
      tags:
      - invoicing
  /invoicing/integrations/quickbooks/invoices/{invoiceId}/void/:
    parameters:
    - $ref: '#/parameters/invoiceId'
    post:
      responses:
        '200':
          description: Succesfully voided the invoice.
          schema:
            $ref: '#/definitions/QuickbooksVoidResponse'
        default:
          $ref: '#/responses/defaultError'
      summary: Void an invoice
      tags:
      - invoicing
  /invoicing/integrations/quickbooks/item-categories-mapping/:
    get:
      parameters:
      - $ref: '#/parameters/page'
      - $ref: '#/parameters/page-size'
      responses:
        '200':
          description: Successfully returned a list of mappings
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/QuickbooksItemCategoryMapping'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedQuickbooksItemCategoryMapping
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Returns a list of Quickbooks Items to Charge Line Item Category mappings
      tags:
      - invoicing
    post:
      parameters:
      - in: body
        name: body
        required: true
        schema:
          properties:
            category:
              enum:
              - ACC
              - ADJUSTMENT
              - DETENTION
              - FSC
              - FUEL
              - INSURANCE
              - LH
              - OTHER
              - Service Fee
              - TAX
              - TONU
              - VARIANCE
              type: string
            quickbooks_item:
              $ref: '#/definitions/QuickbooksItem'
            shipment_mode:
              $ref: '#/definitions/ShipmentMode'
          required:
          - categories
          - quickbooks_item
          type: object
      responses:
        '201':
          description: Successfully creates Quickbooks Item to Charge Line Item Category
            mapping
          schema:
            $ref: '#/definitions/QuickbooksItemCategoryMapping'
        default:
          $ref: '#/responses/defaultError'
      summary: Creates a mapping for Quickbooks Item to Charge Line Item Category
      tags:
      - invoicing
  /invoicing/integrations/quickbooks/item-categories-mapping/{quickbooksItemCategoryMappingId}/:
    delete:
      responses:
        '204':
          $ref: '#/responses/noContent'
        default:
          $ref: '#/responses/defaultError'
      summary: Delete a Quickbooks Item Category Mapping
      tags:
      - invoicing
    get:
      responses:
        '200':
          description: Successfully returned a QuickbooksItem Category Mapping
          schema:
            $ref: '#/definitions/QuickbooksItemCategoryMapping'
        default:
          $ref: '#/responses/defaultError'
      summary: Retrieve specific QuickbooksItem to Charge Line Item Category mapping
      tags:
      - invoicing
    parameters:
    - $ref: '#/parameters/quickbooksItemCategoryMappingId'
    put:
      parameters:
      - in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/QuickbooksItemCategoryMapping'
      responses:
        '200':
          description: Returns the updated Quickbooks Item Category Mapping object
          schema:
            $ref: '#/definitions/QuickbooksItemCategoryMapping'
        default:
          $ref: '#/responses/defaultError'
      summary: Update a QuickbooksItem Category Mapping
      tags:
      - invoicing
  /invoicing/integrations/quickbooks/items/:
    get:
      responses:
        '200':
          description: Successfully returned a list of all Quickbooks Items
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/QuickbooksItem'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedQuickbooksItems
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Returns the user company's Quickbooks Items saved in our database
      tags:
      - invoicing
    post:
      responses:
        '200':
          description: Successfully Populates Quickbooks Items to the platform
          schema:
            properties:
              message:
                type: string
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Fetch all Quickbooks Items from Quickbooks and save them to our database
      tags:
      - invoicing
  /invoicing/integrations/quickbooks/shipments/{shipmentId}/invoices/:
    get:
      responses:
        '200':
          description: Successfully returned a list of invoices for a shipment
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/Invoice'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedInvoice
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: List invoices for a shipment
      tags:
      - invoicing
    parameters:
    - $ref: '#/parameters/shipmentId'
    post:
      description: 'If line_items not provided in body, invoice will be generated

        using shipment charge_line_items.

        '
      parameters:
      - in: body
        name: body
        required: true
        schema:
          properties:
            customer_company_id:
              description: 'The id of the customer company on the platform

                '
              type: string
            customer_memo:
              description: 'Customer memo containing shipment fields seperated by
                new-line characters

                '
              type: string
            customer_reference_number:
              description: 'The id of the customer on Quickbooks

                '
              type: string
            document_tag:
              description: 'Specifies document type, the default is shipment_document

                '
              type: string
            line_items:
              items:
                $ref: '#/definitions/InvoiceLineItem'
              type: array
            sales_term_ref:
              description: 'The SalesTermRef.value of the customer on Quickbooks

                '
              type: string
            selected_documents:
              items:
                description: 'The id of the document being attached, if any

                  '
                type: string
              type: array
          required:
          - customer_reference_number
          - customer_company_id
          type: object
      responses:
        '201':
          description: 'Successfully created an invoice

            '
          schema:
            $ref: '#/definitions/Invoice'
        default:
          $ref: '#/responses/defaultError'
      summary: Create an invoice on Quickbooks
      tags:
      - invoicing
  /invoicing/integrations/quickbooks/shipments/{shipmentId}/invoices/{invoiceId}/:
    get:
      description: 'Successfully retrieved an invoice for a shipment

        '
      responses:
        '200':
          description: Successfully returned an invoice for a shipment
          schema:
            $ref: '#/definitions/Invoice'
        default:
          $ref: '#/responses/defaultError'
      summary: Retrieve invoice for a shipment
      tags:
      - invoicing
    parameters:
    - $ref: '#/parameters/shipmentId'
    - $ref: '#/parameters/invoiceId'
    put:
      description: 'Successfully updated an invoice.

        Only the line_items whose id''s and sales_item_details have been provided

        will be updated.

        Line_items not provided will not be updated.

        '
      parameters:
      - in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/Invoice'
      responses:
        '200':
          description: Successfully updated an invoice
          schema:
            $ref: '#/definitions/Invoice'
        default:
          $ref: '#/responses/defaultError'
      summary: Update invoice
      tags:
      - invoicing
  /invoicing/integrations/quickbooks/uninvoiced-shipments/:
    get:
      responses:
        '200':
          description: Successfully returned a list of Uninvoiced shipments
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/Shipment'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedShipment
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Returns all shipments that need a customer-side invoice
      tags:
      - invoicing
  /location-types/:
    get:
      responses:
        '200':
          description: Successfully returned a list of location types
          schema:
            items:
              $ref: '#/definitions/LocationType'
            type: array
        default:
          $ref: '#/responses/defaultError'
      security: []
      summary: Get a list of all available location types
      tags:
      - locations
  /locations/addresses/validate/:
    post:
      description: This will validate and return back components, timezone, and any
        warnings or errors
      parameters:
      - in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/FormattedAddress'
      responses:
        '200':
          description: The validated and parsed address
          schema:
            $ref: '#/definitions/ValidatedAddress'
        default:
          $ref: '#/responses/defaultError'
      security: []
      summary: Validate a formatted address
      tags:
      - locations
  /locations/distance/:
    post:
      description: This will take in two addresses and return the distance between
        them
      parameters:
      - in: body
        name: body
        required: true
        schema:
          properties:
            destination:
              $ref: '#/definitions/Address'
            origin:
              $ref: '#/definitions/Address'
          title: DistanceRequest
          type: object
      responses:
        '200':
          description: The distance between addresses
          schema:
            properties:
              distance_meters:
                type: integer
              duration_seconds:
                type: integer
            title: DistanceResponse
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Get the distance between two locations
      tags:
      - locations
  /notification-preferences/:
    get:
      responses:
        '200':
          description: Successfully returns the list of preferences
          schema:
            items:
              $ref: '#/definitions/NotificationPreference'
            type: array
        default:
          $ref: '#/responses/defaultError'
      summary: Obtain a list of a user's notification preferences
      tags:
      - notification-preferences
    put:
      parameters:
      - in: body
        name: body
        required: true
        schema:
          items:
            $ref: '#/definitions/NotificationPreference'
          type: array
      responses:
        '200':
          description: Successfully updated preferences
          schema:
            items:
              $ref: '#/definitions/NotificationPreference'
            type: array
        default:
          $ref: '#/responses/defaultError'
      summary: Update a list of a user's notification preferences
      tags:
      - notification-preferences
  /orders/supplier-invites/:
    get:
      parameters:
      - $ref: '#/parameters/page'
      - $ref: '#/parameters/page-size'
      - $ref: '#/parameters/ordering'
      - $ref: '#/parameters/q'
      - $ref: '#/parameters/onlyMyShipments'
      - $ref: '#/parameters/supplierInviteCreatedAtGte'
      - $ref: '#/parameters/supplierInviteCreatedAtLte'
      - $ref: '#/parameters/supplierInviteUpdatedAtGte'
      - $ref: '#/parameters/supplierInviteUpdatedAtLte'
      - $ref: '#/parameters/supplierInviteRevokedAtGte'
      - $ref: '#/parameters/supplierInviteRevokedAtLte'
      - $ref: '#/parameters/supplierInviteBookedAtGte'
      - $ref: '#/parameters/supplierInviteBookedAtLte'
      - $ref: '#/parameters/supplierInviteSentByUserName'
      - $ref: '#/parameters/supplierInviteSentByUserNameContains'
      - $ref: '#/parameters/supplierInviteSupplierEmailAddress'
      - $ref: '#/parameters/supplierInviteSupplierEmailAddressContains'
      - $ref: '#/parameters/supplierInviteExpressDelivery'
      - $ref: '#/parameters/supplierInviteMessageToSupplierContains'
      - $ref: '#/parameters/supplierInviteStatus'
      - $ref: '#/parameters/supplierInviteShipmentCreatedAtGte'
      - $ref: '#/parameters/supplierInviteShipmentCreatedAtLte'
      - $ref: '#/parameters/supplierInviteShipmentReferenceId'
      - $ref: '#/parameters/supplierInviteShipmentReferenceIdContains'
      - $ref: '#/parameters/supplierInvitePONumber'
      - $ref: '#/parameters/supplierInvitePONumberContains'
      responses:
        '200':
          description: List of SupplierInvites
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/SupplierInviteResponse'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedSupplierInvite
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: List supplier invites created by user
      tags:
      - orders
    post:
      parameters:
      - *id017
      responses:
        '201':
          description: Create supplier invite
          schema:
            $ref: '#/definitions/SupplierInviteResponse'
        default:
          $ref: '#/responses/defaultError'
      summary: Create supplier invite for company if supplier invite feature enabled
      tags:
      - orders
  /orders/supplier-invites/{supplierInviteKey}/:
    get:
      responses:
        '200':
          description: Supplier invite
          schema:
            $ref: '#/definitions/SupplierInviteResponse'
        default:
          $ref: '#/responses/defaultError'
      summary: Retrieve supplier invite
      tags:
      - orders
    parameters:
    - $ref: '#/parameters/supplierInviteKey'
    put:
      parameters:
      - *id017
      responses:
        '200':
          description: Supplier invite
          schema:
            $ref: '#/definitions/SupplierInviteResponse'
        default:
          $ref: '#/responses/defaultError'
      summary: Update supplier invite
      tags:
      - orders
  /payments/integrations/triumph-pay/auth/:
    get:
      responses:
        '200':
          description: Successfully initiate Triumph Pay authentication
          schema:
            properties:
              redirect_url:
                type: string
            title: RedirectUrl
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Initiates Triumph Pay authentication for logged in user with Shipwell
        API
      tags:
      - payments
    parameters:
    - description: The route to redirect to after successful Triumph Pay authentication
      in: query
      name: redirect_url
      type: string
  /payments/integrations/triumph-pay/auth/authorization-details/:
    get:
      responses:
        '200':
          description: Successfully returns Triumph Pay authorization details for
            a given company
          schema:
            $ref: '#/definitions/TriumphPayAuthDetails'
        default:
          $ref: '#/responses/defaultError'
      summary: Returns Triumph Pay authorization details for a given company
      tags:
      - payments
  /payments/integrations/triumph-pay/auth/check/:
    get:
      responses:
        '200':
          description: Successfully checks user has authenticated with Triumph Pay
          schema:
            properties:
              is_authenticated:
                type: boolean
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Checks if a user has authenticated with Triumph Pay
      tags:
      - payments
  /payments/integrations/triumph-pay/auth/email/:
    get:
      responses:
        '200':
          description: Retrieve the user's company's Triumph Pay documents submission
            email
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/TriumphPayDocumentsSubmissionEmail'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: ListTriumphPayDocumentsSubmissionEmail
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Retrieve a company's Triumph Pay documents submission email
      tags:
      - payments
    post:
      parameters:
      - *id018
      responses:
        '201':
          description: Successfully added a documents submisson email for the user's
            company
          schema:
            $ref: '#/definitions/TriumphPayDocumentsSubmissionEmail'
        default:
          $ref: '#/responses/defaultError'
      summary: Add the user's company's Triumph Pay documents submission email
      tags:
      - payments
  /payments/integrations/triumph-pay/auth/email/{triumphSettingsId}/:
    get:
      responses:
        '200':
          description: Retrieve the user's company's Triumph Pay documents submission
            email
          schema:
            $ref: '#/definitions/TriumphPayDocumentsSubmissionEmail'
        default:
          $ref: '#/responses/defaultError'
      summary: Retrieve a company's Triumph Pay documents submission email
      tags:
      - payments
    parameters:
    - $ref: '#/parameters/triumphSettingsId'
    patch:
      parameters:
      - in: body
        name: body
        schema:
          $ref: '#/definitions/TriumphPayDocumentsSubmissionEmail'
      responses:
        '200':
          description: Successfully updated a documents submisson email for the user's
            company
          schema:
            $ref: '#/definitions/TriumphPayDocumentsSubmissionEmail'
        default:
          $ref: '#/responses/defaultError'
      summary: Update the user's company's Triumph Pay documents submission email
      tags:
      - payments
    put:
      parameters:
      - *id018
      responses:
        '200':
          description: Successfully updated a documents submisson email for the user's
            company
          schema:
            $ref: '#/definitions/TriumphPayDocumentsSubmissionEmail'
        default:
          $ref: '#/responses/defaultError'
      summary: Update the user's company's Triumph Pay documents submission email
      tags:
      - payments
  /payments/integrations/triumph-pay/auth/revoke-authorization/:
    post:
      responses:
        '200':
          description: Successfully revokes Triumph Pay authorization for a given
            company
          schema:
            properties:
              message:
                type: string
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Revokes Triumph Pay authorization for a given company
      tags:
      - payments
  /payments/integrations/triumph-pay/vendors/:
    get:
      parameters:
      - $ref: '#/parameters/page'
      - $ref: '#/parameters/page-size'
      - $ref: '#/parameters/ordering'
      responses:
        '200':
          description: Returns the list of vendors setup on Triumph Pay
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/TriumphPayVendor'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedTriumphPayVendors
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Return a list of vendors that have been synced to Triumph Pay
      tags:
      - payments
  /payments/integrations/triumph-pay/vendors/{triumphId}/:
    get:
      responses:
        '200':
          description: Successfully return a vendor details
          schema:
            $ref: '#/definitions/TriumphPayVendor'
        default:
          $ref: '#/responses/defaultError'
      summary: Return a vendors details synced with Triumph Pay
      tags:
      - payments
    parameters:
    - $ref: '#/parameters/triumphId'
  /payments/integrations/triumph-pay/vendors/{triumphId}/payment-types/:
    parameters:
    - $ref: '#/parameters/triumphId'
    post:
      parameters:
      - in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/TriumphPayVendorPaymentAccountData'
      responses:
        '201':
          description: Successfully created payment account
          schema:
            $ref: '#/definitions/TriumphPayCarrierPaymentAccount'
        default:
          $ref: '#/responses/defaultError'
      summary: Create a vendor's payment account on Triumph Pay
      tags:
      - payments
  /payments/integrations/triumph-pay/vendors/{triumphId}/payment-types/{triumphPaymentTypeId}/:
    delete:
      parameters:
      - in: body
        name: body
        schema:
          properties:
            letter_of_release_document_id:
              format: uuid
              type: string
          title: LetterOfReleaseDocument
          type: object
      responses:
        '204':
          $ref: '#/responses/noContent'
        default:
          $ref: '#/responses/defaultError'
      summary: Delete a payment account belonging to vendor from Triumph Pay
      tags:
      - payments
    get:
      responses:
        '200':
          description: Successfully return a payment account details
          schema:
            $ref: '#/definitions/TriumphPayCarrierPaymentAccount'
        default:
          $ref: '#/responses/defaultError'
      summary: Return a vendor's payment accounts details synced with Triumph Pay
      tags:
      - payments
    parameters:
    - $ref: '#/parameters/triumphId'
    - $ref: '#/parameters/triumphPaymentTypeId'
    put:
      parameters:
      - description: The payment type information to update
        in: body
        name: body
        schema:
          $ref: '#/definitions/TriumphPayVendorPaymentAccountDataWithFactorCompanyChangeDocuments'
      responses:
        '200':
          description: Successfully updated payment account details
          schema:
            $ref: '#/definitions/TriumphPayCarrierPaymentAccount'
        default:
          $ref: '#/responses/defaultError'
      summary: Update a vendor's payment type details on Triumph Pay
      tags:
      - payments
  /payments/integrations/triumph-pay/vendors/{triumphId}/payment-types/{triumphPaymentTypeId}/set-default/:
    parameters:
    - $ref: '#/parameters/triumphId'
    - $ref: '#/parameters/triumphPaymentTypeId'
    post:
      responses:
        '200':
          description: Successfully set a payment as default
          schema:
            properties:
              message:
                type: string
            title: Payment default success message
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Set a vendor's payment account as default on Triumph Pay
      tags:
      - payments
  /permissions/:
    get:
      responses:
        '200':
          description: The permission categories and underlying permissions.
          schema:
            properties:
              description:
                type: string
              permissions:
                items:
                  properties:
                    display:
                      type: string
                    key:
                      type: string
                  title: Permission
                  type: object
                type: array
            title: PermissionResponse
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Returns a dictionary of all permission categories and their underlying
        permissions.
      tags:
      - permissions
  /preferences/dashboard-configurations/:
    get:
      parameters:
      - $ref: '#/parameters/page'
      - $ref: '#/parameters/page-size'
      - $ref: '#/parameters/ordering'
      - $ref: '#/parameters/tableType'
      responses:
        '200':
          description: Retrieved dashboard configurations
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/UserDashboardConfiguration'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedUserDashboardConfiguration
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Retrieve dashboard configurations for a user
      tags:
      - users
    post:
      parameters:
      - *id019
      responses:
        '201':
          description: Newly created dashboard configuration
          schema:
            $ref: '#/definitions/UserDashboardConfiguration'
        default:
          $ref: '#/responses/defaultError'
      summary: Create a new dashboard configuration
      tags:
      - users
  /preferences/dashboard-configurations/{userDashboardConfigurationId}/:
    delete:
      responses:
        '204':
          $ref: '#/responses/noContent'
        default:
          $ref: '#/responses/defaultError'
      summary: Delete a dashboard configuration
      tags:
      - users
    get:
      responses:
        '200':
          description: The dashboard configuration
          schema:
            $ref: '#/definitions/UserDashboardConfiguration'
        default:
          $ref: '#/responses/defaultError'
      summary: Retrieve a dashboard configuration
      tags:
      - users
    parameters:
    - $ref: '#/parameters/userDashboardConfigurationId'
    put:
      parameters:
      - *id019
      responses:
        '200':
          description: Updated dashboard configuration
          schema:
            $ref: '#/definitions/UserDashboardConfiguration'
        default:
          $ref: '#/responses/defaultError'
      summary: Update a dashboard configuration
      tags:
      - users
  /products/:
    get:
      parameters:
      - $ref: '#/parameters/page'
      - $ref: '#/parameters/page-size'
      - $ref: '#/parameters/ordering'
      - $ref: '#/parameters/q'
      - description: Include products where the description contains this string
        in: query
        name: description__contains
        required: false
        type: string
      - description: Include products where the product ref contains this string
        in: query
        name: product_ref__contains
        required: false
        type: string
      - description: Include products where the package type contains this string
        in: query
        name: package_type__contains
        required: false
        type: string
      responses:
        '200':
          description: Successfully returns the list of products
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/Product'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedProduct
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Return a list of products for a company
      tags:
      - products
    post:
      parameters:
      - *id020
      responses:
        '201':
          description: Successfully created the product
          schema:
            $ref: '#/definitions/Product'
        default:
          $ref: '#/responses/defaultError'
      summary: Create a Product
      tags:
      - products
  /products/{productId}/:
    delete:
      parameters:
      - $ref: '#/parameters/productId'
      responses:
        '204':
          $ref: '#/responses/noContent'
        default:
          $ref: '#/responses/defaultError'
      summary: Delete a product
      tags:
      - products
    get:
      parameters:
      - $ref: '#/parameters/productId'
      responses:
        '200':
          description: Successfully returns the product
          schema:
            $ref: '#/definitions/Product'
        default:
          $ref: '#/responses/defaultError'
      summary: Return a specific product
      tags:
      - products
    put:
      parameters:
      - $ref: '#/parameters/productId'
      - *id020
      responses:
        '201':
          description: Successfully created the product
          schema:
            $ref: '#/definitions/Product'
        default:
          $ref: '#/responses/defaultError'
      summary: Update a product
      tags:
      - products
  /purchase-orders/:
    get:
      parameters:
      - $ref: '#/parameters/page'
      - $ref: '#/parameters/page-size'
      - $ref: '#/parameters/ordering'
      - $ref: '#/parameters/q'
      - $ref: '#/parameters/purchaseOrderArchived'
      - $ref: '#/parameters/purchaseOrderCreatedAt'
      - $ref: '#/parameters/purchaseOrderCreatedAtGte'
      - $ref: '#/parameters/purchaseOrderCreatedAtLte'
      - $ref: '#/parameters/purchaseOrderCreatedByUserId'
      - $ref: '#/parameters/purchaseOrderCustomerExternalIdContains'
      - $ref: '#/parameters/purchaseOrderCustomerNameContains'
      - $ref: '#/parameters/purchaseOrderDescriptionContains'
      - $ref: '#/parameters/purchaseOrderDestinationAddressContains'
      - $ref: '#/parameters/purchaseOrderInvoiceExternalIdContains'
      - $ref: '#/parameters/purchaseOrderOriginAddressContains'
      - $ref: '#/parameters/purchaseOrderPlannedDeliveryStartDatetime'
      - $ref: '#/parameters/purchaseOrderPlannedDeliveryEndDatetime'
      - $ref: '#/parameters/purchaseOrderPlannedDeliveryStartDatetimeGte'
      - $ref: '#/parameters/purchaseOrderPlannedDeliveryEndDatetimeGte'
      - $ref: '#/parameters/purchaseOrderPlannedDeliveryStartDatetimeLte'
      - $ref: '#/parameters/purchaseOrderPlannedDeliveryEndDatetimeLte'
      - $ref: '#/parameters/purchaseOrderPlannedPickupStartDatetime'
      - $ref: '#/parameters/purchaseOrderPlannedPickupEndDatetime'
      - $ref: '#/parameters/purchaseOrderPlannedPickupStartDatetimeGte'
      - $ref: '#/parameters/purchaseOrderPlannedPickupEndDatetimeGte'
      - $ref: '#/parameters/purchaseOrderPlannedPickupStartDatetimeLte'
      - $ref: '#/parameters/purchaseOrderPlannedPickupEndDatetimeLte'
      - $ref: '#/parameters/purchaseOrderActualDeliveryDatetime'
      - $ref: '#/parameters/purchaseOrderActualPickupDatetime'
      - $ref: '#/parameters/purchaseOrderActualDeliveryDatetimeGte'
      - $ref: '#/parameters/purchaseOrderActualPickupDatetimeGte'
      - $ref: '#/parameters/purchaseOrderActualDeliveryDatetimeLte'
      - $ref: '#/parameters/purchaseOrderActualPickupDatetimeLte'
      - $ref: '#/parameters/purchaseOrderPONumberContains'
      - $ref: '#/parameters/purchaseOrderShipmentAssigned'
      - $ref: '#/parameters/purchaseOrderShipmentId'
      - $ref: '#/parameters/purchaseOrderSource'
      - $ref: '#/parameters/purchaseOrderSourceSystemIdContains'
      - $ref: '#/parameters/purchaseOrderStatus'
      - $ref: '#/parameters/purchaseOrderTotalPriceGte'
      - $ref: '#/parameters/purchaseOrderTotalPriceLte'
      - $ref: '#/parameters/purchaseOrderSupplierExternalIdContains'
      - $ref: '#/parameters/purchaseOrderSupplierNameContains'
      responses:
        '200':
          description: Paginated list of purchase orders
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/PurchaseOrder'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedPurchaseOrder
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: List purchase orders
      tags:
      - purchase-orders
      - public
    post:
      parameters:
      - *id021
      responses:
        '201':
          description: Successfully created a purchase order
          schema:
            $ref: '#/definitions/PurchaseOrder'
        default:
          $ref: '#/responses/defaultError'
      summary: Create a new purchase order
      tags:
      - purchase-orders
      - public
  /purchase-orders/build-shipment/:
    post:
      parameters:
      - in: body
        name: body
        required: true
        schema:
          properties:
            purchase_orders:
              items:
                format: uuid
                type: string
              type: array
          title: PurchaseOrderBuildShipmentRequest
          type: object
      responses:
        '201':
          description: Successfully created a shipment
          schema:
            $ref: '#/definitions/Shipment'
        default:
          $ref: '#/responses/defaultError'
      summary: Build a shipment from purchase orders
      tags:
      - purchase-orders
  /purchase-orders/update-built-shipment/:
    put:
      parameters:
      - in: body
        name: body
        required: true
        schema:
          properties:
            purchase_orders:
              items:
                format: uuid
                type: string
              type: array
            shipment:
              format: uuid
              type: string
          title: PurchaseOrderUpdateShipmentRequest
          type: object
      responses:
        '200':
          description: Successfully updated the shipment with purchase orders
          schema:
            $ref: '#/definitions/Shipment'
        default:
          $ref: '#/responses/defaultError'
      summary: Update an existing shipment with purchase orders
      tags:
      - purchase-orders
  /purchase-orders/{purchaseOrderId}/:
    delete:
      responses:
        '204':
          $ref: '#/responses/noContent'
        default:
          $ref: '#/responses/defaultError'
      summary: Delete a PurchaseOrder
      tags:
      - purchase-orders
      - public
    get:
      responses:
        '200':
          description: Successfully returned a PurchaseOrder
          schema:
            $ref: '#/definitions/PurchaseOrder'
        default:
          $ref: '#/responses/defaultError'
      summary: Retrieve a PurchaseOrder
      tags:
      - purchase-orders
      - public
    parameters:
    - $ref: '#/parameters/purchaseOrderId'
    put:
      parameters:
      - *id021
      responses:
        '200':
          description: Successfully updated a PurchaseOrder
          schema:
            $ref: '#/definitions/PurchaseOrder'
        default:
          $ref: '#/responses/defaultError'
      summary: Update a PurchaseOrder
      tags:
      - purchase-orders
      - public
  /purchase-orders/{purchaseOrderId}/line-items/:
    get:
      parameters:
      - $ref: '#/parameters/page'
      - $ref: '#/parameters/page-size'
      responses:
        '200':
          description: Successfully returned a list of PurchaseOrderLineItems
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/PurchaseOrderLineItem'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedPurchaseOrderLineItem
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Get a list of line items for a given purchase order
      tags:
      - purchase-orders
      - public
    parameters:
    - $ref: '#/parameters/purchaseOrderId'
    post:
      parameters:
      - *id022
      responses:
        '201':
          description: Successfully created a PurchaseOrderLineItem
          schema:
            $ref: '#/definitions/PurchaseOrderLineItem'
        default:
          $ref: '#/responses/defaultError'
      summary: Create a new PurchaseOrderLineItem
      tags:
      - purchase-orders
      - public
  /purchase-orders/{purchaseOrderId}/line-items/{purchaseOrderLineItemId}/:
    delete:
      responses:
        '204':
          $ref: '#/responses/noContent'
        default:
          $ref: '#/responses/defaultError'
      summary: Delete a PurchaseOrderLineItem
      tags:
      - purchase-orders
      - public
    get:
      responses:
        '200':
          description: Successfully returned a PurchaseOrderLineItem
          schema:
            $ref: '#/definitions/PurchaseOrderLineItem'
        default:
          $ref: '#/responses/defaultError'
      summary: Obtain information about a PurchaseOrderLineItem
      tags:
      - purchase-orders
      - public
    parameters:
    - $ref: '#/parameters/purchaseOrderId'
    - $ref: '#/parameters/purchaseOrderLineItemId'
    put:
      parameters:
      - *id022
      responses:
        '200':
          description: Successfully updated a PurchaseOrderLineItem
          schema:
            $ref: '#/definitions/PurchaseOrderLineItem'
        default:
          $ref: '#/responses/defaultError'
      summary: Update a PurchaseOrderLineItem
      tags:
      - purchase-orders
      - public
  /quoting/fedex/package-types/:
    get:
      responses:
        '200':
          description: List of all Fedex custom package types
          schema:
            items:
              $ref: '#/definitions/FedexPackaging'
            type: array
        default:
          $ref: '#/responses/defaultError'
      summary: List all Fedex custom package types
      tags:
      - shipment-master-list
  /quoting/loadboard/:
    get:
      parameters:
      - $ref: '#/parameters/page'
      - $ref: '#/parameters/page-size'
      - $ref: '#/parameters/ordering'
      - $ref: '#/parameters/q'
      - $ref: '#/parameters/activeVendorAssignment'
      - $ref: '#/parameters/archived'
      - $ref: '#/parameters/bolNumber'
      - $ref: '#/parameters/bolNumberContains'
      - $ref: '#/parameters/bolNumberExclude'
      - $ref: '#/parameters/buyItNowAmountGte'
      - $ref: '#/parameters/buyItNowAmountLte'
      - $ref: '#/parameters/customer'
      - $ref: '#/parameters/customerContains'
      - $ref: '#/parameters/customerId'
      - $ref: '#/parameters/customerReferenceNumber'
      - $ref: '#/parameters/customerReferenceNumberContains'
      - $ref: '#/parameters/customerReferenceNumberExclude'
      - $ref: '#/parameters/destinationContains'
      - $ref: '#/parameters/destinationStateProvince'
      - $ref: '#/parameters/drayageBookingNumber'
      - $ref: '#/parameters/drayageChassisNumber'
      - $ref: '#/parameters/drayageContainerNumber'
      - $ref: '#/parameters/drayageContainerReturnDateGte'
      - $ref: '#/parameters/drayageContainerReturnDateLte'
      - $ref: '#/parameters/drayageEstimatedArrivalDateGte'
      - $ref: '#/parameters/drayageEstimatedArrivalDateLte'
      - $ref: '#/parameters/drayageLastFreeDateGte'
      - $ref: '#/parameters/drayageLastFreeDateLte'
      - $ref: '#/parameters/drayageReleaseDateGte'
      - $ref: '#/parameters/drayageReleaseDateLte'
      - $ref: '#/parameters/drayageSealNumber'
      - $ref: '#/parameters/dropoffGte'
      - $ref: '#/parameters/dropoffLte'
      - $ref: '#/parameters/expiresAtGte'
      - $ref: '#/parameters/expiresAtLte'
      - $ref: '#/parameters/loadBoardBiddingStatus'
      - $ref: '#/parameters/loadBoardTenderStatus'
      - $ref: '#/parameters/loadBoardEnabled'
      - $ref: '#/parameters/nameContains'
      - $ref: '#/parameters/open'
      - $ref: '#/parameters/originContains'
      - $ref: '#/parameters/originStateProvince'
      - $ref: '#/parameters/pickupGte'
      - $ref: '#/parameters/pickupLte'
      - $ref: '#/parameters/pickupNumber'
      - $ref: '#/parameters/pickupNumberContains'
      - $ref: '#/parameters/pickupNumberExclude'
      - $ref: '#/parameters/proNumber'
      - $ref: '#/parameters/proNumberContains'
      - $ref: '#/parameters/proNumberExclude'
      - $ref: '#/parameters/purchaseOrderNumber'
      - $ref: '#/parameters/purchaseOrderNumberContains'
      - $ref: '#/parameters/purchaseOrderNumberExclude'
      - $ref: '#/parameters/referenceId'
      - $ref: '#/parameters/referenceIdContains'
      - $ref: '#/parameters/referenceIdExclude'
      - $ref: '#/parameters/reps'
      - $ref: '#/parameters/requestedEquipmentTypes'
      - $ref: '#/parameters/requestedEquipmentTypesContains'
      - $ref: '#/parameters/requestedShipmentModes'
      - $ref: '#/parameters/shipmentCreatedAtGte'
      - $ref: '#/parameters/shipmentCreatedAtLte'
      - $ref: '#/parameters/shipmentStatus'
      - $ref: '#/parameters/shipmentStatusExclude'
      - $ref: '#/parameters/shipmentStatusContains'
      - $ref: '#/parameters/shipmentTags'
      - $ref: '#/parameters/stopsContains'
      - $ref: '#/parameters/stopsStateProvince'
      - $ref: '#/parameters/totalMilesGte'
      - $ref: '#/parameters/totalMilesLte'
      - $ref: '#/parameters/vendor'
      - $ref: '#/parameters/vendorContains'
      - $ref: '#/parameters/weightLbsGte'
      - $ref: '#/parameters/weightLbsLte'
      - $ref: '#/parameters/originRadius'
      - $ref: '#/parameters/originLat'
      - $ref: '#/parameters/originLon'
      - $ref: '#/parameters/destinationRadius'
      - $ref: '#/parameters/destinationLat'
      - $ref: '#/parameters/destinationLon'
      responses:
        '200':
          description: Paginated list of load board shipments
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/LoadBoardShipment'
                type: array
              still_recalculating_match_scores:
                type: boolean
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedLoadBoardShipment
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: List all shipments available on a carrier load board
      tags:
      - loadboard
  /quoting/loadboard/{loadBoardShipmentId}/:
    get:
      parameters:
      - $ref: '#/parameters/loadBoardShipmentId'
      responses:
        '200':
          description: The requested load board shipment
          schema:
            $ref: '#/definitions/LoadBoardShipment'
        default:
          $ref: '#/responses/defaultError'
      summary: Retrieve a load board shipment by its ID
      tags:
      - loadboard
  /quoting/loadboard/{loadBoardShipmentId}/spot-negotiations/:
    post:
      parameters:
      - $ref: '#/parameters/loadBoardShipmentId'
      - *id023
      responses:
        '201':
          description: The newly created spot negotiation
          schema:
            $ref: '#/definitions/SpotNegotiation'
        default:
          $ref: '#/responses/defaultError'
      summary: Create a spot negotiation for a load board shipment
      tags:
      - loadboard
  /quoting/privatemarket/rfqs/{rfqId}/customer-negotiation-preview/:
    get:
      responses:
        '200':
          description: The HTML Template and Message
          schema:
            properties:
              message:
                type: string
              template:
                type: string
            title: CustomerNegotiationPreview
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Returns a preview of the HTML Email that will be sent and the included
        message
      tags:
      - private-market
    parameters:
    - $ref: '#/parameters/rfqId'
  /quoting/privatemarket/rfqs/{rfqId}/customer-negotiation/:
    get:
      responses:
        '200':
          description: Customer-facing SpotNegotiation
          schema:
            $ref: '#/definitions/SpotNegotiation'
        default:
          $ref: '#/responses/defaultError'
      summary: 'Retrieve a SpotNegotiation for the given RFQ that is outbound

        to a customer rather than inbound from solicited capacity providers

        '
      tags:
      - private-market
    parameters:
    - $ref: '#/parameters/rfqId'
    put:
      parameters:
      - *id023
      responses:
        '200':
          description: Updated customer-facing SpotNegotiation
          schema:
            $ref: '#/definitions/SpotNegotiation'
        default:
          $ref: '#/responses/defaultError'
      summary: 'Retrieve a SpotNegotiation for the given RFQ that is outbound

        to a customer rather than inbound from solicited capacity providers

        '
      tags:
      - private-market
  /quoting/privatemarket/rfqs/{rfqId}/spot-negotiation-preview/:
    get:
      responses:
        '200':
          description: The HTML Template and Message
          schema:
            properties:
              message:
                type: string
              template:
                type: string
            title: SpotNegotiationPreview
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Returns a preview of the HTML Email that will be sent and the included
        message
      tags:
      - private-market
    parameters:
    - $ref: '#/parameters/rfqId'
  /quoting/privatemarket/rfqs/{rfqId}/spot-negotiations/:
    get:
      parameters:
      - $ref: '#/parameters/page'
      - $ref: '#/parameters/page-size'
      - $ref: '#/parameters/ordering'
      - description: 'Integer boolean, if equal to True SpotNegotiations will expand

          Quotes under the SpotNegotiation

          '
        in: query
        name: expand_quotes
        required: false
        type: boolean
      responses:
        '200':
          description: 'List of SpotNegotiations, excluding the external customer

            negotiation if one exists

            '
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/SpotNegotiation'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedSpotNegotiation
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: List all SpotNegotiations under this RFQ
      tags:
      - private-market
    parameters:
    - $ref: '#/parameters/rfqId'
  /quoting/privatemarket/shipments/{shipmentId}/discover-solicited-negotiation/:
    get:
      parameters:
      - $ref: '#/parameters/shipmentId'
      responses:
        '200':
          description: The most recent SpotNegotiation soliciting the Company
          schema:
            $ref: '#/definitions/SpotNegotiation'
        '404':
          description: Shipment has no SpotNegotiations soliciting the Company
          schema:
            $ref: '#/definitions/ShipwellError'
        default:
          $ref: '#/responses/defaultError'
      summary: 'For a given Shipment ID, find the most recently created SpotNegotiation

        for which the authenticated Company is the solicited company

        '
      tags:
      - private-market
  /quoting/privatemarket/spot-negotiations/:
    post:
      parameters:
      - *id024
      responses:
        '201':
          description: List of all SpotNegotiations for the provided RFQ
          schema:
            items:
              $ref: '#/definitions/SpotNegotiation'
            type: array
        default:
          $ref: '#/responses/defaultError'
      summary: Bulk create SpotNegotiations for an RFQ and emails
      tags:
      - private-market
  /quoting/privatemarket/spot-negotiations/{spotNegotiationId}/:
    get:
      responses:
        '200':
          description: SpotNegotiation with the provided ID
          schema:
            $ref: '#/definitions/SpotNegotiation'
        default:
          $ref: '#/responses/defaultError'
      summary: Retrieve a SpotNegotiation
      tags:
      - private-market
    parameters:
    - $ref: '#/parameters/spotNegotiationId'
  /quoting/privatemarket/spot-negotiations/{spotNegotiationId}/award-decline-quote/{spotNegotiationQuoteId}/:
    parameters:
    - $ref: '#/parameters/spotNegotiationId'
    - $ref: '#/parameters/spotNegotiationQuoteId'
    put:
      parameters:
      - *id025
      responses:
        '200':
          description: The updated SpotNegotiation Quote
          schema:
            $ref: '#/definitions/Quote'
        default:
          $ref: '#/responses/defaultError'
      summary: Award or decline a SpotNegotiation Quote
      tags:
      - private-market
  /quoting/privatemarket/spot-negotiations/{spotNegotiationId}/link-quote/:
    parameters:
    - $ref: '#/parameters/spotNegotiationId'
    - $ref: '#/parameters/companyImpersonation'
    put:
      parameters:
      - in: body
        name: body
        required: true
        schema:
          properties:
            acceptor_emails:
              description: Email addresses to which the quote will be sent
              items:
                format: email
                type: string
              type: array
            link:
              description: true to link the Quote, and false to unlink
              type: boolean
            message:
              description: Message to include in Quote Email that get sent out
              type: string
            quote:
              description: ID of the Quote to link/unlink
              format: uuid
              type: string
          required:
          - link
          - quote
          title: LinkQuoteToSpotNegotiationRequest
          type: object
      responses:
        '200':
          description: The updated Quote object
          schema:
            $ref: '#/definitions/Quote'
        default:
          $ref: '#/responses/defaultError'
      summary: Link/unlink an existing Quote to a SpotNegotiation
      tags:
      - private-market
  /quoting/privatemarket/spot-negotiations/{spotNegotiationId}/messages/:
    get:
      parameters:
      - $ref: '#/parameters/page'
      - $ref: '#/parameters/page-size'
      - $ref: '#/parameters/ordering'
      responses:
        '200':
          description: Successfully returned a list of SpotNegotiationMessages
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/SpotNegotiationMessage'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedSpotNegotiationMessage
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Get a list of messages for a SpotNegotiation
      tags:
      - private-market
    parameters:
    - $ref: '#/parameters/spotNegotiationId'
    post:
      parameters:
      - *id026
      responses:
        '201':
          description: Successfully created a SpotNegotiationMessage
          schema:
            $ref: '#/definitions/SpotNegotiationMessage'
        default:
          $ref: '#/responses/defaultError'
      summary: Create a new SpotNegotiationMessage
      tags:
      - private-market
  /quoting/privatemarket/spot-negotiations/{spotNegotiationId}/messages/{spotNegotiationMessageId}/:
    delete:
      responses:
        '204':
          $ref: '#/responses/noContent'
        default:
          $ref: '#/responses/defaultError'
      summary: Delete a SpotNegotiationMessage
      tags:
      - private-market
    get:
      responses:
        '200':
          description: Successfully returned a SpotNegotiationMessage
          schema:
            $ref: '#/definitions/SpotNegotiationMessage'
        default:
          $ref: '#/responses/defaultError'
      summary: Obtain information about SpotNegotiationMessage
      tags:
      - private-market
    parameters:
    - $ref: '#/parameters/spotNegotiationId'
    - $ref: '#/parameters/spotNegotiationMessageId'
    put:
      parameters:
      - *id026
      responses:
        '200':
          description: Successfully updated a SpotNegotiationMessage
          schema:
            $ref: '#/definitions/SpotNegotiationMessage'
        default:
          $ref: '#/responses/defaultError'
      summary: Update a SpotNegotiationMessage
      tags:
      - private-market
  /quoting/privatemarket/spot-negotiations/{spotNegotiationId}/quotes/:
    get:
      parameters:
      - $ref: '#/parameters/page'
      - $ref: '#/parameters/page-size'
      - $ref: '#/parameters/ordering'
      - $ref: '#/parameters/includeFailureQuotes'
      responses:
        '200':
          description: Successfully returned a list of SpotNegotiation quotes
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/Quote'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedSpotNegotiationQuote
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Get a list of quotes for a SpotNegotiation
      tags:
      - private-market
    parameters:
    - $ref: '#/parameters/spotNegotiationId'
    post:
      parameters:
      - *id027
      responses:
        '201':
          description: Successfully created a SpotNegotiation Quote
          schema:
            $ref: '#/definitions/Quote'
        default:
          $ref: '#/responses/defaultError'
      summary: Create a new SpotNegotiation Quote
      tags:
      - private-market
  /quoting/privatemarket/spot-negotiations/{spotNegotiationId}/quotes/{spotNegotiationQuoteId}/:
    delete:
      responses:
        '204':
          $ref: '#/responses/noContent'
        default:
          $ref: '#/responses/defaultError'
      summary: Delete a SpotNegotiation Quote
      tags:
      - private-market
    get:
      responses:
        '200':
          description: Successfully returned a SpotNegotiation Quote
          schema:
            $ref: '#/definitions/Quote'
        default:
          $ref: '#/responses/defaultError'
      summary: Obtain information about a SpotNegotiation Quote
      tags:
      - private-market
    parameters:
    - $ref: '#/parameters/spotNegotiationId'
    - $ref: '#/parameters/spotNegotiationQuoteId'
    put:
      parameters:
      - *id028
      responses:
        '200':
          description: Successfully updated a SpotNegotiation Quote
          schema:
            $ref: '#/definitions/Quote'
        default:
          $ref: '#/responses/defaultError'
      summary: Update a SpotNegotiation Quote
      tags:
      - private-market
  /quoting/rfqs/:
    parameters:
    - $ref: '#/parameters/companyImpersonation'
    post:
      description: 'An RFQ is a Request For Quote. All quotes will be created under
        an RFQ.

        '
      parameters:
      - *id029
      responses:
        '201':
          description: Successfully created a RFQ
          schema:
            $ref: '#/definitions/RFQ'
        default:
          $ref: '#/responses/defaultError'
      summary: Create a new RFQ, kicking off autoquoting if specified
      tags:
      - quoting
      - public
  /quoting/rfqs/{rfqId}/:
    delete:
      responses:
        '204':
          $ref: '#/responses/noContent'
        default:
          $ref: '#/responses/defaultError'
      summary: Delete an RFQ
      tags:
      - quoting
      - public
    get:
      responses:
        '200':
          description: Successfully returned an RFQ
          schema:
            $ref: '#/definitions/RFQ'
        default:
          $ref: '#/responses/defaultError'
      summary: Obtain information about an RFQ
      tags:
      - quoting
      - public
    parameters:
    - $ref: '#/parameters/rfqId'
    - $ref: '#/parameters/companyImpersonation'
    - $ref: '#/parameters/includeFailureQuotes'
    put:
      description: 'Note: Complexities of updating not implemented'
      parameters:
      - *id029
      responses:
        '200':
          description: Successfully updated an RFQ
          schema:
            $ref: '#/definitions/RFQ'
        default:
          $ref: '#/responses/defaultError'
      summary: Update an RFQ
      tags:
      - quoting
      - public
  /quoting/rfqs/{rfqId}/quotes/:
    get:
      parameters:
      - $ref: '#/parameters/page'
      - $ref: '#/parameters/page-size'
      - $ref: '#/parameters/ordering'
      - $ref: '#/parameters/includeFailureQuotes'
      responses:
        '200':
          description: Successfully returned a list of quotes
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/Quote'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedQuote
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Get a list of all quotes under an RFQ
      tags:
      - quoting
      - public
    parameters:
    - $ref: '#/parameters/rfqId'
    - $ref: '#/parameters/companyImpersonation'
    post:
      description: 'Note: Need to add more info about creating a quote here'
      parameters:
      - *id030
      responses:
        '201':
          description: Successfully created a new quote
          schema:
            $ref: '#/definitions/Quote'
        default:
          $ref: '#/responses/defaultError'
      summary: Create a new quote under an RFQ
      tags:
      - quoting
      - public
  /quoting/rfqs/{rfqId}/quotes/{quoteId}/:
    delete:
      responses:
        '204':
          $ref: '#/responses/noContent'
        default:
          $ref: '#/responses/defaultError'
      summary: Delete a Quote
      tags:
      - quoting
      - public
    get:
      responses:
        '200':
          description: Successfully returned a Quote
          schema:
            $ref: '#/definitions/Quote'
        default:
          $ref: '#/responses/defaultError'
      summary: Obtain information about a quote
      tags:
      - quoting
      - public
    parameters:
    - $ref: '#/parameters/rfqId'
    - $ref: '#/parameters/quoteId'
    - $ref: '#/parameters/companyImpersonation'
    put:
      description: 'Note: this route might be eliminated, so create new quotes when
        possible'
      parameters:
      - *id030
      responses:
        '200':
          description: Successfully updated a Quote
          schema:
            $ref: '#/definitions/Quote'
        default:
          $ref: '#/responses/defaultError'
      summary: Update a quote
      tags:
      - quoting
      - public
  /quoting/spotnegotiations/shipments/{shipmentId}/spot-negotiations/:
    get:
      parameters:
      - $ref: '#/parameters/page'
      - $ref: '#/parameters/page-size'
      - description: 'Boolean, if True will include quotes

          '
        in: query
        name: expand_quotes
        required: false
        type: boolean
      responses:
        '200':
          description: Paginated list of SpotNegotiations
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/SpotNegotiation'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedSpotNegotiation
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: 'List all outstanding negotiations under this shipment where

        the authenticated user is a customer

        '
      tags:
      - spot-negotiations
    parameters:
    - $ref: '#/parameters/shipmentId'
    post:
      parameters:
      - *id024
      responses:
        '201':
          description: 'List of newly created negotiations

            '
          schema:
            items:
              $ref: '#/definitions/SpotNegotiation'
            type: array
        default:
          $ref: '#/responses/defaultError'
      summary: Bulk create SpotNegotiations for a Shipment
      tags:
      - spot-negotiations
  /quoting/spotnegotiations/shipments/{shipmentId}/spot-negotiations/customer-negotiation/:
    parameters:
    - $ref: '#/parameters/shipmentId'
    post:
      parameters:
      - *id023
      responses:
        '200':
          description: The customer SpotNegotiation
          schema:
            $ref: '#/definitions/SpotNegotiation'
        default:
          $ref: '#/responses/defaultError'
      summary: 'Get, create, or update a negotiation in which you are the

        vendor and the shipment''s customer_freight_authority is

        the customer. Only available to companies that are already

        assigned as a vendor to that customer.

        '
      tags:
      - spot-negotiations
  /quoting/spotnegotiations/shipments/{shipmentId}/spot-negotiations/preview/:
    get:
      parameters:
      - description: 'If True, render a template for sending a quote to a customer.

          Else, render a request for quote to be sent to a vendor.

          '
        in: query
        name: is_customer_facing
        required: false
        type: boolean
      responses:
        '200':
          description: The HTML Template and Message
          schema:
            properties:
              message:
                type: string
              template:
                type: string
            title: SpotNegotiationPreview
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Returns a preview of the HTML Email that will be sent and the included
        message
      tags:
      - spot-negotiations
    parameters:
    - $ref: '#/parameters/shipmentId'
  /quoting/spotnegotiations/spot-negotiations/:
    get:
      parameters:
      - $ref: '#/parameters/page'
      - $ref: '#/parameters/page-size'
      - $ref: '#/parameters/ordering'
      - $ref: '#/parameters/q'
      - $ref: '#/parameters/spotnegotiationClosedByCustomer'
      - $ref: '#/parameters/spotnegotiationClosedByVendor'
      - $ref: '#/parameters/spotnegotiationCustomerId'
      - $ref: '#/parameters/spotnegotiationCustomerNameContains'
      - $ref: '#/parameters/spotnegotiationInvolvedOnly'
      - $ref: '#/parameters/spotnegotiationInvolvedVendorUsers'
      - $ref: '#/parameters/spotnegotiationIsMostRecentWinner'
      - $ref: '#/parameters/spotnegotiationIsOpen'
      - $ref: '#/parameters/spotnegotiationShipment'
      - $ref: '#/parameters/spotnegotiationShipmentBolNumber'
      - $ref: '#/parameters/spotnegotiationShipmentBolNumberContains'
      - $ref: '#/parameters/spotnegotiationShipmentCapacityProviderCustomerReferenceNumber'
      - $ref: '#/parameters/spotnegotiationShipmentCapacityProviderCustomerReferenceNumberContains'
      - $ref: '#/parameters/spotnegotiationShipmentCustomerReferenceNumber'
      - $ref: '#/parameters/spotnegotiationShipmentCustomerReferenceNumberContains'
      - $ref: '#/parameters/spotnegotiationShipmentDelayed'
      - $ref: '#/parameters/spotnegotiationShipmentDestinationContains'
      - $ref: '#/parameters/spotnegotiationShipmentDropoffGte'
      - $ref: '#/parameters/spotnegotiationShipmentDropoffLte'
      - $ref: '#/parameters/spotnegotiationShipmentName'
      - $ref: '#/parameters/spotnegotiationShipmentNameContains'
      - $ref: '#/parameters/spotnegotiationShipmentOriginContains'
      - $ref: '#/parameters/spotnegotiationShipmentPickupGte'
      - $ref: '#/parameters/spotnegotiationShipmentPickupLte'
      - $ref: '#/parameters/spotnegotiationShipmentPickupNumber'
      - $ref: '#/parameters/spotnegotiationShipmentPickupNumberContains'
      - $ref: '#/parameters/spotnegotiationShipmentProNumber'
      - $ref: '#/parameters/spotnegotiationShipmentProNumberContains'
      - $ref: '#/parameters/spotnegotiationShipmentPurchaseOrderNumber'
      - $ref: '#/parameters/spotnegotiationShipmentPurchaseOrderNumberContains'
      - $ref: '#/parameters/spotnegotiationShipmentReferenceId'
      - $ref: '#/parameters/spotnegotiationShipmentReferenceIdContains'
      - $ref: '#/parameters/spotnegotiationShipmentState'
      - $ref: '#/parameters/spotnegotiationShipmentStatus'
      - $ref: '#/parameters/spotnegotiationVendorId'
      - $ref: '#/parameters/spotnegotiationVendorNameContains'
      - description: 'Boolean, if True will include quotes

          '
        in: query
        name: expand_quotes
        required: false
        type: integer
      responses:
        '200':
          description: List of SpotNegotiations with Shipments expanded
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/ShipmentSpotNegotiation'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedShipmentSpotNegotiation
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: List all SpotNegotiations in which the user's company is involved
      tags:
      - spot-negotiations
  /quoting/spotnegotiations/spot-negotiations/open-close/:
    post:
      parameters:
      - in: body
        name: body
        required: true
        schema:
          properties:
            close:
              description: If true, close the negotiations, else open them
              type: boolean
            spot_negotiations:
              description: SpotNegotiation IDs to open or close
              items:
                format: uuid
                type: string
              type: array
          required:
          - spot_negotiations
          - close
          title: OpenCloseSpotNegotiationsRequest
          type: object
      responses:
        '200':
          description: List of updated SpotNegotiations
          schema:
            items:
              $ref: '#/definitions/SpotNegotiation'
            type: array
        default:
          $ref: '#/responses/defaultError'
      summary: Open or close authenticated company's side of the provided negotiations
      tags:
      - spot-negotiations
  /quoting/spotnegotiations/spot-negotiations/{spotNegotiationId}/:
    get:
      responses:
        '200':
          description: ShipmentSpotNegotiation with the given ID
          schema:
            $ref: '#/definitions/ShipmentSpotNegotiation'
        default:
          $ref: '#/responses/defaultError'
      summary: Retrieve a ShipmentSpotNegotiation by its ID
      tags:
      - spot-negotiations
    parameters:
    - $ref: '#/parameters/spotNegotiationId'
    put:
      parameters:
      - in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/ShipmentSpotNegotiation'
      responses:
        '200':
          description: Successfully updated ShipmentSpotNegotiation
          schema:
            $ref: '#/definitions/ShipmentSpotNegotiation'
        default:
          $ref: '#/responses/defaultError'
      summary: Update a ShipmentSpotNegotiation
      tags:
      - spot-negotiations
  /quoting/spotnegotiations/spot-negotiations/{spotNegotiationId}/buy-it-now/:
    parameters:
    - $ref: '#/parameters/spotNegotiationId'
    post:
      parameters:
      - *id031
      responses:
        '200':
          description: The spot negotiation between customer and vendor
          schema:
            $ref: '#/definitions/SpotNegotiation'
        default:
          $ref: '#/responses/defaultError'
      summary: Accept a shipment for the customer buy-it-now amount
      tags:
      - spot-negotiations
  /quoting/spotnegotiations/spot-negotiations/{spotNegotiationId}/messages/:
    get:
      responses:
        '200':
          description: List of SpotNegotiationMessages
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/SpotNegotiationMessage'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedSpotNegotiationMessage
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: List all SpotNegotiationMessages of a SpotNegotiation
      tags:
      - spot-negotiations
    parameters:
    - $ref: '#/parameters/spotNegotiationId'
    post:
      parameters:
      - *id026
      responses:
        '201':
          description: Newly created SpotNegotiationMessage
          schema:
            $ref: '#/definitions/SpotNegotiationMessage'
        default:
          $ref: '#/responses/defaultError'
      summary: Create a SpotNegotiationMessage
      tags:
      - spot-negotiations
  /quoting/spotnegotiations/spot-negotiations/{spotNegotiationId}/messages/{spotNegotiationMessageId}/:
    delete:
      responses:
        '204':
          $ref: '#/responses/noContent'
        default:
          $ref: '#/responses/defaultError'
      summary: Delete a SpotNegotiationMessage
      tags:
      - spot-negotiations
    get:
      responses:
        '200':
          description: The requested SpotNegotiationMessage
          schema:
            $ref: '#/definitions/SpotNegotiationMessage'
        default:
          $ref: '#/responses/defaultError'
      summary: Retrieve a SpotNegotiationMessage
      tags:
      - spot-negotiations
    parameters:
    - $ref: '#/parameters/spotNegotiationId'
    - $ref: '#/parameters/spotNegotiationMessageId'
    put:
      parameters:
      - *id026
      responses:
        '200':
          description: The updated SpotNegotiationMessage
          schema:
            $ref: '#/definitions/SpotNegotiationMessage'
        default:
          $ref: '#/responses/defaultError'
      summary: Update a SpotNegotiationMessage
      tags:
      - spot-negotiations
  /quoting/spotnegotiations/spot-negotiations/{spotNegotiationId}/quotes/:
    get:
      responses:
        '200':
          description: List of all Quotes under the SpotNegotiation
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/Quote'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedQuote
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: List all Qutoes of the SpotNegotiation
      tags:
      - spot-negotiations
    parameters:
    - $ref: '#/parameters/spotNegotiationId'
    post:
      parameters:
      - *id027
      responses:
        '201':
          description: Newly created Quote object
          schema:
            $ref: '#/definitions/Quote'
        default:
          $ref: '#/responses/defaultError'
      summary: Create a Quote on the SpotNegotiation
      tags:
      - spot-negotiations
  /quoting/spotnegotiations/spot-negotiations/{spotNegotiationId}/quotes/{spotNegotiationQuoteId}/:
    delete:
      responses:
        '204':
          $ref: '#/responses/noContent'
        default:
          $ref: '#/responses/defaultError'
      summary: Delete a SpotNegotiation Quote
      tags:
      - spot-negotiations
    get:
      responses:
        '200':
          description: Successfully returned a SpotNegotiation Quote
          schema:
            $ref: '#/definitions/Quote'
        default:
          $ref: '#/responses/defaultError'
      summary: Obtain information about a SpotNegotiation Quote
      tags:
      - spot-negotiations
    parameters:
    - $ref: '#/parameters/spotNegotiationId'
    - $ref: '#/parameters/spotNegotiationQuoteId'
    put:
      parameters:
      - *id028
      responses:
        '200':
          description: Successfully updated a SpotNegotiation Quote
          schema:
            $ref: '#/definitions/Quote'
        default:
          $ref: '#/responses/defaultError'
      summary: Update a SpotNegotiation Quote
      tags:
      - spot-negotiations
  /quoting/spotnegotiations/spot-negotiations/{spotNegotiationId}/quotes/{spotNegotiationQuoteId}/award-decline/:
    parameters:
    - $ref: '#/parameters/spotNegotiationId'
    - $ref: '#/parameters/spotNegotiationQuoteId'
    put:
      parameters:
      - *id025
      responses:
        '200':
          description: The updated SpotNegotiation Quote
          schema:
            $ref: '#/definitions/Quote'
        default:
          $ref: '#/responses/defaultError'
      summary: Award or decline a SpotNegotiation Quote
      tags:
      - spot-negotiations
  /quoting/ups/package-types/:
    get:
      responses:
        '200':
          description: List of all UPS custom package types
          schema:
            items:
              $ref: '#/definitions/UPSPackaging'
            type: array
        default:
          $ref: '#/responses/defaultError'
      summary: List all UPS custom package types
      tags:
      - shipment-master-list
  /quoting/usps/package-types/:
    get:
      responses:
        '200':
          description: List of all USPS custom package types
          schema:
            items:
              $ref: '#/definitions/USPSPackaging'
            type: array
        default:
          $ref: '#/responses/defaultError'
      summary: List all USPS custom package types
      tags:
      - shipment-master-list
  /registration/FEDEX/:
    get:
      responses:
        '200':
          description: Successfully returned Fedex account
          schema:
            allOf:
            - $ref: '#/definitions/FedexAccount'
            - properties:
                address:
                  $ref: '#/definitions/GenesisAddress'
              type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Obtain FedexAccount information
      tags:
      - registration
    parameters:
    - $ref: '#/parameters/accountNumber'
    post:
      description: 'Company has to have an account with Fedex before registering with
        Shipwell.

        '
      parameters:
      - in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/RegisterFedex'
      responses:
        '200':
          description: Fedex account was already registered with Shipwell
          schema:
            $ref: '#/definitions/RegisterFedexResponse'
        '201':
          description: Successfully registered Fedex account with Shipwell
          schema:
            $ref: '#/definitions/RegisterFedexResponse'
        default:
          $ref: '#/responses/defaultError'
      summary: Registers Company's Fedex account with Shipwell
      tags:
      - registration
  /registration/FEDEX/{fedexAccountId}/:
    delete:
      responses:
        '204':
          $ref: '#/responses/noContent'
        default:
          $ref: '#/responses/defaultError'
      summary: Delete a registered Fedex account
      tags:
      - registration
    parameters:
    - $ref: '#/parameters/fedexAccountId'
    put:
      description: Can only modify freight account number and smart post hub id at
        this time
      parameters:
      - in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/FedexAccount'
      responses:
        '200':
          description: Successfully updated Fedex account
          schema:
            allOf:
            - $ref: '#/definitions/FedexAccount'
            - properties:
                address:
                  $ref: '#/definitions/GenesisAddress'
              type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Update a Company's Fedex account with Shipwell
      tags:
      - registration
  /registration/UPS/:
    get:
      responses:
        '200':
          description: Successfully returned UPS account
          schema:
            $ref: '#/definitions/UPSAccount'
        default:
          $ref: '#/responses/defaultError'
      summary: Obtain UPSAccount information
      tags:
      - registration
    parameters:
    - $ref: '#/parameters/accountNumber'
    post:
      description: 'Company has to have an account with UPS before registering with
        Shipwell.

        '
      parameters:
      - in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/RegisterUPS'
      responses:
        '200':
          description: UPS account was already registered with Shipwell
          schema:
            $ref: '#/definitions/RegisterUPSResponse'
        '201':
          description: Successfully registered UPS account with Shipwell
          schema:
            $ref: '#/definitions/RegisterUPSResponse'
        default:
          $ref: '#/responses/defaultError'
      summary: Registers Company's UPS account with Shipwell
      tags:
      - registration
  /registration/UPS/{upsAccountId}/:
    delete:
      responses:
        '204':
          $ref: '#/responses/noContent'
        default:
          $ref: '#/responses/defaultError'
      summary: Delete a registered UPS account
      tags:
      - registration
    parameters:
    - $ref: '#/parameters/upsAccountId'
  /registration/rmis/:
    get:
      responses:
        '200':
          description: Successfully returned RMIS accounts
          schema:
            $ref: '#/definitions/RMISAccountResponse'
        default:
          $ref: '#/responses/defaultError'
      summary: Obtain RMIS account information
      tags:
      - registration
    post:
      description: Company has to have an account with RMIS before registering with
        Shipwell.
      parameters:
      - in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/RMISAccountRequest'
      responses:
        '201':
          description: Successfully registered RMIS account with Shipwell
          schema:
            $ref: '#/definitions/RMISAccountResponse'
        default:
          $ref: '#/responses/defaultError'
      summary: Registers Company's RMIS account with Shipwell
      tags:
      - registration
  /registration/rmis/{rmisAccountId}/:
    delete:
      responses:
        '204':
          $ref: '#/responses/noContent'
        default:
          $ref: '#/responses/defaultError'
      summary: Delete a registered RMIS account
      tags:
      - registration
    parameters:
    - $ref: '#/parameters/rmisAccountId'
    put:
      parameters:
      - in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/RMISAccountRequest'
      responses:
        '200':
          description: Successfully registered RMIS account with Shipwell
          schema:
            $ref: '#/definitions/RMISAccountResponse'
        default:
          $ref: '#/responses/defaultError'
      summary: Registers Company's RMIS account with Shipwell
      tags:
      - registration
  /routing-guide/policies/:
    get:
      parameters:
      - $ref: '#/parameters/page'
      - $ref: '#/parameters/page-size'
      - $ref: '#/parameters/ordering'
      - $ref: '#/parameters/q'
      - $ref: '#/parameters/createdAt'
      - $ref: '#/parameters/updatedAt'
      responses:
        '200':
          description: Paginated list of policies
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/Policy'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedPolicy
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: List of policies
      tags:
      - policies
    post:
      parameters:
      - in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/Policy'
      responses:
        '201':
          description: Successfully created a policy
          schema:
            $ref: '#/definitions/Policy'
        default:
          $ref: '#/responses/defaultError'
      summary: Create a new policy
      tags:
      - policies
  /routing-guide/policies/{policyId}/:
    delete:
      responses:
        '200':
          description: Successfully deleted a Policy
          schema:
            $ref: '#/definitions/Policy'
        default:
          $ref: '#/responses/defaultError'
      summary: Delete a Policy
      tags:
      - policies
    get:
      responses:
        '200':
          description: Successfully returned a Policy
          schema:
            $ref: '#/definitions/Policy'
        default:
          $ref: '#/responses/defaultError'
      summary: Retrieve a Policy
      tags:
      - policies
    parameters:
    - $ref: '#/parameters/policyId'
    put:
      parameters:
      - in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/Policy'
      responses:
        '200':
          description: Successfully updated a Policy
          schema:
            $ref: '#/definitions/Policy'
        default:
          $ref: '#/responses/defaultError'
      summary: Update a Policy
      tags:
      - policies
  /service-level-agreements/:
    get:
      parameters:
      - $ref: '#/parameters/page'
      - $ref: '#/parameters/page-size'
      - $ref: '#/parameters/ordering'
      - $ref: '#/parameters/q'
      responses:
        '200':
          description: Paginated list of service level agreements
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/ServiceLevelAgreement'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedServiceLevelAgreement
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: List service level agreements
      tags:
      - service-level-agreements
    post:
      parameters:
      - *id032
      responses:
        '201':
          description: Successfully created a ServiceLevelAgreement
          schema:
            $ref: '#/definitions/ServiceLevelAgreement'
        default:
          $ref: '#/responses/defaultError'
      summary: Create a new ServiceLevelAgreement
      tags:
      - service-level-agreements
  /service-level-agreements/{serviceLevelAgreementId}/:
    delete:
      responses:
        '204':
          $ref: '#/responses/noContent'
        default:
          $ref: '#/responses/defaultError'
      summary: Delete a ServiceLevelAgreement
      tags:
      - service-level-agreements
    get:
      responses:
        '200':
          description: Successfully returned a ServiceLevelAgreement
          schema:
            $ref: '#/definitions/ServiceLevelAgreement'
        default:
          $ref: '#/responses/defaultError'
      summary: Retrieve a ServiceLevelAgreement
      tags:
      - service-level-agreements
    parameters:
    - $ref: '#/parameters/serviceLevelAgreementId'
    put:
      parameters:
      - *id032
      responses:
        '200':
          description: Successfully updated a ServiceLevelAgreement
          schema:
            $ref: '#/definitions/ServiceLevelAgreement'
        default:
          $ref: '#/responses/defaultError'
      summary: Update a ServiceLevelAgreement
      tags:
      - service-level-agreements
  /shipments/:
    get:
      parameters:
      - $ref: '#/parameters/page'
      - $ref: '#/parameters/page-size'
      - $ref: '#/parameters/ordering'
      - $ref: '#/parameters/q'
      - $ref: '#/parameters/activeVendorAssignment'
      - $ref: '#/parameters/alerts'
      - $ref: '#/parameters/archived'
      - $ref: '#/parameters/bolNumber'
      - $ref: '#/parameters/bolNumberContains'
      - $ref: '#/parameters/bolNumberExclude'
      - $ref: '#/parameters/createdAt'
      - $ref: '#/parameters/customer'
      - $ref: '#/parameters/customerContains'
      - $ref: '#/parameters/customerId'
      - $ref: '#/parameters/customerReferenceNumber'
      - $ref: '#/parameters/customerReferenceNumberContains'
      - $ref: '#/parameters/customerReferenceNumberExclude'
      - $ref: '#/parameters/destinationContains'
      - $ref: '#/parameters/destinationStateProvince'
      - $ref: '#/parameters/drayageBookingNumber'
      - $ref: '#/parameters/drayageChassisNumber'
      - $ref: '#/parameters/drayageContainerNumber'
      - $ref: '#/parameters/drayageContainerReturnDateGte'
      - $ref: '#/parameters/drayageContainerReturnDateLte'
      - $ref: '#/parameters/drayageEstimatedArrivalDateGte'
      - $ref: '#/parameters/drayageEstimatedArrivalDateLte'
      - $ref: '#/parameters/drayageLastFreeDateGte'
      - $ref: '#/parameters/drayageLastFreeDateLte'
      - $ref: '#/parameters/drayageReleaseDateGte'
      - $ref: '#/parameters/drayageReleaseDateLte'
      - $ref: '#/parameters/drayageSealNumber'
      - $ref: '#/parameters/driverAssigned'
      - $ref: '#/parameters/dropoffGte'
      - $ref: '#/parameters/dropoffLte'
      - $ref: '#/parameters/equipmentType'
      - $ref: '#/parameters/equipmentTypeContains'
      - $ref: '#/parameters/fedexAccount'
      - $ref: '#/parameters/groupId'
      - $ref: '#/parameters/hasInvoice'
      - $ref: '#/parameters/hasBill'
      - $ref: '#/parameters/loadBoardEnabled'
      - $ref: '#/parameters/loadBoardId'
      - $ref: '#/parameters/loadBoardIdContains'
      - $ref: '#/parameters/mode'
      - $ref: '#/parameters/modeContains'
      - $ref: '#/parameters/nameContains'
      - $ref: '#/parameters/open'
      - $ref: '#/parameters/originContains'
      - $ref: '#/parameters/originStateProvince'
      - $ref: '#/parameters/parcelPickupStatus'
      - $ref: '#/parameters/pickupGte'
      - $ref: '#/parameters/pickupLte'
      - $ref: '#/parameters/pickupId'
      - $ref: '#/parameters/pickupNumber'
      - $ref: '#/parameters/pickupNumberContains'
      - $ref: '#/parameters/pickupNumberExclude'
      - $ref: '#/parameters/proNumber'
      - $ref: '#/parameters/proNumberContains'
      - $ref: '#/parameters/proNumberExclude'
      - $ref: '#/parameters/powerUnit'
      - $ref: '#/parameters/purchaseOrderNumber'
      - $ref: '#/parameters/purchaseOrderNumberContains'
      - $ref: '#/parameters/purchaseOrderNumberExclude'
      - $ref: '#/parameters/referenceId'
      - $ref: '#/parameters/referenceIdContains'
      - $ref: '#/parameters/referenceIdExclude'
      - $ref: '#/parameters/reps'
      - $ref: '#/parameters/serviceLevel'
      - $ref: '#/parameters/shipmentCreatedAtGte'
      - $ref: '#/parameters/shipmentCreatedAtLte'
      - $ref: '#/parameters/shipmentStatus'
      - $ref: '#/parameters/shipmentStatusExclude'
      - $ref: '#/parameters/shipmentStatusContains'
      - $ref: '#/parameters/shipmentTags'
      - $ref: '#/parameters/stopsContains'
      - $ref: '#/parameters/stopsStateProvince'
      - $ref: '#/parameters/timelineLastUpdatedAtGte'
      - $ref: '#/parameters/timelineLastUpdatedAtLte'
      - $ref: '#/parameters/totalMilesGte'
      - $ref: '#/parameters/totalMilesLte'
      - $ref: '#/parameters/upsAccount'
      - $ref: '#/parameters/vendor'
      - $ref: '#/parameters/vendorContains'
      - $ref: '#/parameters/weightLbsGte'
      - $ref: '#/parameters/weightLbsLte'
      - $ref: '#/parameters/originRadius'
      - $ref: '#/parameters/originLat'
      - $ref: '#/parameters/originLon'
      - $ref: '#/parameters/destinationRadius'
      - $ref: '#/parameters/destinationLat'
      - $ref: '#/parameters/destinationLon'
      responses:
        '200':
          description: Successfully returned a list of Shipments
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/SlimShipment'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedSlimShipment
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Get a list of Shipments
      tags:
      - shipments
      - public
    parameters:
    - $ref: '#/parameters/companyImpersonation'
    post:
      description: 'A Shipment is in the ''draft'' state by default, and can start
        with

        very little information if desired.

        '
      parameters:
      - *id033
      responses:
        '201':
          description: Successfully created a Shipment
          schema:
            $ref: '#/definitions/Shipment'
        default:
          $ref: '#/responses/defaultError'
      summary: Create a new Shipment
      tags:
      - shipments
      - public
  /shipments/accessorials/:
    get:
      responses:
        '200':
          description: Successfully returned a list of accessorials
          schema:
            items:
              $ref: '#/definitions/Accessorial'
            type: array
        default:
          $ref: '#/responses/defaultError'
      security: []
      summary: A list of all accessorials supported by the API
      tags:
      - shipment-master-list
  /shipments/appointment-types/:
    get:
      responses:
        '200':
          description: Successfully returned a list of appointment types
          schema:
            items:
              $ref: '#/definitions/AppointmentType'
            type: array
        default:
          $ref: '#/responses/defaultError'
      summary: A list of all appointment types supported by the API
      tags:
      - shipment-master-list
  /shipments/cases/{shipmentCaseId}/notes/:
    get:
      parameters:
      - $ref: '#/parameters/page'
      - $ref: '#/parameters/page-size'
      responses:
        '200':
          description: List of notes for the given ShipmentCase
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/CaseNote'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedCaseNote
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: List notes for a ShipmentCase
      tags:
      - tasks
    parameters:
    - $ref: '#/parameters/shipmentCaseId'
    post:
      parameters:
      - *id034
      responses:
        '201':
          description: The newly created CaseNote
          schema:
            $ref: '#/definitions/CaseNote'
        default:
          $ref: '#/responses/defaultError'
      summary: Create a new Note for a ShipmentCase
      tags:
      - tasks
  /shipments/cases/{shipmentCaseId}/notes/{caseNoteId}/:
    delete:
      responses:
        '204':
          $ref: '#/responses/noContent'
        default:
          $ref: '#/responses/defaultError'
      summary: Delete a CaseNote
      tags:
      - tasks
    get:
      responses:
        '200':
          description: Data for a note
          schema:
            $ref: '#/definitions/CaseNote'
        default:
          $ref: '#/responses/defaultError'
      summary: Retrieve data for a note
      tags:
      - tasks
    parameters:
    - $ref: '#/parameters/shipmentCaseId'
    - $ref: '#/parameters/caseNoteId'
    put:
      parameters:
      - *id034
      responses:
        '200':
          description: The updated CaseNote
          schema:
            $ref: '#/definitions/CaseNote'
        default:
          $ref: '#/responses/defaultError'
      summary: Update a CaseNote
      tags:
      - tasks
  /shipments/cases/{shipmentCaseId}/tasks/:
    get:
      parameters:
      - $ref: '#/parameters/page'
      - $ref: '#/parameters/page-size'
      responses:
        '200':
          description: List of tasks for the given ShipmentCase
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/Task'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedTask
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: List tasks for a ShipmentCase
      tags:
      - tasks
    parameters:
    - $ref: '#/parameters/shipmentCaseId'
    post:
      parameters:
      - *id035
      responses:
        '201':
          description: The newly created Task
          schema:
            $ref: '#/definitions/Task'
        default:
          $ref: '#/responses/defaultError'
      summary: Create a new Task for a ShipmentCase
      tags:
      - tasks
  /shipments/cases/{shipmentCaseId}/tasks/{taskId}/:
    delete:
      responses:
        '204':
          $ref: '#/responses/noContent'
        default:
          $ref: '#/responses/defaultError'
      summary: Delete a Task
      tags:
      - tasks
    get:
      responses:
        '200':
          description: Data for a task
          schema:
            $ref: '#/definitions/Task'
        default:
          $ref: '#/responses/defaultError'
      summary: Retrieve data for a task
      tags:
      - tasks
    parameters:
    - $ref: '#/parameters/shipmentCaseId'
    - $ref: '#/parameters/taskId'
    put:
      parameters:
      - *id035
      responses:
        '200':
          description: The updated Task
          schema:
            $ref: '#/definitions/Task'
        default:
          $ref: '#/responses/defaultError'
      summary: Update a Task
      tags:
      - tasks
  /shipments/charge-line-item-categories/:
    get:
      responses:
        '200':
          description: Successfully returned a list charge line item categories
          schema:
            items:
              $ref: '#/definitions/ChargeLineItemCategory'
            type: array
        default:
          $ref: '#/responses/defaultError'
      summary: A list of all charge line item categories supported by the API
      tags:
      - shipment-master-list
  /shipments/equipment-types/:
    get:
      responses:
        '200':
          description: Successfully returned a list of Equipment Types
          schema:
            items:
              $ref: '#/definitions/EquipmentType'
            type: array
        default:
          $ref: '#/responses/defaultError'
      summary: A list of all Equipment Types supported by the API
      tags:
      - shipment-master-list
  /shipments/external/:
    get:
      responses:
        '200':
          description: List of shipments found (with limited data)
          schema:
            items:
              $ref: '#/definitions/Shipment'
            type: array
        default:
          $ref: '#/responses/defaultError'
      summary: 'Return a limited amount of shipment details using API Key authentication
        and

        query params to search. Returns an empty list if no query params are passed

        '
      tags:
      - shipments
    parameters:
    - $ref: '#/parameters/bolNumber'
    - $ref: '#/parameters/pickupNumber'
    - $ref: '#/parameters/proNumber'
    - $ref: '#/parameters/purchaseOrderNumber'
  /shipments/external/{shipmentId}/:
    get:
      responses:
        '200':
          description: Limited data about a Shipment
          schema:
            $ref: '#/definitions/Shipment'
        default:
          $ref: '#/responses/defaultError'
      security: []
      summary: 'Retrieve a limited amount of shipment details using a query param

        key instead of authentication

        '
      tags:
      - shipments
    parameters:
    - $ref: '#/parameters/shipmentId'
    - $ref: '#/parameters/externalShipmentViewKey'
  /shipments/external/{shipmentId}/tracking/:
    get:
      parameters:
      - $ref: '#/parameters/beginDatetime'
      - $ref: '#/parameters/endDatetime'
      - $ref: '#/parameters/shipmentLocationFilterDistance'
      responses:
        '200':
          description: List of locations for the given Shipment
          schema:
            properties:
              shipment_locations:
                items:
                  $ref: '#/definitions/ELDDeviceLocation'
                type: array
              tracking_source:
                enum:
                - eld
                - mobile_app
                - unknown
                type: string
              tracking_status:
                enum:
                - tracking_not_setup
                - not_tracking
                - tracking
                - tracking_complete
                type: string
            title: ShipmentLocationResponse
            type: object
        default:
          $ref: '#/responses/defaultError'
      security: []
      summary: 'Get locations for the shipment using a query param

        key instead of authentication

        '
      tags:
      - shipments
    parameters:
    - $ref: '#/parameters/shipmentId'
    - $ref: '#/parameters/externalShipmentViewKey'
  /shipments/hazmat/:
    get:
      responses:
        '200':
          description: Successfully returned a list of hazmat items
          schema:
            items:
              $ref: '#/definitions/Hazmat'
            type: array
        default:
          $ref: '#/responses/defaultError'
      summary: A list of all hazmat supported by the API
      tags:
      - shipment-master-list
  /shipments/linear-feet/:
    post:
      parameters:
      - in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/LinearFeetEstimate'
      responses:
        '200':
          description: Successfully calculated linear feet
          schema:
            $ref: '#/definitions/LinearFeetEstimate'
        default:
          $ref: '#/responses/defaultError'
      summary: 'Estimate how many linear feet of a truck that ShipmentLineItems

        would fill if packed optimally

        '
      tags:
      - shipments
  /shipments/nmfc/:
    get:
      responses:
        '200':
          description: Successfully returned a list of NMFCs
          schema:
            items:
              $ref: '#/definitions/NMFC'
            type: array
        default:
          $ref: '#/responses/defaultError'
      summary: A list of all NMFCs supported by the API
      tags:
      - shipment-master-list
  /shipments/package-types/:
    get:
      responses:
        '200':
          description: Successfully returned a list of package types
          schema:
            items:
              $ref: '#/definitions/PackageType'
            type: array
        default:
          $ref: '#/responses/defaultError'
      security: []
      summary: A list of all package types supported by the API
      tags:
      - shipment-master-list
  /shipments/pickups/:
    get:
      parameters:
      - $ref: '#/parameters/page'
      - $ref: '#/parameters/page-size'
      - $ref: '#/parameters/ordering'
      - $ref: '#/parameters/q'
      - $ref: '#/parameters/scheduledDate'
      - $ref: '#/parameters/scheduledDateGte'
      - $ref: '#/parameters/scheduledDateLte'
      - $ref: '#/parameters/scheduledTimeWindowStartGte'
      - $ref: '#/parameters/scheduledTimeWindowStartLte'
      - $ref: '#/parameters/scheduledTimeWindowEndGte'
      - $ref: '#/parameters/scheduledTimeWindowEndLte'
      - $ref: '#/parameters/pointOfContact'
      - $ref: '#/parameters/pointOfContactContains'
      - $ref: '#/parameters/pointOfContactExcludes'
      - $ref: '#/parameters/specialInstructions'
      - $ref: '#/parameters/specialInstructionsContains'
      - $ref: '#/parameters/specialInstructionsExcludes'
      - $ref: '#/parameters/pickupPickupNumber'
      - $ref: '#/parameters/pickupPickupNumberContains'
      - $ref: '#/parameters/pickupPickupNumberExcludes'
      - $ref: '#/parameters/providerCode'
      - $ref: '#/parameters/providerCarrierCode'
      - $ref: '#/parameters/providerCarrierCodeContains'
      - $ref: '#/parameters/providerCarrierCodeExcludes'
      - $ref: '#/parameters/providerLocationId'
      - $ref: '#/parameters/providerLocationIdContains'
      - $ref: '#/parameters/providerLocationIdExcludes'
      - $ref: '#/parameters/addressBookEntry'
      - $ref: '#/parameters/isRegularlyScheduled'
      - $ref: '#/parameters/cancelled'
      - $ref: '#/parameters/pickupShipmentIds'
      - $ref: '#/parameters/pickupCompany'
      - $ref: '#/parameters/fedexAccount'
      - $ref: '#/parameters/upsAccount'
      responses:
        '200':
          description: List of cases for a given Company
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/ShipmentPickup'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedShipmentPickup
            type: object
      summary: List of Pickups for a Company
      tags:
      - shipments
    post:
      parameters:
      - in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/ScheduleShipmentPickupRequest'
      responses:
        '200':
          description: Pickup details
          schema:
            $ref: '#/definitions/ShipmentPickup'
        default:
          $ref: '#/responses/defaultError'
      summary: Schedule a pickup
      tags:
      - shipments
  /shipments/pickups/{shipmentPickupId}/:
    get:
      responses:
        '200':
          description: Data for shipment pickup
          schema:
            $ref: '#/definitions/ShipmentPickup'
        default:
          $ref: '#/responses/defaultError'
      summary: Retrieve data for a shipment pickup
      tags:
      - shipments
    parameters:
    - $ref: '#/parameters/shipmentPickupId'
    put:
      parameters:
      - in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/ShipmentPickup'
      responses:
        '200':
          description: Successfully updated the shipment pickup
          schema:
            $ref: '#/definitions/ShipmentPickup'
        default:
          $ref: '#/responses/defaultError'
      summary: Update a shipment pickup
      tags:
      - shipments
  /shipments/pickups/{shipmentPickupId}/cancel/:
    parameters:
    - $ref: '#/parameters/shipmentPickupId'
    post:
      responses:
        '200':
          description: Pickup details
          schema:
            $ref: '#/definitions/ShipmentPickup'
        default:
          $ref: '#/responses/defaultError'
      summary: Cancel a scheduled pickup
      tags:
      - shipment-actions
  /shipments/quote-truckload-historical-pricing/:
    post:
      parameters:
      - in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/TruckloadHistoricalPricingRequest'
      responses:
        '200':
          description: Historical pricing estimates from Shipwell internal system.
          schema:
            $ref: '#/definitions/TruckloadHistoricalPricingResponse'
        default:
          $ref: '#/responses/defaultError'
      summary: Retrieve historical estimates for truckload pricing.
      tags:
      - shipments
  /shipments/service-levels/:
    get:
      responses:
        '200':
          description: Successfully returned a list of service levels
          schema:
            items:
              $ref: '#/definitions/ServiceLevel'
            type: array
        default:
          $ref: '#/responses/defaultError'
      summary: A list of all service levels supported by the API
      tags:
      - shipment-master-list
  /shipments/shipment-modes/:
    get:
      responses:
        '200':
          description: Successfully returned a list of shipment modes
          schema:
            items:
              $ref: '#/definitions/ShipmentMode'
            type: array
        default:
          $ref: '#/responses/defaultError'
      summary: A list of all shipment modes supported by the API
      tags:
      - shipment-master-list
  /shipments/shipment-rep-roles/:
    get:
      responses:
        '200':
          description: Successfully returned a list of shipment rep roles
          schema:
            items:
              $ref: '#/definitions/ShipmentRepRole'
            type: array
        default:
          $ref: '#/responses/defaultError'
      summary: A list of all shipment rep roles supported by the API
      tags:
      - shipment-master-list
  /shipments/shipment-truckload-historical-pricing/:
    post:
      parameters:
      - in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/TruckloadHistoricalPricingRequest'
      responses:
        '200':
          description: Historical pricing estimates from Shipwell internal system.
          schema:
            $ref: '#/definitions/TruckloadHistoricalPricingResponse'
        default:
          $ref: '#/responses/defaultError'
      summary: Retrieve historical estimates for truckload pricing.
      tags:
      - shipments
  /shipments/standalone-truckload-historical-pricing/:
    post:
      parameters:
      - in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/TruckloadHistoricalPricingRequest'
      responses:
        '200':
          description: Historical pricing estimates from Shipwell internal system.
          schema:
            $ref: '#/definitions/TruckloadHistoricalPricingResponse'
        default:
          $ref: '#/responses/defaultError'
      summary: Retrieve historical estimates for truckload pricing.
      tags:
      - shipments
  /shipments/statuses/:
    get:
      responses:
        '200':
          description: Successfully returned a list of shipment states
          schema:
            items:
              $ref: '#/definitions/ShipmentState'
            type: array
        default:
          $ref: '#/responses/defaultError'
      summary: A list of all shipment states supported by the API
      tags:
      - shipment-master-list
  /shipments/tags/:
    get:
      responses:
        '200':
          description: List of all ShipmentTags for a company
          schema:
            items:
              $ref: '#/definitions/ShipmentTag'
            type: array
        default:
          $ref: '#/responses/defaultError'
      summary: List all ShipmentTags for the authenticated company
      tags:
      - shipments
    post:
      parameters:
      - *id036
      responses:
        '201':
          description: The newly created ShipmentTag
          schema:
            $ref: '#/definitions/ShipmentTag'
        default:
          $ref: '#/responses/defaultError'
      summary: Create a ShipmentTag for the authenticated company
      tags:
      - shipments
  /shipments/tags/{shipmentTagId}/:
    delete:
      responses:
        '204':
          $ref: '#/responses/noContent'
        default:
          $ref: '#/responses/defaultError'
      summary: Delete a ShipmentTag
      tags:
      - shipments
    get:
      responses:
        '200':
          description: The ShipmentTag with the given ID
          schema:
            $ref: '#/definitions/ShipmentTag'
        default:
          $ref: '#/responses/defaultError'
      summary: Retrieve a ShipmentTag by its ID
      tags:
      - shipments
    parameters:
    - $ref: '#/parameters/shipmentTagId'
    put:
      parameters:
      - *id036
      responses:
        '200':
          description: The updated ShipmentTag
          schema:
            $ref: '#/definitions/ShipmentTag'
        default:
          $ref: '#/responses/defaultError'
      summary: Update a ShipmentTag
      tags:
      - shipments
  /shipments/tender/:
    get:
      deprecated: true
      parameters:
      - $ref: '#/parameters/page'
      - $ref: '#/parameters/page-size'
      - $ref: '#/parameters/ordering'
      - $ref: '#/parameters/q'
      - $ref: '#/parameters/spotnegotiationClosedByCustomer'
      - $ref: '#/parameters/spotnegotiationClosedByVendor'
      - $ref: '#/parameters/spotnegotiationCustomerId'
      - $ref: '#/parameters/spotnegotiationCustomerNameContains'
      - $ref: '#/parameters/spotnegotiationInvolvedOnly'
      - $ref: '#/parameters/spotnegotiationInvolvedVendorUsers'
      - $ref: '#/parameters/spotnegotiationIsMostRecentWinner'
      - $ref: '#/parameters/spotnegotiationIsOpen'
      - $ref: '#/parameters/spotnegotiationShipment'
      - $ref: '#/parameters/spotnegotiationShipmentBolNumber'
      - $ref: '#/parameters/spotnegotiationShipmentBolNumberContains'
      - $ref: '#/parameters/spotnegotiationShipmentCapacityProviderCustomerReferenceNumber'
      - $ref: '#/parameters/spotnegotiationShipmentCapacityProviderCustomerReferenceNumberContains'
      - $ref: '#/parameters/spotnegotiationShipmentCustomerReferenceNumber'
      - $ref: '#/parameters/spotnegotiationShipmentCustomerReferenceNumberContains'
      - $ref: '#/parameters/spotnegotiationShipmentDelayed'
      - $ref: '#/parameters/spotnegotiationShipmentDestinationContains'
      - $ref: '#/parameters/spotnegotiationShipmentDropoffGte'
      - $ref: '#/parameters/spotnegotiationShipmentDropoffLte'
      - $ref: '#/parameters/spotnegotiationShipmentName'
      - $ref: '#/parameters/spotnegotiationShipmentNameContains'
      - $ref: '#/parameters/spotnegotiationShipmentOriginContains'
      - $ref: '#/parameters/spotnegotiationShipmentPickupGte'
      - $ref: '#/parameters/spotnegotiationShipmentPickupLte'
      - $ref: '#/parameters/spotnegotiationShipmentPickupNumber'
      - $ref: '#/parameters/spotnegotiationShipmentPickupNumberContains'
      - $ref: '#/parameters/spotnegotiationShipmentProNumber'
      - $ref: '#/parameters/spotnegotiationShipmentProNumberContains'
      - $ref: '#/parameters/spotnegotiationShipmentPurchaseOrderNumber'
      - $ref: '#/parameters/spotnegotiationShipmentPurchaseOrderNumberContains'
      - $ref: '#/parameters/spotnegotiationShipmentReferenceId'
      - $ref: '#/parameters/spotnegotiationShipmentReferenceIdContains'
      - $ref: '#/parameters/spotnegotiationShipmentState'
      - $ref: '#/parameters/spotnegotiationShipmentStatus'
      - $ref: '#/parameters/spotnegotiationVendorId'
      - $ref: '#/parameters/spotnegotiationVendorNameContains'
      responses:
        '200':
          description: Shipment successfully tendered
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/TenderRequest'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedTenders
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: List tendered Shipments
      tags:
      - shipments
    post:
      deprecated: true
      parameters:
      - *id037
      responses:
        '200':
          description: Shipment successfully tendered
          schema:
            $ref: '#/definitions/TenderRequest'
        default:
          $ref: '#/responses/defaultError'
      summary: Create & Tender a shipment to a shipwell company
      tags:
      - shipments
  /shipments/tender/{tenderId}/:
    delete:
      deprecated: true
      responses:
        '204':
          description: Shipment successfully marked as closed
        default:
          $ref: '#/responses/defaultError'
      summary: Mark a tendered shipment as no longer available. Renders as 'closed'
        in our system.
      tags:
      - shipments
    parameters:
    - $ref: '#/parameters/tenderId'
    put:
      deprecated: true
      parameters:
      - *id037
      responses:
        '200':
          description: Shipment successfully tendered
          schema:
            $ref: '#/definitions/TenderRequest'
        default:
          $ref: '#/responses/defaultError'
      summary: 'Update a tendered shipment to a shipwell company NOTE: Only valid
        for shipments created by POSTing to this endpoint. Shipments created via other
        methods are not guaranteed to work and may have unintended side effects.'
      tags:
      - shipments
  /shipments/tender/{tenderId}/actions/:
    parameters:
    - $ref: '#/parameters/tenderId'
    post:
      deprecated: true
      parameters:
      - *id038
      responses:
        '200':
          description: Accepted or Rejected SpotNegotiations
          schema:
            $ref: '#/definitions/SpotNegotiation'
        default:
          $ref: '#/responses/defaultError'
      summary: Accept or Reject tendered shipments.
      tags:
      - shipments
  /shipments/tender/{tenderId}/events/:
    parameters:
    - $ref: '#/parameters/tenderId'
    post:
      deprecated: true
      parameters:
      - *id039
      responses:
        '200':
          description: Tender events successfully saved.
          schema:
            properties:
              message:
                type: string
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Update tendered Shipment events.
      tags:
      - shipments
  /shipments/tenders/:
    get:
      parameters:
      - $ref: '#/parameters/page'
      - $ref: '#/parameters/page-size'
      - $ref: '#/parameters/ordering'
      - $ref: '#/parameters/q'
      - $ref: '#/parameters/tenderCreatedByCompany'
      - $ref: '#/parameters/tenderCustomerShipperReferenceNumber'
      responses:
        '200':
          description: Shipment successfully tendered
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/TenderRequest'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedTenders
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: List tendered Shipments
      tags:
      - shipments
    post:
      parameters:
      - *id037
      responses:
        '200':
          description: Shipment successfully tendered
          schema:
            $ref: '#/definitions/TenderRequest'
        default:
          $ref: '#/responses/defaultError'
      summary: Create & Tender a shipment to a shipwell company
      tags:
      - shipments
  /shipments/tenders/{tenderId}/:
    delete:
      responses:
        '204':
          description: Shipment successfully marked as closed
        default:
          $ref: '#/responses/defaultError'
      summary: Mark a tendered shipment as no longer available. Renders as 'closed'
        in our system.
      tags:
      - shipments
    parameters:
    - $ref: '#/parameters/tenderId'
    put:
      parameters:
      - *id037
      responses:
        '200':
          description: Shipment successfully tendered
          schema:
            $ref: '#/definitions/TenderRequest'
        default:
          $ref: '#/responses/defaultError'
      summary: 'Update a tendered shipment to a shipwell company NOTE: Only valid
        for shipments created by POSTing to this endpoint. Shipments created via other
        methods are not guaranteed to work and may have unintended side effects.'
      tags:
      - shipments
  /shipments/tenders/{tenderId}/actions/:
    parameters:
    - $ref: '#/parameters/tenderId'
    post:
      parameters:
      - *id038
      responses:
        '200':
          description: Accepted or Rejected SpotNegotiations
          schema:
            $ref: '#/definitions/SpotNegotiation'
        default:
          $ref: '#/responses/defaultError'
      summary: Accept or Reject tendered shipments.
      tags:
      - shipments
  /shipments/tenders/{tenderId}/events/:
    parameters:
    - $ref: '#/parameters/tenderId'
    post:
      parameters:
      - *id039
      responses:
        '200':
          description: Tender events successfully saved.
          schema:
            properties:
              message:
                type: string
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Update tendered Shipment events.
      tags:
      - shipments
  /shipments/truckload-historical-pricing/:
    post:
      parameters:
      - in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/TruckloadHistoricalPricingRequest'
      responses:
        '200':
          description: Historical pricing estimates from Shipwell internal system.
          schema:
            $ref: '#/definitions/TruckloadHistoricalPricingResponse'
        default:
          $ref: '#/responses/defaultError'
      summary: Retrieve historical estimates for truckload pricing.
      tags:
      - shipments
  /shipments/truckload-pricing/:
    post:
      parameters:
      - in: body
        name: body
        required: true
        schema:
          properties:
            destination_country:
              description: short code for destination country
              type: string
            destination_postal_code:
              type: string
            destination_state_province:
              type: string
            equipment_type:
              description: Shipment EquipmentType ID
              type: integer
            origin_country:
              description: short code for origin country
              type: string
            origin_postal_code:
              type: string
            origin_state_province:
              type: string
            pickup_start_date:
              description: 'Planned start date of the shipment,

                in string of the form YYYY-MM-DD

                '
              type: string
            pickup_start_time:
              format: time
              type: string
            shipment:
              description: Shipment being priced by the request
              format: uuid
              type: string
          required:
          - destination_postal_code
          - destination_state_province
          - destination_country
          - equipment_type
          - origin_postal_code
          - origin_state_province
          - origin_country
          title: TruckloadPricingRequest
          type: object
      responses:
        '200':
          description: Pricing estimate from Shipwell internal system
          schema:
            properties:
              calculation_units:
                enum:
                - dollars_per_hour
                - dollars_per_mile
                - line_haul
                type: string
              error_message:
                type: string
              failed:
                type: boolean
              suggested_accept_now:
                format: float
                type: number
              suggested_manual_max_buy:
                format: float
                type: number
              total_carrier_price:
                format: float
                type: number
              unit_price:
                format: float
                type: number
            title: TruckloadPricingResponse
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Retrieve an estimate for truckload pricing
      tags:
      - shipments
  /shipments/{shipmentId}/:
    delete:
      responses:
        '204':
          $ref: '#/responses/noContent'
        default:
          $ref: '#/responses/defaultError'
      summary: Delete a Shipment
      tags:
      - shipments
      - public
    get:
      responses:
        '200':
          description: Successfully returned a Shipment
          schema:
            $ref: '#/definitions/Shipment'
        default:
          $ref: '#/responses/defaultError'
      summary: Obtain information about a Shipment
      tags:
      - shipments
      - public
    parameters:
    - $ref: '#/parameters/shipmentId'
    - $ref: '#/parameters/companyImpersonation'
    put:
      description: 'After a successful update, the ''stops'' and ''line_items'' of
        the Shipment

        will be exactly the same as those provided in the request. This means

        that if existing Stops or ShipmentLineItems were left out of their

        arrays, those objects would be deleted. Providing existing objects in

        those arrays with their IDs will update those objects instead of

        creating or deleting them. Providing objects in the arrays that do

        not have IDs will create new objects. If you omit the ''stops'' or

        ''line_items'' arrays from the request body, no changes will be made

        to those related object sets.

        '
      parameters:
      - *id033
      responses:
        '200':
          description: Successfully updated a Shipment
          schema:
            $ref: '#/definitions/Shipment'
        default:
          $ref: '#/responses/defaultError'
      summary: Update a Shipment
      tags:
      - shipments
      - public
  /shipments/{shipmentId}/auto-book/:
    parameters:
    - $ref: '#/parameters/shipmentId'
    post:
      parameters:
      - in: body
        name: body
        required: true
        schema:
          properties:
            fedex_specific_options:
              $ref: '#/definitions/FedexShipmentOptions'
            quote:
              description: ID of the Quote to auto-book
              format: uuid
              type: string
            ups_specific_options:
              $ref: '#/definitions/UPSShipmentOptions'
            usps_specific_options:
              $ref: '#/definitions/USPSShipmentOptions'
          required:
          - quote
          title: AutoBookRequest
          type: object
      responses:
        '200':
          description: Successfully updated Shipment
          schema:
            $ref: '#/definitions/Shipment'
        default:
          $ref: '#/responses/defaultError'
      summary: 'Award an automated quote to a shipment, assign its carrier,

        dispatch through carrier''s API, generate a BOL, and send notifications

        '
      tags:
      - shipment-actions
  /shipments/{shipmentId}/automation/events/:
    get:
      parameters:
      - $ref: '#/parameters/page'
      - $ref: '#/parameters/page-size'
      - $ref: '#/parameters/ordering'
      responses:
        '200':
          description: Retrieved events
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/AutomationEvent'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedAutomationEvent
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Retrieve automated shipwell events
      tags:
      - shipments
    parameters:
    - $ref: '#/parameters/shipmentId'
    post:
      parameters:
      - *id040
      responses:
        '201':
          description: Newly created event
          schema:
            $ref: '#/definitions/AutomationEvent'
        default:
          $ref: '#/responses/defaultError'
      summary: Schedule an automated shipwell event
      tags:
      - shipments
  /shipments/{shipmentId}/automation/events/cancel-scheduled/:
    delete:
      responses:
        '204':
          $ref: '#/responses/noContent'
        default:
          $ref: '#/responses/defaultError'
      summary: Cancel and delete all future scheduled automation events on a shipment
      tags:
      - shipments
    parameters:
    - $ref: '#/parameters/shipmentId'
  /shipments/{shipmentId}/automation/events/{automationEventId}/:
    delete:
      responses:
        '204':
          $ref: '#/responses/noContent'
        default:
          $ref: '#/responses/defaultError'
      summary: Delete a shipwell automation event
      tags:
      - shipments
    get:
      responses:
        '200':
          description: The shipwell automation event
          schema:
            $ref: '#/definitions/AutomationEvent'
        default:
          $ref: '#/responses/defaultError'
      summary: Retrieve a shipwell automation event
      tags:
      - shipments
    parameters:
    - $ref: '#/parameters/shipmentId'
    - $ref: '#/parameters/automationEventId'
    put:
      parameters:
      - *id040
      responses:
        '200':
          description: Updated automation event
          schema:
            $ref: '#/definitions/AutomationEvent'
        default:
          $ref: '#/responses/defaultError'
      summary: Update a shipwell automation event
      tags:
      - shipments
  /shipments/{shipmentId}/award-quote/:
    parameters:
    - $ref: '#/parameters/shipmentId'
    post:
      parameters:
      - in: body
        name: body
        required: true
        schema:
          properties:
            quote:
              description: ID of the Quote to award
              format: uuid
              type: string
          title: AwardQuoteRequest
          type: object
      responses:
        '200':
          description: Successfully updated Shipment
          schema:
            $ref: '#/definitions/Shipment'
        default:
          $ref: '#/responses/defaultError'
      summary: Award a quote to a Shipment
      tags:
      - shipment-actions
  /shipments/{shipmentId}/cancel/:
    parameters:
    - $ref: '#/parameters/shipmentId'
    post:
      parameters:
      - in: body
        name: body
        required: true
        schema:
          properties:
            cancellation_reason:
              description: Reason for cancellation
              type: string
          title: CancellationRequest
          type: object
      responses:
        '200':
          description: Successfully updated Shipment
          schema:
            $ref: '#/definitions/Shipment'
        default:
          $ref: '#/responses/defaultError'
      summary: 'Cancel a shipment, and notify the currently assigned carrier

        of cancellation in an email

        '
      tags:
      - shipment-actions
  /shipments/{shipmentId}/carrier-assignments/:
    delete:
      responses:
        '204':
          $ref: '#/responses/noContent'
        default:
          $ref: '#/responses/defaultError'
      summary: Delete the carrier assignment associated with the shipment
      tags:
      - shipments
    get:
      responses:
        '200':
          description: Successfully returned a Carrier Assignment
          schema:
            $ref: '#/definitions/CarrierAssignment'
        default:
          $ref: '#/responses/defaultError'
      summary: Get the current assigned carrier associated with this shipment
      tags:
      - shipments
    parameters:
    - $ref: '#/parameters/shipmentId'
    post:
      description: 'Only one carrier assignment is associated with a company-shipment
        combo at a time.  POSTing here

        will overwrite the companies carrier assignment. Carrier assignments are only
        shown to the user who sets it

        '
      parameters:
      - *id041
      responses:
        '201':
          description: Successfully created a Carrier Assignment
          schema:
            $ref: '#/definitions/CarrierAssignment'
        default:
          $ref: '#/responses/defaultError'
      summary: Create a new carrier assignment
      tags:
      - shipments
  /shipments/{shipmentId}/carrier-assignments/{carrierAssignmentId}/:
    get:
      responses:
        '200':
          description: The requested CarrierAssignment
          schema:
            $ref: '#/definitions/CarrierAssignment'
        default:
          $ref: '#/responses/defaultError'
      summary: Retrieve a CarrierAssignment by its ID
      tags:
      - shipments
    parameters:
    - $ref: '#/parameters/shipmentId'
    - $ref: '#/parameters/carrierAssignmentId'
    put:
      parameters:
      - *id041
      responses:
        '200':
          description: Successfully updated charge line items
          schema:
            $ref: '#/definitions/CarrierAssignment'
        default:
          $ref: '#/responses/defaultError'
      summary: Update the charge line items of a CarrierAssignment
      tags:
      - shipments
  /shipments/{shipmentId}/cases/:
    get:
      parameters:
      - $ref: '#/parameters/page'
      - $ref: '#/parameters/page-size'
      responses:
        '200':
          description: List of cases for the given Shipment
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/ShipmentCase'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedShipmentCase
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: List cases for a Shipment
      tags:
      - tasks
    parameters:
    - $ref: '#/parameters/shipmentId'
    post:
      parameters:
      - *id013
      responses:
        '201':
          description: The newly created ShipmentCase
          schema:
            $ref: '#/definitions/ShipmentCase'
        default:
          $ref: '#/responses/defaultError'
      summary: Create a new case for a Shipment
      tags:
      - tasks
  /shipments/{shipmentId}/cases/{shipmentCaseId}/:
    delete:
      responses:
        '204':
          $ref: '#/responses/noContent'
        default:
          $ref: '#/responses/defaultError'
      summary: Delete a ShipmentCase
      tags:
      - tasks
    get:
      responses:
        '200':
          description: Data for a ShipmentCase
          schema:
            $ref: '#/definitions/ShipmentCase'
        default:
          $ref: '#/responses/defaultError'
      summary: Retrieve data for a ShipmentCase
      tags:
      - tasks
    parameters:
    - $ref: '#/parameters/shipmentId'
    - $ref: '#/parameters/shipmentCaseId'
    put:
      parameters:
      - *id013
      responses:
        '200':
          description: The updated ShipmentCase
          schema:
            $ref: '#/definitions/ShipmentCase'
        default:
          $ref: '#/responses/defaultError'
      summary: Update a ShipmentCase
      tags:
      - tasks
  /shipments/{shipmentId}/cell-tracking/:
    parameters:
    - $ref: '#/parameters/shipmentId'
    post:
      parameters:
      - in: body
        name: body
        required: true
        schema:
          properties:
            driver_phone:
              type: string
          required:
          - driver_phone
          title: CellTrackingInitRequest
          type: object
      responses:
        '204':
          $ref: '#/responses/noContent'
        default:
          $ref: '#/responses/defaultError'
      summary: Initialize a shipment for appless cell phone tracking
      tags:
      - shipments
  /shipments/{shipmentId}/documents/:
    get:
      parameters:
      - $ref: '#/parameters/page'
      - $ref: '#/parameters/page-size'
      responses:
        '200':
          description: Successfully retrieved document metadata
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/ShipmentDocumentMetadata'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedShipmentDocumentMetadata
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Get metadata about a documents on a shipment
      tags:
      - shipments
    parameters:
    - $ref: '#/parameters/shipmentId'
    post:
      parameters:
      - in: body
        name: body
        schema:
          properties:
            description:
              type: string
            file:
              format: binary
              type: string
            is_carrier_document:
              type: boolean
            type:
              type: string
          required:
          - file
          - type
          - description
          - is_carrier_document
          type: object
      responses:
        '201':
          description: Successfully created a document
          schema:
            $ref: '#/definitions/ShipmentDocumentMetadata'
        default:
          $ref: '#/responses/defaultError'
      summary: Create a document on a shipment
      tags:
      - shipments
  /shipments/{shipmentId}/documents/auditlog/:
    get:
      responses:
        '200':
          description: Successfully retrieved auditlog for documents sent
          schema:
            $ref: '#/definitions/DocumentAuditlog'
        default:
          $ref: '#/responses/defaultError'
      summary: Get auditlog of Documents sent
      tags:
      - shipments
    parameters:
    - $ref: '#/parameters/shipmentId'
  /shipments/{shipmentId}/documents/generate_bol/:
    get:
      responses:
        '200':
          description: Successfully generated BOL
          schema:
            $ref: '#/definitions/ShipmentDocumentMetadata'
        default:
          $ref: '#/responses/defaultError'
      summary: Generate a BOL for a shipment
      tags:
      - shipments
    parameters:
    - $ref: '#/parameters/shipmentId'
  /shipments/{shipmentId}/documents/generate_rate_confirmation/:
    get:
      responses:
        '200':
          description: Successfully generated Rate Confirmation
          schema:
            $ref: '#/definitions/ShipmentDocumentMetadata'
        default:
          $ref: '#/responses/defaultError'
      summary: Generate a Rate Confirmation for a shipment
      tags:
      - shipments
    parameters:
    - $ref: '#/parameters/shipmentId'
  /shipments/{shipmentId}/documents/send/:
    parameters:
    - $ref: '#/parameters/shipmentId'
    post:
      parameters:
      - in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/SendDocument'
      responses:
        '200':
          description: 'Task to send emails was properly enqueued to email service

            '
          schema:
            $ref: '#/definitions/SendDocument'
        default:
          $ref: '#/responses/defaultError'
      summary: Send shipment documents to a list of email recipients
      tags:
      - shipments
  /shipments/{shipmentId}/documents/{documentId}/:
    delete:
      responses:
        '204':
          $ref: '#/responses/noContent'
        default:
          $ref: '#/responses/defaultError'
      summary: Delete a Document
      tags:
      - shipments
    get:
      responses:
        '200':
          description: Successfully retrieved document metadata
          schema:
            $ref: '#/definitions/ShipmentDocumentMetadata'
        default:
          $ref: '#/responses/defaultError'
      summary: Get metadata about a document
      tags:
      - shipments
    parameters:
    - $ref: '#/parameters/shipmentId'
    - $ref: '#/parameters/documentId'
    put:
      parameters:
      - *id004
      responses:
        '200':
          description: Successfully updated document metadata
          schema:
            $ref: '#/definitions/ShipmentDocumentMetadata'
        default:
          $ref: '#/responses/defaultError'
      summary: Update metadata about a document
      tags:
      - shipments
  /shipments/{shipmentId}/equipment-config/:
    get:
      responses:
        '200':
          description: Successfully returned an Equipment Config
          schema:
            $ref: '#/definitions/EquipmentConfig'
        default:
          $ref: '#/responses/defaultError'
      summary: Get the current equipment config associated with this shipment
      tags:
      - shipments
    parameters:
    - $ref: '#/parameters/shipmentId'
    post:
      description: 'Only one equipment config is associated with a shipment at a time.  POSTing
        here will overwrite the previous

        equipment config and attempt to track with the new configuration.

        '
      parameters:
      - in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/CreateEquipmentConfig'
      responses:
        '201':
          description: Successfully created an EquipmentConfig
          schema:
            $ref: '#/definitions/EquipmentConfig'
        default:
          $ref: '#/responses/defaultError'
      summary: Create a new equipment config
      tags:
      - shipments
  /shipments/{shipmentId}/ftl-instant-rate-dispatch/:
    parameters:
    - $ref: '#/parameters/shipmentId'
    post:
      parameters:
      - in: body
        name: body
        required: true
        schema:
          properties:
            quote:
              format: uuid
              type: string
          required:
          - quote
          title: FtlInstantRateDispatchRequest
          type: object
      responses:
        '200':
          description: Successfully requested instant rate
          schema:
            properties:
              spot_negotiation_id:
                format: uuid
                type: string
            title: FtlInstantRateDispatchResponse
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Request a previously generated FTL Instant Rate
      tags:
      - shipment-actions
  /shipments/{shipmentId}/initiate-check-call/:
    parameters:
    - $ref: '#/parameters/shipmentId'
    post:
      parameters:
      - in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/InitiateCheckCallRequest'
      responses:
        '200':
          description: Successfully updated Shipment
          schema:
            $ref: '#/definitions/Shipment'
        default:
          $ref: '#/responses/defaultError'
      summary: 'Initiate a check call on the given shipment to the

        provided phone number

        '
      tags:
      - shipment-actions
  /shipments/{shipmentId}/messages/:
    get:
      parameters:
      - $ref: '#/parameters/page'
      - $ref: '#/parameters/page-size'
      responses:
        '200':
          description: List of messages for the given Shipment
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/ShipmentMessage'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedShipmentMessage
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: List messages for a Shipment
      tags:
      - shipments
    parameters:
    - $ref: '#/parameters/shipmentId'
    post:
      parameters:
      - *id042
      responses:
        '201':
          description: The newly created ShipmentMessage
          schema:
            $ref: '#/definitions/ShipmentMessage'
        default:
          $ref: '#/responses/defaultError'
      summary: Create a new message for a Shipment
      tags:
      - shipments
  /shipments/{shipmentId}/messages/{shipmentMessageId}/:
    delete:
      responses:
        '204':
          $ref: '#/responses/noContent'
        default:
          $ref: '#/responses/defaultError'
      summary: Delete a ShipmentMessage
      tags:
      - shipments
    get:
      responses:
        '200':
          description: Data for a ShipmentMessage
          schema:
            $ref: '#/definitions/ShipmentMessage'
        default:
          $ref: '#/responses/defaultError'
      summary: Retrieve data for a ShipmentMessage
      tags:
      - shipments
    parameters:
    - $ref: '#/parameters/shipmentId'
    - $ref: '#/parameters/shipmentMessageId'
    put:
      parameters:
      - *id042
      responses:
        '200':
          description: The updated ShipmentMessage
          schema:
            $ref: '#/definitions/ShipmentMessage'
        default:
          $ref: '#/responses/defaultError'
      summary: Update a ShipmentMessage
      tags:
      - shipments
  /shipments/{shipmentId}/notes/:
    get:
      parameters:
      - $ref: '#/parameters/page'
      - $ref: '#/parameters/page-size'
      responses:
        '200':
          description: List of notes for the given Shipment or Shipment Quote
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/ShipmentNote'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedShipmentNote
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: List notes for a Shipment or Shipment Quote
      tags:
      - shipments
    parameters:
    - $ref: '#/parameters/shipmentId'
    post:
      parameters:
      - *id043
      responses:
        '201':
          description: The newly created ShipmentNote
          schema:
            $ref: '#/definitions/ShipmentNote'
        default:
          $ref: '#/responses/defaultError'
      summary: Create a new note for a Shipment or Shipment Quote
      tags:
      - shipments
  /shipments/{shipmentId}/notes/{shipmentNoteId}/:
    delete:
      responses:
        '204':
          $ref: '#/responses/noContent'
        default:
          $ref: '#/responses/defaultError'
      summary: Delete a ShipmentNote
      tags:
      - shipments
    get:
      responses:
        '200':
          description: Data for a Shipment Note
          schema:
            $ref: '#/definitions/ShipmentNote'
        default:
          $ref: '#/responses/defaultError'
      summary: Retrieve data for a ShipmentNote
      tags:
      - shipments
    parameters:
    - $ref: '#/parameters/shipmentId'
    - $ref: '#/parameters/shipmentNoteId'
    put:
      parameters:
      - *id043
      responses:
        '200':
          description: The updated ShipmentNote
          schema:
            $ref: '#/definitions/ShipmentNote'
        default:
          $ref: '#/responses/defaultError'
      summary: Update a ShipmentNote
      tags:
      - shipments
  /shipments/{shipmentId}/reps/:
    get:
      parameters:
      - $ref: '#/parameters/shipmentId'
      responses:
        '200':
          description: Successfully returned list of reps
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/ShipmentRep'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedShipmentRep
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Get the list of the shipment reps
      tags:
      - shipments
    post:
      parameters:
      - $ref: '#/parameters/shipmentId'
      - in: body
        name: body
        required: true
        schema:
          properties:
            role:
              description: ID of the Role
              type: integer
            user:
              description: ID of the User
              format: uuid
              type: string
          title: CreateShipmentRepRequest
          type: object
      responses:
        '201':
          description: Successfully added rep to shipment
          schema:
            $ref: '#/definitions/ShipmentRep'
        default:
          $ref: '#/responses/defaultError'
      summary: Add a rep to a shipment
      tags:
      - shipments
  /shipments/{shipmentId}/reps/{repId}/:
    delete:
      parameters:
      - $ref: '#/parameters/shipmentId'
      - $ref: '#/parameters/repId'
      responses:
        '204':
          $ref: '#/responses/noContent'
        default:
          $ref: '#/responses/defaultError'
      summary: Delete a Rep record
      tags:
      - shipments
    get:
      parameters:
      - $ref: '#/parameters/shipmentId'
      - $ref: '#/parameters/repId'
      responses:
        '200':
          description: Retrieved Rep
          schema:
            $ref: '#/definitions/ShipmentRep'
        default:
          $ref: '#/responses/defaultError'
      summary: Get a specific shipment rep
      tags:
      - shipments
    put:
      parameters:
      - $ref: '#/parameters/shipmentId'
      - $ref: '#/parameters/repId'
      - in: body
        name: body
        required: true
        schema:
          properties:
            role:
              description: ID of the Role
              type: integer
            user:
              description: ID of the User
              format: uuid
              type: string
          title: UpdateShipmentRepRequest
          type: object
      responses:
        '200':
          description: Updated Rep
          schema:
            $ref: '#/definitions/ShipmentRep'
        default:
          $ref: '#/responses/defaultError'
      summary: Update a Rep record
      tags:
      - shipments
  /shipments/{shipmentId}/request-app-download/:
    parameters:
    - $ref: '#/parameters/shipmentId'
    post:
      responses:
        '204':
          $ref: '#/responses/noContent'
        default:
          $ref: '#/responses/defaultError'
      summary: Send an SMS message requesting that someone download Shipwell app
      tags:
      - shipments
  /shipments/{shipmentId}/route/:
    parameters:
    - $ref: '#/parameters/shipmentId'
    post:
      responses:
        '200':
          description: Recommended route
          schema:
            $ref: '#/definitions/ShipmentRoute'
        default:
          $ref: '#/responses/defaultError'
      summary: Get route from Here API, store it and return the route.
      tags:
      - shipments
  /shipments/{shipmentId}/routing-guide/initiate/:
    parameters:
    - $ref: '#/parameters/shipmentId'
    post:
      parameters:
      - in: body
        name: body
        required: true
        schema:
          properties:
            workflow:
              format: uuid
              type: string
          required:
          - workflow
          title: InitiateRoutingGuideRequest
          type: object
      responses:
        '204':
          $ref: '#/responses/noContent'
        default:
          $ref: '#/responses/defaultError'
      summary: Initiate a routing guide workflow for the given shipment
      tags:
      - shipment-actions
  /shipments/{shipmentId}/send-shipment-booked/:
    get:
      responses:
        '200':
          description: Successfully sent
        default:
          $ref: '#/responses/defaultError'
      summary: Trigger sending the shipment booked notification to all applicable
        actors on a shipment
      tags:
      - shipment-actions
    parameters:
    - $ref: '#/parameters/shipmentId'
    - $ref: '#/parameters/companyImpersonation'
  /shipments/{shipmentId}/share/:
    parameters:
    - $ref: '#/parameters/shipmentId'
    post:
      parameters:
      - in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/ShareShipment'
      responses:
        '201':
          description: Successfully shared the Shipment to the provided emails
          schema:
            $ref: '#/definitions/ShareShipment'
        default:
          $ref: '#/responses/defaultError'
      summary: Share a Shipment with outside parties and get a link to it
      tags:
      - shipment-actions
  /shipments/{shipmentId}/stops/:
    get:
      parameters:
      - $ref: '#/parameters/page'
      - $ref: '#/parameters/page-size'
      - $ref: '#/parameters/ordering'
      responses:
        '200':
          description: Successfully returned a list of Stops
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/Stop'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedStop
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Get a list of Stops for a given Shipment
      tags:
      - shipments
    parameters:
    - $ref: '#/parameters/shipmentId'
    - $ref: '#/parameters/companyImpersonation'
    post:
      description: 'The new Stop must not have the same ''ordinal_index'' as any other

        Stop associated with that Shipment.

        '
      parameters:
      - *id044
      responses:
        '201':
          description: Successfully created a Stop
          schema:
            $ref: '#/definitions/Stop'
        default:
          $ref: '#/responses/defaultError'
      summary: Create a new Stop
      tags:
      - shipments
  /shipments/{shipmentId}/stops/{stopId}/:
    delete:
      responses:
        '204':
          $ref: '#/responses/noContent'
        default:
          $ref: '#/responses/defaultError'
      summary: Delete a Stop
      tags:
      - shipments
    get:
      responses:
        '200':
          description: Successfully returned a Stop
          schema:
            $ref: '#/definitions/Stop'
        default:
          $ref: '#/responses/defaultError'
      summary: Obtain information about a Stop
      tags:
      - shipments
    parameters:
    - $ref: '#/parameters/shipmentId'
    - $ref: '#/parameters/stopId'
    - $ref: '#/parameters/companyImpersonation'
    put:
      parameters:
      - *id044
      responses:
        '200':
          description: Successfully updated a Stop
          schema:
            $ref: '#/definitions/Stop'
        default:
          $ref: '#/responses/defaultError'
      summary: Update a Stop
      tags:
      - shipments
  /shipments/{shipmentId}/timeline-events/:
    get:
      parameters:
      - $ref: '#/parameters/page'
      - $ref: '#/parameters/page-size'
      responses:
        '200':
          description: Successfully returned a list of ShipmentTimelineEvents
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/ShipmentTimelineEvent'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedShipmentTimelineEvent
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Get a list of ShipmentTimelineEvents for a given Shipment
      tags:
      - shipments
    parameters:
    - $ref: '#/parameters/shipmentId'
    post:
      parameters:
      - *id045
      responses:
        '201':
          description: Successfully created a ShipmentTimelineEvent
          schema:
            $ref: '#/definitions/ShipmentTimelineEvent'
        default:
          $ref: '#/responses/defaultError'
      summary: Create a new ShipmentTimelineEvent
      tags:
      - shipments
  /shipments/{shipmentId}/timeline-events/{shipmentTimelineEventId}/:
    delete:
      responses:
        '204':
          $ref: '#/responses/noContent'
      summary: Delete a ShipmentTimelineEvent
      tags:
      - shipments
    get:
      responses:
        '200':
          description: Successfully returned a ShipmentTimelineEvent
          schema:
            $ref: '#/definitions/ShipmentTimelineEvent'
        default:
          $ref: '#/responses/defaultError'
      summary: Obtain information about a ShipmentTimelineEvent
      tags:
      - shipments
    parameters:
    - $ref: '#/parameters/shipmentId'
    - $ref: '#/parameters/shipmentTimelineEventId'
    put:
      parameters:
      - *id045
      responses:
        '200':
          description: Successfully updated a ShipmentTimelineEvent
          schema:
            $ref: '#/definitions/ShipmentTimelineEvent'
        default:
          $ref: '#/responses/defaultError'
      summary: Update a ShipmentTimelineEvent
      tags:
      - shipments
  /shipments/{shipmentId}/tracking/:
    get:
      parameters:
      - $ref: '#/parameters/beginDatetime'
      - $ref: '#/parameters/endDatetime'
      - $ref: '#/parameters/shipmentLocationFilterDistance'
      responses:
        '200':
          description: List of locations for the given Shipment
          schema:
            properties:
              shipment_locations:
                items:
                  $ref: '#/definitions/ELDDeviceLocation'
                type: array
              tracking_source:
                enum:
                - eld
                - mobile_app
                - unknown
                type: string
              tracking_status:
                enum:
                - tracking_not_setup
                - not_tracking
                - tracking
                - tracking_complete
                type: string
            title: ShipmentLocationResponse
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Get locations for the shipment
      tags:
      - shipments
    parameters:
    - $ref: '#/parameters/shipmentId'
    post:
      parameters:
      - in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/ELDLocationUpdateRequest'
      responses:
        '204':
          $ref: '#/responses/noContent'
        default:
          $ref: '#/responses/defaultError'
      summary: Manually update Shipment Location. Authenticated drivers can also use
        this route to update their location
      tags:
      - shipments
  /sms/lookup/:
    post:
      parameters:
      - in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/PhoneNumberLookup'
      responses:
        '201':
          description: Phone number metadata
          schema:
            $ref: '#/definitions/PhoneNumberLookup'
        default:
          $ref: '#/responses/defaultError'
      summary: Look up information about a phone number
      tags:
      - sms
  /tasks/:
    get:
      parameters:
      - $ref: '#/parameters/page'
      - $ref: '#/parameters/page-size'
      - $ref: '#/parameters/ordering'
      - $ref: '#/parameters/taskAssignee'
      - $ref: '#/parameters/taskCaseId'
      - $ref: '#/parameters/taskCreatedByUser'
      - $ref: '#/parameters/taskDescriptionContains'
      - $ref: '#/parameters/taskDueDateGte'
      - $ref: '#/parameters/taskDueDateLte'
      - $ref: '#/parameters/taskIsOpen'
      - $ref: '#/parameters/taskShipmentId'
      responses:
        '200':
          description: List all tasks
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/Task'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedTask
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: List all tasks
      tags:
      - tasks
    post:
      parameters:
      - *id035
      responses:
        '201':
          description: The newly created Task
          schema:
            $ref: '#/definitions/Task'
        default:
          $ref: '#/responses/defaultError'
      summary: Create a new Task
      tags:
      - tasks
  /tasks/{taskId}/:
    delete:
      responses:
        '204':
          $ref: '#/responses/noContent'
        default:
          $ref: '#/responses/defaultError'
      summary: Delete a Task
      tags:
      - tasks
    get:
      responses:
        '200':
          description: Data for a task
          schema:
            $ref: '#/definitions/Task'
        default:
          $ref: '#/responses/defaultError'
      summary: Retrieve data for a task
      tags:
      - tasks
    parameters:
    - $ref: '#/parameters/taskId'
    put:
      parameters:
      - *id035
      responses:
        '200':
          description: The updated Task
          schema:
            $ref: '#/definitions/Task'
        default:
          $ref: '#/responses/defaultError'
      summary: Update a Task
      tags:
      - tasks
  /tenders/:
    get:
      parameters:
      - $ref: '#/parameters/page'
      - $ref: '#/parameters/page-size'
      - $ref: '#/parameters/tenderCreatedByCompany'
      - $ref: '#/parameters/tenderCustomerShipperReferenceNumber'
      - $ref: '#/parameters/tenderExternalSystemShipmentId'
      - $ref: '#/parameters/tenderShipmentId'
      - $ref: '#/parameters/tenderShipmentReferenceId'
      - $ref: '#/parameters/tenderTenderToCompany'
      responses:
        '200':
          description: Shipments successfully listed
          schema:
            properties:
              page_size:
                type: integer
              results:
                items:
                  $ref: '#/definitions/TenderGet'
                type: array
              total_count:
                type: integer
              total_pages:
                type: integer
            title: PaginatedTenders
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: List Tenders Shipments
      tags:
      - tenders
    post:
      parameters:
      - in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/TenderCreate'
      responses:
        '200':
          description: Shipment successfully tendered
          schema:
            $ref: '#/definitions/TenderGet'
        default:
          $ref: '#/responses/defaultError'
      summary: Tender a shipment to a company
      tags:
      - tenders
  /tenders/{tenderId}/:
    get:
      responses:
        '200':
          description: Shipment successfully tendered
          schema:
            $ref: '#/definitions/TenderGet'
        default:
          $ref: '#/responses/defaultError'
      summary: Fetch Details about a tender
      tags:
      - tenders
    parameters:
    - $ref: '#/parameters/tenderId'
  /tenders/{tenderId}/accept/:
    parameters:
    - $ref: '#/parameters/tenderId'
    post:
      responses:
        '204':
          description: Tender successfully accepted
        default:
          $ref: '#/responses/defaultError'
      summary: Accept a Tender
      tags:
      - tenders
  /tenders/{tenderId}/email-preview/:
    get:
      responses:
        '200':
          description: The HTML Template and Message
          schema:
            properties:
              message:
                type: string
              template:
                type: string
            title: TenderEmailPreview
            type: object
        default:
          $ref: '#/responses/defaultError'
      summary: Returns a preview of the HTML Email that will be sent and the included
        message
      tags:
      - tenders
    parameters:
    - $ref: '#/parameters/tenderId'
  /tenders/{tenderId}/reject/:
    parameters:
    - $ref: '#/parameters/tenderId'
    post:
      parameters:
      - in: body
        name: body
        schema:
          properties:
            rejection_code:
              enum:
              - A13
              - EQU
              - CPU
              - LL1
              - LL2
              type: string
            rejection_reason:
              type: string
          required:
          - rejection_code
          title: TenderRejectRequest
          type: object
      responses:
        '204':
          description: Tender successfully rejected
        default:
          $ref: '#/responses/defaultError'
      summary: Rejects a Tender
      tags:
      - tenders
  /tenders/{tenderId}/revoke/:
    parameters:
    - $ref: '#/parameters/tenderId'
    post:
      responses:
        '204':
          description: Tender successfully revoked
        default:
          $ref: '#/responses/defaultError'
      summary: Revokes a Tender
      tags:
      - tenders
  /vendors/vendor-poc-roles/:
    get:
      responses:
        '200':
          description: Successfully returned a list of roles
          schema:
            items:
              $ref: '#/definitions/JobRole'
            type: array
        default:
          $ref: '#/responses/defaultError'
      summary: A list of all point of contact roles/job_titles supported by the API
      tags:
      - shipment-master-list
  /versions/:
    get:
      responses:
        '200':
          description: Successfully returned versions
          schema:
            $ref: '#/definitions/Versions'
        default:
          $ref: '#/responses/defaultError'
      summary: Obtain information about system versions
      tags:
      - configuration
produces:
- application/json
responses:
  defaultError:
    description: Default error response
    schema:
      $ref: '#/definitions/ShipwellError'
  noContent:
    description: Successfully carried out the operation. No content returned
    schema:
      properties:
        message:
          type: string
      title: NoContentResponse
      type: object
schemes:
- https
security:
- AuthToken: []
securityDefinitions:
  AuthToken:
    in: header
    name: Authorization
    type: apiKey
swagger: '2.0'
