code is machine-readable. message is human-readable. field names the offending field when the server can pinpoint one.
Status reference
Error class reference
AuthError — 401 / 403
AuthError — 401 / 403
API key missing, malformed, or revoked. Not retryable.
ValidationError — 422 / 409
ValidationError — 422 / 409
Request body failed schema validation, or the
Idempotency-Key was reused with a different body. .field names the offending field when available.RateLimitError — 429
RateLimitError — 429
Rate limit hit. The SDK auto-retries up to
maxRetries; surfaced when retries are exhausted. .retryAfterMs carries the server’s Retry-After.ServerError — 5xx
ServerError — 5xx
Server-side problem on Vibefollow’s end. Retryable by definition; surfaced when retries are exhausted.
NetworkError — status 0
NetworkError — status 0
DNS, refused, abort, timeout. Retryable. The SDK auto-retries; surfaced when the retry budget is exhausted.
WebhookSignatureError — status 0
WebhookSignatureError — status 0
HMAC mismatch or timestamp outside the ±5 minute window. Not retryable. Return
401 to Vibefollow.VibeFollowError — base class
VibeFollowError — base class
Catch this to handle every SDK error uniformly.
Common codes
When a request silently disappears
Vibefollow returns
202 Accepted for ingest endpoints — that confirms enqueue, not processing. If you track() an event but don’t see it in the dashboard, work through this checklist.1
Check the events log
Look in Settings → Developers → Recent events. Malformed events land in the quarantine view, not the main stream.
2
Check for near-miss event names
Confirm your event name doesn’t collide with a near-miss canonical name (e.g.
user_signedUp vs user_signed_up). The dashboard flags near-misses.3
Confirm the user ID matches
Confirm the
external_user_id matches what identify used. Mismatched IDs create orphaned events that are still ingested but not linked.See also
SDK errors
Full typed error hierarchy with recovery patterns.
API authentication
Wire-level auth failure modes.
Webhook signatures
The
WebhookSignatureError case.