Resolve object API

edit

[preview] This functionality is in technical preview and may be changed or removed in a future release. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features. 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.

Request

edit

GET <kibana host>:<port>/api/saved_objects/resolve/<type>/<id>

GET <kibana host>:<port>/s/<space_id>/api/saved_objects/resolve/<type>/<id>

Path parameters

edit
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, and timelion-sheet.
id
(Required, string) The ID of the object to retrieve.

Response code

edit
200
Indicates a successful call.

Example

edit

Retrieve the index pattern 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"
}

The outcome field may be any of the following:

  • "exactMatch" — One document exactly matched the given ID.
  • "aliasMatch" — One document with a legacy URL alias matched the given ID; in this case the saved_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 the saved_object object is the exact match, and the saved_object.id field is the same as the given ID.

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"
}