curl --request GET \
--url https://{host}/v1/sellers/{sellerId} \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://{host}/v1/sellers/{sellerId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{host}/v1/sellers/{sellerId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}import requests
url = "https://{host}/v1/sellers/{sellerId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": {
"type": "sellers",
"id": "42",
"attributes": {
"name": "Horlogerie Mertens",
"slug": "horlogerie-mertens",
"city": "Maastricht",
"country": "NL",
"visible": true,
"acceptsPriceProposals": true,
"blocked": false,
"description": "Family-run since 1974, specialising in vintage Rolex and Omega.",
"sellingPoints": [
"Two-year warranty on every watch",
"Free insured shipping within Europe"
],
"respondsWithin": "2 hours",
"webUrl": "https://wristler.eu/nl/juweliers/horlogerie-mertens",
"memberSince": "2019-06-01T08:00:00.000000Z",
"maximumDiscount": 10,
"email": "shop@horlogerie-mertens.example",
"invoiceEmail": "facturen@horlogerie-mertens.example",
"addressLine1": "Grote Staat 14",
"addressLine2": null,
"zipcode": "6211 CW",
"vat": "NL001234567B01",
"kvk": "14026248",
"registrations": [
{
"type": "de_lucid",
"country": "DE",
"name": "LUCID registration number (packaging)",
"description": "Sellers who ship packaged goods to consumers in Germany must be registered in the LUCID packaging register of the Zentrale Stelle Verpackungsregister (ZSVR) and take part in a dual system. The number starts with DE followed by 13 digits.",
"placeholder": "DE1234567890123",
"supportsExpiry": true,
"declarations": [
{
"value": "number_provided",
"label": "I have a registration number"
},
{
"value": "pending_registration",
"label": "Not registered yet (registration in progress)"
}
],
"declaration": "number_provided",
"number": "DE1234567890123",
"expiresAt": "2027-06-30",
"status": "verified",
"statusMessage": null,
"verifiedAt": "2026-09-02T10:14:00+02:00"
},
{
"type": "de_weee_ear",
"country": "DE",
"name": "WEEE registration number (Stiftung EAR)",
"description": "Sellers who place electrical or electronic equipment, such as quartz or smart watches, on the German market must be registered with Stiftung EAR under the ElektroG. The WEEE-Reg.-Nr. starts with DE followed by 8 digits.",
"placeholder": "DE12345678",
"supportsExpiry": false,
"declarations": [
{
"value": "number_provided",
"label": "I have a registration number"
},
{
"value": "not_applicable_mechanical",
"label": "Not applicable: I only sell mechanical watches, without electronics or batteries"
},
{
"value": "not_applicable_covered_by_brand",
"label": "Not applicable: the brand or importer is registered and I am not the first to place the watches on this market"
},
{
"value": "pending_registration",
"label": "Not registered yet (registration in progress)"
}
],
"declaration": null,
"number": null,
"expiresAt": null,
"status": null,
"statusMessage": null,
"verifiedAt": null
},
{
"type": "de_battg",
"country": "DE",
"name": "BattG registration number (batteries)",
"description": "Sellers who place batteries on the German market, including batteries built into watches, must be registered with Stiftung EAR under the Battery Act (BattG). The number starts with DE followed by 8 digits.",
"placeholder": "DE12345678",
"supportsExpiry": false,
"declarations": [
{
"value": "number_provided",
"label": "I have a registration number"
},
{
"value": "not_applicable_mechanical",
"label": "Not applicable: I only sell mechanical watches, without electronics or batteries"
},
{
"value": "not_applicable_covered_by_brand",
"label": "Not applicable: the brand or importer is registered and I am not the first to place the watches on this market"
},
{
"value": "pending_registration",
"label": "Not registered yet (registration in progress)"
}
],
"declaration": "not_applicable_mechanical",
"number": null,
"expiresAt": null,
"status": null,
"statusMessage": null,
"verifiedAt": null
},
{
"type": "fr_uin_packaging",
"country": "FR",
"name": "UIN packaging (emballages)",
"description": "Sellers who ship packaged goods to consumers in France must join an eco-organisation for packaging (such as Citeo or Léko) and receive a unique identification number (UIN) from ADEME for this stream. It consists of 15 characters and starts with FR.",
"placeholder": "FR123456_01ABCD",
"supportsExpiry": true,
"declarations": [
{
"value": "number_provided",
"label": "I have a registration number"
},
{
"value": "pending_registration",
"label": "Not registered yet (registration in progress)"
}
],
"declaration": null,
"number": null,
"expiresAt": null,
"status": null,
"statusMessage": null,
"verifiedAt": null
},
{
"type": "fr_uin_weee",
"country": "FR",
"name": "UIN electrical equipment (DEEE)",
"description": "Sellers who place electrical or electronic equipment, such as quartz or smart watches, on the French market must join an eco-organisation for WEEE (DEEE, such as ecosystem or Ecologic) and receive a unique identification number (UIN) from ADEME for this stream. It consists of 15 characters and starts with FR.",
"placeholder": "FR123456_01ABCD",
"supportsExpiry": true,
"declarations": [
{
"value": "number_provided",
"label": "I have a registration number"
},
{
"value": "not_applicable_mechanical",
"label": "Not applicable: I only sell mechanical watches, without electronics or batteries"
},
{
"value": "not_applicable_covered_by_brand",
"label": "Not applicable: the brand or importer is registered and I am not the first to place the watches on this market"
},
{
"value": "pending_registration",
"label": "Not registered yet (registration in progress)"
}
],
"declaration": null,
"number": null,
"expiresAt": null,
"status": null,
"statusMessage": null,
"verifiedAt": null
},
{
"type": "fr_uin_batteries",
"country": "FR",
"name": "UIN batteries (piles)",
"description": "Sellers who place batteries on the French market, including batteries built into watches, must join an eco-organisation for batteries (piles et accumulateurs, such as Batribox or Screlec) and receive a unique identification number (UIN) from ADEME for this stream. It consists of 15 characters and starts with FR.",
"placeholder": "FR123456_01ABCD",
"supportsExpiry": true,
"declarations": [
{
"value": "number_provided",
"label": "I have a registration number"
},
{
"value": "not_applicable_mechanical",
"label": "Not applicable: I only sell mechanical watches, without electronics or batteries"
},
{
"value": "not_applicable_covered_by_brand",
"label": "Not applicable: the brand or importer is registered and I am not the first to place the watches on this market"
},
{
"value": "pending_registration",
"label": "Not registered yet (registration in progress)"
}
],
"declaration": null,
"number": null,
"expiresAt": null,
"status": null,
"statusMessage": null,
"verifiedAt": null
}
],
"logo": "https://cdn.wristler.eu/square-medium/horlogerie-mertens-logo.png"
},
"relationships": {
"statistics": {
"links": {
"related": "https://api.wristler.eu/v1/sellers/42/statistics",
"self": "https://api.wristler.eu/v1/sellers/42/relationships/statistics"
}
}
},
"links": {
"self": "https://api.wristler.eu/v1/sellers/42"
}
}
}{
"errors": [
{
"status": "404",
"code": "watch_reserved",
"title": "Not Found",
"detail": "<string>",
"meta": {},
"source": {
"pointer": "/data/attributes/reference",
"parameter": "<string>"
}
}
],
"jsonapi": {
"version": "1.0"
}
}Show business
Scope: watches:read, orders:read or catalogue:read
A business’s own paperwork — email, invoiceEmail, the registered address
(addressLine1, addressLine2, zipcode), vat, kvk (the chamber of commerce
number) and its registrations — comes back null to anybody who does not act for
it. A shop page is the shop, not its tax details. So does visible: for the people
who run the shop, whether it is on show (open, able to take payments and subscribed);
anybody else only ever sees a shop that is.
blocked says whether the person asking has blocked this business (false for a
token with nobody behind it); the shop’s watches stay in the catalogue either way.
webUrl is the shop’s page on the website, in the language asked for. logo is the
logo as a rendered square, null without one.
Our own app reads any open shop, as the website shows it; a shop that is closed or
never finished signing up answers 404 to anybody who does not act for it. A
partner reaches only the businesses that granted it.
registrations is what the dashboard’s compliance settings list: one entry for
every registration a shop may need to sell into a country (packaging, electronics,
batteries), whether it has declared anything for it or not. Per entry:
type | Ours, stable: de_lucid, de_weee_ear, de_battg, fr_uin_packaging, fr_uin_weee, fr_uin_batteries |
country, name, description, placeholder | What it is, in the language asked for, and an example number |
supportsExpiry | Whether expiresAt may be given |
declarations | What may be declared for it, as {value, label}, in display order |
declaration | What the shop declared — number_provided, not_applicable_mechanical, not_applicable_covered_by_brand, pending_registration — or null when it has not answered yet |
number, expiresAt | The number as stored (capitals, no spaces) and its end date (YYYY-MM-DD); null unless a number was declared |
status, statusMessage, verifiedAt | Where our check of the number is: pending, verified, invalid or expired, and why when it is invalid; null without a number |
?include=statistics gives a dashboard the shop and its figures in one call. It needs
orders:read and a shop this token acts for; without either the relationship is null.
curl --request GET \
--url https://{host}/v1/sellers/{sellerId} \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://{host}/v1/sellers/{sellerId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{host}/v1/sellers/{sellerId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}import requests
url = "https://{host}/v1/sellers/{sellerId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": {
"type": "sellers",
"id": "42",
"attributes": {
"name": "Horlogerie Mertens",
"slug": "horlogerie-mertens",
"city": "Maastricht",
"country": "NL",
"visible": true,
"acceptsPriceProposals": true,
"blocked": false,
"description": "Family-run since 1974, specialising in vintage Rolex and Omega.",
"sellingPoints": [
"Two-year warranty on every watch",
"Free insured shipping within Europe"
],
"respondsWithin": "2 hours",
"webUrl": "https://wristler.eu/nl/juweliers/horlogerie-mertens",
"memberSince": "2019-06-01T08:00:00.000000Z",
"maximumDiscount": 10,
"email": "shop@horlogerie-mertens.example",
"invoiceEmail": "facturen@horlogerie-mertens.example",
"addressLine1": "Grote Staat 14",
"addressLine2": null,
"zipcode": "6211 CW",
"vat": "NL001234567B01",
"kvk": "14026248",
"registrations": [
{
"type": "de_lucid",
"country": "DE",
"name": "LUCID registration number (packaging)",
"description": "Sellers who ship packaged goods to consumers in Germany must be registered in the LUCID packaging register of the Zentrale Stelle Verpackungsregister (ZSVR) and take part in a dual system. The number starts with DE followed by 13 digits.",
"placeholder": "DE1234567890123",
"supportsExpiry": true,
"declarations": [
{
"value": "number_provided",
"label": "I have a registration number"
},
{
"value": "pending_registration",
"label": "Not registered yet (registration in progress)"
}
],
"declaration": "number_provided",
"number": "DE1234567890123",
"expiresAt": "2027-06-30",
"status": "verified",
"statusMessage": null,
"verifiedAt": "2026-09-02T10:14:00+02:00"
},
{
"type": "de_weee_ear",
"country": "DE",
"name": "WEEE registration number (Stiftung EAR)",
"description": "Sellers who place electrical or electronic equipment, such as quartz or smart watches, on the German market must be registered with Stiftung EAR under the ElektroG. The WEEE-Reg.-Nr. starts with DE followed by 8 digits.",
"placeholder": "DE12345678",
"supportsExpiry": false,
"declarations": [
{
"value": "number_provided",
"label": "I have a registration number"
},
{
"value": "not_applicable_mechanical",
"label": "Not applicable: I only sell mechanical watches, without electronics or batteries"
},
{
"value": "not_applicable_covered_by_brand",
"label": "Not applicable: the brand or importer is registered and I am not the first to place the watches on this market"
},
{
"value": "pending_registration",
"label": "Not registered yet (registration in progress)"
}
],
"declaration": null,
"number": null,
"expiresAt": null,
"status": null,
"statusMessage": null,
"verifiedAt": null
},
{
"type": "de_battg",
"country": "DE",
"name": "BattG registration number (batteries)",
"description": "Sellers who place batteries on the German market, including batteries built into watches, must be registered with Stiftung EAR under the Battery Act (BattG). The number starts with DE followed by 8 digits.",
"placeholder": "DE12345678",
"supportsExpiry": false,
"declarations": [
{
"value": "number_provided",
"label": "I have a registration number"
},
{
"value": "not_applicable_mechanical",
"label": "Not applicable: I only sell mechanical watches, without electronics or batteries"
},
{
"value": "not_applicable_covered_by_brand",
"label": "Not applicable: the brand or importer is registered and I am not the first to place the watches on this market"
},
{
"value": "pending_registration",
"label": "Not registered yet (registration in progress)"
}
],
"declaration": "not_applicable_mechanical",
"number": null,
"expiresAt": null,
"status": null,
"statusMessage": null,
"verifiedAt": null
},
{
"type": "fr_uin_packaging",
"country": "FR",
"name": "UIN packaging (emballages)",
"description": "Sellers who ship packaged goods to consumers in France must join an eco-organisation for packaging (such as Citeo or Léko) and receive a unique identification number (UIN) from ADEME for this stream. It consists of 15 characters and starts with FR.",
"placeholder": "FR123456_01ABCD",
"supportsExpiry": true,
"declarations": [
{
"value": "number_provided",
"label": "I have a registration number"
},
{
"value": "pending_registration",
"label": "Not registered yet (registration in progress)"
}
],
"declaration": null,
"number": null,
"expiresAt": null,
"status": null,
"statusMessage": null,
"verifiedAt": null
},
{
"type": "fr_uin_weee",
"country": "FR",
"name": "UIN electrical equipment (DEEE)",
"description": "Sellers who place electrical or electronic equipment, such as quartz or smart watches, on the French market must join an eco-organisation for WEEE (DEEE, such as ecosystem or Ecologic) and receive a unique identification number (UIN) from ADEME for this stream. It consists of 15 characters and starts with FR.",
"placeholder": "FR123456_01ABCD",
"supportsExpiry": true,
"declarations": [
{
"value": "number_provided",
"label": "I have a registration number"
},
{
"value": "not_applicable_mechanical",
"label": "Not applicable: I only sell mechanical watches, without electronics or batteries"
},
{
"value": "not_applicable_covered_by_brand",
"label": "Not applicable: the brand or importer is registered and I am not the first to place the watches on this market"
},
{
"value": "pending_registration",
"label": "Not registered yet (registration in progress)"
}
],
"declaration": null,
"number": null,
"expiresAt": null,
"status": null,
"statusMessage": null,
"verifiedAt": null
},
{
"type": "fr_uin_batteries",
"country": "FR",
"name": "UIN batteries (piles)",
"description": "Sellers who place batteries on the French market, including batteries built into watches, must join an eco-organisation for batteries (piles et accumulateurs, such as Batribox or Screlec) and receive a unique identification number (UIN) from ADEME for this stream. It consists of 15 characters and starts with FR.",
"placeholder": "FR123456_01ABCD",
"supportsExpiry": true,
"declarations": [
{
"value": "number_provided",
"label": "I have a registration number"
},
{
"value": "not_applicable_mechanical",
"label": "Not applicable: I only sell mechanical watches, without electronics or batteries"
},
{
"value": "not_applicable_covered_by_brand",
"label": "Not applicable: the brand or importer is registered and I am not the first to place the watches on this market"
},
{
"value": "pending_registration",
"label": "Not registered yet (registration in progress)"
}
],
"declaration": null,
"number": null,
"expiresAt": null,
"status": null,
"statusMessage": null,
"verifiedAt": null
}
],
"logo": "https://cdn.wristler.eu/square-medium/horlogerie-mertens-logo.png"
},
"relationships": {
"statistics": {
"links": {
"related": "https://api.wristler.eu/v1/sellers/42/statistics",
"self": "https://api.wristler.eu/v1/sellers/42/relationships/statistics"
}
}
},
"links": {
"self": "https://api.wristler.eu/v1/sellers/42"
}
}
}{
"errors": [
{
"status": "404",
"code": "watch_reserved",
"title": "Not Found",
"detail": "<string>",
"meta": {},
"source": {
"pointer": "/data/attributes/reference",
"parameter": "<string>"
}
}
],
"jsonapi": {
"version": "1.0"
}
}Authorizations
Headers
The language to answer in: specificationLabels, translatedDescription, facet
and label names, the content pages, and every other translated word in the
answer. Read on every request, whatever the endpoint. One we do not have falls
back to English rather than failing.
en, nl, de, es, fr, it, pt, fi, pl Query Parameters
Related resources to return alongside, comma separated:
images— the shop's own pictures: their logo, and whatever else is on their page.cover— the one picture across the top of the shop's page, with the same sizes as a listing's images.nullfor a shop without one.statistics— what the business has been paid and what is waiting for them. Comes backnullwithoutorders:readand for a shop you do not act for: a shop page is one question, its turnover is another.
There is deliberately no watches: a seller's inventory is thousands of
listings, asked for at /v1/sellers/{sellerId}/watches where it is paged.
images, cover, statistics