# Elasticsearch JAVA API Client version 8 upsert Request

**URL:** <https://discuss.elastic.co/t/elasticsearch-java-api-client-version-8-upsert-request/350047>\
**Category:** Elasticsearch\
**Created:** [December 28, 2023, 4:53am UTC](https://discuss.elastic.co/t/elasticsearch-java-api-client-version-8-upsert-request/350047 "2023-12-28T04:53:23Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![durgesh\_dp](https://avatars.discourse-cdn.com/v4/letter/d/f17d59/32.png) [@durgesh\_dp](https://discuss.elastic.co/u/durgesh_dp)\
**Post date:** [December 28, 2023, 4:53am UTC](https://discuss.elastic.co/t/elasticsearch-java-api-client-version-8-upsert-request/350047/1 "2023-12-28T04:53:23Z")

</div>

I am doing a migration from version 7 which is deprecated to version 8 java api client , but there is no documentation regarding upsert in version 8 , i have to write a updateRequest to update a document if it exists and if not create the document ,  
like in my code i am using these for deprecated version

UpdateRequest()).index(this.Instance.getName())).id(entity.getId()).upsert(this.objectMapper.writeValueAsString(entity), XContentType.JSON).doc(updateFields).retryOnConflict(3);

---

<div class="post-metadata">

**Author:** ![RabBit\_BR](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/rabbit_br/32/82261_2.png) [@RabBit\_BR](https://discuss.elastic.co/u/RabBit_BR)\
**Post date:** [December 28, 2023, 6:01am UTC](https://discuss.elastic.co/t/elasticsearch-java-api-client-version-8-upsert-request/350047/2 "2023-12-28T06:01:40Z")

</div>

Hi @durgesh_dp

Maybe this snippet help you.

```
UpdateRequest<Movie, Object> movieUpdateRequest = new UpdateRequest.Builder<Movie, Object>()
    .index("idx_movies")
    .id("mv_001")
    .doc(movie)
    .docAsUpsert(true)
    .retryOnConflict(3)
    .build();
    client.update(movieUpdateRequest, Movie.class);

```

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [January 25, 2024, 6:02am UTC](https://discuss.elastic.co/t/elasticsearch-java-api-client-version-8-upsert-request/350047/3 "2024-01-25T06:02:37Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
