You're viewing an archived version of our docs. Check out our current documentation →

Batch action to multiple compositions

Adds, updates, or deletes compositions with a single API request.

Usage

Required ACL: editSettings
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import com.algolia.client.api.CompositionClient
import com.algolia.client.configuration.*
import com.algolia.client.transport.*
import com.algolia.client.model.composition.RequestBody

val client = CompositionClient(appId = "ALGOLIA_APPLICATION_ID", apiKey = "ALGOLIA_API_KEY")

var response = client.multipleBatch(
  batchParams = BatchParams(
    requests = listOf(
      MultipleBatchRequest(
        action = Action.entries.first { it.value == "upsert" },
        body = Composition(
          objectID = "foo",
          name = "my first composition",
          behavior = CompositionBehavior(
            injection = Injection(
              main = Main(
                source = CompositionSource(
                  search = CompositionSourceSearch(
                    index = "bar",
                  ),
                ),
              ),
            ),
          ),
        ),
      ),
      MultipleBatchRequest(
        action = Action.entries.first { it.value == "delete" },
        body = DeleteCompositionAction(
          objectID = "baz",
        ),
      ),
    ),
  ),
)