---
title: "Update offer with automatic margin recalculation"
method: PATCH
path: "/v2/tms/offers/{offer_id}"
tags: ["v2", "tms", "Load Offers"]
---

# Update offer with automatic margin recalculation

`PATCH /v2/tms/offers/{offer_id}`

## Request

- Base URL: `https://api.mentium.io` (the document declares no server; this is the origin it was published from)
- URL: `https://api.mentium.io/v2/tms/offers/{offer_id}`
- Auth: HTTP bearer

Update persisted offer fields.

    Notes:
    - `customer_rate_amount` is not stored in Nexus; Vortex is its source of truth.
    - margins are computed at read-time for display

    **Validation:**
    - max_load_offer_carrier_rate_amount: >= min_load_offer_carrier_rate_amount

## Path parameters

- `offer_id` string, required

## Headers

- `mentium-workspace-id` string, nullable

## Request body

- UpdateOfferRequest: Update request. Notes: - customer_rate_amount is not editable; Vortex is its source of truth.
  - `min_load_offer_carrier_rate_amount` union: Carrier offer amount (in org's current base currency)
    - number
    - string
  - `max_load_offer_carrier_rate_amount` union: Maximum carrier bid
    - number
    - string

## Response `200`

Successful Response

- OfferResponse: Load offer data returned from API
  - `id` string, required
  - `organization_id` string, required
  - `workspace_id` string, required
  - `integration_connection_id` string, required
  - `external_reference_load_id` string, required
  - `customer_rate_amount` string, nullable: What customer pays broker (revenue) from Vortex, converted to display_currency using today's rate
  - `min_load_offer_carrier_rate_amount` string, nullable: Minimum carrier-rate bound for the load offer (in display_currency)
  - `min_load_offer_carrier_rate_source` 'RELATIVE_TO_TMS_MIN_CARRIER_RATE' | 'RELATIVE_TO_TMS_MAX_CARRIER_RATE' | 'RELATIVE_TO_TMS_CUSTOMER_RATE' | 'RELATIVE_TO_DAT_MARKET_RATE' | 'RELATIVE_TO_GREENSCREENS_MARKET_RATE' | 'RELATIVE_TO_MIN_LOAD_OFFER_CARRIER_RATE' | 'RELATIVE_TO_MAX_LOAD_OFFER_CARRIER_RATE' | 'RELATIVE_TO_HISTORICAL_CARRIER_RATE' | 'RELATIVE_TO_LOAD_BOARD_POSTED_CARRIER_RATE' | 'MANUAL_OVERRIDE' | 'MENTIUM_UNKNOWN_VALUE'
  - `min_load_offer_carrier_rate_source_raw_amount` string, nullable
  - `max_load_offer_carrier_rate_amount` string, nullable: Maximum carrier-rate bound for the load offer
  - `max_load_offer_carrier_rate_source` 'RELATIVE_TO_TMS_MIN_CARRIER_RATE' | 'RELATIVE_TO_TMS_MAX_CARRIER_RATE' | 'RELATIVE_TO_TMS_CUSTOMER_RATE' | 'RELATIVE_TO_DAT_MARKET_RATE' | 'RELATIVE_TO_GREENSCREENS_MARKET_RATE' | 'RELATIVE_TO_MIN_LOAD_OFFER_CARRIER_RATE' | 'RELATIVE_TO_MAX_LOAD_OFFER_CARRIER_RATE' | 'RELATIVE_TO_HISTORICAL_CARRIER_RATE' | 'RELATIVE_TO_LOAD_BOARD_POSTED_CARRIER_RATE' | 'MANUAL_OVERRIDE' | 'MENTIUM_UNKNOWN_VALUE'
  - `max_load_offer_carrier_rate_source_raw_amount` string, nullable
  - `customer_currency` string, nullable: Customer billing currency from Vortex.
  - `org_currency` string, nullable: Currency the load-offer carrier-rate bounds are stored in
  - `negotiation_currency_basis` string, nullable: Negotiation currency basis setting (organization|customer|carrier).
  - `display_currency` string, nullable: Currency amounts are displayed in (org's current base currency)
  - `was_converted` boolean: True if amounts were converted due to org currency change
  - `created_by_user_id` string, nullable: User who created the offer (null for automated workflows)
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required
  - `carrier_offers` CarrierOfferSchema[]
    - `id` string, required
    - `load_offer_id` string, required
    - `conversation_id` string, nullable
    - `external_reference_carrier_id` string, required
    - `carrier_email` string, nullable
    - `carrier_name` string, nullable
    - `status` 'QUEUED' | 'SENT' | 'NEGOTIATING' | 'HUMAN_HAND_OFF' | 'BOOKED' | 'ACCEPTED' | 'DECLINED' | 'CLOSED' | 'CANCELLED' | 'SKIPPED', required
    - `skip_reason` string, nullable
    - `min_carrier_offer_carrier_rate_amount` string, nullable
    - `min_carrier_offer_carrier_rate_source` 'RELATIVE_TO_TMS_MIN_CARRIER_RATE' | 'RELATIVE_TO_TMS_MAX_CARRIER_RATE' | 'RELATIVE_TO_TMS_CUSTOMER_RATE' | 'RELATIVE_TO_DAT_MARKET_RATE' | 'RELATIVE_TO_GREENSCREENS_MARKET_RATE' | 'RELATIVE_TO_MIN_LOAD_OFFER_CARRIER_RATE' | 'RELATIVE_TO_MAX_LOAD_OFFER_CARRIER_RATE' | 'RELATIVE_TO_HISTORICAL_CARRIER_RATE' | 'RELATIVE_TO_LOAD_BOARD_POSTED_CARRIER_RATE' | 'MANUAL_OVERRIDE' | 'MENTIUM_UNKNOWN_VALUE'
    - `min_carrier_offer_carrier_rate_source_raw_amount` string, nullable
    - `max_carrier_offer_carrier_rate_amount` string, nullable
    - `max_carrier_offer_carrier_rate_source` 'RELATIVE_TO_TMS_MIN_CARRIER_RATE' | 'RELATIVE_TO_TMS_MAX_CARRIER_RATE' | 'RELATIVE_TO_TMS_CUSTOMER_RATE' | 'RELATIVE_TO_DAT_MARKET_RATE' | 'RELATIVE_TO_GREENSCREENS_MARKET_RATE' | 'RELATIVE_TO_MIN_LOAD_OFFER_CARRIER_RATE' | 'RELATIVE_TO_MAX_LOAD_OFFER_CARRIER_RATE' | 'RELATIVE_TO_HISTORICAL_CARRIER_RATE' | 'RELATIVE_TO_LOAD_BOARD_POSTED_CARRIER_RATE' | 'MANUAL_OVERRIDE' | 'MENTIUM_UNKNOWN_VALUE'
    - `max_carrier_offer_carrier_rate_source_raw_amount` string, nullable
    - `opening_carrier_rate_amount` number, nullable
    - `sent_at` string, date-time, nullable
    - `booked_at` string, date-time, nullable
    - `accepted_at` string, date-time, nullable
    - `declined_at` string, date-time, nullable
    - `closed_at` string, date-time, nullable
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
    - `latest_carrier_rate_amount` number, nullable
    - `current_carrier_rate_amount` number, nullable
    - `phone_calls` PhoneCallEmbedded[]
      - `id` string, required
      - `direction` string, required
      - `status` string, required
      - `from_number` string, required
      - `to_number` string, required
      - `started_at` string, date-time, nullable
      - `ended_at` string, date-time, nullable

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/mentium/apis/mentium-api.md) - [All operations](https://skmtc.dev/mentium/apis/mentium-api/llms.txt) - [OpenAPI document](https://skmtc.dev/mentium/apis/mentium-api/revisions/b4ed8e59432e?raw)
