curl "https://api.satyakod.com/v1/scans?range=30d&verdict=suspicious,counterfeit" \
-H "Authorization: Bearer $SATYAKOD_KEY"
{
"items": [
{
"id": "scn_3h7d9k2p5q8r1t4w",
"scannedAt": "2026-11-12T14:05:31+00:00",
"serial": "0021-A051-2PXK-20J9",
"gs1ElementString": "01 08901234567893 21 0021-A051-2PXK-20J9",
"codeFamily": "gs1_signed",
"batchId": "B-1045",
"productId": "prd_wb18",
"productName": "Wiper blade WB-18",
"verdict": "suspicious",
"reason": "Also scanned in Pune 1h 56m earlier",
"checks": [
{ "kind": "signature", "result": "pass", "detail": "Key acme-gs1-2026-01" },
{ "kind": "serial_status", "result": "pass", "detail": "Issued in B-1045" },
{ "kind": "clone_pattern", "result": "warn", "detail": "Also scanned in Pune 1h 56m earlier" },
{ "kind": "region", "result": "pass", "detail": "Inside authorised region" }
],
"channel": "consumer_web",
"location": { "district": "Nashik", "state": "MH", "country": "IN" },
"responseTimeMs": 84,
"alertId": "ALR-2291"
}
],
"total": 18,
"page": 1,
"pageSize": 20
}
Scans
List scans
Recorded scans and their verdicts, newest first.
GET
/
v1
/
scans
curl "https://api.satyakod.com/v1/scans?range=30d&verdict=suspicious,counterfeit" \
-H "Authorization: Bearer $SATYAKOD_KEY"
{
"items": [
{
"id": "scn_3h7d9k2p5q8r1t4w",
"scannedAt": "2026-11-12T14:05:31+00:00",
"serial": "0021-A051-2PXK-20J9",
"gs1ElementString": "01 08901234567893 21 0021-A051-2PXK-20J9",
"codeFamily": "gs1_signed",
"batchId": "B-1045",
"productId": "prd_wb18",
"productName": "Wiper blade WB-18",
"verdict": "suspicious",
"reason": "Also scanned in Pune 1h 56m earlier",
"checks": [
{ "kind": "signature", "result": "pass", "detail": "Key acme-gs1-2026-01" },
{ "kind": "serial_status", "result": "pass", "detail": "Issued in B-1045" },
{ "kind": "clone_pattern", "result": "warn", "detail": "Also scanned in Pune 1h 56m earlier" },
{ "kind": "region", "result": "pass", "detail": "Inside authorised region" }
],
"channel": "consumer_web",
"location": { "district": "Nashik", "state": "MH", "country": "IN" },
"responseTimeMs": 84,
"alertId": "ALR-2291"
}
],
"total": 18,
"page": 1,
"pageSize": 20
}
Scope:
Each item:
Scans by your own staff in the Satyakod app also have
scans:read. A paginated list (items, total, page, pageSize); see
Requests and responses.
7d, 30d or 90d: scans from that many days, today included. Not applied with alert, which
lists an alert’s scans whenever they happened.time, verdict, product or place; prefix with - for descending. Without it, or with any
other value, newest first.Such as
scn_8k2m4q7w1z3x5c9v, the scanId Verify a serial returned.Each check’s
kind, result and detail, as Verify a serial returns
them.scannedBy (id, name, email) and
fieldCheck, the field audit or goods-in check they were part of.
curl "https://api.satyakod.com/v1/scans?range=30d&verdict=suspicious,counterfeit" \
-H "Authorization: Bearer $SATYAKOD_KEY"
{
"items": [
{
"id": "scn_3h7d9k2p5q8r1t4w",
"scannedAt": "2026-11-12T14:05:31+00:00",
"serial": "0021-A051-2PXK-20J9",
"gs1ElementString": "01 08901234567893 21 0021-A051-2PXK-20J9",
"codeFamily": "gs1_signed",
"batchId": "B-1045",
"productId": "prd_wb18",
"productName": "Wiper blade WB-18",
"verdict": "suspicious",
"reason": "Also scanned in Pune 1h 56m earlier",
"checks": [
{ "kind": "signature", "result": "pass", "detail": "Key acme-gs1-2026-01" },
{ "kind": "serial_status", "result": "pass", "detail": "Issued in B-1045" },
{ "kind": "clone_pattern", "result": "warn", "detail": "Also scanned in Pune 1h 56m earlier" },
{ "kind": "region", "result": "pass", "detail": "Inside authorised region" }
],
"channel": "consumer_web",
"location": { "district": "Nashik", "state": "MH", "country": "IN" },
"responseTimeMs": 84,
"alertId": "ALR-2291"
}
],
"total": 18,
"page": 1,
"pageSize": 20
}