elasticsearch/docs/reference/scripting/apis/create-stored-script-api.asciidoc
Liam Thompson 33a71e3289
[DOCS] Refactor book-scoped variables in docs/reference/index.asciidoc (#107413)
* Remove `es-test-dir` book-scoped variable

* Remove `plugins-examples-dir` book-scoped variable

* Remove `:dependencies-dir:` and `:xes-repo-dir:` book-scoped variables

- In `index.asciidoc`, two variables (`:dependencies-dir:` and `:xes-repo-dir:`) were removed.
- In `sql/index.asciidoc`, the `:sql-tests:` path was updated to fuller path
- In `esql/index.asciidoc`, the `:esql-tests:` path was updated idem

* Replace `es-repo-dir` with `es-ref-dir`

* Move `:include-xpack: true` to few files that use it, remove from index.asciidoc
2024-04-17 14:37:07 +02:00

100 lines
2.4 KiB
Text

[[create-stored-script-api]]
=== Create or update stored script API
++++
<titleabbrev>Create or update stored script</titleabbrev>
++++
Creates or updates a <<script-stored-scripts,stored script>> or
<<search-template,search template>>.
[source,console]
----
PUT _scripts/my-stored-script
{
"script": {
"lang": "painless",
"source": "Math.log(_score * 2) + params['my_modifier']"
}
}
----
////
[source,console]
----
DELETE _scripts/my-stored-script
----
// TEST[continued]
////
[[create-stored-script-api-request]]
==== {api-request-title}
`PUT _scripts/<script-id>`
`POST _scripts/<script-id>`
`PUT _scripts/<script-id>/<context>`
`POST _scripts/<script-id>/<context>`
[[create-stored-script-api-prereqs]]
==== {api-prereq-title}
* If the {es} {security-features} are enabled, you must have the `manage`
<<privileges-list-cluster,cluster privilege>> to use this API.
[[create-stored-script-api-path-params]]
==== {api-path-parms-title}
`<script-id>`::
(Required, string)
Identifier for the stored script or search template. Must be unique within the
cluster.
`<context>`::
(Optional, string)
Context in which the script or search template should run. To prevent errors,
the API immediately compiles the script or template in this context.
[[create-stored-script-api-query-params]]
==== {api-query-parms-title}
`context`::
(Optional, string)
Context in which the script or search template should run. To prevent errors,
the API immediately compiles the script or template in this context.
+
If you specify both this and the `<context>` request path parameter, the API
uses the request path parameter.
include::{es-ref-dir}/rest-api/common-parms.asciidoc[tag=timeoutparms]
[role="child_attributes"]
[[create-stored-script-api-request-body]]
==== {api-request-body-title}
`script`::
(Required, object)
Contains the script or search template, its parameters, and its language.
+
.Properties of `script`
[%collapsible%open]
====
`lang`::
(Required, string)
<<scripting-available-languages,Script language>>. For search templates, use
`mustache`.
`source`::
(Required, string or object)
For scripts, a string containing the script.
+
For search templates, an object containing the search template. The object
supports the same parameters as the <<search-search,search API>>'s request body.
Also supports https://mustache.github.io/[Mustache] variables. See
<<search-template>>.
`params`::
(Optional, object)
Parameters for the script or search template.
====