(a) — Developers
Show a verified report on your site.
Marketplace, dealer site, forum: verify a Dorynn report from its reference and fingerprint, and display the “Verified by Dorynn” badge. Read-only, no key or sign-up.
(b) — Verify a report
A GET request, from your server or straight from the browser (CORS open to every site). The response contains the report’s public summary: never the serial number, the client’s identity or email address, or the detail of the points.
GET https://dorynn-s-fresh-look-b1aee12c.onrender.com/v1/verify/CST-2026-09-K0M1?e=a3f91c
- reference
- Report reference, CST-YYYY-MM-XXXX (on the report and the badge).
- e
- The report’s 6-character fingerprint (required: the reference alone is not enough).
Response (fictitious example)
{
"reference": "CST-2026-09-K0M1",
"fingerprint": "a3f91c",
"sealedAt": "2026-09-30T10:12:00.000Z",
"item": {
"brandModel": "Rolex Datejust 1601",
"category": { "slug": "watches", "labelFr": "Montres & horlogerie", "labelEn": "Watches" },
"format": "EXPERT"
},
"expert": { "name": "Claire Vidal", "slug": "claire-vidal" },
"protocol": { "code": "WAT", "version": "1.0" },
"points": { "total": 12, "ok": 10, "alert": 2, "notChecked": 0 },
"integrity": { "content": true, "photos": { "total": 6, "valid": 6, "checked": true } },
"upheldDisputes": 0,
"secondOpinion": { "compared": 12, "agreements": 11, "reviewedAt": "2026-09-30T09:40:00.000Z" },
"version": { "number": 1, "latest": 1, "supersededAt": null },
"versions": [
{ "version": 1, "fingerprint": "a3f91c", "at": "2026-09-30T10:12:00.000Z", "reason": null, "requestedBy": null, "changes": [], "intact": true }
],
"passport": { "dorynnId": "DY-0EX0M1", "inspection": 1, "inspections": 1, "serialConfirmed": true }
}What to read
- integrity.content
- true: the content is identical to what the expert sealed. Only show “verified” in that case.
- points
- Summary of the points checked: compliant, with reservation, not checked (a point not checked is never presumed compliant).
- version
- If latest is greater than number, the report has since been corrected: link to the current version.
- upheldDisputes
- Number of disputes found valid, recorded alongside the report (the report itself never changes).
- passport
- The item’s Dorynn ID and this report’s rank in its history.
Response codes
- 200
- Report found: public summary.
- 400
- INVALID_FINGERPRINT: fingerprint missing or malformed (6 hexadecimal characters).
- 404
- REPORT_NOT_FOUND: unknown reference or wrong fingerprint (same response, so references cannot be enumerated).
- 429
- Too many requests: 20 per minute per address. Cache the responses.
const response = await fetch(
"https://dorynn-s-fresh-look-b1aee12c.onrender.com/v1/verify/" + encodeURIComponent(reference) + "?e=" + fingerprint,
);
if (response.ok) {
const report = await response.json();
if (report.integrity.content) {
// Show “Verified by Dorynn” and a link to https://dorynn.com/en/v/…
}
}(c) — Badge and short link
A PNG image generated on demand (1080 × 1080 square for a listing photo, 1200 × 300 banner for a page or a forum), with a QR code to the public verification. The short link opens Dorynn’s verification page.
GET https://dorynn-s-fresh-look-b1aee12c.onrender.com/v1/verify/CST-2026-09-K0M1/badge.png?e=a3f91c&lang=en
- e
- Fingerprint (required).
- lang
- fr (default) or en.
- variant
- square (default) or banner.
Short link
https://dorynn.com/en/v/CST-2026-09-K0M1-a3f91c
HTML embed
<a href="https://dorynn.com/en/v/CST-2026-09-K0M1-a3f91c">
<img src="https://dorynn-s-fresh-look-b1aee12c.onrender.com/v1/verify/CST-2026-09-K0M1/badge.png?e=a3f91c&lang=en&variant=banner"
alt="Verified by Dorynn — CST-2026-09-K0M1" width="600" height="150">
</a>(d) — Usage rules
- 01Only show “Verified by Dorynn” when integrity.content is true, and keep a link to Dorynn’s verification page.
- 02Cache responses for one hour at most: an upheld dispute or a correction can change the summary.
- 03A report describes a condition observed on a date: do not present it as a warranty or as an authentication of the item.
- 04Only use the reference and fingerprint to verify the report they belong to.
- 05The response format (v1) evolves without breaking changes: new fields may appear, none is removed without notice.
(e) — Going further
Ordering reports for your sellers?
Ordering on a seller’s behalf, notification when a report is sealed, grouped invoicing: these integrations are built with each platform. For volume orders today, the pro offer groups orders and invoices once a month.