Yes, the order of the request in a batch is conserved. This is important, especially for partial updates, where the processing of a batch can output different results depending on the order of execution.
For example, in the following batch request:
[
{ "update-1": "object-1" },
{ "update-2": "object-2" },
{ "update-3": "object-1" }
]
"update-1" will always be executed first, then "update-2" and then "update-3". This order is important for the final result of the data held on the index for object-1.
This does not apply to the order of the batch operations sent! Algolia's indexing operations are asynchronous, and in this case you can use the waitForTask method, to check that the first batch of operations is complete before sending the next one.