When something is unavailable, Signl returns a specific reason rather than a generic failure, so your agent can respond sensibly and you can tell what actually happened. Here is every one you may see, what causes it, and what to do about it.
| Result | What it means | What to do |
|---|---|---|
zero_balance | You have no credits left to spend on this contact | Earn remaining setup steps, or top up from the billing page |
enrichment_miss | No verified email could be confirmed for that person | Try another contact at the company. You were not charged |
attempt_cap_reached | The account hit its allowance of lookup attempts for this cycle | Wait for the cycle to reset, or upgrade for a larger allowance |
signal_not_found | The company or signal referenced no longer exists | Run the search again to get current results |
upgrade_required | The filter used is available on a paid plan only | Upgrade, or search without that filter |
discovery_cap_reached | Premium discovery filters hit their per-cycle limit | Wait for the cycle to reset, or use standard filters |
person_signals_unavailable | Person-level signals are not enabled on this deployment | Nothing to fix; the rest of Signl is unaffected |
The two that surprise people
zero_balance and enrichment_miss are different. A miss means Signl looked and found nothing verifiable, and you were not charged. Zero balance means there was nothing to charge. If your agent conflates them, ask it which one it received.
attempt_cap_reached is not about credits. Every lookup costs us money whether or not it succeeds, so accounts have an allowance of attempts alongside their credits. Hitting it means a lot of lookups were tried, many of which found nothing. If you see it regularly, the fix is usually a tighter target list rather than a bigger plan.
If you see something not listed here, email vlad@akyx.digital with what you asked and what came back.