Clickwrap dialog not showing
Check template status
The template must be Enabled in the dashboard. Disabled templates are not served by the SDK.
Check version state
The template must have a version in Effective state — not just Scheduled. Verify that the
effectiveAt timestamp has passed.Check prior acceptance
The SDK automatically suppresses the dialog if the user has already accepted the latest major version. This is expected behavior, not a bug.To verify, call
GET /clickwraps/{endUserId}/status and check the status field. If it’s ACCEPTED, the dialog won’t appear until a new major version is published.Verification returns 401 Unauthorized
| Check | What to do |
|---|---|
| Headers vs query params | Credentials must be sent as X-APP-ID and X-APP-KEY headers, not query parameters |
| Correct App Key | If you recently regenerated the App Key, update your backend with the new one |
| Correct integration | Make sure the App Key matches the App ID you’re using (each integration has its own pair) |
Events showing as “Unverified”
This means your backend hasn’t calledPOST /clickwrap/verify yet. The SDK returns a Signature, but the event stays in UNVERIFIED state until your backend verifies it.
Solution: Ensure your frontend sends the Signature to your backend, and your backend calls the verify endpoint.
Template not found (404)
Template enabled?
Go to Templates and confirm the toggle is on.
Version effective?
Open the template and check the version’s
effectiveAt date. If it’s in the future, the SDK can’t fetch it yet.Signature is null
Anull Signature from ClicktermDialog.show() means the user has already accepted the latest major version. This is expected behavior.
Android SDK: dialog not appearing
| Check | What to do |
|---|---|
| Activity context | Pass a valid Activity context (not ApplicationContext) to ClicktermDialog.show() |
| Initialization | Call ClicktermClient.initialize() in your Application class or before showing the dialog |
| Network | Ensure the device has internet access — the SDK fetches template content from the ClickTerm API |
Rate limited (429)
If you receiveHTTP 429, you’ve exceeded the rate limit. Read the Retry-After header and wait before retrying.
See Rate Limits for retry code examples and best practices.
Still stuck?
If none of the above resolves your issue:- Check the Error Reference for the specific error code
- Review the FAQ for common questions
- Contact support through the ClickTerm Dashboard

