Check the signatures of a version on the server
No authentication. A convenience: the same check works offline with the public JSON and
/.well-known/batterypass/keys.json (ADR-004, ADR-013). Without version_no, the current version.
passportId*stringThe UUID of the passport identifier urn:dpp:{uuid}.
uuidversion_no?integer1 <= valueThe result.
application/json- response
checked_at*stringdate-timekey_id*stringpublic_document_valid*booleansigned_at*stringdate-timesnapshot_valid*booleanvalid*booleanBoth signatures verify and both hashes match the stored documents.
version_no*integercurl -X GET 'https://example.com/api/v1/public/passports/497f6eca-6276-4993-bfeb-53cbbbba6f08/verify'{ "checked_at": "2019-08-24T14:15:22Z", "key_id": "string", "public_document_valid": true, "signed_at": "2019-08-24T14:15:22Z", "snapshot_valid": true, "valid": true, "version_no": 0}The public passport (current version) GET
No authentication. Only the `public` tier, as stored when the version was published (ADR-013). Passports that are not public (`qr_locked`, `withdrawn`, `suspended`, `deleted_recycled`) answer with their status and no content. Cached for 5 minutes; rate-limited per client address.
The organisation's changes, oldest first, for polling GET
Any member, or an API key with the `read` scope (ADR-026). The organisation's changes in the order they became visible, oldest first, as `{id, occurred_at, entity_type, entity_id, action}`: no values, no actors, no personal data; read the entity for its current state. Keep `next_cursor` of the last page and ask again later: a change appears only once every transaction that started before it has finished, so a cursor never skips a change that commits late. `next_cursor` is set whenever the page has items, also on the last page; an empty page keeps the cursor you sent (`next_cursor` null). Without `cursor` the feed starts at the beginning of the organisation's history.