v2
tms
Load Offers

Send offer using default template

Sends offer to carriers using the default template for the channel.

**Auto-Creation:**
- If the offer doesn't exist, it will be automatically created using calculated defaults
- Requires `integration_connection_id` in request body when offer doesn't exist
- Pass the literal string `new` as `offer_id` to skip the existing-offer lookup and force
  creation from the request payload (used by the compose flow before any offer is persisted)
- When `min_load_offer_carrier_rate_amount` is provided in the body it overrides any saved value;
  the LoadOffer is created or updated at send time using that amount

**Template System:**
- If `template_id` is provided, uses that specific template
- If `subject` and `body` are provided, uses them directly (no template)
- Otherwise, uses the default template for the channel
- Template variables are automatically filled with load and carrier data from Vortex

**Template Variables:**
Templates support {{variable}} syntax filled from LoadSchema and CarrierSchema:
- {{load.external_reference_id}}, {{load.weight}}, {{load.equipment_type}}
- {{carrier.name}}, {{carrier.dot_number}}
- {{load.customer.name}}, {{load.stops.0.city}}, etc.

**Channel Types:**
- EMAIL: Sends via workspace email integration
- SMS: Sends via SMS integration (future)
- WHATSAPP: Sends via WhatsApp integration (future)
post/v2/tms/offers/{offer_id}/send

Request

  • Base URL
    https://api.mentium.io (the document declares no server; this is the origin it was published from)
  • Auth
    HTTP bearer

Path parameters

offer_idstring required

Headers

mentium-workspace-idstring nullable

Request body

channel'EMAIL' | 'SMS' | 'WHATSAPP' | 'TEAMS' required
subjectstring nullable

Email subject (optional if using template)

bodystring nullable

Email body HTML (optional if using template)

load_external_reference_idstring required
integration_connection_idstring required

TMS integration connection UUID (required for auto-creating offer if it doesn't exist)

min_load_offer_carrier_rate_amountnumber nullable

Carrier-facing opening rate to persist if the offer is created or updated during send.

max_load_offer_carrier_rate_amountnumber nullable

Maximum acceptable carrier bid.

template_idstring nullable

Specific template ID to use (optional, uses default if not provided)

content_is_renderedboolean

When true, subject/body are final edited content and must not be rendered again.

Response

Successful Response

successboolean required
sent_countinteger required

Changes

No recorded changes to this operation across all 2 revisions of this API.