TruckSmarter Loads API

Post, update, and remove freight loads on the TruckSmarter load board.

OpenAPI Specification

trucksmarter-loads-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: TruckSmarter Load Posting Loads API
  description: This guide enables partners to integrate with the TruckSmarter Load Posting API to create and delete freight loads in the TruckSmarter system. TruckSmarter operates a free load board for truck drivers and owner operators; this partner API lets brokers and partners post, update, and remove freight loads programmatically. Generated by API Evangelist from the provider's published documentation (Notion) — no OpenAPI is published by the provider.
  version: 1.0.0
  contact:
    url: https://www.trucksmarter.com/
  x-apievangelist:
    generated: '2026-07-21'
    method: generated
    source: https://trucksmarter.notion.site/TruckSmarter-API-Load-Posting-Documentation-2014aa4e9bc580fe80cfe87e18516dea
servers:
- url: https://api.trucksmarter.com
security:
- bearerAuth: []
tags:
- name: Loads
  description: Post, update, and remove freight loads on the TruckSmarter load board.
paths:
  /loads/postings/post/:
    post:
      operationId: postLoads
      tags:
      - Loads
      summary: Post and update loads
      description: Create or update one or more loads.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostLoadsRequest'
            example:
              loads:
              - load_id: '123456'
                equipment:
                - van
                - reefer
                contact_phone: 555-123-4567
                length: 53
                weight: 45000
                requirements:
                - hazmat
                - team
                commodity: Electronics
                distance: 750
                general_notes: Handle with care
                contact_extension: '202'
                contact_email: dispatcher@example.com
                offer_price: 2500
                stops:
                - start_time: '2025-06-01T08:00:00Z'
                  end_time: '2025-06-01T10:00:00Z'
                  address: 123 Main St
                  city: Chicago
                  state: IL
                  zip_code: '60601'
                  index: 0
                  type: P
                  business: Warehouse A
                  latitude: 41.8781
                  longitude: -87.6298
                  country: US
                  notes: Use dock 5
                - start_time: '2025-06-02T14:00:00Z'
                  city: Detroit
                  state: MI
                  index: 1
                  type: D
                  latitude: 42.3314
                  longitude: -83.0458
                  country: US
      responses:
        '200':
          description: Loads posted successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostLoadsResponse'
              example:
                success: true
                loadCount: 1
                message: 1 load posted successfully
        '400':
          description: Bad Request.
  /loads/postings/delete/:
    post:
      operationId: deleteLoads
      tags:
      - Loads
      summary: Remove loads
      description: Delete one or more loads by their loadId.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeleteLoadsRequest'
            example:
              loadIds:
              - '123456'
              - '789012'
      responses:
        '200':
          description: Loads removed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteLoadsResponse'
              example:
                success: true
                removeCount: 2
                message: 2 loads removed
        '400':
          description: Bad Request.
components:
  schemas:
    Load:
      type: object
      description: A freight load posting. Either contact_phone or contact_email is required (contact_phone is optional if contact_email is used, and vice versa).
      required:
      - load_id
      - equipment
      - stops
      properties:
        load_id:
          type: string
          description: Unique identifier
        equipment:
          type: array
          description: Equipment types required
          items:
            $ref: '#/components/schemas/Equipment'
        stops:
          type: array
          description: Pickup/dropoff locations
          items:
            $ref: '#/components/schemas/Stop'
        contact_phone:
          type: string
          description: Primary contact phone (required if contact_email is not used)
        contact_extension:
          type: string
          description: Contact phone extension
        contact_email:
          type: string
          description: Contact email (required if contact_phone is not used)
        length:
          type: integer
          description: Length of trailer in feet
        weight:
          type: number
          description: Weight in pounds
        requirements:
          type: array
          description: Special requirements
          items:
            $ref: '#/components/schemas/Requirement'
        commodity:
          type: string
          description: Commodity type
        distance:
          type: number
          description: Route distance in miles
        general_notes:
          type: string
          description: General non-stop-specific notes
        offer_price:
          type: number
          description: Proposed offer price (USD)
    DeleteLoadsRequest:
      type: object
      required:
      - loadIds
      properties:
        loadIds:
          type: array
          description: Load IDs to delete
          items:
            type: string
    Requirement:
      type: string
      description: Supported special requirements.
      enum:
      - airride
      - btrain
      - ctpat
      - droptrailer
      - team
      - walkingfloor
      - foodgrade
      - straps
      - chains
      - tankerendorsement
      - maxi
      - curtains
      - overdimensional
      - ppe
      - ramp
      - sidekit
      - tarps
      - doubledrop
      - vented
      - twic
      - lowboy
      - hazmat
      - chains/straps
      - ltl
    Equipment:
      type: string
      description: Supported equipment types.
      enum:
      - van
      - reefer
      - flatbed
      - container
      - stepdeck
      - poweronly
      - gooseneck
      - hotshot
      - boxtruck
      - conestoga
      - partial
      - animalcarrier
      - carcarrier
      - cargovan
      - dumptruck
      - boathauler
      - hopperbottom
      - tanker
      - other
    PostLoadsResponse:
      type: object
      properties:
        success:
          type: boolean
        loadCount:
          type: integer
        message:
          type: string
    PostLoadsRequest:
      type: object
      required:
      - loads
      properties:
        loads:
          type: array
          description: Loads
          items:
            $ref: '#/components/schemas/Load'
    DeleteLoadsResponse:
      type: object
      properties:
        success:
          type: boolean
        removeCount:
          type: integer
        message:
          type: string
    Stop:
      type: object
      description: A pickup or delivery stop on the load's route.
      required:
      - start_time
      - city
      - state
      - index
      - type
      - latitude
      - longitude
      - country
      properties:
        start_time:
          type: string
          format: date-time
          description: ISO 8601 datetime
        end_time:
          type: string
          format: date-time
          description: Optional ISO 8601 datetime
        address:
          type: string
          description: Street address
        city:
          type: string
          description: City
        state:
          type: string
          description: State/Province
        zip_code:
          type: string
          description: Postal/ZIP code
        index:
          type: integer
          description: Sequence in route (0 = first)
        type:
          type: string
          description: P or D (for Pickup or Delivery)
          enum:
          - P
          - D
        business:
          type: string
          description: Business name
        latitude:
          type: number
          description: Latitude
        longitude:
          type: number
          description: Longitude
        country:
          type: string
          description: Country (ISO 3166-1 alpha-2)
        notes:
          type: string
          description: Stop-specific notes
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: 'All endpoints require an API key passed via the Authorization header: `Authorization: Bearer YOUR_API_KEY`.'
externalDocs:
  description: TruckSmarter API Load Posting Documentation
  url: https://trucksmarter.notion.site/TruckSmarter-API-Load-Posting-Documentation-2014aa4e9bc580fe80cfe87e18516dea