{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://rctp.dev/schemas/offer-create-request.schema.json",
  "title": "Create offer request",
  "description": "Body of POST /offers (verb offer.create). Closed: no field can set a floor, tier, budget or negotiation (INV-5).",
  "type": "object",
  "properties": {
    "listing_id": {
      "$ref": "common.schema.json#/$defs/ListingId"
    },
    "deal_terms": {
      "$ref": "deal-terms.schema.json"
    },
    "supersedes": {
      "$ref": "common.schema.json#/$defs/OfferId",
      "description": "A counter, or the buyer agent's own open offer, this replaces"
    },
    "expires_at": {
      "$ref": "common.schema.json#/$defs/Timestamp",
      "description": "Optional; the gateway sets its default and caps it"
    }
  },
  "additionalProperties": false,
  "required": [
    "listing_id",
    "deal_terms"
  ]
}
