You're viewing version 2.18 of the OpenSearch documentation. This version is no longer maintained. For the latest version, see the current documentation. For information about OpenSearch version maintenance, see Release Schedule and Maintenance Policy.
Workspaces APIs
Introduced 2.18
The Workspaces API provides a set of endpoints for managing workspaces in OpenSearch Dashboards.
List Workspaces API
You can use the following endpoint to retrieve a list of workspaces:
POST <osd host>:<port>/api/workspaces/_list
The following table lists the available path parameters.
Parameter | Data type | Required | Description |
---|---|---|---|
search | String | Optional | A query string used to filter workspaces with simple query syntax, for example, simple_query_string . |
searchFields | Array | Optional | Specifies which fields to perform the search query against. |
sortField | String | Optional | The field name to use for sorting results. |
sortOrder | String | Optional | Specifies ascending or descending sort order. |
perPage | Number | Optional | The number of workspace results per page. |
page | Number | Optional | The number of pages of results to retrieve. |
permissionModes | Array | Optional | A list of permissions to filter by. |
Example request
POST /api/workspaces/_list
The following example response shows a successful API call:
{
"success": true,
"result": {
"page": 1,
"per_page": 20,
"total": 3,
"workspaces": [
{
"name": "test1",
"features": [
"use-case-all"
],
"id": "hWNZls"
},
{
"name": "test2",
"features": [
"use-case-observability"
],
"id": "SnkOPt"
}
]
}
}
Get Workspaces API
You can use the following endpoint to retrieve a single workspace:
GET <osd host>:<port>/api/workspaces/<id>
The following table lists the available path parameters. All path parameters are required.
Parameter | Data type | Required | Description |
---|---|---|---|
<id> | String | Required | Identifies the unique workspace to be retrieved. |
Example request
GET /api/workspaces/SnkOPt
The following example response shows a successful API call:
{
"success": true,
"result": {
"name": "test2",
"features": ["use-case-all"],
"id": "SnkOPt"
}
}
Create Workspaces API
You can use the following endpoint to create a workspace:
POST <osd host>:<port>/api/workspaces
The following table lists the available path parameters.
Parameter | Data type | Required | Description |
---|---|---|---|
attributes | Object | Required | Defines the workspace attributes. |
permissions | Object | Optional | Specifies the permissions for the workspace. |
Example request
POST api/workspaces
{
"attributes": {
"name": "test4",
"description": "test4"
}
}
The following example response shows a successful API call:
{
"success": true,
"result": {
"id": "eHVoCJ"
}
}
Update Workspaces API
You can use the following endpoint to update the attributes and permissions for a workspace:
PUT <osd host>:<port>/api/workspaces/<id>
The following table lists the available path parameters.
Parameter | Data type | Required | Description |
---|---|---|---|
<id> | String | Required | Identifies the unique workspace to be retrieved. |
attributes | Object | Required | Defines the workspace attributes. |
permissions | Object | Optional | Specifies the permissions for the workspace. |
Example request
PUT api/workspaces/eHVoCJ
{
"attributes": {
"name": "test4",
"description": "test update"
}
}
The following example response shows a successful API call:
{
"success": true,
"result": true
}
Delete Workspaces API
You can use the following endpoint to delete a workspace:
DELETE <osd host>:<port>/api/workspaces/<id>
The following table lists the available path parameters. All path parameters are required.
Parameter | Data type | Required | Description |
---|---|---|---|
<id> | String | Required | Identifies the unique workspace to be retrieved. |
Example request
DELETE api/workspaces/eHVoCJ
The following example response shows a successful API call:
{
"success": true,
"result": true
}
Duplicate Saved Objects Workspaces API
You can use the following endpoint to copy saved objects between workspaces:
POST <osd host>:<port>/api/workspaces/_duplicate_saved_objects
The following table lists the available path parameters.
Parameter | Data type | Required | Description |
---|---|---|---|
objects | Array | Required | Specifies the saved objects to be duplicated. |
targetWorkspace | String | Required | Identifies the destination workspace for copying. |
includeReferencesDeep | Boolean | Optional | Determines whether to copy all referenced objects to the target workspace. Default is true . |
The following table lists the attributes of the object in the objects
parameter.
Parameter | Data type | Required | Description |
---|---|---|---|
type | String | Required | Defines the saved object classification, such as index-pattern , config , or dashboard . |
id | String | Required | The ID of the saved object. |
Example request
POST api/workspaces/_duplicate_saved_objects
{
"objects": [
{
"type": "index-pattern",
"id": "619cc200-ecd0-11ee-95b1-e7363f9e289d"
}
],
"targetWorkspace": "9gt4lB"
}
The following example response shows a successful API call:
{
"successCount": 1,
"success": true,
"successResults": [
{
"type": "index-pattern",
"id": "619cc200-ecd0-11ee-95b1-e7363f9e289d",
"meta": {
"title": "test*",
"icon": "indexPatternApp"
},
"destinationId": "f4b724fd-9647-4bbf-bf59-610b43a62c75"
}
]
}
Associate Saved Objects Workspaces API
You can use the following endpoint to associate saved objects with a workspace:
POST <osd host>:<port>/api/workspaces/_associate
The following table lists the available path parameters.
Parameter | Data type | Required | Description |
---|---|---|---|
workspaceId | String | Required | Identifies the target workspace for object association. |
savedObjects | Array | Required | Specifies the list of saved objects to be copied. |
The following table lists the attributes of the object in the objects
parameter.
Parameter | Data type | Required | Description |
---|---|---|---|
type | String | Required | Defines the saved object classification, such as index-pattern , config , or dashboard . |
id | String | Required | The ID of the saved object. |
Example request
POST api/workspaces/_associate
{
"objects": [
{
"type": "index-pattern",
"id": "619cc200-ecd0-11ee-95b1-e7363f9e289d"
}
],
"targetWorkspace": "9gt4lB"
}
The following example response shows a successful API call:
{
"success": true,
"result": [
{
"id": "619cc200-ecd0-11ee-95b1-e7363f9e289d",
}
]
}
Dissociate Saved Objects Workspaces API
You can use the following endpoint to dissociate saved objects from a workspace:
POST <osd host>:<port>/api/workspaces/_dissociate
The following table lists the available path parameters.
Parameter | Data type | Required | Description |
---|---|---|---|
workspaceId | String | Required | The target workspace with which to associate the objects. |
savedObjects | Array | Required | A list of saved objects to copy. |
The following table lists the attributes of the savedObjects
parameter.
Parameter | Data type | Required | Description |
---|---|---|---|
type | String | Required | The type of the saved object, such as index-pattern , config , or dashboard . |
id | String | Required | The ID of the saved object. |
Example request
POST api/workspaces/_dissociate
{
"objects": [
{
"type": "index-pattern",
"id": "619cc200-ecd0-11ee-95b1-e7363f9e289d"
}
],
"targetWorkspace": "9gt4lB"
}
The following example response shows a successful API call:
{
"success": true,
"result": [
{
"id": "619cc200-ecd0-11ee-95b1-e7363f9e289d",
}
]
}