mirror of
https://github.com/elastic/kibana.git
synced 2025-04-25 02:09:32 -04:00
86 lines
2.6 KiB
Text
86 lines
2.6 KiB
Text
[[short-urls-api-create]]
|
|
=== Create short URL API
|
|
++++
|
|
<titleabbrev>Create short URL</titleabbrev>
|
|
++++
|
|
|
|
experimental[] Create a {kib} short URL. {kib} URLs may be long and cumbersome, short URLs are much
|
|
easier to remember and share.
|
|
|
|
Short URLs are created by specifying the locator ID and locator parameters. When a short URL is
|
|
resolved, the locator ID and locator parameters are used to redirect user to the right {kib} page.
|
|
|
|
|
|
[[short-urls-api-create-request]]
|
|
==== Request
|
|
|
|
`POST <kibana host>:<port>/api/short_url`
|
|
|
|
|
|
[[short-urls-api-create-request-body]]
|
|
==== Request body
|
|
|
|
`locatorId`::
|
|
(Required, string) ID of the locator.
|
|
|
|
`params`::
|
|
(Required, object) Object which contains all necessary parameters for the given locator to resolve
|
|
to a {kib} location.
|
|
+
|
|
WARNING: When you create a short URL, locator params are not validated, which allows you to pass
|
|
arbitrary and ill-formed data into the API that can break {kib}. Make sure
|
|
any data that you send to the API is properly formed.
|
|
|
|
`slug`::
|
|
(Optional, string) A custom short URL slug. Slug is the part of the short URL that identifies it.
|
|
You can provide a custom slug which consists of latin alphabet letters, numbers and `-._`
|
|
characters. The slug must be at least 3 characters long, but no longer than 255 characters.
|
|
|
|
`humanReadableSlug`::
|
|
(Optional, boolean) When the `slug` parameter is omitted, the API will generate a random
|
|
human-readable slug, if `humanReadableSlug` is set to `true`.
|
|
|
|
|
|
[[short-urls-api-create-response-codes]]
|
|
==== Response code
|
|
|
|
`200`::
|
|
Indicates a successful call.
|
|
|
|
|
|
[[short-urls-api-create-example]]
|
|
==== Example
|
|
|
|
[source,sh]
|
|
--------------------------------------------------
|
|
$ curl -X POST api/short_url -H 'kbn-xsrf: true' -H 'Content-Type: application/json' -d '
|
|
{
|
|
"locatorId": "LOCATOR_ID",
|
|
"params": {},
|
|
"humanReadableSlug": true
|
|
}'
|
|
--------------------------------------------------
|
|
// KIBANA
|
|
|
|
The API returns the following:
|
|
|
|
[source,sh]
|
|
--------------------------------------------------
|
|
{
|
|
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", <1>
|
|
"slug": "adjective-adjective-noun", <2>
|
|
"locator": {
|
|
"id": "LOCATOR_ID",
|
|
"version": "x.x.x", <3>
|
|
"state": {} <4>
|
|
},
|
|
"accessCount": 0,
|
|
"accessDate": 1632680100000,
|
|
"createDate": 1632680100000
|
|
}
|
|
--------------------------------------------------
|
|
|
|
<1> A random ID is automatically generated.
|
|
<2> A random human-readable slug is automatically generated if the `humanReadableSlug` parameter is set to `true`. If set to `false` a random short string is generated.
|
|
<3> The version of {kib} when short URL was created is stored.
|
|
<4> Locator params provided as `params` property are stored.
|