mirror of
https://github.com/elastic/kibana.git
synced 2025-04-25 10:23:14 -04:00
## Summary Moves the response codes documented for the copy saved object API to the correct document file. Documentation was incorrectly located in https://github.com/elastic/kibana/pull/158036
142 lines
3.4 KiB
Text
142 lines
3.4 KiB
Text
[role="xpack"]
|
|
[[spaces-api-update-objects-spaces]]
|
|
=== Update saved objects spaces API
|
|
++++
|
|
<titleabbrev>Update saved objects spaces</titleabbrev>
|
|
++++
|
|
|
|
experimental[] Update saved objects spaces.
|
|
|
|
Updates one or more saved objects to add and/or remove them from specified spaces.
|
|
|
|
[[spaces-api-update-objects-spaces-request]]
|
|
==== {api-request-title}
|
|
|
|
`POST <kibana host>:<port>/api/spaces/_update_objects_spaces`
|
|
|
|
[[spaces-api-update-objects-spaces-request-body]]
|
|
==== {api-request-body-title}
|
|
|
|
`objects`::
|
|
(Required, object array) The saved objects to update.
|
|
+
|
|
.Properties of `objects`
|
|
[%collapsible%open]
|
|
=====
|
|
`type`:::
|
|
(Required, string) The saved object type.
|
|
|
|
`id`:::
|
|
(Required, string) The saved object ID.
|
|
=====
|
|
|
|
`spacesToAdd`::
|
|
(Required, string array) The IDs of the spaces the specified objects should be added to.
|
|
|
|
`spacesToRemove`::
|
|
(Required, string array) The IDs of the spaces the specified objects should be removed from.
|
|
|
|
[role="child_attributes"]
|
|
[[spaces-api-update-objects-spaces-response-body]]
|
|
==== {api-response-body-title}
|
|
|
|
`objects`::
|
|
(object array) The saved objects that have been updated.
|
|
+
|
|
.Properties of `objects`
|
|
[%collapsible%open]
|
|
=====
|
|
`type`:::
|
|
(string) The saved object type.
|
|
|
|
`id`:::
|
|
(string) The saved object ID.
|
|
|
|
`spaces`:::
|
|
(string array) The space(s) that the referenced saved object exists in.
|
|
|
|
`errors`:::
|
|
(string) Included if there was an error updating this object's spaces.
|
|
=====
|
|
|
|
[[spaces-api-update-objects-spaces-example]]
|
|
==== {api-examples-title}
|
|
|
|
[[spaces-api-update-objects-spaces-example-1]]
|
|
===== Sharing saved objects
|
|
|
|
To share a saved object to a space programmatically follow these steps:
|
|
|
|
1. Collect reference graph and spaces context for each saved object that you want to share using <<spaces-api-get-shareable-references, Get shareable references API>>:
|
|
+
|
|
[source,sh]
|
|
----
|
|
$ curl -X POST /api/spaces/_get_shareable_references
|
|
{
|
|
"objects": [
|
|
{
|
|
"type": "index-pattern",
|
|
"id": "90943e30-9a47-11e8-b64d-95841ca0b247"
|
|
}
|
|
]
|
|
}
|
|
----
|
|
+
|
|
The API returns the following:
|
|
+
|
|
[source,json]
|
|
----
|
|
{
|
|
"objects": [
|
|
{
|
|
"type": "index-pattern",
|
|
"id": "90943e30-9a47-11e8-b64d-95841ca0b247",
|
|
"spaces": ["default"],
|
|
"inboundReferences": [],
|
|
"spacesWithMatchingOrigins": ["default"]
|
|
}
|
|
]
|
|
}
|
|
----
|
|
|
|
2. Check each saved object for `spacesWithMatchingOrigins` conflicts.
|
|
+
|
|
Objects should not be shared to spaces with matching origins or you will create URL conflicts (causing the same URL to point to different saved objects).
|
|
|
|
3. Check each saved object for `spacesWithMatchingAliases` conflicts.
|
|
+
|
|
If these match the space(s) that these saved objects will be shared to you should disable legacy URL aliases for them using <<spaces-api-disable-legacy-url-aliases, Disable legacy URL aliases API>>.
|
|
+
|
|
When sharing to all spaces (`*`) all entries in `spacesWithMatchingAliases` should be checked.
|
|
|
|
4. Update spaces of each saved object and all its references:
|
|
+
|
|
[source,sh]
|
|
----
|
|
$ curl -X POST /api/spaces/_update_objects_spaces
|
|
{
|
|
"objects": [
|
|
{
|
|
"type": "index-pattern",
|
|
"id": "90943e30-9a47-11e8-b64d-95841ca0b247"
|
|
}
|
|
],
|
|
"spacesToAdd": ["test"],
|
|
"spacesToRemove": []
|
|
}
|
|
----
|
|
+
|
|
The API returns the following:
|
|
+
|
|
[source,json]
|
|
----
|
|
{
|
|
"objects": [
|
|
{
|
|
"type": "index-pattern",
|
|
"id": "90943e30-9a47-11e8-b64d-95841ca0b247",
|
|
"spaces": ["default", "test"]
|
|
}
|
|
]
|
|
}
|
|
----
|