KyroKyro Docs
Basics

Response envelope

Every response, success or error, is JSON in the same versioned envelope.

Every response, success or error, is JSON in the same versioned envelope. Check ok before reading data.

Success:

{
  "ok": true,
  "version": "v1",
  "data": {
    "wallet": "0xd8da6bf26964af9d7eed9e03e53415d37aa96045",
    "score": 79,
    "cacheStatus": "cached"
  }
}

Error:

{
  "ok": false,
  "version": "v1",
  "error": {
    "code": "RATE_LIMITED",
    "message": "Rate limit exceeded (20 requests per minute). Retry in 17s."
  }
}

Error codes

CodeHTTPMeaning
INVALID_WALLET400Malformed wallet address. Expected 0x + 40 hex characters.
INVALID_USERNAME400Malformed profile username.
INVALID_REQUEST400Bad body or size limits exceeded. Nothing is charged for size-rejected batches.
INVALID_KEY401Malformed, unknown or revoked API key.
NOT_FOUND404Profile or receipt does not exist.
RATE_LIMITED429Rate budget or creation cap exhausted. Retry-After tells you when to retry.
SCHEMA_MISSING5XXBacking store unavailable.
INTERNAL5XXUnexpected server error.

Error code values are stable and machine-readable. message text is human-readable and can change. Any operation can also answer 5XX in the same envelope.

On this page