Authentication Errors
403 Forbidden
403 Forbidden
Your API key is valid and recognized, but it doesn’t have permission to perform the requested action.What to check:
- Plan limits — some endpoints (e.g., bulk export, EU region access) are restricted to Pro or Enterprise plans. Check whether the feature you’re calling is available on your current plan.
- Key scopes — if you created a restricted key (e.g., read-only), it won’t be able to create sessions or modify settings. Generate a new key with the correct scopes in Settings → API Keys → Create Key.
- Resource ownership — you cannot access sessions or agents that belong to a different organization.
429 Too Many Requests
429 Too Many Requests
You’ve exceeded the API rate limit for your key. Limits are applied per minute, per key.What to check:
- Inspect the response headers for limit details:
- Implement exponential backoff in your client — wait, then retry with increasing delays:
- If you’re consistently hitting limits, consider batching requests or upgrading your plan for a higher rate ceiling.
Session Issues
Session stuck in 'processing'
Session stuck in 'processing'
Sessions typically complete within 10–30 seconds. If a session has been in
processing for more than 5 minutes, something has likely gone wrong.What to do:- Poll the status endpoint to get the current state and check for an
errorfield: - If
erroris non-null, follow the guidance in the Session returnsfailedstatus section below. - If
erroris null and it’s been more than 5 minutes, contact support with the session ID — this may indicate a processing node issue on our end.
Session returns 'failed' status
Session returns 'failed' status
A Common error codes and fixes:
failed status means Agent Therapy received your log but could not analyze it. The response body will contain details:Review the log schema requirements in the Sessions API reference to validate your log format before submission. Catching format errors early avoids consuming a session credit.
Low confidence findings
Low confidence findings
If your session results show findings with
confidence: low, the log you submitted may not contain enough signal for the models to produce high-confidence assessments.Why this happens:- Logs with fewer than ~10 turns produce lower confidence scores across most finding categories.
- Sparse logs (long gaps between turns, very short messages) provide less behavioral data.
- Submit a longer conversation sample — aim for at least 20–50 turns for accurate analysis.
- For agents with short individual conversations, batch multiple conversations together in a single log submission.
Health score seems too low or too high
Health score seems too low or too high
The Agent Health Score reflects only the log you submitted, not your agent’s lifetime history or overall behavior.Common reasons a score seems off:
- Too low — the submitted log may have captured an unusual or edge-case conversation batch. Try submitting a more representative sample from a typical operational period.
- Too high — a short or narrow log might not expose the issues that occur in broader usage. Increase the sample size and diversity of conversations.
Integration Problems
LangChain callback not firing
LangChain callback not firing
If you’re using the Agent Therapy LangChain handler and no sessions are being created, the callback is likely not attached at the right level.Most common mistake — attaching to the LLM instead of the agent:Also check:
- Enable
verbose=Trueon the agent temporarily to confirm the callback chain is executing: - Ensure the handler is not catching and silently swallowing exceptions — set
raise_error=Trueduring debugging.
OpenAI thread export returns empty
OpenAI thread export returns empty
If the exported thread contains no messages, check the following:
- Thread ID — confirm the thread ID is correct. OpenAI thread IDs follow the format
thread_xxxxxxxxxxxxxxxxxx. A typo will return an empty thread rather than an error. - API key scopes — your OpenAI key must have the
threads:readscope (also listed as “Thread messages: Read” in the OpenAI platform permissions UI). Keys without this scope return an empty message list silently. - Thread age — OpenAI automatically deletes threads after 60 days of inactivity. Threads older than this cannot be retrieved.
AutoGen messages missing timestamps
AutoGen messages missing timestamps
By default, AutoGen’s message objects don’t include timestamps, and some export configurations strip metadata. Agent Therapy will still process and score logs without timestamps — no action is required.However, be aware:
- Temporal analysis (e.g., detecting response latency patterns or time-based drift) will be skipped when timestamps are absent.
- Overall scoring accuracy may be slightly reduced compared to logs with full metadata.
Dashboard & UI Issues
Agent not appearing in dashboard
Agent not appearing in dashboard
After registering a new agent via the API, it appears in the dashboard immediately — no waiting period is required.If you don’t see it:
- Hard-refresh the page (
Cmd+Shift+Ron macOS,Ctrl+Shift+Ron Windows/Linux) to clear any cached state. - Confirm the registration request returned a
201 Createdresponse with an agent ID. A200 OKwithout an agent ID indicates the call may have hit a read endpoint instead. - Check that you’re logged into the correct organization — agents are org-scoped and won’t appear if you’re viewing a different org’s dashboard.
Alerts not firing
Alerts not firing
If you’ve configured alerts but aren’t receiving notifications, work through the following:For all alert channels:
- Go to Settings → Alerts and confirm the alert rule is enabled (toggle is green) and the threshold is set correctly.
- Check the Alert History tab to see if the alert fired but the notification failed, or if it never triggered at all.
- Verify the webhook URL is correct — Slack webhook URLs follow the format
https://hooks.slack.com/services/T.../B.../.... - Confirm the Slack app connected to the webhook still has posting permissions for the target channel. If the channel was made private after the webhook was created, permissions may have been revoked.
- Test the webhook directly:
A successful test returns
ok. Any other response indicates a permissions or URL issue.
- Re-authenticate the integration in Settings → Integrations — access tokens can expire.
- Confirm the integration key or API key used has write permissions on the target service.
Getting More Help
Contact Support
Reach our support team directly. Include your session ID or request ID for the fastest resolution.
API Status
Check real-time API uptime, ongoing incidents, and historical availability on our status page.