Update Visibility

PUT /v1/applications/{uuid}/visibility

Set who can reach an application, independently for its production URL and its preview URLs. Each is public (anyone with the link) or private (only members of the app's owning account, enforced at the edge). New apps default to prod_visibility: public and preview_visibility: private. See the Visibility guide for how enforcement works — and note this is not Endpoint Auth (your own login for your end-users); visibility controls which Ngris users can reach the app at all.

Requires the caller's account to have Endpoints write permission (same authorization as other application mutations — an API key or a dashboard session). Available on every app; no entitlement or plan gate.

Request body

This is a partial update: send one or both fields; an omitted field keeps its current value. At least one field is required.

prod_visibility string
Optional. public or private — access to the app's production URL.
preview_visibility string
Optional. public or private — access to the app's preview URLs.

Response (200 OK)

Returns the updated application object, including both prod_visibility and preview_visibility.

Errors

400
No visibility fields provided ({"error":"no visibility fields provided"}), or a value is neither public nor private.
404
No application with that uuid in the active account.
Request
curl -X PUT \ "https://api.ngris.com/v1/applications/a1b2c3d4-…/visibility" \ -H "X-API-KEY: <your_api_key>" \ -H "Content-Type: application/json" \ -d '{ "prod_visibility": "private", "preview_visibility": "private" }'
Response — 200 OK
{ "uuid": "a1b2c3d4-…", "name": "my-site", "type": "static", "prod_visibility": "private", "preview_visibility": "private" }
Response — 400 (no fields)
{ "error": "no visibility fields provided" }
On this page
Update Visibility