cards.sunshine.verify
Checks a tap of a Sunshine Card. Called through the scanner's PDS (service auth), it also returns a signed scan record for the caller to write into the scanner's repo.
Details · procedure
| Kind | procedure |
|---|---|
| Authority | sunshine.cards |
| Indexed |
Showing version bafyreialcdmz6nmq6jj2phxvxznv7ufbxij6uqzwsw37jxds2luuwtj3im. Show the latest
Procedure
procedure · POSTInput
application/jsonctr
stringThe read counter, in hex, from a plain-mirror tag.
minLength: 6maxLength: 6
The card's creator.
The tap's signature, in hex.
minLength: 16maxLength: 16
picc
stringThe encrypted serial number and counter, in hex, from an encrypted-mirror tag. Supply exactly one of ctr and picc.
minLength: 32maxLength: 32
The tag's serial number, in hex.
minLength: 14maxLength: 14
Output
application/jsonproof
refWrite it whenever it's present, even when valid is false. When valid, it's the scan just made; when reason is alreadyCollected, it's the scanner's earlier scan of this card, signed again.
reason
stringmaxLength: 64knownValues: notGenuine | replayed | alreadyCollected | unknownCard
Errors
CreatorUnavailable
The creator's deck can't be reached. Retry the same tap; if that returns replayed, tap again.
#proof
objectA signed scan record, with the arguments com.atproto.repo.createRecord needs to write it.
Properties
The scanner: the repo to write to.
The signed cards.sunshine.scan record.
Similar lexicons
semantic matchLexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.
-
Proof that this repo's owner scanned a Sunshine Card, signed by the instance that checked the tap. The record key is <creator DID>:<UID>:<counter>.