Cash bids

Read and manage your elevator's standing cash bids. Requires the cashbids.read scope to read and cashbids.write to publish or update. Only elevator accounts may publish.

The cash bid model

  • Name
    id
    Type
    string
    Description
    Opaque cash bid id, e.g. cb_7Rt4.
  • Name
    identifier
    Type
    string
    Description
    Human identifier, e.g. CB-1042.
  • Name
    commodity
    Type
    object
    Description
    slug and name.
  • Name
    price
    Type
    object
    Description
    amount, currency, unit (per MT, CAD).
  • Name
    quantity_mt
    Type
    number
    Description
    Quantity in tonnes.
  • Name
    delivery
    Type
    object
    Description
    start and end dates.
  • Name
    is_active
    Type
    boolean
    Description
    Whether the bid is live.

GET/v1/cash-bids

List cash bids

Your elevator's cash bids.

  • Name
    is_active
    Type
    boolean
    Description
    Filter by active status.
  • Name
    commodity
    Type
    string
    Description
    Filter by commodity slug.

Request

GET
/v1/cash-bids
curl "https://api.mygrainexchange.com/v1/cash-bids?is_active=true" \
  -H "Authorization: Bearer {token}"

POST/v1/cash-bids

Publish a cash bid

Create a new cash bid. Price changes are tracked automatically.

  • Name
    commodity
    Type
    string
    Description
    Commodity slug (required).
  • Name
    price
    Type
    object
    Description
    amount, in MT (required).
  • Name
    quantity_mt
    Type
    number
    Description
    Quantity in tonnes (required).
  • Name
    delivery
    Type
    object
    Description
    start and end dates (required).
  • Name
    delivery_location_id
    Type
    integer
    Description
    Delivery location.
  • Name
    expires_at
    Type
    string
    Description
    ISO date.

Request

POST
/v1/cash-bids
curl https://api.mygrainexchange.com/v1/cash-bids \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{
    "commodity": "canola",
    "price": { "amount": 690.0, "unit": "MT" },
    "quantity_mt": 500.0,
    "delivery": { "start": "2026-08-01", "end": "2026-10-31" }
  }'

PATCH/v1/cash-bids/:id

Update a cash bid

Update price, quantity, delivery window, expiry, or deactivate. A price change writes a new history point.

Request

PATCH
/v1/cash-bids/cb_7Rt4
curl -X PATCH https://api.mygrainexchange.com/v1/cash-bids/cb_7Rt4 \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{ "price": { "amount": 685.0, "unit": "MT" }, "is_active": false }'

GET/v1/cash-bids/:id/offers

List offers on a cash bid

Sellers offer against your cash bids. The seller stays masked until both invoices are paid. You are notified of new offers via the cashbid.offer_received webhook.

Request

GET
/v1/cash-bids/cb_7Rt4/offers
curl https://api.mygrainexchange.com/v1/cash-bids/cb_7Rt4/offers \
  -H "Authorization: Bearer {token}"
POST/v1/cash-bid-offers/:id/accept

Accept an offer

Accept a seller's offer. This creates a trade and invoices.

Request

POST
/v1/cash-bid-offers/cbo_9Fk2/accept
curl -X POST https://api.mygrainexchange.com/v1/cash-bid-offers/cbo_9Fk2/accept \
  -H "Authorization: Bearer {token}"
POST/v1/cash-bid-offers/:id/reject

Reject an offer

Decline a seller's offer.

Request

POST
/v1/cash-bid-offers/cbo_9Fk2/reject
curl -X POST https://api.mygrainexchange.com/v1/cash-bid-offers/cbo_9Fk2/reject \
  -H "Authorization: Bearer {token}"

Was this page helpful?