API Authentication Issues
401 Unauthorized Errors
Invalid API Key
Invalid API Key
{"error": true, "msg": "Invalid API key"}Common Causes:- API key is incorrect or mistyped
- API key has been regenerated or revoked
- Using the wrong environment (dev vs. prod) API key
- Verify API key in your dashboard
- Generate a new API key if needed
- Ensure no extra spaces or characters
- Check environment variables are loaded correctly
Wrong Header Format
Wrong Header Format
{"error": true, "msg": "Missing or invalid authorization header"}Common Mistakes:- Using
X-API-Keyinstead ofAuthorization: Bearer - Missing the header entirely
- Incorrect header name capitalization
- Missing “Bearer ” prefix
API Key Permissions
API Key Permissions
{"error": true, "msg": "Access denied to this resource"}Cause: API key doesn’t have access to the requested resource (loops, requests created by other users)Solution:- Verify you’re accessing resources created by your account
- Check if API key has been restricted to specific operations
- Ensure you’re using the correct API key for the environment
Rate Limiting
429 Too Many Requests
429 Too Many Requests
{"error": true, "msg": "API rate limit exceeded", "usage_count": 100, "usage_limit": 100, "remaining": 0}Current Limits:- Free tier: 100 requests per hour
- Enterprise: Custom limits
- Cache loop IDs and reuse them
- Batch operations when possible
- Use webhooks instead of frequent polling
- Implement exponential backoff
- Monitor your usage in the dashboard
Request Creation Issues
Invalid Request Parameters
Missing Required Fields
Missing Required Fields
{"error": true, "msg": "Missing required field: loop_id"}Common Missing Fields:loop_id: The loop to send the request torequest_text: The content to be reviewedresponse_type: How reviewers should respond
Invalid Response Type Configuration
Invalid Response Type Configuration
{"error": true, "msg": "Invalid response_config for response_type 'single_select'"}Common Issues:- Missing
optionsarray for single_select/multi_select - Invalid rating range (min > max)
- Empty or too many options
- Missing required configuration fields
Loop Not Found
Loop Not Found
{"error": true, "msg": "Loop not found"}Common Causes:- Incorrect loop ID (check for typos)
- Loop was deleted
- Loop belongs to different account
- Using loop ID from different environment
Request Text Too Long
Request Text Too Long
{"error": true, "msg": "Request text exceeds maximum length"}Limits:- Maximum request text: 10,000 characters
- Includes any formatted text and line breaks
Loop Management Issues
Loop Creation Problems
Invalid Loop Names
Invalid Loop Names
{"error": true, "msg": "Loop name must be between 1 and 100 characters"}Requirements:- Length: 1-100 characters
- Can contain letters, numbers, spaces, and basic punctuation
- Must be unique within your account
Loop Permissions
Loop Permissions
{"error": true, "msg": "Access denied to this loop"}Cause: Trying to access a loop you didn’t createSolution: Only loop creators can:- Update loop settings
- View member details
- Delete loops
- Create requests in loops (unless member)
- View basic loop information
- Respond to requests
- Leave the loop
Member Management Issues
No Active Reviewers
No Active Reviewers
- No one has joined the loop yet
- All members have disabled notifications
- Members are inactive or unavailable
- Loop invite code expired or invalid
- Verify members joined:
- Share working invite:
- Test by joining yourself: Download the mobile app and join with the invite code to test the process
Members Can't Join Loop
Members Can't Join Loop
- Invalid invite code format
- Loop at maximum capacity
- Members using wrong mobile app
- Regional restrictions
- Verify invite code is exactly 6 characters
- Check loop capacity isn’t exceeded
- Ensure members download official HITL app
- Try creating a new loop for testing
Webhook Issues
Webhook Not Receiving Events
Webhook URL Not Accessible
Webhook URL Not Accessible
- URL not publicly accessible (localhost, internal network)
- HTTPS required (HTTP not supported)
- Firewall blocking incoming requests
- Invalid SSL certificate
Webhook Signature Verification Failing
Webhook Signature Verification Failing
- Using wrong webhook secret
- Signature calculation incorrect
- Raw payload not used for signature verification
- Wrong header name
Webhook Timeouts
Webhook Timeouts
- Webhook endpoint taking too long to respond (>30 seconds)
- Webhook endpoint returning error status codes
- Network connectivity issues
- Respond within 10 seconds (ideally < 5 seconds)
- Always return HTTP 200 for successful processing
- Use background processing for long operations
- Implement idempotency for duplicate webhook deliveries
Webhook Configuration Issues
Missing Webhook Events
Missing Webhook Events
request.completed- Request finished with responserequest.claimed- Request claimed by reviewerrequest.cancelled- Request cancelled by creatorrequest.timeout- Request expired without responseloop.member_joined- New member joined looploop.member_left- Member left looploop.updated- Loop settings changed
Webhook Payload Format Issues
Webhook Payload Format Issues
Mobile App Issues
App Installation and Setup
Can't Find HITL App in App Store
Can't Find HITL App in App Store
- Search for “HITL” or “Human in the Loop”
- Check if your device meets minimum requirements:
- iOS: 14.0 or later
- Android: 8.0 (API level 26) or later
- Try different app store regions if traveling
- Use direct download links from HITL website
App Won't Install
App Won't Install
- Insufficient storage space
- Outdated operating system
- Corporate device restrictions
- Network connectivity problems
- Free up device storage (need ~100MB)
- Update to latest iOS/Android version
- Check with IT department for corporate devices
- Try installing on different network (WiFi vs cellular)
Loop Joining Issues
QR Code Won't Scan
QR Code Won't Scan
- Ensure QR code is displayed clearly and fully visible
- Try scanning in better lighting conditions
- Clean camera lens
- Hold phone steady at appropriate distance
- Try manual invite code entry instead
Invalid Invite Code Error
Invalid Invite Code Error
- Typo in invite code (codes are case-sensitive)
- Loop was deleted
- Invite code expired
- Loop at capacity
Notification Issues
Not Receiving Push Notifications
Not Receiving Push Notifications
- Phone Settings: Settings > Notifications > HITL > Allow Notifications
- App Settings: HITL app > Settings > Notifications > Enable all relevant types
- Do Not Disturb: Ensure DND isn’t blocking notifications
- Battery Optimization: Disable battery optimization for HITL app (Android)
- Background App Refresh: Enable for HITL app (iOS)
- Create a test request in your loop
- Check if you receive the notification within 1-2 minutes
- Try with different priority levels (high priority should be immediate)
Too Many/Too Few Notifications
Too Many/Too Few Notifications
- Open HITL app > Settings > Notifications
- Configure per notification type:
- New Requests: All loops or specific loops only
- Priority Alerts: High/Critical only
- Loop Updates: Disable if too noisy
- Quiet Hours: Set times for no notifications
- Set notification sounds and vibration patterns
- Configure badge count display
Performance Issues
Slow API Response Times
Request Taking Too Long
Request Taking Too Long
- Simple requests (get loop, get request): < 500ms
- Request creation: < 1000ms
- Complex operations: < 3000ms
High Request Latency
High Request Latency
Data and Response Issues
Request Status Problems
Requests Stuck in Pending
Requests Stuck in Pending
- No active reviewers in loop
- All reviewers have notifications disabled
- Request priority too low
- Request content unclear or problematic
Unexpected Response Data Format
Unexpected Response Data Format
SDK Specific Issues
Python SDK Issues
Import Errors
Import Errors
ModuleNotFoundError: No module named 'hitl'Solutions:SSL Certificate Errors
SSL Certificate Errors
SSLError: certificate verify failedSolutions:Node.js SDK Issues
Module Resolution Errors
Module Resolution Errors
Cannot find module 'hitl-js'Solutions:Async/Await Issues
Async/Await Issues
SyntaxError: Unexpected token 'await'Solutions:Getting Additional Help
Debug Information to Collect
When reporting issues, include:Support Channels
Email Support
Developer Discord
Integration help, best practices, feature discussions
Active community with fast responses
GitHub Issues
Bug reports, feature requests, code examples
Public issue tracking
Status Page
Current system status, maintenance notices, incident reports
Real-time status updates
When to Contact Support
Contact Support For:- API authentication issues that persist after troubleshooting
- Unexpected API behavior or error responses
- Account or billing questions
- Security concerns
- Feature requests or integration advice
- Basic integration questions (check documentation)
- Common error codes (use this troubleshooting guide)
- SDK installation issues (check language-specific docs)
- Mobile app usage questions (see mobile app guide)
Still need help? If you can’t find the solution here, don’t hesitate to reach out to our support team at support@hitl.sh with your specific issue and any relevant error messages or debug information.