Resolve object APIedit
Deprecated in 8.7.0.
To be removed in an upcoming version
Retrieve a single Kibana saved object by ID, using any legacy URL alias if it exists.
Under certain circumstances, when Kibana is upgraded, saved object migrations may necessitate regenerating some object IDs to enable new features. When an object’s ID is regenerated, a legacy URL alias is created for that object, preserving its old ID. In such a scenario, that object can be retrieved via the Resolve API using either its new ID or its old ID.
For the most up-to-date API details, refer to the open API specification.
Requestedit
GET <kibana host>:<port>/api/saved_objects/resolve/<type>/<id>
GET <kibana host>:<port>/s/<space_id>/api/saved_objects/resolve/<type>/<id>
Path parametersedit
-
space_id
-
(Optional, string) An identifier for the space. If
space_id
is not provided in the URL, the default space is used. -
type
-
(Required, string) Valid options include
visualization
,dashboard
,search
,index-pattern
,config
. -
id
- (Required, string) The ID of the object to retrieve.
Response codeedit
-
200
- Indicates a successful call.
Exampleedit
Retrieve the data view object with the my-pattern
ID:
$ curl -X GET api/saved_objects/resolve/index-pattern/my-pattern
The API returns the following:
{ "saved_object": { "id": "my-pattern", "type": "index-pattern", "version": 1, "attributes": { "title": "my-pattern-*" } }, "outcome": "exactMatch" }
In addition to saved_object
, several fields can be returned:
-
outcome
(required string) — One of the following values:-
"exactMatch"
— One document exactly matched the given ID. -
"aliasMatch"
— One document with a legacy URL alias matched the given ID; in this case thesaved_object.id
field is different than the given ID. -
"conflict"
— Two documents matched the given ID, one was an exact match and another with a legacy URL alias; in this case thesaved_object
object is the exact match, and thesaved_object.id
field is the same as the given ID.
-
-
alias_target_id
(optional string) — If theoutcome
is"aliasMatch"
or"conflict"
, the response will also include thealias_target_id
field. This means that an alias was found for another object, and it describes that other object’s ID. -
alias_purpose
(optional string) — If theoutcome
is"aliasMatch"
or"conflict"
, the response will also include thealias_purpose
field. This indicates why the alias was created, and it can be used to change the client behavior accordingly. One of the following values:"savedObjectConversion"
,"savedObjectImport"
Client-side code uses these fields to behave differently depending on the outcome
— learn more.
Retrieve a dashboard object in the testspace
by ID:
$ curl -X GET s/testspace/api/saved_objects/resolve/dashboard/7adfa750-4c81-11e8-b3d7-01146121b73d
The API returns the following:
{ "saved_object": { "id": "7adfa750-4c81-11e8-b3d7-01146121b73d", "type": "dashboard", "updated_at": "2019-07-23T00:11:07.059Z", "version": "WzQ0LDFd", "attributes": { "title": "[Flights] Global Flight Dashboard", "hits": 0, "description": "Analyze mock flight data for ES-Air, Logstash Airways, Kibana Airlines and JetBeats", "panelsJSON": "[ . . . ]", "optionsJSON": "{\"hidePanelTitles\":false,\"useMargins\":true}", "version": 1, "timeRestore": true, "timeTo": "now", "timeFrom": "now-24h", "refreshInterval": { "display": "15 minutes", "pause": false, "section": 2, "value": 900000 }, "kibanaSavedObjectMeta": { "searchSourceJSON": "{\"query\":{\"language\":\"kuery\",\"query\":\"\"},\"filter\":[],\"highlightAll\":true,\"version\":true}" } }, "references": [ { "name": "panel_0", "type": "visualization", "id": "aeb212e0-4c84-11e8-b3d7-01146121b73d" }, . . . { "name": "panel_18", "type": "visualization", "id": "ed78a660-53a0-11e8-acbd-0be0ad9d822b" } ], "migrationVersion": { "dashboard": "7.0.0" } }, "outcome": "conflict", "alias_target_id": "05becb88-e214-439a-a2ac-15fc783b5d01" }