Diagnostic codes
Every diagnostic the Kotlin SDK reports for failures it handles itself, and what each means.
Diagnostics report failures the SDK handled itself. They never throw. Receive them with the
onDiagnostic option; see Errors for the handler.
| Code | Meaning |
|---|---|
AUTHENTICATION_FAILED | Voidhash rejected the publishable key. Requests pause and queued data is kept. identify or reset retries the key at once. |
AUTHENTICATION_RECOVERED | A retry with the key was accepted. |
CIRCUIT_OPEN | Voidhash failed 5 times in a row. Requests are skipped and the cache is served until a retry succeeds. |
CIRCUIT_CLOSED | Requests go through again. |
SCHEMA_FETCH_FAILED | The project configuration couldn't be loaded. It's retried. |
SCHEMA_DECODE_FAILED | The project configuration response couldn't be read. |
TRANSACTION_SYNC_DEFERRED | A purchase is still queued after a failed or unconfirmed delivery. It's retried. |
TRANSACTION_REJECTED | Voidhash refused a purchase, for example because Google Play isn't set up for the package name. It's sent again on the next launch, or after 6 hours. |
TRANSACTION_NOT_DURABLE | A purchase couldn't be stored on the device. Delivery is still attempted. |
TRANSACTION_OUTBOX_BACKLOG | More than 1,000 purchases await delivery. None was dropped. |
PURCHASE_FINISHED_BEFORE_SYNC | Voidhash hadn't recorded a purchase 48 hours after payment, so the SDK acknowledged it to stop Google Play's refund. The SDK still delivers it. |
PERSON_WRITE_REJECTED | A queued identify or attribute update was refused, or a sign-in couldn't merge an anonymous ID another account owns. |
ANALYTICS_SEND_FAILED | Events weren't delivered. They're retried. |
ANALYTICS_EVENT_DROPPED | Events were dropped at the 1,000-event queue limit (reported at most once a minute), or Voidhash refused one event. |
ANALYTICS_CONSENT_DENIED | An event, screen or attribute wasn't collected because consent isn't granted. Reported once until consent is granted. |
ANALYTICS_EVENT_INVALID | An event had a blank name or no distinct ID. |
INSTALL_ATTRIBUTION_DEFERRED | Google Play or a Meta app couldn't answer about the install yet. A later launch asks again. |
INSTALL_ATTRIBUTION_ABANDONED | The SDK stopped asking: no Google Play, or 10 launches without an answer. |
SCREEN_MAPPER_FAILED | Your mapScreen threw, so that screen wasn't captured. |
CACHE_READ_FAILED | An unreadable cache entry was discarded. |
CACHE_WRITE_FAILED | A value couldn't be stored. It stays in memory and is stored with the next successful write. |
QUEUE_IO_FAILED | A queue file couldn't be read or written. |
CONNECTIVITY_OBSERVATION_UNAVAILABLE | The SDK can't observe network changes. Queues are still retried on a timer. |
SECONDARY_PROCESS_INERT | Voidhash was configured outside the main process and does nothing there. See Create the client. |
DIAGNOSTICS_DROPPED | Your handler fell more than 1,000 reports behind; the oldest were dropped. |
Next steps
- Errors the SDK throws.
- Troubleshooting by symptom.
- Error codes across platforms.
Something wrong or missing on this page? Tell us by email or on Discord.