API overview

The PhysID API is a small, REST-shaped JSON surface for three primitives — encode, decode, registry — plus credential and lifecycle endpoints. In v1, every response carries "mode": "sandbox".

Base URL

https://api.physid.ai/v1

Authentication

Every request requires a Bearer token. Sandbox keys are issued via the access form.

curl https://api.physid.ai/v1/health \
  -H "Authorization: Bearer $PHYSID_API_KEY"

Endpoints

  • GET /v1/health — service health + version
  • POST /v1/encode — provision a physical AI and bind credentials → reference
  • POST /v1/decode — verify a tap or BLE handshake (scaffold)
  • GET /v1/registry/{unit_id} — read a registry record (scaffold)
  • POST /v1/registry/{unit_id}/transfer — co-signed ownership transfer (scaffold)
  • POST /v1/registry/{unit_id}/revoke — revoke a unit and rotate tag credentials (scaffold)
  • POST /v1/credentials/issue — issue a credential to a unit (scaffold)
  • GET /v1/credentials/{unit_id} — list a unit's credentials (scaffold)

Errors

Errors return { ok: false, mode, error } with a non-2xx status code. 401 means the bearer is missing or malformed. 404 means the path doesn't exist.