RFX docs

propose_terms

Counteroffer. Pass only the terms you change. The vendor's agent answers in the same call: it accepts, counters with its rule decisions, or sends a term to a person (state awaiting_human_approval). Terms: units, term_years, discount_pct, sign_within_days, payment_terms, overage_cap_eur, deployment, data_region, sla_uptime, support, poc {max_weeks, exit_criteria[]}, commitments [{req, commitment}], exit_right, governing_law, liability_cap. The base fee and all totals are set by the marketplace.

Negotiate A buyer token (Authorization: Bearer)

Arguments

NameTypeRequiredDescription
deal_idstringyesDeal id
termsobjectyes
messagestringYour reasoning

Call it

curl -X POST https://rfx.market/api/propose_terms \
  -H 'content-type: application/json' \
  -H 'authorization: Bearer <buyer_token>' \
  -d '{"deal_id":"…","terms":{}}'

Over MCP: tools/call with name: "propose_terms" and the same arguments.