Verify a chip
verify_chipVerify a physical item by its Aeroz chip: the UID plus whatever signature the tap carried. Same answer as GET /v1/verify. Use this before trusting any claim about a physical unit — a database record proves a record exists, not that the object in front of you is the one it describes. Read proof and proves: proof "presence" means the chip answered a fresh one-time SUN challenge (picc_data + cmac) and was physically there at this tap; proof "identity" means the static t signature is the one Aeroz issued for this UID, which a copied tag also carries. verified:false with reason "no_signature" (recognised:true) proves NOTHING about the item — only that the number is on the register. "signature_unchecked" means the signature was not compared (not a mismatch). A failed signature returns NO product data. Each call records the tap and spends the chip's one-time answer, so pass each SUN tap once. A sandbox key answers its seeded sandbox chips as fixtures (mode "sandbox" with a _warning) and any other UID from the register (mode "sandbox", register:true), so a sandbox company can check the test tags it minted.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| uid | No | The chip UID read from the NFC tag or QR payload. Optional when SUN parameters or a tap_url carry it. | |
| cmac | No | SUN: the `cmac` (or `c`) parameter from the same tap URL. | |
| tap_url | No | Alternatively, the full https tap URL the phone opened (on an Aeroz host). uid, t, picc_data/e and cmac/c are read from it. | |
| picc_data | No | SUN: the encrypted `picc_data` (or `e`) parameter from an NTAG 424 tap URL. Send with `cmac`. | |
| signature | No | The static signature from the tag payload (the `t` parameter). Proves identity, not presence. |