Skip to main content
Find solutions to common problems and answers to frequently asked questions about integrating with HITL.sh. This guide covers API issues, authentication problems, webhook troubleshooting, and mobile app concerns.

API Authentication Issues

401 Unauthorized Errors

Error: {"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
Solutions:
  1. Verify API key in your dashboard
  2. Generate a new API key if needed
  3. Ensure no extra spaces or characters
  4. Check environment variables are loaded correctly
Error: {"error": true, "msg": "Missing or invalid authorization header"}Common Mistakes:
  • Using X-API-Key instead of Authorization: Bearer
  • Missing the header entirely
  • Incorrect header name capitalization
  • Missing “Bearer ” prefix
Correct Format:
Error: {"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

Error: {"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
Solutions:
Best Practices:
  1. Cache loop IDs and reuse them
  2. Batch operations when possible
  3. Use webhooks instead of frequent polling
  4. Implement exponential backoff
  5. Monitor your usage in the dashboard

Request Creation Issues

Invalid Request Parameters

Error: {"error": true, "msg": "Missing required field: loop_id"}Common Missing Fields:
  • loop_id: The loop to send the request to
  • request_text: The content to be reviewed
  • response_type: How reviewers should respond
Complete Example:
Error: {"error": true, "msg": "Invalid response_config for response_type 'single_select'"}Common Issues:
  • Missing options array for single_select/multi_select
  • Invalid rating range (min > max)
  • Empty or too many options
  • Missing required configuration fields
Correct Configurations:
Error: {"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
Debug Steps:
Error: {"error": true, "msg": "Request text exceeds maximum length"}Limits:
  • Maximum request text: 10,000 characters
  • Includes any formatted text and line breaks
Solution:

Loop Management Issues

Loop Creation Problems

Error: {"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
Examples:
Error: {"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)
Members can only:
  • View basic loop information
  • Respond to requests
  • Leave the loop

Member Management Issues

Issue: Requests stay “pending” indefinitelyCauses:
  • No one has joined the loop yet
  • All members have disabled notifications
  • Members are inactive or unavailable
  • Loop invite code expired or invalid
Solutions:
  1. Verify members joined:
  1. Share working invite:
  1. Test by joining yourself: Download the mobile app and join with the invite code to test the process
Common Issues:
  • Invalid invite code format
  • Loop at maximum capacity
  • Members using wrong mobile app
  • Regional restrictions
Troubleshooting:
  1. Verify invite code is exactly 6 characters
  2. Check loop capacity isn’t exceeded
  3. Ensure members download official HITL app
  4. Try creating a new loop for testing

Webhook Issues

Webhook Not Receiving Events

Common Issues:
  • URL not publicly accessible (localhost, internal network)
  • HTTPS required (HTTP not supported)
  • Firewall blocking incoming requests
  • Invalid SSL certificate
Testing Your Webhook URL:
Development Solutions:
Error: Webhook receives requests but signature verification failsCommon Issues:
  • Using wrong webhook secret
  • Signature calculation incorrect
  • Raw payload not used for signature verification
  • Wrong header name
Correct Implementation:
Error: HITL stops sending webhooks after timeoutsCauses:
  • Webhook endpoint taking too long to respond (>30 seconds)
  • Webhook endpoint returning error status codes
  • Network connectivity issues
Solutions:
Best Practices:
  • 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

Issue: Only receiving some event typesCheck Configuration:
Event Types Available:
  • request.completed - Request finished with response
  • request.claimed - Request claimed by reviewer
  • request.cancelled - Request cancelled by creator
  • request.timeout - Request expired without response
  • loop.member_joined - New member joined loop
  • loop.member_left - Member left loop
  • loop.updated - Loop settings changed
Issue: Unexpected or missing data in webhook payloadsStandard Webhook Format:
Processing Different Event Types:

Mobile App Issues

App Installation and Setup

Solutions:
  1. Search for “HITL” or “Human in the Loop”
  2. Check if your device meets minimum requirements:
    • iOS: 14.0 or later
    • Android: 8.0 (API level 26) or later
  3. Try different app store regions if traveling
  4. Use direct download links from HITL website
Common Issues:
  • Insufficient storage space
  • Outdated operating system
  • Corporate device restrictions
  • Network connectivity problems
Solutions:
  • 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

Troubleshooting:
  1. Ensure QR code is displayed clearly and fully visible
  2. Try scanning in better lighting conditions
  3. Clean camera lens
  4. Hold phone steady at appropriate distance
  5. Try manual invite code entry instead
Alternative Methods:
Common Causes:
  • Typo in invite code (codes are case-sensitive)
  • Loop was deleted
  • Invite code expired
  • Loop at capacity
Verification:

Notification Issues

Check List:
  1. Phone Settings: Settings > Notifications > HITL > Allow Notifications
  2. App Settings: HITL app > Settings > Notifications > Enable all relevant types
  3. Do Not Disturb: Ensure DND isn’t blocking notifications
  4. Battery Optimization: Disable battery optimization for HITL app (Android)
  5. Background App Refresh: Enable for HITL app (iOS)
Testing Notifications:
  • 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)
Customization Options:
  1. Open HITL app > Settings > Notifications
  2. 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
  3. Set notification sounds and vibration patterns
  4. Configure badge count display

Performance Issues

Slow API Response Times

Typical Response Times:
  • Simple requests (get loop, get request): < 500ms
  • Request creation: < 1000ms
  • Complex operations: < 3000ms
Optimization Strategies:
Caching Strategies:
Network Optimization:

Data and Response Issues

Request Status Problems

Common Causes:
  • No active reviewers in loop
  • All reviewers have notifications disabled
  • Request priority too low
  • Request content unclear or problematic
Debugging Steps:
Issue: Response data doesn’t match expected formatCommon Cases:

SDK Specific Issues

Python SDK Issues

Error: ModuleNotFoundError: No module named 'hitl'Solutions:
Virtual Environment Issues:
Error: SSLError: certificate verify failedSolutions:

Node.js SDK Issues

Error: Cannot find module 'hitl-js'Solutions:
ES6 Import Issues:
Error: SyntaxError: Unexpected token 'await'Solutions:

Getting Additional Help

Debug Information to Collect

When reporting issues, include:

Support Channels

Email Support

support@hitl.sh
Technical issues, account problems, billing questions
Response time: Within 24 hours

Developer Discord

Community Support
Integration help, best practices, feature discussions
Active community with fast responses

GitHub Issues

SDK and Documentation Issues
Bug reports, feature requests, code examples
Public issue tracking

Status Page

api-status.hitl.sh
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
Try Self-Service First For:
  • 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.