[role="xpack"] [[put-enrich-policy-api]] === Create enrich policy API ++++ Create enrich policy ++++ Creates an enrich policy. //// [source,console] ---- PUT /users { "mappings": { "properties": { "email": { "type": "keyword" } } } } ---- //// [source,console] ---- PUT /_enrich/policy/my-policy { "match": { "indices": "users", "match_field": "email", "enrich_fields": ["first_name", "last_name", "city", "zip", "state"] } } ---- // TEST[continued] //// [source,console] -------------------------------------------------- DELETE /_enrich/policy/my-policy -------------------------------------------------- // TEST[continued] //// [[put-enrich-policy-api-request]] ==== {api-request-title} `PUT /_enrich/policy/` [[put-enrich-policy-api-prereqs]] ==== {api-prereq-title} // tag::enrich-policy-api-prereqs[] If you use {es} {security-features}, you must have: * `read` index privileges for any indices used * The `enrich_user` <> // end::enrich-policy-api-prereqs[] [[put-enrich-policy-api-desc]] ==== {api-description-title} Use the create enrich policy API to create a <>. [WARNING] ==== include::../../enrich.asciidoc[tag=update-enrich-policy] ==== [[put-enrich-policy-api-path-params]] ==== {api-path-parms-title} ``:: (Required, string) Name of the enrich policy to create or update. [role="child_attributes"] [[put-enrich-policy-api-request-body]] ==== {api-request-body-title} ``:: (Required, object) Configures the enrich policy. The field key is the enrich policy type. Valid key values are: + -- `geo_match`::: Matches enrich data to incoming documents based on a <>. For an example, see <>. `match`::: Matches enrich data to incoming documents based on a <>. For an example, see <>. `range`::: Matches a number, date, or IP address in incoming documents to a range in the enrich index based on a <>. For an example, see <>. -- + .Properties of `` [%collapsible%open] ==== `indices`:: (Required, String or array of strings) One or more source indices used to create the enrich index. + If multiple indices are specified, they must share a common `match_field`. `match_field`:: (Required, string) Field in source indices used to match incoming documents. `enrich_fields`:: (Required, Array of strings) Fields to add to matching incoming documents. These fields must be present in the source indices. `query`:: (Optional, <>) Query used to filter documents in the enrich index. The policy only uses documents matching this query to enrich incoming documents. Defaults to a <> query. ====