Switch What the List Means
Switch every listed path at once between the two modes. Each path keeps its pattern and methods; what they mean changes:
- open — the listed paths skip sign-in, for their methods. Every other path needs sign-in.
- protect — only the listed paths need sign-in, for their methods. Every other path is open to anyone, pages added later included.
Switching to protect opens every path you don't list, so check the list first. The switch is refused with no path listed (every path needs sign-in in either mode), to protect while a path has a signature check (remove the checks first), and to open while a path lists POST without every method (give it every method, or take POST off, first: without a signature check, an open POST can act as any method).
Path parameters
uuid string (uuid) Req
The endpoint's
uuid from /endpoints.Request body
mode string Req
open or protect.Response (200 OK)
The whole list, as GET .../access-paths answers it, in its new mode.
Errors
400 Bad Request
A field the API doesn't know (
invalid json payload), or a mode other than open or protect.401 Unauthorized
Missing auth.
403 Forbidden
Your role lacks
endpoints:update in the active account.404 Not Found
No such endpoint in your active account.
409 Conflict
add a path first: with no paths listed, every path needs sign-in in either mode; to protect while a path has a signature check; to open while a path lists POST without every method; or the endpoint is paused over your plan's quota ("code": "quota_paused").Request
curl -X PUT "https://api.ngris.com/v1/endpoints/019bb1e4-e785-77d2-9966-c3cff31d0a0e/access-paths/mode" \
-H "X-API-KEY: <your_api_key>" \
-H "Content-Type: application/json" \
-d '{"mode": "protect"}'
CLI
ngris api endpoint-access-paths set-mode 019bb1e4-e785-77d2-9966-c3cff31d0a0e --mode protect --yes
Response — 200 OK
{
"endpoint_uuid": "019bb1e4-e785-77d2-9966-c3cff31d0a0e",
"mode": "protect",
"sign_in_on": true,
"older_protected_paths": false,
"max_paths": 50,
"paths": [
{
"uuid": "019c1a20-7d2e-7a13-8c58-a2f4b6e3d809",
"path": "/admin/*",
"methods": ["*"],
"signature": null,
"created_at": "2026-11-12T09:00:00Z",
"updated_at": "2026-11-12T09:00:00Z"
}
]
}
Was this helpful?