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

Upsert a composition

Upsert a composition in the current Algolia application.

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
38
39
40
41
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.putComposition(
  compositionID = "my-external-injection-compo",
  composition = Composition(
    objectID = "my-external-injection-compo",
    name = "my first composition",
    behavior = CompositionBehavior(
      injection = Injection(
        main = Main(
          source = CompositionSource(
            search = CompositionSourceSearch(
              index = "foo",
            ),
          ),
        ),
        injectedItems = listOf(
          InjectedItem(
            key = "injectedItem1",
            source = ExternalSource(
              external = External(
                index = "foo",
                ordering = ExternalOrdering.entries.first { it.value == "userDefined" },
                params = BaseInjectionQueryParameters(
                  filters = "brand:adidas",
                ),
              ),
            ),
            position = 2,
            length = 1,
          ),
        ),
      ),
    ),
  ),
)