diff --git a/docs/api.asciidoc b/docs/api.asciidoc index 012553864552..db584ac544fa 100644 --- a/docs/api.asciidoc +++ b/docs/api.asciidoc @@ -28,6 +28,7 @@ NOTE: You cannot access these APIs via the Console in Kibana. [float] == APIs +* <> * <> * <> * <> @@ -37,6 +38,7 @@ NOTE: You cannot access these APIs via the Console in Kibana. * <> -- +include::api/features.asciidoc[] include::api/spaces-management.asciidoc[] include::api/role-management.asciidoc[] include::api/saved-objects.asciidoc[] diff --git a/docs/api/features.asciidoc b/docs/api/features.asciidoc new file mode 100644 index 000000000000..e986157d1010 --- /dev/null +++ b/docs/api/features.asciidoc @@ -0,0 +1,13 @@ +[role="xpack"] +[[features-api]] +== Features API + +experimental[This API is *experimental* and may be changed or removed completely in a future release.] + +The features API allows you to view information about available features in {kib}. Features are used by spaces and security to refine and secure access to {kib}. + +NOTE: You cannot access these endpoints via the Console in {kib}. + +* <> + +include::features/get.asciidoc[] diff --git a/docs/api/features/get.asciidoc b/docs/api/features/get.asciidoc new file mode 100644 index 000000000000..eb18d2cb57c2 --- /dev/null +++ b/docs/api/features/get.asciidoc @@ -0,0 +1,219 @@ +[[features-api-get]] +=== Get Features + +experimental[This API is *experimental* and may be changed or removed completely in a future release.] + +Retrieves all {kib} features. + +Note: You cannot access this endpoint via the Console in {kib}. + +==== Get all {kib} features + +===== Request + +To retrieve all features, issue a GET request to the +/api/features/v1 endpoint. + +[source,js] +-------------------------------------------------- +GET /api/features/v1 +-------------------------------------------------- +// KIBANA + +===== Response + +A successful call returns a response code of `200` and a response body containing a JSON +representation of the features. + +[source,js] +-------------------------------------------------- + { + "id": "discover", + "name": "Discover", + "icon": "discoverApp", + "navLinkId": "kibana:discover", + "app": [ + "kibana" + ], + "catalogue": [ + "discover" + ], + "privileges": { + "all": { + "savedObject": { + "all": [ + "search", + "url" + ], + "read": [ + "config", + "index-pattern" + ] + }, + "ui": [ + "show", + "createShortUrl", + "save" + ] + }, + "read": { + "savedObject": { + "all": [], + "read": [ + "config", + "index-pattern", + "search", + "url" + ] + }, + "ui": [ + "show" + ] + } + } + }, + { + "id": "visualize", + "name": "Visualize", + "icon": "visualizeApp", + "navLinkId": "kibana:visualize", + "app": [ + "kibana" + ], + "catalogue": [ + "visualize" + ], + "privileges": { + "all": { + "savedObject": { + "all": [ + "visualization", + "url" + ], + "read": [ + "config", + "index-pattern", + "search" + ] + }, + "ui": [ + "show", + "createShortUrl", + "delete", + "save" + ] + }, + "read": { + "savedObject": { + "all": [], + "read": [ + "config", + "index-pattern", + "search", + "visualization" + ] + }, + "ui": [ + "show" + ] + } + } + }, + { + "id": "dashboard", + "name": "Dashboard", + "icon": "dashboardApp", + "navLinkId": "kibana:dashboard", + "app": [ + "kibana" + ], + "catalogue": [ + "dashboard" + ], + "privileges": { + "all": { + "savedObject": { + "all": [ + "dashboard", + "url" + ], + "read": [ + "config", + "index-pattern", + "search", + "visualization", + "timelion-sheet", + "canvas-workpad" + ] + }, + "ui": [ + "createNew", + "show", + "showWriteControls" + ] + }, + "read": { + "savedObject": { + "all": [], + "read": [ + "config", + "index-pattern", + "search", + "visualization", + "timelion-sheet", + "canvas-workpad", + "dashboard" + ] + }, + "ui": [ + "show" + ] + } + } + }, + { + "id": "dev_tools", + "name": "Dev Tools", + "icon": "devToolsApp", + "navLinkId": "kibana:dev_tools", + "app": [ + "kibana" + ], + "catalogue": [ + "console", + "searchprofiler", + "grokdebugger" + ], + "privileges": { + "all": { + "api": [ + "console" + ], + "savedObject": { + "all": [], + "read": [ + "config" + ] + }, + "ui": [ + "show" + ] + }, + "read": { + "api": [ + "console" + ], + "savedObject": { + "all": [], + "read": [ + "config" + ] + }, + "ui": [ + "show" + ] + } + }, + "privilegesTooltip": "User should also be granted the appropriate Elasticsearch cluster and index privileges" + }, +-------------------------------------------------- diff --git a/docs/api/spaces-management/get.asciidoc b/docs/api/spaces-management/get.asciidoc index 88ad117bdd49..b7b83426bf7c 100644 --- a/docs/api/spaces-management/get.asciidoc +++ b/docs/api/spaces-management/get.asciidoc @@ -32,6 +32,7 @@ representation of the spaces. "id": "default", "name": "Default", "description" : "This is the Default Space", + "disabledFeatures": [], "_reserved": true }, { @@ -39,12 +40,14 @@ representation of the spaces. "name": "Marketing", "description" : "This is the Marketing Space", "color": "#aabbcc", + "disabledFeatures": ["apm"], "initials": "MK" }, { "id": "sales", "name": "Sales", - "initials": "MK" + "initials": "MK", + "disabledFeatures": ["discover", "timelion"], }, ] -------------------------------------------------- @@ -74,6 +77,7 @@ representation of the space. "name": "Marketing", "description" : "This is the Marketing Space", "color": "#aabbcc", - "initials": "MK" + "initials": "MK", + "disabledFeatures": [] } -------------------------------------------------- diff --git a/docs/api/spaces-management/post.asciidoc b/docs/api/spaces-management/post.asciidoc index fcdff350b2aa..5b41e67ee84b 100644 --- a/docs/api/spaces-management/post.asciidoc +++ b/docs/api/spaces-management/post.asciidoc @@ -27,6 +27,8 @@ The following parameters can be specified in the body of a POST request to creat `description`:: (string) Optional description for the space. +`disabledFeatures`:: (string array) Optional list of features that are disabled for the space. Use the <> to get a list of available features IDs. + `initials`:: (string) Optionally specify the initials shown in the Space Avatar for this space. By default, the initials will be automatically generated from the space name. If specified, initials should be either 1 or 2 characters. @@ -42,7 +44,8 @@ POST /api/spaces/space "name": "Marketing", "description" : "This is the Marketing Space", "color": "#aabbcc", - "initials": "MK" + "initials": "MK", + "disabledFeatures": ["timelion"] } -------------------------------------------------- // KIBANA diff --git a/docs/api/spaces-management/put.asciidoc b/docs/api/spaces-management/put.asciidoc index b5d41ec0a4fe..a1caae59efb8 100644 --- a/docs/api/spaces-management/put.asciidoc +++ b/docs/api/spaces-management/put.asciidoc @@ -27,6 +27,8 @@ The following parameters can be specified in the body of a PUT request to update `description`:: (string) Optional description for the space. +`disabledFeatures`:: (string array) Optional list of features that are disabled for the space. Use the <> to get a list of available features IDs. + `initials`:: (string) Optionally specify the initials shown in the Space Avatar for this space. By default, the initials will be automatically generated from the space name. If specified, initials should be either 1 or 2 characters. @@ -42,7 +44,8 @@ PUT /api/spaces/space/marketing "name": "Marketing", "description" : "This is the Marketing Space", "color": "#aabbcc", - "initials": "MK" + "initials": "MK", + "disabledFeatures": [] } -------------------------------------------------- // KIBANA