# JavaClientApi create SynonymsRule failed

**URL:** <https://discuss.elastic.co/t/javaclientapi-create-synonymsrule-failed/359501>\
**Category:** Elasticsearch\
**Tags:** language-clients\
**Created:** [May 15, 2024, 1:06am UTC](https://discuss.elastic.co/t/javaclientapi-create-synonymsrule-failed/359501 "2024-05-15T01:06:33Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![yonghui](https://avatars.discourse-cdn.com/v4/letter/y/85e7bf/32.png) [@yonghui](https://discuss.elastic.co/u/yonghui)\
**Post date:** [May 15, 2024, 1:06am UTC](https://discuss.elastic.co/t/javaclientapi-create-synonymsrule-failed/359501/1 "2024-05-15T01:06:33Z")

</div>

```auto
PutSynonymRuleRequest.Builder builder = new PutSynonymRuleRequest.Builder();
        builder.setId("my_synonyms_set")
                .ruleId("1")
                .synonyms("phone","苹果","华为");
        return esSynonymsClient.putSynonymRule(builder.build());

```

[es/synonyms.put\_synonym\_rule] failed: [illegal\_argument\_exception] Failed to parse: {"synonyms":["phone","苹果","华为"]}  
at co.elastic.clients.transport.ElasticsearchTransportBase.getApiResponse(ElasticsearchTransportBase.java:345) ~[elasticsearch-java-8.12.2.jar:na]  
at co.elastic.clients.transport.ElasticsearchTransportBase.performRequest(ElasticsearchTransportBase.java:147) ~[elasticsearch-java-8.12.2.jar:na]  
at co.elastic.clients.elasticsearch.synonyms.ElasticsearchSynonymsClient.putSynonymRule(ElasticsearchSynonymsClient.java:302) ~[elasticsearch-java-8.12

---

<div class="post-metadata">

**Author:** ![ltrotta](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/ltrotta/32/124003_2.png) [@ltrotta](https://discuss.elastic.co/u/ltrotta)\
**Post date:** [May 15, 2024, 7:16am UTC](https://discuss.elastic.co/t/javaclientapi-create-synonymsrule-failed/359501/2 "2024-05-15T07:16:52Z")

</div>

Hello and welcome!  
This was a known issue where the synonym method only accepted a single String, it was fixed in the latest release (8.13.4) and now it also accepts String arrays as per documentation.
