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
},
"market_price_adjustment_bps": -300
}
]
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
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
},
market_price_adjustment_bps: -300
}
]
})
};
fetch('https://api-v2.watchcollect.com/v2/market/calculator/presets', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api-v2.watchcollect.com/v2/market/calculator/presets"
payload = {
"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
},
"market_price_adjustment_bps": -300
}
]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"status": "accepted",
"event_ids": [
"018f06e2-4f8d-7c01-8a0d-cc6fd78f7002"
],
"request_id": "018f06e2-4f8d-7c01-8a0d-cc6fd78f7001"
}{
"error": {
"code": "invalid_payload",
"message": "event is required",
"request_id": "018f06e2-4f8d-7c01-8a0d-cc6fd78f7001"
}
}{
"error": {
"code": "invalid_payload",
"message": "event is required",
"request_id": "018f06e2-4f8d-7c01-8a0d-cc6fd78f7001"
}
}{
"error": {
"code": "invalid_payload",
"message": "event is required",
"request_id": "018f06e2-4f8d-7c01-8a0d-cc6fd78f7001"
}
}market
Create a saved calculator preset
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
},
"market_price_adjustment_bps": -300
}
]
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
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
},
market_price_adjustment_bps: -300
}
]
})
};
fetch('https://api-v2.watchcollect.com/v2/market/calculator/presets', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api-v2.watchcollect.com/v2/market/calculator/presets"
payload = {
"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
},
"market_price_adjustment_bps": -300
}
]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"status": "accepted",
"event_ids": [
"018f06e2-4f8d-7c01-8a0d-cc6fd78f7002"
],
"request_id": "018f06e2-4f8d-7c01-8a0d-cc6fd78f7001"
}{
"error": {
"code": "invalid_payload",
"message": "event is required",
"request_id": "018f06e2-4f8d-7c01-8a0d-cc6fd78f7001"
}
}{
"error": {
"code": "invalid_payload",
"message": "event is required",
"request_id": "018f06e2-4f8d-7c01-8a0d-cc6fd78f7001"
}
}{
"error": {
"code": "invalid_payload",
"message": "event is required",
"request_id": "018f06e2-4f8d-7c01-8a0d-cc6fd78f7001"
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
application/json
Maximum array length:
10000Show child attributes
Show child attributes
Flexible market filter grammar. Documented fields are typed; additional fields are tolerated for forward-compatible frontend experiments and ignored until implemented.
Show child attributes
Show child attributes