---
title: "Create thread"
method: POST
path: "/listing/bid_threads/create/v1"
tags: ["/listing"]
---

# Create thread

`POST /listing/bid_threads/create/v1`

Opens a new BidThread on a Listing. The body carries the thread's first Bid (SUBMIT / ACCEPT / DENY). Bidder identity is resolved server-side from the caller's JWT + the listing's audience. | authz: allowed_org_types=[provider], min_org_role=driver | (BidThreadClientCreate1) -> (PydanticObjectId)

## Request body

- BidThreadClientCreate1 — Opens a thread with its first Bid. Inherits thread metadata from `BidThreadBase1` and opening-Bid content from `BidClientCreate1` (action, pro_forma_line_items, comment). The server wraps the Bid content into `bids[0]`, filling `acted_by_user_id` (JWT), `from_lister=False`, and `created_at_timestamp`. Bidder identity is derived from the listing's audience + the caller's JWT.
  - `action` 'submit' | 'counter' | 'accept' | 'deny' | 'withdraw', required
  - `pro_forma_line_items` ProFormaLineItem1[]
    - `schema_version` 1
    - `description` string, required
    - `quantity` number, required
    - `unit` 'each' | 'shipment' | 'hour' | 'day' | 'mile' | 'kilometer' | 'pound' | 'kilogram'
    - `unit_price` number, required
    - `currency_code` 'USD' | 'CAD' | 'EUR' | 'GBP' | 'MXN' | 'AUD' | 'JPY' | 'CNY' | 'CHF' | 'INR' | 'XXX', required
    - `line_item_type` 'base_rate' | 'additional_mileage' | 'long_distance_mileage' | 'fuel' | 'extra_stop' | 'wait_time' | 'attempt' | 'pick_and_hold' | 'parking' | 'tolls' | 'additional_fee' | 'dispute' | 'equipment' | 'dangerous_goods' | 'special_vehicle' | 'after_hours' | 'weekend' | 'holiday' | 'air_waybill' | 'insurance' | 'off_network_carrier' | 'obc_day_rate' | 'flight_ticket' | 'tracking_device_label' | 'tracking_device_tag' | 'tracking_device_other' | 'tax_1' | 'tax_2' | 'tax_3' | 'other', required
    - `awb_number` string, nullable — IATA Air Waybill number: 3-digit airline prefix + 8-digit serial, e.g. '020-12345678'.
    - `tax_percentage` number, nullable
    - `provenance` 'rate_sheet' | 'ad_hoc' | 'pro_forma', required
    - `rate_sheet_id` string, nullable
    - `created_at_timestamp` string, date-time
  - `comment` string, nullable
  - `schema_version` 1
  - `listing_id` string, required

## Response `200`

Successful Response

- string

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/chrt/apis/chrt-fastapi.md) · [All operations](https://skmtc.dev/chrt/apis/chrt-fastapi/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/chrt/chrt-fastapi/revisions/ea04e157edb3/schema)
