How the allowlist works
Your partner has a list of up to 100 CIDR blocks. When enforcement is on, a request whose source address is outside every block is refused with 403ip-not-allowed, and the denial is recorded in your audit log as security.ip-denied.
The address checked is the original client address of the connection, as reported by Cloudflare, which fronts the API host (CF-Connecting-IP): your outbound NAT or proxy address, not a private address inside your network and not a Cloudflare address. Headers you send yourself, such as X-Forwarded-For, X-Real-IP or CF-Connecting-IP, are ignored or overwritten.
Enforcement is the partner setting ipAllowlistEnforcement:
Enforcement is effective only with at least one entry, and changes reach every server within 60 seconds.
Add your IP ranges
Manage entries on the IP allowlist page of the developer dashboard. The/partner/v1/ip-allowlist operations accept only signed-in users (recent sign-in); API keys can read the list with view-ip-allowlist.
- IPv4 prefix /8 or longer, IPv6 prefix /32 or longer, in canonical form (host bits zero), for example
203.0.113.0/24or2001:db8:1200::/40; - no private, loopback or link-local ranges (item code
invalid-cidr); - a label of 1-80 characters; the same CIDR twice → 409
ip-allowlist-entry-exists; a 101st entry → 422ip-allowlist-limit-reached.
Enable enforcement
- Add every egress range of the systems that call the API, IPv4 and IPv6.
- Call the API from each system and check that it still works.
- Set enforcement in the dashboard (
PATCH /partner/v1/partner/settings,manage-settings, dashboard only).
- Enabling enforcement with no entry, or deleting the last entry while enforcement is on → 409
ip-allowlist-required. - With
api-keys-and-users, a change that would exclude your own current address → 422ip-allowlist-would-lock-out.
IPv6
The API host resolves to IPv4 and IPv6 addresses (Cloudflare’s). If your systems have IPv6 connectivity, they may connect over IPv6 and be refused when only IPv4 ranges are listed. Add your IPv6 egress range, or force IPv4 in your HTTP client (for examplecurl -4).
Troubleshooting
- 403
ip-not-allowedfrom a server that should be allowed: check the outbound address with a request from that server to a “what is my IP” service, including IPv6. - The docs playground fails: the playground runs from Mintlify’s servers, so it is refused while enforcement covers API keys. Use
curlfrom an allowed address. - Cloud functions or autoscaling workers: route them through a NAT with fixed addresses.
- Locked out of the dashboard with
api-keys-and-users: another member on an allowed network can change the setting; otherwise contact AllRide support.