PUT /api/v1/admin/orgs/:slug/ip-allowlist
This page is auto-generated from
src/admin/routes.ts. Do not edit by hand — seedocs/dev/docs-auto-sync.md.
:warning: Heuristic extraction — not a contract. Response shapes below are mined from
c.json(...)literals in the handler via an AST walker. Computed fields, ternaries, and non-literal returns are shown as placeholders. Refer to the linked source file for the authoritative behaviour.
PUT /api/v1/admin/orgs/:slug/ip-allowlist
Section titled “PUT /api/v1/admin/orgs/:slug/ip-allowlist”Authentication
Section titled “Authentication”Requires the following capability(ies):
ip_allowlist:w
Middleware
Section titled “Middleware”Other middleware observed on this route (heuristic):
requireCapabilityadminBodyLimit
Responses
Section titled “Responses”HTTP 404
Section titled “HTTP 404”{ "error": "Org not found"}HTTP 403
Section titled “HTTP 403”{ "error": "tier_ineligible", "message": "IP allowlist requires Enterprise tier", "tier": <member-expr>}HTTP 400
Section titled “HTTP 400”{ "error": "Invalid JSON body"}HTTP 400
Section titled “HTTP 400”{ "error": "Body must be a JSON object"}HTTP 400
Section titled “HTTP 400”{ "error": "`cidrs` must be an array of strings"}HTTP 400
Section titled “HTTP 400”{ "error": "too_many_entries", "message": <template-string>}HTTP 400
Section titled “HTTP 400”{ "error": <template-string>}HTTP 400
Section titled “HTTP 400”{ "error": "invalid_cidr", "message": "One or more CIDR entries failed to parse", "invalid_indexes": <invalid>}HTTP 400
Section titled “HTTP 400”{ "error": "step_up_required", "message": "Your IP is not in the proposed allowlist. Submit acknowledge_lockout_risk='LOCKOUT-RISK' to confirm."}HTTP 200
Section titled “HTTP 200”{ "slug": <member-expr>, "cidrs": <cidrs>, "from_count": <fromCount>, "to_count": <toCount>}Source
Section titled “Source”- File:
src/admin/routes.ts - Line: 8429