Execute enrich policy APIedit

Executes an existing enrich policy.

response = client.enrich.execute_policy(
  name: 'my-policy',
  wait_for_completion: false
puts response
PUT /_enrich/policy/my-policy/_execute?wait_for_completion=false


PUT /_enrich/policy/<enrich-policy>/_execute

POST /_enrich/policy/<enrich-policy>/_execute


To use enrich policies, you must have:

  • read index privileges for any indices used
  • The enrich_user built-in role


Use the execute enrich policy API to create the enrich index for an existing enrich policy.

The enrich index contains documents from the policy’s source indices. Enrich indices always begin with .enrich-*, are read-only, and are force merged.

Enrich indices should only be used by the enrich processor or the ES|QL ENRICH command. Avoid using enrich indices for other purposes.

Once created, you cannot update or index documents to an enrich index. Instead, update your source indices and execute the enrich policy again. This creates a new enrich index from your updated source indices. The previous enrich index will deleted with a delayed maintenance job. By default this is done every 15 minutes.

By default, this API is synchronous: It returns when a policy has been executed. Because executing a policy performs several operations, it may take a while to return a response, especially when the source indices are large. This can lead to timeouts. To prevent timeouts, set the wait_for_completion parameter to false. This runs the request asynchronously in the background, and returns a task ID. You can use the task ID to manage the request with the task management API.

Path parametersedit

(Required, string) Enrich policy to execute.

Query parametersedit

(Optional, Boolean) If true, the request blocks until execution is complete. If false, the request returns immediately and execution runs asynchronously in the background. Defaults to true.