Troubleshooting
Common Errors
401 missing_api_key: No API key supplied.401 invalid_api_key: API key not recognized or inactive.403 no_active_license: Organization license not active.403 no_lenses_available: No lenses configured for the org or platform.403 unlicensed_lens: One or more requested lens IDs not licensed for this org.403 insufficient_scope: Updating traffic-light ranges requiresorg:write.400 invalid_channel_type:channel_typeis not in the allowed list.400 invalid_request: Schema validation failed.400 invalid_traffic_light_ranges: Bands are missing, overlapping, gapped, or contain invalid boundaries.501 persist_not_supported:persist=trueis disabled.
Channel Types
instant_message,live_chat,chatbot,text_message,whatsapp,messenger,chatemail,social_media,web,forum,bloglive_conference,live_callpodcast,video_recording,audio_recording
Warnings
lang '<value>' is not supported; some scoring may be degraded.
Zero Score vs Unscored
- Read
scoring_statuson every question. unconfiguredandunavailablequestions retainscore: 0.0for compatibility but are excluded from the lens aggregate.- A lens with no scored questions returns
traffic_light: null. scoring_coverageshows the proportion of questions that contributed.- Unscored questions return
traffic_light: null.
UI Dials
- Drive dials from each question's
indicator_name,score, andtraffic_light, not prediction cluster scores. - Indicator names are public and lens-specific; underlying metrics remain private.
- Changing a lens's ranges immediately changes the mapped signal for every question in that lens.
Empty Prescriptions
unconfiguredandunavailablequestions intentionally have no prescriptions.- A scored question selects authored low, medium, or high guidance when no contributor prescription exists. Legacy positive questions without authored tiered guidance may still return no question-level prescription.
- Green lenses return no lens-level prescriptions.
- Target-driven AI prescriptions are generated separately and are not part of the live scoring call.
Checklist Before Contacting Support
- Capture
X-Request-Idfrom the response headers. - Confirm
message.conversation_idmatchesprevious_message.conversation_id. - Validate
channel_typeagainst the supported list.