# Elasticsearch 7.x bulk post

**URL:** <https://discuss.elastic.co/t/elasticsearch-7-x-bulk-post/188155>\
**Category:** Elasticsearch\
**Created:** [June 29, 2019, 8:20pm UTC](https://discuss.elastic.co/t/elasticsearch-7-x-bulk-post/188155 "2019-06-29T20:20:10Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![lucatoldo](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/lucatoldo/32/49078_2.png) [@lucatoldo](https://discuss.elastic.co/u/lucatoldo)\
**Post date:** [June 29, 2019, 8:20pm UTC](https://discuss.elastic.co/t/elasticsearch-7-x-bulk-post/188155/1 "2019-06-29T20:20:10Z")

</div>

Dear all,  
the following body posted to [http://localhost:9200/products/\_bulk](http://localhost:9200/products/_bulk) with appropriate content type  
{ "products": ["apple", "dog", "puppy"],"user": "Sophia" }  
{ "products": ["puppy","bicicle"], "user": "Jan" }  
{ "products": ["apple","puppy"], "user" : "Ethan" }

is delivering

```
{
    "error": {
        "root_cause": [
            {
                "type": "illegal_argument_exception",
                "reason": "Malformed action/metadata line [1], expected START_OBJECT or END_OBJECT but found [START_ARRAY]"
            }
        ],
        "type": "illegal_argument_exception",
        "reason": "Malformed action/metadata line [1], expected START_OBJECT or END_OBJECT but found [START_ARRAY]"
    },
    "status": 400
}

```

However, the following body posted to [http://localhost:9200/products/\_doc/1](http://localhost:9200/products/_doc/1)  
{  
"products" : ["apple","dog","puppy"],  
"user" : "Sophia"  
}

works properly.

Can you please help ?  
Thankyou

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [June 29, 2019, 8:56pm UTC](https://discuss.elastic.co/t/elasticsearch-7-x-bulk-post/188155/2 "2019-06-29T20:56:25Z")

</div>

Sounds like you are not following the bulk format. Have a look at [https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-bulk.html](https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-bulk.html)

---

<div class="post-metadata">

**Author:** ![gbrown](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/gbrown/32/34482_2.png) [@gbrown](https://discuss.elastic.co/u/gbrown)\
**Post date:** [June 29, 2019, 8:56pm UTC](https://discuss.elastic.co/t/elasticsearch-7-x-bulk-post/188155/3 "2019-06-29T20:56:34Z")

</div>

Before each document, you need a metadata line as shown in [the docs for the bulk API](https://www.elastic.co/guide/en/elasticsearch/reference/7.2/docs-bulk.html). So your example would be something like:

```auto
POST products/_bulk
{ "index" : {"_id" : "1" } }
{ "products": ["apple", "dog", "puppy"],"user": "Sophia" }
{ "index" : {"_id" : "2" } }
{ "products": ["puppy","bicicle"], "user": "Jan" }
{ "index" : {"_id" : "3" } }
{ "products": ["apple","puppy"], "user" : "Ethan" }

```

(providing IDs is optional, if you don't provide one, Elasticsearch will auto-generate one)

Edit: Beaten! Sorry for the double post.

---

<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:** [July 27, 2019, 8:56pm UTC](https://discuss.elastic.co/t/elasticsearch-7-x-bulk-post/188155/4 "2019-07-27T20:56:34Z")

</div>

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