Skip to main content
Version: 3.1.0 (Preview)

View API

The View REST API is implemented by ViewService, ViewVersionService, ViewInstanceService, ViewPermissionService, and ViewPrivilegeService under ambari-server/src/main/java/org/apache/ambari/server/api/services/views.

Discover Views​

List deployed View definitions:

GET /api/v1/views

Read versions for a View:

GET /api/v1/views/{viewName}/versions
GET /api/v1/views/{viewName}/versions/{version}

The React directory performs an initial GET /api/v1/views, then requests visible non-system instances with versions/ViewVersionInfo/system=false. Empty and failed discovery are separate UI states with retry support.

Manage Instances​

Create, update, list, and delete instances with the instance resource:

POST /api/v1/views/{viewName}/versions/{version}/instances
POST /api/v1/views/{viewName}/versions/{version}/instances/{instanceName}
PUT /api/v1/views/{viewName}/versions/{version}/instances/{instanceName}
GET /api/v1/views/{viewName}/versions/{version}/instances
DELETE /api/v1/views/{viewName}/versions/{version}/instances/{instanceName}

An instance identifies one configured View version. Its properties are validated against the View definition; sensitive values should be supplied only through the supported server configuration and permission model.

Permissions and Privileges​

View versions can declare custom permissions through the permissions resource. Instance access is represented by privileges:

GET /api/v1/views/{viewName}/versions/{version}/permissions
GET /api/v1/views/{viewName}/versions/{version}/instances/{instanceName}/privileges

The server remains authoritative for authorization and filtering. React uses the authorized directory response and does not invent client-side privilege metadata. The VIEW.USE authorization determines the reduced View-only shell; administrative View management is a separate Ambari Admin concern.

Browser URL​

After an instance is selected, React builds a same-origin browser URL from the server-returned context_path and hosts the application in an iframe. This preserves the View application’s own assets and routes while the Ambari shell owns navigation, loading, timeout, and retry states.