Sep 25, 2025
Upsert a composition rule
Upsert a Composition Rule for the specified composition ID.
Usage
Required ACL:
editSettings
Copy
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
import { compositionClient } from '@algolia/composition';
const client = compositionClient('ALGOLIA_APPLICATION_ID', 'ALGOLIA_API_KEY');
const response = await client.putCompositionRule({
compositionID: 'compositionID',
objectID: 'rule-with-exernal-source',
compositionRule: {
objectID: 'rule-with-exernal-source',
description: 'my description',
tags: ['tag1', 'tag2'],
enabled: true,
validity: [{ from: 1704063600, until: 1704083600 }],
conditions: [
{ anchoring: 'contains', pattern: 'harry' },
{ anchoring: 'contains', pattern: 'potter' },
],
consequence: {
behavior: {
injection: {
main: { source: { search: { index: 'my-index', params: { filters: 'brand:adidas' } } } },
injectedItems: [
{
key: 'injectedItem',
source: {
external: { index: 'my-index', params: { filters: 'brand:adidas' }, ordering: 'userDefined' },
},
position: 0,
length: 3,
},
],
},
},
},
},
});