POST
/
v2
/
market
/
calculator
/
presets
Create a saved calculator preset
curl --request POST \
  --url https://api-v2.watchcollect.com/v2/market/calculator/presets \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "brand": "<string>",
  "name": "<string>",
  "rows": [
    {
      "row_id": "<string>",
      "reference": "<string>",
      "configuration_key": "<string>",
      "market_view_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "mapping_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "filters": {
        "q": "Rolex 126610LN",
        "side": [
          "for_sale"
        ],
        "message_type": [],
        "brand": [
          "Rolex"
        ],
        "model": [
          "Submariner"
        ],
        "reference": [
          "126610LN"
        ],
        "year": {
          "values": [
            2022,
            2023
          ],
          "gte": 2018,
          "lte": 2026
        },
        "years": [
          2023
        ],
        "price": {
          "gte": 123,
          "lte": 123,
          "currency": "EUR"
        },
        "condition": [
          "NEW"
        ],
        "conditions": [],
        "full_set_status": [],
        "full_set_options": [],
        "dial_type": [
          "Wimbledon"
        ],
        "dial_types": [
          "<string>"
        ],
        "variant": [
          "<string>"
        ],
        "variants": [
          "<string>"
        ],
        "country_codes": {
          "include": [
            "31",
            "852"
          ],
          "exclude": [
            "86"
          ]
        },
        "phone_numbers_include": [
          "<string>"
        ],
        "phone_numbers_exclude": [
          "<string>"
        ],
        "phone_numbers": {
          "include": [
            "31612345678"
          ],
          "exclude": [
            "85212345678"
          ]
        },
        "group_ids": [
          "3c90c3cc-0d44-4b50-8888-8dd25736052a"
        ],
        "group_names": [
          "<string>"
        ],
        "contact_ids": [
          "3c90c3cc-0d44-4b50-8888-8dd25736052a"
        ],
        "contact_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
        "phone_number": "<string>",
        "canonical_message_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
        "canonical_message_ids": [
          "3c90c3cc-0d44-4b50-8888-8dd25736052a"
        ],
        "has_media": true,
        "message_timestamp_ms": {
          "gte": 123,
          "lte": 123
        },
        "last_seen_at_ms": {
          "gte": 123,
          "lte": 123
        },
        "from_ms": 123,
        "to_ms": 123,
        "include_duplicates": false,
        "include_hidden": false,
        "include_revoked": false,
        "exclude_outliers": false
      }
    }
  ]
}
'
{
  "status": "accepted",
  "event_ids": [
    "018f06e2-4f8d-7c01-8a0d-cc6fd78f7002"
  ],
  "request_id": "018f06e2-4f8d-7c01-8a0d-cc6fd78f7001"
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
brand
string
required
name
string
required
rows
object[]
required
Maximum array length: 200
view_id
string<uuid> | null
filters
object

Flexible market filter grammar. Documented fields are typed; additional fields are tolerated for forward-compatible frontend experiments and ignored until implemented.

sort
string

Response

Preset creation event accepted.

status
enum<string>
required
Available options:
accepted,
duplicate_accepted,
rejected,
conflict,
noop
event_ids
string<uuid>[]
required
request_id
string
required
resource_id
string | null