Always 200. A key that does not exist (or exists in another org,
which this key's scope makes the same thing) answers
{"valid": false} and nothing else: a 404 would make the status code
an oracle distinguishing "no such key" from "revoked key". A revoked key answers valid: false with its counts, which is
what an app needs to tell its user why activation stopped working.
Rate-limited per IP, like POST /v1/public/checkout.
publishableKeyX-Sorai-Key<token>A store's publishable key, spk_….
application/jsonkey*stringSR-XXXX-XXXX-XXXX-XXXX, 22 characters. Bounded at 64 for the same reason instance_id is bounded: this is an unauthenticated public field, and an unbounded one costs work before the lookup can answer "no such key".
length <= 64The key's state, or {"valid": false} for an unknown key.
application/jsonThe key's state. Every field but valid is absent when no key
matched; the response for an unknown key is exactly {"valid": false}.
valid*booleanTrue only for a key that exists and is active.
product_id?stringuuidstatus?string"active""revoked"activation_count?integeractivation_limit?|null means unlimited.
curl -X POST 'https://api.sorai.ai/v1/public/licenses/verify' \ -H 'Content-Type: application/json' \ -d '{ "key": "string"}'{ "valid": true, "product_id": "0d012afa-f885-4e65-aeca-37e27701e2d1", "status": "active", "activation_count": 0, "activation_limit": 0}