Troubleshooting: IP Authorization Issues
“IP address not authorized for this route” is the #1 most common error new KnoxCall users encounter. This guide will help you fix it quickly.Symptoms
You make a request and receive:Quick Fix (Most Common Cause)
Problem: Your IP Changed
This is the #1 cause (especially for development machines). Your home/office internet likely uses dynamic IP addresses that change periodically.Solution: Update Your Client IP
Step 1: Check your current IP203.45.67.89
Step 2: Update your client in KnoxCall
- Go to Resources → Clients
- Find your client (e.g., “john-dev-laptop”)
- Click Edit
- Update IP to:
203.45.67.89 - Click Save
Common Causes & Solutions
1. Client Not Created
Symptoms:- Fresh KnoxCall account
- Never created any clients
- Getting IP authorization errors
- Navigate to Resources → Clients
- Click Create Client
- Fill in:
- Name:
my-dev-machine - Type: User
- IP: Your IP from
curl https://api.ipify.org
- Name:
- Click Save
- Assign client to route (see Cause #2)
2. Client Not Assigned to Route
Symptoms:- Client exists in KnoxCall
- IP matches
- Still getting 403 errors
- Go to Routes → Find your route
- Click on the route
- Go to Environment Clients tab
- Select your environment (e.g., “production”)
- Check: Is your client listed?
- Click Assign Clients
- Check the box next to your client
- Click Save
3. Wrong Environment
Symptoms:- Client is assigned to route
- IP is correct
- Still getting 403 errors
- Go to route → Environment Clients
- Select “production”
- Click Assign Clients
- Check your client
- Save
4. Client Disabled
Symptoms:- Everything looks correct
- Used to work
- Suddenly stopped working
- Go to Resources → Clients
- Find your client
- Look at the Enabled column
- Is it showing OFF?
- Click on the client
- Toggle Enabled to ON
- Click Save
5. IP Detection Behind Proxy/CDN
Symptoms:- Your actual IP is correct in clients list
- Still getting 403 with different IP shown in error
cf-connecting-ip(Cloudflare)x-forwarded-for(Standard)- Socket remote address (fallback)
6. CIDR Notation Mistake
Symptoms:- Using IP range (CIDR notation)
- Some IPs work, some don’t
/24 covers 192.168.1.0 to 192.168.1.255 only.
Your IP 192.168.2.50 is outside this range!
Solution:
Option A: Expand range
/32= 1 IP (e.g.,192.168.1.1only)/24= 256 IPs (e.g.,192.168.1.0to192.168.1.255)/16= 65,536 IPs (e.g.,192.168.0.0to192.168.255.255)
7. Dynamic IP (Home Internet)
Symptoms:- Works sometimes
- Stops working randomly
- Home/office internet
- Need to keep updating IP
- Go to Settings → API Keys
- Click Generate New Key
- Name:
dev-test-key - Check: Allow any IP ✓
- Copy the key:
tk_abc123...
8. Route Has requires_clients Disabled
Symptoms:
- Set up clients
- Assigned to route
- Still getting errors OR anyone can access
requires_clients flag is OFF.
How to check:
- Go to Routes → Your route
- Look for Requires Clients setting
- Is it OFF?
- OFF = Anyone can access (no IP check)
- ON = Only whitelisted clients can access
- Edit route
- Toggle Requires Clients to ON
- Save
Debugging Checklist
Follow this checklist step-by-step:✅ Step 1: Confirm Your IP
____________________
✅ Step 2: Check Client Exists
- Go to Resources → Clients
- Your IP is listed? (Exact match or in CIDR range)
- Client is Enabled (toggle ON)?
✅ Step 3: Check Client Assignment
- Go to Routes → Your route
- Click Environment Clients tab
- Select environment (production/staging/dev)
- Your client is listed?
✅ Step 4: Check Route Settings
- Route has Requires Clients = ON?
- Route is Enabled = ON?
✅ Step 5: Verify Request Headers
✅ Step 6: Check Logs
- Go to Logs → API Logs
- Find your failed request
- Look at error details
- Check IP shown vs your actual IP
Quick Tests
Test 1: Temporarily Disable IP Check
To confirm IP authorization is the problem:- Edit your route
- Toggle Requires Clients to OFF
- Save
- Try your request again
Requires Clients back ON for production!
Test 2: Use Test API Key
Create an API key that bypasses IP check:- Settings → API Keys
- Generate New Key
- Name:
bypass-test-key - Allow any IP: ✓
- Use this key in requests:
Advanced Scenarios
VPN Users
Problem: Your IP changes when VPN connects/disconnects. Solution A: Whitelist VPN IP rangeAWS/Cloud Servers
Problem: EC2 instances with dynamic IPs. Solution: Use Elastic IP- Allocate Elastic IP in AWS
- Assign to your EC2 instance
- Use Elastic IP in KnoxCall client
- IP never changes!
Docker/Kubernetes
Problem: Container IPs change on restart. Solution: Use NAT gateway or API key auth Don’t whitelist: Container internal IPs (172.17.0.2, etc.) Do whitelist: NAT gateway public IP or load balancer IPMultiple Developers
Problem: 10 developers, each with changing IPs. Solution: Use test API keys per developerPrevention Tips
For Development
- Use API key auth instead of IP whitelisting
- Create separate test keys for each developer
- Enable “Allow any IP” for dev keys only
For Production
- Use static IPs (Elastic IPs, static VPS IPs)
- Document your IPs with descriptions
- Audit clients monthly - remove unused ones
- Use CIDR ranges for networks, not individual IPs
For Staging
- Separate clients from production
- Allow broader IP ranges for easier testing
- Use descriptive names (staging-server-1, not server1)
Error Message Reference
| Error Message | Meaning | Most Common Cause |
|---|---|---|
IP address not authorized for this route | Your IP isn’t whitelisted | IP changed or not assigned to route |
Client authorization required but IP not found | No matching client | Never created a client |
Route requires client authorization | Route has IP check enabled | Forgot to assign client |
No clients assigned to environment | Environment has no clients | Assigned to wrong environment |
Still Having Issues?
Check These Less Common Causes
- Firewall blocking: Your firewall is changing source IP
- IPv4 vs IPv6: Using IPv6 but whitelisted IPv4 (or vice versa)
- Rate limiting: Hit rate limit, getting different error that looks similar
- Expired API key: Using old/deleted API key
- Wrong subdomain: Using wrong tenant subdomain
Get Help
If none of these solutions work:Support Chat
Fastest way to get help
Check Logs
Review detailed request logs
Client Documentation
Deep dive into how clients work
Common Errors
Other error codes and solutions
Summary: Most Common Fixes
90% of IP authorization issues are one of these:- ✅ IP changed → Update client IP
- ✅ Client not assigned to route → Assign in Environment Clients
- ✅ Wrong environment → Check which environment you’re calling
- ✅ Dynamic IP → Use API key auth instead