// Initialize the client
var client = new CompositionClient(
new CompositionConfig("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY")
);
// Call the API
var response = await client.SearchAsync<Hit>(
"foo",
new RequestBody
{
Params = new Params { Query = "batman" },
ExternalProvider = new ExternalProvider
{
ConfigurationParams = new Dictionary<string, object> { { "customer_id", "customer123" } },
},
}
);
// print the response
Console.WriteLine(response);
// Initialize the client
final client = CompositionClient(
appId: 'ALGOLIA_APPLICATION_ID', apiKey: 'ALGOLIA_API_KEY');
// Call the API
final response = await client.search(
compositionID: "foo",
requestBody: RequestBody(
params: Params(
query: "batman",
),
externalProvider: ExternalProvider(
configurationParams: {
'customer_id': "customer123",
},
),
),
);
// print the response
print(response);
// Initialize the client
client, err := composition.NewClient("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY")
if err != nil {
// The client can fail to initialize if you pass an invalid parameter.
panic(err)
}
// Call the API
response, err := client.Search(client.NewApiSearchRequest(
"foo",
composition.NewEmptyRequestBody().SetParams(
composition.NewEmptyParams().SetQuery("batman")).SetExternalProvider(
composition.NewEmptyExternalProvider().SetConfigurationParams(map[string]any{"customer_id": "customer123"}))))
if err != nil {
// handle the eventual error
panic(err)
}
// print the response
print(response)
// Initialize the client
CompositionClient client = new CompositionClient("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY");
// Call the API
SearchResponse response = client.search(
"foo",
new RequestBody().setParams(new Params().setQuery("batman")).setExternalProvider(
new ExternalProvider().setConfigurationParams(
new HashMap() {
{
put("customer_id", "customer123");
}
}
)
),
Hit.class
);
// print the response
System.out.println(response);
// Initialize the client
val client = CompositionClient(appId = "ALGOLIA_APPLICATION_ID", apiKey = "ALGOLIA_API_KEY")
// Call the API
var response =
client.search(
compositionID = "foo",
requestBody =
RequestBody(
params = Params(query = "batman"),
externalProvider =
ExternalProvider(
configurationParams =
buildJsonObject { put("customer_id", JsonPrimitive("customer123")) }
),
),
)
// print the response
println(response)
// Initialize the client
$client = CompositionClient::create('ALGOLIA_APPLICATION_ID', 'ALGOLIA_API_KEY');
// Call the API
$response = $client->search(
'foo',
['params' => ['query' => 'batman',
],
'externalProvider' => ['configurationParams' => ['customer_id' => 'customer123',
],
],
],
);
// print the response
var_dump($response);
# Initialize the client
# In an asynchronous context, you can use CompositionClient instead, which exposes the exact same methods.
client = CompositionClientSync("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY")
# Call the API
response = client.search(
composition_id="foo",
request_body={
"params": {
"query": "batman",
},
"externalProvider": {
"configurationParams": {
"customer_id": "customer123",
},
},
},
)
# print the response
print(response)
# Initialize the client
client = Algolia::CompositionClient.create("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY")
# Call the API
response = client.search(
"foo",
Algolia::Composition::RequestBody.new(
params: Algolia::Composition::Params.new(query: "batman"),
external_provider: Algolia::Composition::ExternalProvider.new(configuration_params: {customer_id: "customer123"})
)
)
# print the response
puts(response)
// Initialize the client
val client = CompositionClient(appId = "ALGOLIA_APPLICATION_ID", apiKey = "ALGOLIA_API_KEY")
// Call the API
val response = Await.result(
client.search(
compositionID = "foo",
requestBody = RequestBody(
params = Some(
Params(
query = Some("batman")
)
),
externalProvider = Some(
ExternalProvider(
configurationParams = Some(Map("customer_id" -> "customer123"))
)
)
)
),
Duration(100, "sec")
)
// print the response
println(response)
// Initialize the client
let client = try CompositionClient(appID: "ALGOLIA_APPLICATION_ID", apiKey: "ALGOLIA_API_KEY")
// Call the API
let response: CompositionSearchResponse<CompositionHit> = try await client.search(
compositionID: "foo",
requestBody: RequestBody(
params: CompositionParams(query: "batman"),
externalProvider: ExternalProvider(configurationParams: ["customer_id": AnyCodable("customer123")])
)
)
// print the response
print(response)
// Initialize the client
var client = new CompositionClient(
new CompositionConfig("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY")
);
// Call the API
var response = await client.SearchAsync<Hit>(
"foo",
new RequestBody
{
Params = new Params { Query = "batman" },
ExternalProvider = new ExternalProvider
{
ConfigurationParams = new Dictionary<string, object> { { "customer_id", "customer123" } },
},
}
);
// print the response
Console.WriteLine(response);
// Initialize the client
final client = CompositionClient(
appId: 'ALGOLIA_APPLICATION_ID', apiKey: 'ALGOLIA_API_KEY');
// Call the API
final response = await client.search(
compositionID: "foo",
requestBody: RequestBody(
params: Params(
query: "batman",
),
externalProvider: ExternalProvider(
configurationParams: {
'customer_id': "customer123",
},
),
),
);
// print the response
print(response);
// Initialize the client
client, err := composition.NewClient("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY")
if err != nil {
// The client can fail to initialize if you pass an invalid parameter.
panic(err)
}
// Call the API
response, err := client.Search(client.NewApiSearchRequest(
"foo",
composition.NewEmptyRequestBody().SetParams(
composition.NewEmptyParams().SetQuery("batman")).SetExternalProvider(
composition.NewEmptyExternalProvider().SetConfigurationParams(map[string]any{"customer_id": "customer123"}))))
if err != nil {
// handle the eventual error
panic(err)
}
// print the response
print(response)
// Initialize the client
CompositionClient client = new CompositionClient("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY");
// Call the API
SearchResponse response = client.search(
"foo",
new RequestBody().setParams(new Params().setQuery("batman")).setExternalProvider(
new ExternalProvider().setConfigurationParams(
new HashMap() {
{
put("customer_id", "customer123");
}
}
)
),
Hit.class
);
// print the response
System.out.println(response);
// Initialize the client
val client = CompositionClient(appId = "ALGOLIA_APPLICATION_ID", apiKey = "ALGOLIA_API_KEY")
// Call the API
var response =
client.search(
compositionID = "foo",
requestBody =
RequestBody(
params = Params(query = "batman"),
externalProvider =
ExternalProvider(
configurationParams =
buildJsonObject { put("customer_id", JsonPrimitive("customer123")) }
),
),
)
// print the response
println(response)
// Initialize the client
$client = CompositionClient::create('ALGOLIA_APPLICATION_ID', 'ALGOLIA_API_KEY');
// Call the API
$response = $client->search(
'foo',
['params' => ['query' => 'batman',
],
'externalProvider' => ['configurationParams' => ['customer_id' => 'customer123',
],
],
],
);
// print the response
var_dump($response);
# Initialize the client
# In an asynchronous context, you can use CompositionClient instead, which exposes the exact same methods.
client = CompositionClientSync("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY")
# Call the API
response = client.search(
composition_id="foo",
request_body={
"params": {
"query": "batman",
},
"externalProvider": {
"configurationParams": {
"customer_id": "customer123",
},
},
},
)
# print the response
print(response)
# Initialize the client
client = Algolia::CompositionClient.create("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY")
# Call the API
response = client.search(
"foo",
Algolia::Composition::RequestBody.new(
params: Algolia::Composition::Params.new(query: "batman"),
external_provider: Algolia::Composition::ExternalProvider.new(configuration_params: {customer_id: "customer123"})
)
)
# print the response
puts(response)
// Initialize the client
val client = CompositionClient(appId = "ALGOLIA_APPLICATION_ID", apiKey = "ALGOLIA_API_KEY")
// Call the API
val response = Await.result(
client.search(
compositionID = "foo",
requestBody = RequestBody(
params = Some(
Params(
query = Some("batman")
)
),
externalProvider = Some(
ExternalProvider(
configurationParams = Some(Map("customer_id" -> "customer123"))
)
)
)
),
Duration(100, "sec")
)
// print the response
println(response)
// Initialize the client
let client = try CompositionClient(appID: "ALGOLIA_APPLICATION_ID", apiKey: "ALGOLIA_API_KEY")
// Call the API
let response: CompositionSearchResponse<CompositionHit> = try await client.search(
compositionID: "foo",
requestBody: RequestBody(
params: CompositionParams(query: "batman"),
externalProvider: ExternalProvider(configurationParams: ["customer_id": AnyCodable("customer123")])
)
)
// print the response
print(response)
Your Algolia API key with the necessary permissions to make the request.
Permissions are controlled through access control lists (ACL) and access restrictions.
The required ACL to make a request is listed in each endpoint's reference.
A list of Feed IDs that specifies the order in which to order the results in the response.
The IDs should be a subset of those in the feeds object of the targeted multifeed Composition / Composition Rule, and only those specified will be processed.
The value overrides the value in the defined behavior, and when unspecified, the value defined in the behavior is used. When neither value is present, all feeds are processed.
Non-critical errors encountered while processing the request that may have affected the returned results (for example, an external provider failure that fell back to another result set).
Show child attributes
Last modified on March 23, 2026
Was this page helpful?
{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"Algolia","description":"Build search, discovery, and AI experiences with Algolia. Guides, API references, libraries, UI components, and integrations for your stack.","colors":{"primary":"#3970ff","light":"#3970ff","dark":"#003DFF"},"logo":{"light":"https://mintcdn.com/algolia/kiecJp3hu-WXhj-3/logo/light.svg?fit=max\u0026auto=format\u0026n=kiecJp3hu-WXhj-3\u0026q=85\u0026s=bf613e260ca94c0eb23384e6c0d5c77f","dark":"https://mintcdn.com/algolia/kiecJp3hu-WXhj-3/logo/dark.svg?fit=max\u0026auto=format\u0026n=kiecJp3hu-WXhj-3\u0026q=85\u0026s=31a97f60063c111253c518bc0c638e70","href":"/doc"},"favicon":"https://mintcdn.com/algolia/ApgdWRCFtd9v2oPX/favicon.png?fit=max\u0026auto=format\u0026n=ApgdWRCFtd9v2oPX\u0026q=85\u0026s=91df7c93abadfb122ffc8e0f78cc2dc8","api":{"playground":{"display":"simple"},"examples":{"languages":["curl","csharp","dart","go","java","javascript","kotlin","php","python","ruby","scala","swift"],"autogenerate":false}},"navbar":{"links":[{"href":"https://dashboard.algolia.com/users/sign_in","label":"Log in"}],"primary":{"type":"button","label":"Create account","href":"https://www.algolia.com/users/sign_up"}},"footer":{"socials":{"linkedin":"https://www.linkedin.com/company/algolia","x":"https://twitter.com/algolia","discord":"https://alg.li/discord","youtube":"https://www.youtube.com/channel/UCTNkiq-SO8hay1PRx-it9Cw","website":"https://www.algolia.com"},"links":[{"items":[{"label":"Support","href":"https://support.algolia.com/hc/en-us"},{"label":"Glossary","href":"/doc/glossary"},{"label":"Privacy policy","href":"https://www.algolia.com/policies/privacy"},{"label":"Cookie settings","href":"https://www.algolia.com"}]}]},"seo":{"metatags":{"canonical":"https://www.algolia.com"},"organization":{"id":"https://www.algolia.com/#organization","name":"Algolia","url":"https://www.algolia.com","sameAs":["https://www.linkedin.com/company/algolia/","https://github.com/algolia","https://x.com/algolia","https://www.youtube.com/channel/UCTNkiq-SO8hay1PRx-it9Cw"]}},"fonts":{"heading":{"family":"Sora"}},"icons":{"library":"lucide"},"styling":{"eyebrows":"section","codeblocks":"system","latex":true},"integrations":{"segment":{"key":"cKQbv9nMHIUgdWswDLG0c3UdiUgBaUmA"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity"],"display":"header"},"metadata":{"timestamp":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"algolia","hasAudioNarration":false,"actualSubdomain":"algolia","customDomains":["www.algolia.com"],"gitSource":{"type":"github","owner":"algolia","repo":"docs-new","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":true,"edits":true,"issues":true,"agentFeedback":false},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"ENABLED"},"CONTEXTUAL_FEEDBACK":{"status":"ENABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af1ff72c6b8d7b67682b618","clientVersion":"0.0.4094","searchFilterCounts":[{"language":"default","tag":"Libraries and tools","count":629},{"language":"default","tag":"Guides","count":588},{"language":"default","tag":"API clients","count":418},{"language":"default","tag":"Search and Discovery platform","count":410},{"language":"default","tag":"API reference","count":400},{"language":"default","tag":"Reference","count":293},{"language":"default","tag":"UI libraries","count":290},{"language":"default","tag":"Build Search UI","count":235},{"language":"default","tag":"Search","count":187},{"language":"default","tag":"React InstantSearch","count":169}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":true},"customCss":[{"filePath":"style.css","content":":root{--radius: 0.5rem;--rounded-2xl: var(--radius);--rounded-xl: var(--radius);--rounded-lg: var(--radius);--rounded-md: var(--radius);--rounded-full: var(--radius);--icon-stroke: #000000;--border-color: rgb(var(--gray-200) / 0.5);--font-weight-headings-custom: 700;--docsearch-background-color: #f5f6f7;--filters-token-string-color: #b46900;--filters-token-error-color: #d7263d;--filters-token-paren-color: #005cc5;--filters-token-num-color: #6f42c1;--filters-token-operator-color: #22863a;--docsearch-sidepanel-border: var(--border-color);--docsearch-sidepanel-background: rgb(244, 246, 250);--docsearch-sidepanel-background-dark: #fff;--docsearch-hit-background-muted: rgb(247, 247, 248);--docsearch-searchbox-focus-background: #fff}:root.dark,html[data-theme=dark]{--icon-stroke: #ffffff;--border-color: rgb(var(--gray-900) / 0.8);--docsearch-background-color: #0a0b11 !important;--docsearch-dropdown-menu-background: #10121e;--docsearch-dropdown-menu-item-hover-background: #0a0b11;--docsearch-hit-color: #e5e7eb;--filters-token-string-color: #ffa657;--filters-token-error-color: #ff6b6b;--filters-token-paren-color: #79c0ff;--filters-token-num-color: #d2a8ff;--filters-token-operator-color: #7ee787;--docsearch-sidepanel-background: rgb(15, 17, 23);--docsearch-sidepanel-background-dark: rgba(11, 13, 17, 1);--docsearch-hit-background-muted: rgb(14, 17, 23);--docsearch-modal-background: #0a0b11;--docsearch-hit-focus-background: rgb(var(--gray-900))}.rounded-\\[0\\.85rem\\]{border-radius:var(--radius)}#banner{background-color:#23263b}#banner a{color:inherit}#background-div{background-color:#f6f6fa}.dark #background-div{background-color:#ffffff;opacity:0.03}#pagination{display:none}.background-lines{fill:#c5c9e0}.dark .background-lines{fill:#ffffff;fill-opacity:0.15}th{text-align:left}.tooltip{user-select:text}.prose a{font-weight:inherit}.prose a strong{font-weight:600}.katex-display>.katex{overflow-y:hidden}.prose a.link[href^=\"http\"]:not([href^=\"https://www.algolia.com/doc\"]){white-space:nowrap}.prose a.link[href^=\"http\"]:not([href^=\"https://www.algolia.com/doc\"])::after{display:inline-block;width:14px;height:14px;margin-left:4px;vertical-align:-2px;content:\"\";background-color:currentColor;-webkit-mask:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E\u003cpath d='M15 3h6v6'/%3E\u003cpath d='M10 14 21 3'/%3E\u003cpath d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3C/svg%3E\") center / contain no-repeat;mask:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E\u003cpath d='M15 3h6v6'/%3E\u003cpath d='M10 14 21 3'/%3E\u003cpath d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3C/svg%3E\") center / contain no-repeat}.prose h2 code,.prose h3 code,.prose h4 code{font-weight:700}.prose table a code{word-break:keep-all}[data-component-part=\"field-content\"]{margin-left:1.5rem}[data-component-part=\"code-block-root\"]{border-radius:var(--radius)}#content-area img{margin-inline:auto;background:transparent!important}#content-area img:not(.no-shadow){box-shadow:0 10px 15px -3px rgb(0 0 0 / 0.1),\n 0 4px 6px -4px rgb(0 0 0 / 0.1)}#content-area video{margin-inline:auto}.video-embed{display:block;width:100%;min-width:0;max-width:var(--video-embed-max-width, 644px);aspect-ratio:16 / 9;height:auto;margin-inline:auto}button+div[aria-hidden=\"true\"]{background-color:#23263b;border-radius:var(--radius);box-shadow:0 0 0 1px #23263b0d, 0 4px 8px -2px #23263b40;color:#fff;padding:.5rem .75rem}#feedback-toolbar button{border-radius:var(--radius)}html.no-overflow{overflow:hidden}body.DocSearch--active{overflow:initial!important}.DocSearch-Container{visibility:hidden;opacity:0;transition:opacity 120ms ease;padding-top:5vh;position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0, 0, 0, 0.1);display:flex;align-items:flex-start;justify-content:center;z-index:200;cursor:initial}.DocSearch-Container.docsearch-ready{visibility:visible;opacity:1}.dark .DocSearch-Form,.dark .DocSearch-SearchBar{background-color:transparent!important}.DocSearch-Dropdown{border-top:1px solid var(--docsearch-subtle-color);scrollbar-color:#9698c3 #f5f6f7;scrollbar-width:thin}.dark .DocSearch-Container{--docsearch-text-color: #c4c7dc}.dark .DocSearch-Dropdown{scrollbar-color:#7f8497 #15172a}.dark .DocSearch-Close{color:#5172FF}.dark .DocSearch-Close svg{color:#5172FF}.dark .DocSearch-MagnifierLabel svg{color:#5172FF}.DocSearch-SidepanelButton.floating{display:none}.dark .DocSearch-Dropdown{border-color:#212139}.dark .DocSearch-Divider{border-color:#212139}.dark .DocSearch-Input{color:white;caret-color:white}.dark .DocSearch-Container{background-color:rgba(0, 0, 0, 0.6)!important}.dark .DocSearch-SearchBar,.dark .DocSearch-Form,.dark .DocSearch-Input{color:#ffffff!important}.dark .DocSearch-Input::placeholder{color:#ffffff!important;opacity:0.9}.dark .DocSearch-Reset,.dark .DocSearch-Reset span,.dark .DocSearch-Reset svg,.dark .DocSearch-Close,.dark .DocSearch-Close svg{color:#5172ff!important;fill:#5172ff!important;stroke:#5172ff!important}.dark .DocSearch-Cancel,.dark .DocSearch-Cancel svg{color:#ffffff!important;fill:#ffffff!important;stroke:#ffffff!important}.dark .DocSearch-MagnifierLabel,.dark .DocSearch-MagnifierLabel svg{color:#5172ff!important;fill:#5172ff!important;stroke:#5172ff!important}.dark .DocSearch-Dropdown{background-color:#0a0b11!important}.dark .DocSearch-Hits mark{background-color:transparent!important;color:#7aa2ff!important}.dark .DocSearch-Hit a{color:#e5e7eb!important;border-color:#1b1e29!important}.dark .DocSearch-Hit[aria-selected=true] .DocSearch-Hit-action,.dark .DocSearch-Hit[aria-selected=true] .DocSearch-Hit-icon{color:#7aa2ff}.dark .DocSearch-Title,.dark .DocSearch-Label{background-color:#0f1117!important}.dark .DocSearch-Title,.dark .DocSearch-Label,.dark .DocSearch-Hit-source{color:#e5e7eb!important}.dark .DocSearch-Footer{background-color:#0f1117!important;border-top:1px solid #1b1e29!important;color:#cbd5e1!important}.DocSearch-Hit--AskAI .DocSearch-AskAiScreen-Response .DocSearch-AskAiScreen-RelatedSources-Item-Link{background:var(--docsearch-hit-background-muted)!important}.DocSearch-Hit-AskAIButton-title-query{color:var(--docsearch-highlight-color)}.dark .DocSearch-Hit-AskAIButton-title-query{color:#7aa2ff!important}.dark .DocSearch-AskAiScreen-Response{color:#f5f6f7!important}.dark .DocSearch-Markdown-Content,.dark .DocSearch-Markdown-Content li{color:#cbd5e1!important}.dark .DocSearch-Markdown-Content a{color:#7aa2ff!important}.dark .DocSearch-AskAiScreen-RelatedSources-Item-Link{color:#cbd5e1}.dark .DocSearch-AskAiScreen-Response .DocSearch-CodeSnippet .DocSearch-CodeSnippet-CopyButton{background-color:#0f1117!important;color:#cbd5e1!important}.dark .DocSearch-AskAiScreen-Response .DocSearch-CodeSnippet pre{background-color:#0f1117!important;color:#e5e7eb!important}.dark .DocSearch-AskAiScreen-Response .DocSearch-CodeSnippet pre code{background-color:transparent!important;color:inherit!important}.DocSearch-Modal{position:relative;overflow:hidden;width:700px;max-width:90vw;border-radius:var(--radius);box-shadow:0 4px 12px rgba(0, 0, 0, 0.15)}.docsearch-expanded .DocSearch-Modal{max-height:auto;border-radius:var(--radius);box-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25)}@media (max-width: 768px){.DocSearch-Container{padding-top:0}.DocSearch-Modal{width:100vw;max-width:100vw;border-radius:var(--radius)}.docsearch-expanded .DocSearch-Modal{max-height:100vh;border-radius:var(--radius)}.DocSearch-Dropdown{height:calc(100vh - var(--docsearch-footer-height) - var(--docsearch-searchbox-height, var(--docsearch-searchbox-initial-height)))}.docsearch-sidepanel-toggle .docsearch-sidepanel-label,.docsearch-sidepanel-toggle .docsearch-sidepanel-shortcut{display:none}.docsearch-sidepanel-toggle{padding:0 0.5rem}}@media (min-width: 769px){.docsearch-sidepanel-toggle{border:1px solid transparent;box-shadow:0 0 0 1px rgba(156, 163, 175, 0.3)}.docsearch-sidepanel-toggle:hover{box-shadow:0 0 0 1px rgba(75, 85, 99, 0.3)}html.dark .docsearch-sidepanel-toggle{box-shadow:0 0 0 1px rgba(75, 85, 99, 0.3)}html.dark .docsearch-sidepanel-toggle:hover{box-shadow:0 0 0 1px rgba(107, 114, 128, 0.3)}}.DocSearch-Sidepanel-Header{height:3.0rem}.DocSearch-Sidepanel-Container.inline.side-right{border-bottom-left-radius:0;border-left:1px solid var(--docsearch-sidepanel-border);border-top-left-radius:0}.DocSearch-Sidepanel-Container{box-shadow:none}.DocSearch-MCP-Callout{font-size:0.875em;display:flex;align-items:center;gap:0.25rem;color:var(--docsearch-text-color);padding-inline:0.25rem 0.5rem;padding-block:0.25rem;border-radius:var(--docsearch-border-radius);background-color:var(--docsearch-hit-focus-background);min-block-size:1.5rem}.DocSearch-MCP-Callout:hover,.DocSearch-MCP-Callout:focus-visible{outline:2px solid var(--docsearch-highlight-color)}.DocSearch-MCP-Callout svg{height:1rem;width:1rem;color:var(--docsearch-highlight-color);margin-block-start:1px}html.dark #filter-validator{background-color:var(--shiki-dark-bg)}#filter-validator{.Token_EOF {\n color: transparent;\n }\n\n .Token_Empty_Str,\n .Token_Incomplete_Str,\n .Token_String,\n .Token_Term {\n color: var(--filters-token-string-color);\n }\n\n .Token_Error {\n color: var(--filters-token-error-color);\n }\n\n .Token_Open_Paren,\n .Token_Close_Paren,\n .Token_Open_Angled_Bracket,\n .Token_Close_Angled_Bracket,\n .Token_Comma,\n .Token_Facet_Separator {\n color: var(--filters-token-paren-color);\n }\n\n .Token_Num {\n color: var(--filters-token-num-color);\n }\n\n .Token_OR,\n .Token_AND,\n .Token_NOT,\n .Token_Operator,\n .Token_Range {\n color: var(--filters-token-operator-color);\n }}.nav-tag-pill-text{text-transform:uppercase;letter-spacing:1px}[data-group-tag]>button>div{display:flex;align-items:center;gap:0.5rem}.steps .step .prose ol{list-style-type:lower-alpha}.no-bullets ul{margin-top:1rem;padding-left:0;margin-left:0;list-style:none}@layer components{.prose .no-bullets li{margin:0.5rem 0;margin-left:0!important;padding-left:0!important;list-style:none}}.no-bullets a.link{border-bottom-color:transparent}.no-bullets a.link:hover,.no-bullets a.link:focus-visible{border-bottom-color:rgb(57, 112, 255)}.no-bullets li::before{content:none!important}.homepage-hero{background-color:#23263b;background-image:linear-gradient(\n 90deg,\n rgba(12, 30, 69, 0.82) 0%,\n rgba(12, 30, 69, 0.72) 34%,\n rgba(12, 30, 69, 0.58) 58%,\n rgba(12, 30, 69, 0.44) 100%\n ),\n url(\"/mintlify-assets/hero.png\");background-position:center, 72% center;background-repeat:no-repeat;background-size:cover}@supports (background-image: image-set(url(\"/mintlify-assets/hero.webp\") type(\"image/webp\") 1x)){.homepage-hero{background-image:linear-gradient(\n 90deg,\n rgba(12, 30, 69, 0.82) 0%,\n rgba(12, 30, 69, 0.72) 34%,\n rgba(12, 30, 69, 0.58) 58%,\n rgba(12, 30, 69, 0.44) 100%\n ),\n image-set(\n url(\"/mintlify-assets/hero.webp\") type(\"image/webp\") 1x,\n url(\"/mintlify-assets/hero.png\") type(\"image/png\") 1x\n )}}@supports (background-image: -webkit-image-set(url(\"/mintlify-assets/hero.webp\") type(\"image/webp\") 1x)){.homepage-hero{background-image:linear-gradient(\n 90deg,\n rgba(12, 30, 69, 0.82) 0%,\n rgba(12, 30, 69, 0.72) 34%,\n rgba(12, 30, 69, 0.58) 58%,\n rgba(12, 30, 69, 0.44) 100%\n ),\n -webkit-image-set(\n url(\"/mintlify-assets/hero.webp\") type(\"image/webp\") 1x,\n url(\"/mintlify-assets/hero.png\") type(\"image/png\") 1x\n )}}.homepage-hero-cta{display:inline-flex;align-items:center;justify-content:center;gap:0;padding:0.5rem 0.875rem;border-radius:var(--radius);background:linear-gradient(220deg, rgb(69, 122, 255) 0%, rgb(30, 89, 255) 60.16%);color:#fff!important;font-family:Sora, sans-serif;font-size:0.875rem;font-weight:700;line-height:1.5rem;letter-spacing:0.28px;text-decoration:none;transition:all 150ms ease}.homepage-hero-cta:hover{background:linear-gradient(138deg, rgba(118, 160, 255, 0.7) 0%, rgba(0, 61, 255, 0.7) 25.08%, rgba(151, 71, 255, 0.7) 56.38%, rgba(118, 160, 255, 0.7) 100%), rgb(0, 61, 255);color:#fff!important}@media (min-width: 1024px){.homepage-hero-cta{padding:0.75rem 1.25rem;font-size:1rem;letter-spacing:0.32px}}.sig-param-link{color:inherit;text-decoration:underline;text-decoration-style:dotted;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:color-mix(in srgb, currentColor 45%, transparent);cursor:pointer;border-radius:2px;transition:text-decoration-color 120ms ease, text-decoration-thickness 120ms ease}.sig-param-link:hover,.sig-param-link:focus-visible,.line:has(.sig-param-link:hover) .sig-param-link,.line:has(.sig-param-link:focus-visible) .sig-param-link{text-decoration-style:solid;text-decoration-thickness:2px;text-decoration-color:currentColor;outline:none}.mint-flavor-switcher-slot{min-height:2.75rem;margin:0.25rem 0 1.5rem}.mint-flavor-switcher-slot .mint-flavor-switcher{margin:0}"}],"page":{"pagePath":"doc/rest-api/composition/search","slug":"/doc/rest-api/composition/search","pageMetadata":{"title":"Run a Composition","description":"Runs a query on a single composition and returns matching results.","openapi":"specs/composition.yml post /1/compositions/{compositionID}/run","public":true,"href":"/doc/rest-api/composition/search"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Runs a query on a single composition and returns matching results.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={code:`code`,p:`p`,strong:`strong`,..._provideComponents(),...props.components};return _jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Required ACL:`}),` `,_jsx(_components.code,{children:`search`})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"codeStyling":"system","config":{},"pageMetadata":{"title":"Run a Composition","description":"Runs a query on a single composition and returns matching results.","openapi":"specs/composition.yml post /1/compositions/{compositionID}/run","public":true,"href":"/doc/rest-api/composition/search"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/algolia/34bdaaeaccaa769c/docsearch.js","/_mintlify/custom/algolia/e18afef8ba6306ba/one-trust.js","/_mintlify/custom/algolia/5a5e6ade8ff45aec/utm-attribution.js","/_mintlify/custom/algolia/a4b9f2f416e55759/iframe-resize.js","/_mintlify/custom/algolia/dbca34a8de6b147e/instantsearch-api-signature-links.js","/_mintlify/custom/algolia/4e6ff31277aab3f2/segment-analytics.js","/_mintlify/custom/algolia/ae5f1d742fc727f6/optinmonster.js"],"openApiReferenceData":{"operation":{"tags":["Search"],"operationId":"search","x-use-read-transporter":true,"x-cacheable":true,"x-acl":["search"],"summary":"Run a Composition","description":"Runs a query on a single composition and returns matching results.","parameters":["452cf2ff-f8a9-4c37-ab62-5b9718bc6a16"],"requestBody":"4537d4df-a5b8-49a5-ae10-ac7e2f860867","responses":{"200":"0d7d361d-efb6-4d13-ac0d-41b1d2822a26","400":"07923672-b6ff-45fa-80e5-a92d98960e25","402":"bbe2427d-4c52-4faa-bb9f-929e6d6dd569","403":"2e94935d-6e3c-45a5-90f1-5067c1ff4b33","404":"9e21e6bd-17ad-4206-98a0-fc5b903b6219"},"x-codeSamples":[{"lang":"csharp","label":"C#","source":"// Initialize the client\nvar client = new CompositionClient(\n new CompositionConfig(\"ALGOLIA_APPLICATION_ID\", \"ALGOLIA_API_KEY\")\n);\n\n// Call the API\nvar response = await client.SearchAsync\u003cHit>(\n \"foo\",\n new RequestBody\n {\n Params = new Params { Query = \"batman\" },\n ExternalProvider = new ExternalProvider\n {\n ConfigurationParams = new Dictionary\u003cstring, object> { { \"customer_id\", \"customer123\" } },\n },\n }\n);\n\n// print the response\nConsole.WriteLine(response);"},{"lang":"dart","label":"Dart","source":"// Initialize the client\nfinal client = CompositionClient(\n appId: 'ALGOLIA_APPLICATION_ID', apiKey: 'ALGOLIA_API_KEY');\n\n// Call the API\nfinal response = await client.search(\n compositionID: \"foo\",\n requestBody: RequestBody(\n params: Params(\n query: \"batman\",\n ),\n externalProvider: ExternalProvider(\n configurationParams: {\n 'customer_id': \"customer123\",\n },\n ),\n ),\n);\n\n// print the response\nprint(response);"},{"lang":"go","label":"Go","source":"// Initialize the client\nclient, err := composition.NewClient(\"ALGOLIA_APPLICATION_ID\", \"ALGOLIA_API_KEY\")\nif err != nil {\n // The client can fail to initialize if you pass an invalid parameter.\n panic(err)\n}\n\n// Call the API\nresponse, err := client.Search(client.NewApiSearchRequest(\n \"foo\",\n composition.NewEmptyRequestBody().SetParams(\n composition.NewEmptyParams().SetQuery(\"batman\")).SetExternalProvider(\n composition.NewEmptyExternalProvider().SetConfigurationParams(map[string]any{\"customer_id\": \"customer123\"}))))\nif err != nil {\n // handle the eventual error\n panic(err)\n}\n\n\n// print the response\nprint(response)"},{"lang":"java","label":"Java","source":"// Initialize the client\nCompositionClient client = new CompositionClient(\"ALGOLIA_APPLICATION_ID\", \"ALGOLIA_API_KEY\");\n\n// Call the API\nSearchResponse response = client.search(\n \"foo\",\n new RequestBody().setParams(new Params().setQuery(\"batman\")).setExternalProvider(\n new ExternalProvider().setConfigurationParams(\n new HashMap() {\n {\n put(\"customer_id\", \"customer123\");\n }\n }\n )\n ),\n Hit.class\n);\n\n// print the response\nSystem.out.println(response);"},{"lang":"javascript","label":"JavaScript","source":"// Initialize the client\nconst client = compositionClient('ALGOLIA_APPLICATION_ID', 'ALGOLIA_API_KEY');\n\n// Call the API\nconst response = await client.search({\n compositionID: 'foo',\n requestBody: {\n params: { query: 'batman' },\n externalProvider: { configurationParams: { customer_id: 'customer123' } },\n },\n});\n\n\n// print the response\nconsole.log(response);"},{"lang":"kotlin","label":"Kotlin","source":"// Initialize the client\nval client = CompositionClient(appId = \"ALGOLIA_APPLICATION_ID\", apiKey = \"ALGOLIA_API_KEY\")\n\n// Call the API\nvar response =\n client.search(\n compositionID = \"foo\",\n requestBody =\n RequestBody(\n params = Params(query = \"batman\"),\n externalProvider =\n ExternalProvider(\n configurationParams =\n buildJsonObject { put(\"customer_id\", JsonPrimitive(\"customer123\")) }\n ),\n ),\n )\n\n\n// print the response\nprintln(response)"},{"lang":"php","label":"PHP","source":"// Initialize the client\n$client = CompositionClient::create('ALGOLIA_APPLICATION_ID', 'ALGOLIA_API_KEY');\n\n// Call the API\n$response = $client->search(\n 'foo',\n ['params' => ['query' => 'batman',\n ],\n 'externalProvider' => ['configurationParams' => ['customer_id' => 'customer123',\n ],\n ],\n ],\n);\n\n\n// print the response\nvar_dump($response);"},{"lang":"python","label":"Python","source":"# Initialize the client\n# In an asynchronous context, you can use CompositionClient instead, which exposes the exact same methods.\nclient = CompositionClientSync(\"ALGOLIA_APPLICATION_ID\", \"ALGOLIA_API_KEY\")\n\n# Call the API\nresponse = client.search(\n composition_id=\"foo\",\n request_body={\n \"params\": {\n \"query\": \"batman\",\n },\n \"externalProvider\": {\n \"configurationParams\": {\n \"customer_id\": \"customer123\",\n },\n },\n },\n)\n\n\n# print the response\nprint(response)"},{"lang":"ruby","label":"Ruby","source":"# Initialize the client\nclient = Algolia::CompositionClient.create(\"ALGOLIA_APPLICATION_ID\", \"ALGOLIA_API_KEY\")\n\n# Call the API\nresponse = client.search(\n \"foo\",\n Algolia::Composition::RequestBody.new(\n params: Algolia::Composition::Params.new(query: \"batman\"),\n external_provider: Algolia::Composition::ExternalProvider.new(configuration_params: {customer_id: \"customer123\"})\n )\n)\n\n\n# print the response\nputs(response)"},{"lang":"scala","label":"Scala","source":"// Initialize the client\nval client = CompositionClient(appId = \"ALGOLIA_APPLICATION_ID\", apiKey = \"ALGOLIA_API_KEY\")\n\n// Call the API\nval response = Await.result(\n client.search(\n compositionID = \"foo\",\n requestBody = RequestBody(\n params = Some(\n Params(\n query = Some(\"batman\")\n )\n ),\n externalProvider = Some(\n ExternalProvider(\n configurationParams = Some(Map(\"customer_id\" -> \"customer123\"))\n )\n )\n )\n ),\n Duration(100, \"sec\")\n)\n\n// print the response\nprintln(response)"},{"lang":"swift","label":"Swift","source":"// Initialize the client\nlet client = try CompositionClient(appID: \"ALGOLIA_APPLICATION_ID\", apiKey: \"ALGOLIA_API_KEY\")\n\n// Call the API\nlet response: CompositionSearchResponse\u003cCompositionHit> = try await client.search(\n compositionID: \"foo\",\n requestBody: RequestBody(\n params: CompositionParams(query: \"batman\"),\n externalProvider: ExternalProvider(configurationParams: [\"customer_id\": AnyCodable(\"customer123\")])\n )\n)\n\n// print the response\nprint(response)"},{"lang":"cURL","label":"curl","source":"curl --request POST \\\n --url https://algolia_application_id.algolia.net/1/compositions/my_composition_object_id/run \\\n --header 'accept: application/json' \\\n --header 'content-type: application/json' \\\n --header 'x-algolia-api-key: ALGOLIA_API_KEY' \\\n --header 'x-algolia-application-id: ALGOLIA_APPLICATION_ID' \\\n --data '\n{\n \"params\": {\n \"analytics\": true,\n \"analyticsTags\": [],\n \"aroundLatLng\": \"40.71,-74.01\",\n \"aroundLatLngViaIP\": false,\n \"aroundRadius\": 1,\n \"aroundPrecision\": 10,\n \"clickAnalytics\": false,\n \"enableABTest\": true,\n \"enablePersonalization\": false,\n \"enableReRanking\": true,\n \"enableRules\": true,\n \"facetFilters\": [\n [\n \"category:Book\",\n \"category:-Movie\"\n ],\n \"author:John Doe\"\n ],\n \"facets\": [\n \"category\",\n \"disjunctive(brand)\",\n \"price\"\n ],\n \"filters\": \"(category:Book OR category:Ebook) AND _tags:published\",\n \"getRankingInfo\": false,\n \"hitsPerPage\": 20,\n \"injectedItems\": {\n \"my-group-key\": {\n \"items\": [\n {\n \"objectID\": \"my-object-1\",\n \"metadata\": {\n \"my-field\": \"my-value\"\n }\n },\n {\n \"objectID\": \"my-object-2\",\n \"metadata\": {\n \"my-field\": \"my-value-2\"\n }\n }\n ]\n },\n \"my-other-group-key\": {\n \"items\": [\n {\n \"objectID\": \"my-other-object-1\"\n },\n {\n \"objectID\": \"my-other-object-2\"\n }\n ]\n }\n },\n \"insideBoundingBox\": \"lorem\",\n \"insidePolygon\": [\n [\n 47.3165,\n 4.9665,\n 47.3424,\n 5.0201,\n 47.32,\n 4.9\n ],\n [\n 40.9234,\n 2.1185,\n 38.643,\n 1.9916,\n 39.2587,\n 2.0104\n ]\n ],\n \"minimumAroundRadius\": 1,\n \"naturalLanguages\": [],\n \"numericFilters\": [\n [\n \"inStock = 1\",\n \"deliveryDate \u003c 1441755506\"\n ],\n \"price \u003c 1000\"\n ],\n \"optionalFilters\": [\n \"category:Book\",\n \"author:John Doe\"\n ],\n \"page\": 0,\n \"query\": \"\",\n \"queryLanguages\": [\n \"es\"\n ],\n \"relevancyStrictness\": 90,\n \"ruleContexts\": [\n \"mobile\"\n ],\n \"sortBy\": \"Price (asc)\",\n \"userToken\": \"test-user-123\"\n },\n \"feedsOrder\": [\n \"feed-1\",\n \"feed-3\"\n ],\n \"externalProvider\": {\n \"configurationParams\": {\n \"customer_id\": \"customer123\"\n }\n }\n}\n'"}],"method":"post","type":"path","servers":["193ffbfd-f7d8-455d-8195-1a86154852e3","396c2b05-a17e-43b8-9f38-f5719e0f3c50","efeedc59-3893-4ca1-916b-5b0ddf461d2c","e4a4ed28-f247-4357-beaa-62082415f293","aec29ada-3024-4e27-88b5-a0ec091cdaf5"],"security":["5ba10fd7-8b74-452f-acc6-557efc87b90a"],"path":"/1/compositions/{compositionID}/run","baseUrlOptions":["https://{appId}.algolia.net","https://{appId}-1.algolianet.com","https://{appId}-2.algolianet.com","https://{appId}-3.algolianet.com","https://{appId}-dsn.algolia.net"],"title":"Run a Composition","codeSamples":[{"label":"C#","lang":"csharp","source":"// Initialize the client\nvar client = new CompositionClient(\n new CompositionConfig(\"ALGOLIA_APPLICATION_ID\", \"ALGOLIA_API_KEY\")\n);\n\n// Call the API\nvar response = await client.SearchAsync\u003cHit>(\n \"foo\",\n new RequestBody\n {\n Params = new Params { Query = \"batman\" },\n ExternalProvider = new ExternalProvider\n {\n ConfigurationParams = new Dictionary\u003cstring, object> { { \"customer_id\", \"customer123\" } },\n },\n }\n);\n\n// print the response\nConsole.WriteLine(response);"},{"label":"Dart","lang":"dart","source":"// Initialize the client\nfinal client = CompositionClient(\n appId: 'ALGOLIA_APPLICATION_ID', apiKey: 'ALGOLIA_API_KEY');\n\n// Call the API\nfinal response = await client.search(\n compositionID: \"foo\",\n requestBody: RequestBody(\n params: Params(\n query: \"batman\",\n ),\n externalProvider: ExternalProvider(\n configurationParams: {\n 'customer_id': \"customer123\",\n },\n ),\n ),\n);\n\n// print the response\nprint(response);"},{"label":"Go","lang":"go","source":"// Initialize the client\nclient, err := composition.NewClient(\"ALGOLIA_APPLICATION_ID\", \"ALGOLIA_API_KEY\")\nif err != nil {\n // The client can fail to initialize if you pass an invalid parameter.\n panic(err)\n}\n\n// Call the API\nresponse, err := client.Search(client.NewApiSearchRequest(\n \"foo\",\n composition.NewEmptyRequestBody().SetParams(\n composition.NewEmptyParams().SetQuery(\"batman\")).SetExternalProvider(\n composition.NewEmptyExternalProvider().SetConfigurationParams(map[string]any{\"customer_id\": \"customer123\"}))))\nif err != nil {\n // handle the eventual error\n panic(err)\n}\n\n\n// print the response\nprint(response)"},{"label":"Java","lang":"java","source":"// Initialize the client\nCompositionClient client = new CompositionClient(\"ALGOLIA_APPLICATION_ID\", \"ALGOLIA_API_KEY\");\n\n// Call the API\nSearchResponse response = client.search(\n \"foo\",\n new RequestBody().setParams(new Params().setQuery(\"batman\")).setExternalProvider(\n new ExternalProvider().setConfigurationParams(\n new HashMap() {\n {\n put(\"customer_id\", \"customer123\");\n }\n }\n )\n ),\n Hit.class\n);\n\n// print the response\nSystem.out.println(response);"},{"label":"JavaScript","lang":"javascript","source":"// Initialize the client\nconst client = compositionClient('ALGOLIA_APPLICATION_ID', 'ALGOLIA_API_KEY');\n\n// Call the API\nconst response = await client.search({\n compositionID: 'foo',\n requestBody: {\n params: { query: 'batman' },\n externalProvider: { configurationParams: { customer_id: 'customer123' } },\n },\n});\n\n\n// print the response\nconsole.log(response);"},{"label":"Kotlin","lang":"kotlin","source":"// Initialize the client\nval client = CompositionClient(appId = \"ALGOLIA_APPLICATION_ID\", apiKey = \"ALGOLIA_API_KEY\")\n\n// Call the API\nvar response =\n client.search(\n compositionID = \"foo\",\n requestBody =\n RequestBody(\n params = Params(query = \"batman\"),\n externalProvider =\n ExternalProvider(\n configurationParams =\n buildJsonObject { put(\"customer_id\", JsonPrimitive(\"customer123\")) }\n ),\n ),\n )\n\n\n// print the response\nprintln(response)"},{"label":"PHP","lang":"php","source":"// Initialize the client\n$client = CompositionClient::create('ALGOLIA_APPLICATION_ID', 'ALGOLIA_API_KEY');\n\n// Call the API\n$response = $client->search(\n 'foo',\n ['params' => ['query' => 'batman',\n ],\n 'externalProvider' => ['configurationParams' => ['customer_id' => 'customer123',\n ],\n ],\n ],\n);\n\n\n// print the response\nvar_dump($response);"},{"label":"Python","lang":"python","source":"# Initialize the client\n# In an asynchronous context, you can use CompositionClient instead, which exposes the exact same methods.\nclient = CompositionClientSync(\"ALGOLIA_APPLICATION_ID\", \"ALGOLIA_API_KEY\")\n\n# Call the API\nresponse = client.search(\n composition_id=\"foo\",\n request_body={\n \"params\": {\n \"query\": \"batman\",\n },\n \"externalProvider\": {\n \"configurationParams\": {\n \"customer_id\": \"customer123\",\n },\n },\n },\n)\n\n\n# print the response\nprint(response)"},{"label":"Ruby","lang":"ruby","source":"# Initialize the client\nclient = Algolia::CompositionClient.create(\"ALGOLIA_APPLICATION_ID\", \"ALGOLIA_API_KEY\")\n\n# Call the API\nresponse = client.search(\n \"foo\",\n Algolia::Composition::RequestBody.new(\n params: Algolia::Composition::Params.new(query: \"batman\"),\n external_provider: Algolia::Composition::ExternalProvider.new(configuration_params: {customer_id: \"customer123\"})\n )\n)\n\n\n# print the response\nputs(response)"},{"label":"Scala","lang":"scala","source":"// Initialize the client\nval client = CompositionClient(appId = \"ALGOLIA_APPLICATION_ID\", apiKey = \"ALGOLIA_API_KEY\")\n\n// Call the API\nval response = Await.result(\n client.search(\n compositionID = \"foo\",\n requestBody = RequestBody(\n params = Some(\n Params(\n query = Some(\"batman\")\n )\n ),\n externalProvider = Some(\n ExternalProvider(\n configurationParams = Some(Map(\"customer_id\" -> \"customer123\"))\n )\n )\n )\n ),\n Duration(100, \"sec\")\n)\n\n// print the response\nprintln(response)"},{"label":"Swift","lang":"swift","source":"// Initialize the client\nlet client = try CompositionClient(appID: \"ALGOLIA_APPLICATION_ID\", apiKey: \"ALGOLIA_API_KEY\")\n\n// Call the API\nlet response: CompositionSearchResponse\u003cCompositionHit> = try await client.search(\n compositionID: \"foo\",\n requestBody: RequestBody(\n params: CompositionParams(query: \"batman\"),\n externalProvider: ExternalProvider(configurationParams: [\"customer_id\": AnyCodable(\"customer123\")])\n )\n)\n\n// print the response\nprint(response)"},{"label":"curl","lang":"cURL","source":"curl --request POST \\\n --url https://algolia_application_id.algolia.net/1/compositions/my_composition_object_id/run \\\n --header 'accept: application/json' \\\n --header 'content-type: application/json' \\\n --header 'x-algolia-api-key: ALGOLIA_API_KEY' \\\n --header 'x-algolia-application-id: ALGOLIA_APPLICATION_ID' \\\n --data '\n{\n \"params\": {\n \"analytics\": true,\n \"analyticsTags\": [],\n \"aroundLatLng\": \"40.71,-74.01\",\n \"aroundLatLngViaIP\": false,\n \"aroundRadius\": 1,\n \"aroundPrecision\": 10,\n \"clickAnalytics\": false,\n \"enableABTest\": true,\n \"enablePersonalization\": false,\n \"enableReRanking\": true,\n \"enableRules\": true,\n \"facetFilters\": [\n [\n \"category:Book\",\n \"category:-Movie\"\n ],\n \"author:John Doe\"\n ],\n \"facets\": [\n \"category\",\n \"disjunctive(brand)\",\n \"price\"\n ],\n \"filters\": \"(category:Book OR category:Ebook) AND _tags:published\",\n \"getRankingInfo\": false,\n \"hitsPerPage\": 20,\n \"injectedItems\": {\n \"my-group-key\": {\n \"items\": [\n {\n \"objectID\": \"my-object-1\",\n \"metadata\": {\n \"my-field\": \"my-value\"\n }\n },\n {\n \"objectID\": \"my-object-2\",\n \"metadata\": {\n \"my-field\": \"my-value-2\"\n }\n }\n ]\n },\n \"my-other-group-key\": {\n \"items\": [\n {\n \"objectID\": \"my-other-object-1\"\n },\n {\n \"objectID\": \"my-other-object-2\"\n }\n ]\n }\n },\n \"insideBoundingBox\": \"lorem\",\n \"insidePolygon\": [\n [\n 47.3165,\n 4.9665,\n 47.3424,\n 5.0201,\n 47.32,\n 4.9\n ],\n [\n 40.9234,\n 2.1185,\n 38.643,\n 1.9916,\n 39.2587,\n 2.0104\n ]\n ],\n \"minimumAroundRadius\": 1,\n \"naturalLanguages\": [],\n \"numericFilters\": [\n [\n \"inStock = 1\",\n \"deliveryDate \u003c 1441755506\"\n ],\n \"price \u003c 1000\"\n ],\n \"optionalFilters\": [\n \"category:Book\",\n \"author:John Doe\"\n ],\n \"page\": 0,\n \"query\": \"\",\n \"queryLanguages\": [\n \"es\"\n ],\n \"relevancyStrictness\": 90,\n \"ruleContexts\": [\n \"mobile\"\n ],\n \"sortBy\": \"Price (asc)\",\n \"userToken\": \"test-user-123\"\n },\n \"feedsOrder\": [\n \"feed-1\",\n \"feed-3\"\n ],\n \"externalProvider\": {\n \"configurationParams\": {\n \"customer_id\": \"customer123\"\n }\n }\n}\n'"}],"requestExampleLanguages":["bash","csharp","dart","go","java","javascript","kotlin","php","python","ruby","scala","swift"],"requiredOnlyExamples":false,"disableCodeSampleGeneration":true,"requestExampleType":"codeSamples","responseExampleType":"generated"},"dependencies":{"parameters":{"452cf2ff-f8a9-4c37-ab62-5b9718bc6a16":{"in":"path","name":"compositionID","description":"Unique Composition ObjectID.","required":true,"schema":{"type":"string","example":"my_composition_object_id","description":"Unique Composition ObjectID.\nComposition unique identifier.","isRequired":true,"uniqueKey":"","typeLabel":"string"}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"title":"requestBody","type":"object","additionalProperties":false,"properties":{"externalProvider":{"title":"Run composition external provider parameters as object","type":"object","additionalProperties":false,"properties":{"configurationParams":{"type":"object","additionalProperties":true,"description":"Values for non-prefixed configuration placeholders, overriding the composition source's `configurationParams` and the configuration's `defaults`.","example":{"customer_id":"customer123"},"uniqueKey":"externalProvider.configurationParams","typeLabel":"object"}},"uniqueKey":"externalProvider","typeLabel":"Run composition external provider parameters as object · object"},"feedsOrder":{"type":"array","description":"A list of Feed IDs that specifies the order in which to order the results in the response. \nThe IDs should be a subset of those in the `feeds` object of the targeted `multifeed` Composition / Composition Rule, and only those specified will be processed. \n\nThe value overrides the value in the defined behavior, and when unspecified, the value defined in the behavior is used. When neither value is present, all feeds are processed.\n","items":{"type":"string","uniqueKey":"feedsOrder.items.[INDEX]","typeLabel":"string"},"default":null,"example":["feed-1","feed-3"],"uniqueKey":"feedsOrder","typeLabel":"string[]"},"params":{"title":"Run composition parameters as object","type":"object","additionalProperties":false,"properties":{"analytics":{"type":"boolean","description":"Whether this search will be included in Analytics.","default":true,"x-categories":["Analytics"],"uniqueKey":"params.analytics","typeLabel":"boolean"},"analyticsTags":{"type":"array","items":{"type":"string","uniqueKey":"params.analyticsTags.items.[INDEX]","typeLabel":"string"},"description":"Tags to apply to the query for [segmenting analytics data](https://www.algolia.com/doc/guides/search-analytics/guides/segments).","default":[],"uniqueKey":"params.analyticsTags","typeLabel":"string[]"},"aroundLatLng":{"type":"string","description":"Coordinates for the center of a circle, expressed as a comma-separated string of latitude and longitude.\n\nOnly records included within a circle around this central location are included in the results.\nThe radius of the circle is determined by the `aroundRadius` and `minimumAroundRadius` settings.\nThis parameter is ignored if you also specify `insidePolygon` or `insideBoundingBox`.\n","example":"40.71,-74.01","default":"","x-categories":["Geo-Search"],"uniqueKey":"params.aroundLatLng","typeLabel":"string"},"aroundLatLngViaIP":{"type":"boolean","description":"Whether to obtain the coordinates from the request's IP address.","default":false,"x-categories":["Geo-Search"],"uniqueKey":"params.aroundLatLngViaIP","typeLabel":"boolean"},"aroundPrecision":{"oneOf":[{"type":"integer","description":"Precision of a coordinate-based search in meters to group results with similar distances.\n\nThe Geo ranking criterion considers all matches within the same range of distances to be equal.\n","default":10,"x-categories":["Geo-Search"],"uniqueKey":"params.aroundPrecision.oneOf.0","typeLabel":"integer"},{"type":"array","items":{"title":"range","type":"object","description":"Range object with lower and upper values in meters to define custom ranges.","properties":{"from":{"type":"integer","description":"Lower boundary of a range in meters. The Geo ranking criterion considers all records within the range to be equal.","example":20,"uniqueKey":"params.aroundPrecision.oneOf.1.items.[INDEX].from","typeLabel":"integer"},"value":{"type":"integer","description":"Upper boundary of a range in meters. The Geo ranking criterion considers all records within the range to be equal.","uniqueKey":"params.aroundPrecision.oneOf.1.items.[INDEX].value","typeLabel":"integer"}},"uniqueKey":"params.aroundPrecision.oneOf.1.items.[INDEX]","typeLabel":"range · object"},"title":"range objects","description":"Precision of a coordinate-based search in meters to group results with similar distances.\n\nThe Geo ranking criterion considers all matches within the same range of distances to be equal.\n","x-categories":["Geo-Search"],"uniqueKey":"params.aroundPrecision.oneOf.1","typeLabel":"range · object[]"}],"uniqueKey":"params.aroundPrecision","typeLabel":"integer | range · object[]"},"aroundRadius":{"oneOf":[{"type":"integer","description":"Maximum radius for a search around a central location.\n\nThis parameter works in combination with the `aroundLatLng` and `aroundLatLngViaIP` parameters.\nBy default, the search radius is determined automatically from the density of hits around the central location.\nThe search radius is small if there are many hits close to the central coordinates.\n","minimum":1,"x-categories":["Geo-Search"],"uniqueKey":"params.aroundRadius.oneOf.0","typeLabel":"integer"},{"type":"string","title":"all","description":"Maximum radius for a search around a central location.\n\nThis parameter works in combination with the `aroundLatLng` and `aroundLatLngViaIP` parameters.\nBy default, the search radius is determined automatically from the density of hits around the central location.\nThe search radius is small if there are many hits close to the central coordinates.\n","enum":["all"],"x-categories":["Geo-Search"],"uniqueKey":"params.aroundRadius.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"params.aroundRadius","typeLabel":"integer | enum\u003cstring>"},"clickAnalytics":{"type":"boolean","description":"Whether to include a `queryID` attribute in the response.\nThe query ID is a unique identifier for a search query and is required for tracking [click and conversion events](https://www.algolia.com/doc/guides/sending-events/getting-started).\n","default":false,"x-categories":["Analytics"],"uniqueKey":"params.clickAnalytics","typeLabel":"boolean"},"enableABTest":{"type":"boolean","description":"Whether to enable index level A/B testing for this run request.\nIf the composition mixes multiple indices, the A/B test is ignored.\n","default":true,"x-categories":["Advanced"],"uniqueKey":"params.enableABTest","typeLabel":"boolean"},"enablePersonalization":{"type":"boolean","description":"Whether to enable Personalization.","default":false,"x-categories":["Personalization"],"uniqueKey":"params.enablePersonalization","typeLabel":"boolean"},"enableReRanking":{"type":"boolean","description":"Whether this search will use [Dynamic Re-Ranking](https://www.algolia.com/doc/guides/algolia-ai/re-ranking).\nThis setting only has an effect if you activated Dynamic Re-Ranking for this index in the Algolia dashboard.\n","default":true,"x-categories":["Filtering"],"uniqueKey":"params.enableReRanking","typeLabel":"boolean"},"enableRules":{"type":"boolean","description":"Whether to enable composition rules.","default":true,"x-categories":["Composition Rules"],"uniqueKey":"params.enableRules","typeLabel":"boolean"},"facetFilters":{"oneOf":[{"type":"array","items":{"oneOf":[{}],"uniqueKey":"params.facetFilters.oneOf.0.items.[INDEX]","typeLabel":"any"},"description":"Filter the search by facet values, so that only records with the same facet values are retrieved.\n\n**Prefer using the `filters` parameter, which supports all filter types and combinations with boolean operators.**\n\n- `[filter1, filter2]` is interpreted as `filter1 AND filter2`.\n- `[[filter1, filter2], filter3]` is interpreted as `filter1 OR filter2 AND filter3`.\n- `facet:-value` is interpreted as `NOT facet:value`.\n\nWhile it's best to avoid attributes that start with a `-`, you can still filter them by escaping with a backslash:\n`facet:\\-value`.\n","x-categories":["Filtering"],"example":[["category:Book","category:-Movie"],"author:John Doe"],"uniqueKey":"params.facetFilters.oneOf.0","typeLabel":"any[]"},{"type":"string","description":"Filter the search by facet values, so that only records with the same facet values are retrieved.\n\n**Prefer using the `filters` parameter, which supports all filter types and combinations with boolean operators.**\n\n- `[filter1, filter2]` is interpreted as `filter1 AND filter2`.\n- `[[filter1, filter2], filter3]` is interpreted as `filter1 OR filter2 AND filter3`.\n- `facet:-value` is interpreted as `NOT facet:value`.\n\nWhile it's best to avoid attributes that start with a `-`, you can still filter them by escaping with a backslash:\n`facet:\\-value`.\n","x-categories":["Filtering"],"example":[["category:Book","category:-Movie"],"author:John Doe"],"uniqueKey":"params.facetFilters.oneOf.1","typeLabel":"string"}],"uniqueKey":"params.facetFilters","typeLabel":"any[] | string"},"facets":{"type":"array","items":{"type":"string","uniqueKey":"params.facets.items.[INDEX]","typeLabel":"string"},"description":"Facets for which to retrieve facet values that match the search criteria and the number of matching facet values.\nTo retrieve all facets, use the wildcard character `*`.\nTo retrieve disjunctive facets lists, annotate any facets with the `disjunctive` modifier.\nFor more information, see [facets](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/#contextual-facet-values-and-counts) and [disjunctive faceting for Smart Groups](https://www.algolia.com/doc/guides/managing-results/compositions/search-based-groups#facets-including-disjunctive-faceting).\n","default":[],"example":["category","disjunctive(brand)","price"],"examples":[["category","disjunctive(brand)","price"],["*"],["*","disjunctive(brand)"]],"x-categories":["Faceting"],"uniqueKey":"params.facets","typeLabel":"string[]"},"filters":{"type":"string","description":"Filter expression to only include items that match the filter criteria in the response.\n\nYou can use these filter expressions:\n\n- **Numeric filters.** `\u003cfacet> \u003cop> \u003cnumber>`, where `\u003cop>` is one of `\u003c`, `\u003c=`, `=`, `!=`, `>`, `>=`.\n- **Ranges.** `\u003cfacet>:\u003clower> TO \u003cupper>`, where `\u003clower>` and `\u003cupper>` are the lower and upper limits of the range (inclusive).\n- **Facet filters.** `\u003cfacet>:\u003cvalue>`, where `\u003cfacet>` is a facet attribute (case-sensitive) and `\u003cvalue>` a facet value.\n- **Tag filters.** `_tags:\u003cvalue>` or just `\u003cvalue>` (case-sensitive).\n- **Boolean filters.** `\u003cfacet>: true | false`.\n\nYou can combine filters with `AND`, `OR`, and `NOT` operators with the following restrictions:\n\n- You can only combine filters of the same type with `OR`.\n **Not supported:** `facet:value OR num > 3`.\n- You can't use `NOT` with combinations of filters.\n **Not supported:** `NOT(facet:value OR facet:value)`\n- You can't combine conjunctions (`AND`) with `OR`.\n **Not supported:** `facet:value OR (facet:value AND facet:value)`\n\nUse quotes if the facet attribute name or facet value contains spaces, keywords (`OR`, `AND`, `NOT`), or quotes.\nIf a facet attribute is an array, the filter matches if it matches at least one element of the array.\n\nFor more information, see [Filters](https://www.algolia.com/doc/guides/managing-results/refine-results/filtering).\n","example":"(category:Book OR category:Ebook) AND _tags:published","x-categories":["Filtering"],"uniqueKey":"params.filters","typeLabel":"string"},"getRankingInfo":{"type":"boolean","description":"Whether the run response should include detailed ranking information.","default":false,"x-categories":["Advanced"],"uniqueKey":"params.getRankingInfo","typeLabel":"boolean"},"hitsPerPage":{"type":"integer","description":"Number of hits per page.","default":20,"minimum":1,"maximum":1000,"x-categories":["Pagination"],"uniqueKey":"params.hitsPerPage","typeLabel":"integer"},"injectedItems":{"type":"object","additionalProperties":{"type":"object","description":"Contains a list of objects to inject from an external source.\n","properties":{"items":{"type":"array","items":{"title":"externalInjection","type":"object","additionalProperties":false,"properties":{"objectID":{"type":"string","description":"An objectID injected from an external source and also present in the targeted index.","isRequired":true,"uniqueKey":"params.injectedItems.additionalProperties.\\items.items.[INDEX].objectID","typeLabel":"string"},"metadata":{"type":"object","additionalProperties":true,"description":"User-defined key-values that will be added to the injected item in the response.\nThis is identical to Hits metadata defined in Composition or Composition Rule,\nwith the benefit of being set at runtime.\n","example":{"my-field":"my-value"},"uniqueKey":"params.injectedItems.additionalProperties.\\items.items.[INDEX].metadata","typeLabel":"object"}},"required":["objectID"],"example":{"objectID":"my-object-1","metadata'":{"my-field":"my-value"}},"uniqueKey":"params.injectedItems.additionalProperties.\\items.items.[INDEX]","typeLabel":"externalInjection · object"},"isRequired":true,"uniqueKey":"params.injectedItems.additionalProperties.\\items","typeLabel":"externalInjection · object[]"}},"required":["items"],"uniqueKey":"params.injectedItems.additionalProperties","typeLabel":"object"},"description":"An object containing keys corresponding to the `key`s from an injection's `injectedItems` and values containing a list of hits to inject.\n","default":{},"x-categories":["Retail Media Network"],"example":{"my-group-key":{"items":[{"objectID":"my-object-1","metadata":{"my-field":"my-value"}},{"objectID":"my-object-2","metadata":{"my-field":"my-value-2"}}]},"my-other-group-key":{"items":[{"objectID":"my-other-object-1"},{"objectID":"my-other-object-2"}]}},"uniqueKey":"params.injectedItems","typeLabel":"object"},"insideBoundingBox":{"oneOf":[{"type":"string","uniqueKey":"params.insideBoundingBox.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"params.insideBoundingBox.oneOf.1","typeLabel":"null"},{"type":"array","items":{"type":"array","minItems":4,"maxItems":4,"items":{"type":"number","format":"double","uniqueKey":"params.insideBoundingBox.oneOf.2.items.[INDEX].items.[INDEX]","typeLabel":"number\u003cdouble>"},"uniqueKey":"params.insideBoundingBox.oneOf.2.items.[INDEX]","typeLabel":"number\u003cdouble>[]"},"description":"Coordinates for a rectangular area in which to search.\n\nEach bounding box is defined by the two opposite points of its diagonal, and expressed as latitude and longitude pair:\n`[p1 lat, p1 long, p2 lat, p2 long]`.\nProvide multiple bounding boxes as nested arrays.\nFor more information, see [rectangular area](https://www.algolia.com/doc/guides/managing-results/refine-results/geolocation/#filtering-inside-rectangular-or-polygonal-areas).\n","x-categories":["Geo-Search"],"example":[[47.3165,4.9665,47.3424,5.0201],[40.9234,2.1185,38.643,1.9916]],"uniqueKey":"params.insideBoundingBox.oneOf.2","typeLabel":"number\u003cdouble>[][]"}],"uniqueKey":"params.insideBoundingBox","typeLabel":"string | null | number\u003cdouble>[][]"},"insidePolygon":{"type":"array","items":{"type":"array","minItems":6,"maxItems":20000,"items":{"type":"number","format":"double","uniqueKey":"params.insidePolygon.items.[INDEX].items.[INDEX]","typeLabel":"number\u003cdouble>"},"uniqueKey":"params.insidePolygon.items.[INDEX]","typeLabel":"number\u003cdouble>[]"},"description":"Coordinates of a polygon in which to search.\n\nPolygons are defined by 3 to 10,000 points. Each point is represented by its latitude and longitude.\nProvide multiple polygons as nested arrays.\nFor more information, see [filtering inside polygons](https://www.algolia.com/doc/guides/managing-results/refine-results/geolocation/#filtering-inside-rectangular-or-polygonal-areas).\nThis parameter is ignored if you also specify `insideBoundingBox`.\n","example":[[47.3165,4.9665,47.3424,5.0201,47.32,4.9],[40.9234,2.1185,38.643,1.9916,39.2587,2.0104]],"x-categories":["Geo-Search"],"uniqueKey":"params.insidePolygon","typeLabel":"number\u003cdouble>[][]"},"minimumAroundRadius":{"type":"integer","description":"Minimum radius (in meters) for a search around a location when `aroundRadius` isn't set.","minimum":1,"x-categories":["Geo-Search"],"uniqueKey":"params.minimumAroundRadius","typeLabel":"integer"},"naturalLanguages":{"type":"array","items":{"type":"string","description":"ISO code for a supported language.","enum":["af","ar","az","bg","bn","ca","cs","cy","da","de","el","en","eo","es","et","eu","fa","fi","fo","fr","ga","gl","he","hi","hu","hy","id","is","it","ja","ka","kk","ko","ku","ky","lt","lv","mi","mn","mr","ms","mt","nb","nl","no","ns","pl","ps","pt","pt-br","qu","ro","ru","sk","sq","sv","sw","ta","te","th","tl","tn","tr","tt","uk","ur","uz","zh"],"uniqueKey":"params.naturalLanguages.items.[INDEX]","typeLabel":"enum\u003cstring>"},"description":"ISO language codes that adjust settings that are useful for processing natural language queries (as opposed to keyword searches).\n- Sets `removeStopWords` and `ignorePlurals` to the list of provided languages.\n- Sets `removeWordsIfNoResults` to `allOptional`.\n- Adds a `natural_language` attribute to `ruleContexts` and `analyticsTags`.\n","default":[],"x-categories":["Languages"],"uniqueKey":"params.naturalLanguages","typeLabel":"enum\u003cstring>[]"},"numericFilters":{"oneOf":[{"type":"array","items":{"oneOf":[{}],"uniqueKey":"params.numericFilters.oneOf.0.items.[INDEX]","typeLabel":"any"},"description":"Filter by numeric facets.\n\n**Prefer using the `filters` parameter, which supports all filter types and combinations with boolean operators.**\n\nYou can use numeric comparison operators: `\u003c`, `\u003c=`, `=`, `!=`, `>`, `>=`.\nComparisons are precise up to 3 decimals.\nYou can also provide ranges: `facet:\u003clower> TO \u003cupper>`. The range includes the lower and upper boundaries.\nThe same combination rules apply as for `facetFilters`.\n","x-categories":["Filtering"],"example":[["inStock = 1","deliveryDate \u003c 1441755506"],"price \u003c 1000"],"uniqueKey":"params.numericFilters.oneOf.0","typeLabel":"any[]"},{"type":"string","description":"Filter by numeric facets.\n\n**Prefer using the `filters` parameter, which supports all filter types and combinations with boolean operators.**\n\nYou can use numeric comparison operators: `\u003c`, `\u003c=`, `=`, `!=`, `>`, `>=`.\nComparisons are precise up to 3 decimals.\nYou can also provide ranges: `facet:\u003clower> TO \u003cupper>`. The range includes the lower and upper boundaries.\nThe same combination rules apply as for `facetFilters`.\n","x-categories":["Filtering"],"example":[["inStock = 1","deliveryDate \u003c 1441755506"],"price \u003c 1000"],"uniqueKey":"params.numericFilters.oneOf.1","typeLabel":"string"}],"uniqueKey":"params.numericFilters","typeLabel":"any[] | string"},"optionalFilters":{"oneOf":[{"type":"array","items":{"oneOf":[{}],"uniqueKey":"params.optionalFilters.oneOf.0.items.[INDEX]","typeLabel":"any"},"description":"Filters to promote or demote records in the search results.\n\nOptional filters work like facet filters, but they don't exclude records from the search results.\nRecords that match the optional filter rank before records that don't match.\nIf you're using a negative filter `facet:-value`, matching records rank after records that don't match.\n\n- Optional filters are applied _after_ sort-by attributes.\n- Optional filters are applied _before_ custom ranking attributes (in the default [ranking](https://www.algolia.com/doc/guides/managing-results/relevance-overview/in-depth/ranking-criteria)).\n- Optional filters don't work with numeric attributes.\n- On virtual replicas, optional filters are applied _after_ the replica's [relevant sort](https://www.algolia.com/doc/guides/managing-results/refine-results/sorting/in-depth/relevant-sort).\n","x-categories":["Filtering"],"example":["category:Book","author:John Doe"],"uniqueKey":"params.optionalFilters.oneOf.0","typeLabel":"any[]"},{"type":"string","description":"Filters to promote or demote records in the search results.\n\nOptional filters work like facet filters, but they don't exclude records from the search results.\nRecords that match the optional filter rank before records that don't match.\nIf you're using a negative filter `facet:-value`, matching records rank after records that don't match.\n\n- Optional filters are applied _after_ sort-by attributes.\n- Optional filters are applied _before_ custom ranking attributes (in the default [ranking](https://www.algolia.com/doc/guides/managing-results/relevance-overview/in-depth/ranking-criteria)).\n- Optional filters don't work with numeric attributes.\n- On virtual replicas, optional filters are applied _after_ the replica's [relevant sort](https://www.algolia.com/doc/guides/managing-results/refine-results/sorting/in-depth/relevant-sort).\n","x-categories":["Filtering"],"example":["category:Book","author:John Doe"],"uniqueKey":"params.optionalFilters.oneOf.1","typeLabel":"string"}],"uniqueKey":"params.optionalFilters","typeLabel":"any[] | string"},"page":{"type":"integer","description":"Page of search results to retrieve.","default":0,"minimum":0,"x-categories":["Pagination"],"uniqueKey":"params.page","typeLabel":"integer"},"query":{"type":"string","description":"Search query.","default":"","x-categories":["Search"],"uniqueKey":"params.query","typeLabel":"string"},"queryLanguages":{"type":"array","items":{"type":"string","description":"ISO code for a supported language.","enum":["af","ar","az","bg","bn","ca","cs","cy","da","de","el","en","eo","es","et","eu","fa","fi","fo","fr","ga","gl","he","hi","hu","hy","id","is","it","ja","ka","kk","ko","ku","ky","lt","lv","mi","mn","mr","ms","mt","nb","nl","no","ns","pl","ps","pt","pt-br","qu","ro","ru","sk","sq","sv","sw","ta","te","th","tl","tn","tr","tt","uk","ur","uz","zh"],"uniqueKey":"params.queryLanguages.items.[INDEX]","typeLabel":"enum\u003cstring>"},"example":["es"],"description":"Languages for language-specific query processing steps such as plurals, stop-word removal, and word-detection dictionaries.\nThis setting sets a default list of languages used by the `removeStopWords` and `ignorePlurals` settings.\nThis setting also sets a dictionary for word detection in the logogram-based [CJK](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/in-depth/normalization/#normalization-for-logogram-based-languages-cjk) languages.\nTo support this, place the CJK language **first**.\n**Always specify a query language.**\nIf you don't specify an indexing language, the search engine uses all [supported languages](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/in-depth/supported-languages),\nor the languages you specified with the `ignorePlurals` or `removeStopWords` parameters.\nThis can lead to unexpected search results.\nFor more information, see [Language-specific configuration](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/in-depth/language-specific-configurations).\n","default":[],"x-categories":["Languages"],"uniqueKey":"params.queryLanguages","typeLabel":"enum\u003cstring>[]"},"relevancyStrictness":{"type":"integer","example":90,"description":"Relevancy threshold below which less relevant results aren't included in the results.\nYou can only set `relevancyStrictness` on [virtual replica indices](https://www.algolia.com/doc/guides/managing-results/refine-results/sorting/in-depth/replicas/#standard-and-virtual-replicas).\nUse this setting to strike a balance between the relevance and number of returned results.\n","default":100,"x-categories":["Ranking"],"uniqueKey":"params.relevancyStrictness","typeLabel":"integer"},"ruleContexts":{"type":"array","items":{"type":"string","uniqueKey":"params.ruleContexts.items.[INDEX]","typeLabel":"string"},"description":"Assigns a rule context to the run query.\n[Rule contexts](https://www.algolia.com/doc/guides/managing-results/rules/rules-overview/how-to/customize-search-results-by-platform/#assign-context) are strings that you can use to trigger matching rules.\n","default":[],"example":["mobile"],"x-categories":["Composition Rules"],"uniqueKey":"params.ruleContexts","typeLabel":"string[]"},"sortBy":{"type":"string","description":"Indicates which sorting strategy to apply for the request.\nThe value must match one of the labels defined in the \"sortingStrategy\" mapping. For example, \"Price (asc)\", see Upsert Composition.\nAt runtime, this label is used to look up the corresponding index or replica configured in \"sortingStrategy\", and the query is executed using that index instead of main's.\n\nIn addition to \"sortingStrategy\", this parameter is also used to apply a matching Composition Rule that contains a condition defined to trigger on \"sortBy\", see Composition Rules.\n\nIf no value is provided or an invalid value, no sorting strategy is applied.\n","default":"","example":"Price (asc)","uniqueKey":"params.sortBy","typeLabel":"string"},"userToken":{"type":"string","description":"Unique pseudonymous or anonymous user identifier.\n\nThis helps with analytics and click and conversion events.\nFor more information, see [user token](https://www.algolia.com/doc/guides/sending-events/concepts/usertoken).\n","example":"test-user-123","x-categories":["Personalization"],"uniqueKey":"params.userToken","typeLabel":"string"}},"uniqueKey":"params","typeLabel":"Run composition parameters as object · object"}},"uniqueKey":"","typeLabel":"requestBody · object"},"examples":{"Example":{"title":"Example","value":{"externalProvider":{"configurationParams":{"customer_id":"customer123"}},"feedsOrder":["feed-1","feed-3"],"params":{"analytics":true,"analyticsTags":[],"aroundLatLng":"40.71,-74.01","aroundLatLngViaIP":false,"aroundPrecision":10,"aroundRadius":2,"clickAnalytics":false,"enableABTest":true,"enablePersonalization":false,"enableReRanking":true,"enableRules":true,"facetFilters":[["category:Book","category:-Movie"],"author:John Doe"],"facets":["category","disjunctive(brand)","price"],"filters":"(category:Book OR category:Ebook) AND _tags:published","getRankingInfo":false,"hitsPerPage":20,"injectedItems":{"my-group-key":{"items":[{"objectID":"my-object-1","metadata":{"my-field":"my-value"}},{"objectID":"my-object-2","metadata":{"my-field":"my-value-2"}}]},"my-other-group-key":{"items":[{"objectID":"my-other-object-1"},{"objectID":"my-other-object-2"}]}},"insideBoundingBox":"\u003cstring>","insidePolygon":[[47.3165,4.9665,47.3424,5.0201,47.32,4.9],[40.9234,2.1185,38.643,1.9916,39.2587,2.0104]],"minimumAroundRadius":2,"naturalLanguages":[],"numericFilters":[["inStock = 1","deliveryDate \u003c 1441755506"],"price \u003c 1000"],"optionalFilters":["category:Book","author:John Doe"],"page":0,"query":"","queryLanguages":["es"],"relevancyStrictness":90,"ruleContexts":["mobile"],"sortBy":"Price (asc)","userToken":"test-user-123"}}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"0d7d361d-efb6-4d13-ac0d-41b1d2822a26":{"description":"OK","headers":{"Correlation-ID":{"description":"Identifies the request in Algolia's logs, where it's the `cid` property of a log entry.\nInclude it when you contact the Algolia support team about a specific request.\nRetried requests can share an identifier, so don't use it as a unique key.\n","example":"MyAppl-1tMcE-a7BqLm2Pd0Z","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","required":["results"],"properties":{"results":{"type":"array","description":"Search results.","items":{"type":"object","required":["compositions"],"properties":{"compositions":{"additionalProperties":{"type":"object","x-additionalPropertiesName":"composition-id","properties":{"injectedItems":{"type":"array","items":{"type":"object","additionalProperties":true,"properties":{"key":{"type":"string","description":"The key of the injected group.","example":"men-sponsored-group","isRequired":true,"uniqueKey":"results.items.[INDEX].compositions.additionalProperties.injectedItems.items.[INDEX].key","typeLabel":"string"},"appliedRules":{"type":"array","items":{"type":"object","properties":{"objectID":{"type":"string","description":"The objectID of the applied index level rule on this injected group.","isRequired":true,"uniqueKey":"results.items.[INDEX].compositions.additionalProperties.injectedItems.items.[INDEX].appliedRules.items.[INDEX].objectID","typeLabel":"string"}},"example":{"objectID":"qr-1765458959657"},"required":["objectID"],"uniqueKey":"results.items.[INDEX].compositions.additionalProperties.injectedItems.items.[INDEX].appliedRules.items.[INDEX]","typeLabel":"object"},"uniqueKey":"results.items.[INDEX].compositions.additionalProperties.injectedItems.items.[INDEX].appliedRules","typeLabel":"object[]"}},"required":["key"],"uniqueKey":"results.items.[INDEX].compositions.additionalProperties.injectedItems.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"results.items.[INDEX].compositions.additionalProperties.injectedItems","typeLabel":"object[]"}},"required":["injectedItems"],"uniqueKey":"results.items.[INDEX].compositions.additionalProperties","typeLabel":"object"},"type":"object","isRequired":true,"uniqueKey":"results.items.[INDEX].compositions","typeLabel":"object"},"_automaticInsights":{"type":"boolean","description":"Whether automatic events collection is enabled for the application.","uniqueKey":"results.items.[INDEX]._automaticInsights","typeLabel":"boolean"},"abTestID":{"type":"integer","description":"A/B test ID. This is only included in the response for indices that are part of an A/B test.","uniqueKey":"results.items.[INDEX].abTestID","typeLabel":"integer"},"abTestVariantID":{"type":"integer","minimum":1,"description":"Variant ID. This is only included in the response for indices that are part of an A/B test.","uniqueKey":"results.items.[INDEX].abTestVariantID","typeLabel":"integer"},"appliedRules":{"description":"Rules applied to the query.","title":"appliedRules","type":"array","items":{"type":"object","uniqueKey":"results.items.[INDEX].appliedRules.items.[INDEX]","typeLabel":"object"},"uniqueKey":"results.items.[INDEX].appliedRules","typeLabel":"appliedRules · object[]"},"aroundLatLng":{"type":"string","description":"Computed geographical location.","example":"40.71,-74.01","pattern":"^(-?\\d+(\\.\\d+)?),\\s*(-?\\d+(\\.\\d+)?)$","uniqueKey":"results.items.[INDEX].aroundLatLng","typeLabel":"string"},"automaticRadius":{"type":"string","description":"Distance from a central coordinate provided by `aroundLatLng`.","uniqueKey":"results.items.[INDEX].automaticRadius","typeLabel":"string"},"exhaustive":{"title":"exhaustive","type":"object","description":"Whether certain properties of the search response are calculated exhaustive (exact) or approximated.","properties":{"facetsCount":{"type":"boolean","title":"facetsCount","description":"Whether the facet count is exhaustive (`true`) or approximate (`false`). See the [related discussion](https://support.algolia.com/hc/articles/4406975248145-Why-are-my-facet-and-hit-counts-not-accurate).","uniqueKey":"results.items.[INDEX].exhaustive.facetsCount","typeLabel":"boolean"},"facetValues":{"type":"boolean","title":"facetValues","description":"The value is `false` if not all facet values are retrieved.","uniqueKey":"results.items.[INDEX].exhaustive.facetValues","typeLabel":"boolean"},"nbHits":{"type":"boolean","title":"nbHits","description":"Whether the `nbHits` is exhaustive (`true`) or approximate (`false`). When the query takes more than 50ms to be processed, the engine makes an approximation. This can happen when using complex filters on millions of records, when typo-tolerance was not exhaustive, or when enough hits have been retrieved (for example, after the engine finds 10,000 exact matches). `nbHits` is reported as non-exhaustive whenever an approximation is made, even if the approximation didn’t, in the end, impact the exhaustivity of the query.","uniqueKey":"results.items.[INDEX].exhaustive.nbHits","typeLabel":"boolean"},"rulesMatch":{"type":"boolean","title":"rulesMatch","description":"Rules matching exhaustivity. The value is `false` if rules were enable for this query, and could not be fully processed due a timeout. This is generally caused by the number of alternatives (such as typos) which is too large.","uniqueKey":"results.items.[INDEX].exhaustive.rulesMatch","typeLabel":"boolean"},"typo":{"type":"boolean","title":"typo","description":"Whether the typo search was exhaustive (`true`) or approximate (`false`). An approximation is done when the typo search query part takes more than 10% of the query budget (ie. 5ms by default) to be processed (this can happen when a lot of typo alternatives exist for the query). This field will not be included when typo-tolerance is entirely disabled.","uniqueKey":"results.items.[INDEX].exhaustive.typo","typeLabel":"boolean"}},"uniqueKey":"results.items.[INDEX].exhaustive","typeLabel":"exhaustive · object"},"exhaustiveFacetsCount":{"type":"boolean","description":"See the `facetsCount` field of the `exhaustive` object in the response.","deprecated":true,"uniqueKey":"results.items.[INDEX].exhaustiveFacetsCount","typeLabel":"boolean"},"exhaustiveNbHits":{"type":"boolean","description":"See the `nbHits` field of the `exhaustive` object in the response.","deprecated":true,"uniqueKey":"results.items.[INDEX].exhaustiveNbHits","typeLabel":"boolean"},"exhaustiveTypo":{"type":"boolean","description":"See the `typo` field of the `exhaustive` object in the response.","deprecated":true,"uniqueKey":"results.items.[INDEX].exhaustiveTypo","typeLabel":"boolean"},"facets":{"title":"facets","type":"object","additionalProperties":{"x-additionalPropertiesName":"facet","type":"object","additionalProperties":{"x-additionalPropertiesName":"facet count","type":"integer","uniqueKey":"results.items.[INDEX].facets.additionalProperties.additionalProperties","typeLabel":"integer"},"uniqueKey":"results.items.[INDEX].facets.additionalProperties","typeLabel":"object"},"description":"Facet counts.","example":{"category":{"food":1,"tech":42}},"uniqueKey":"results.items.[INDEX].facets","typeLabel":"facets · object"},"facets_stats":{"type":"object","description":"Statistics for numerical facets.","additionalProperties":{"title":"facetStats","type":"object","properties":{"avg":{"type":"number","format":"double","description":"Average facet value in the results.","uniqueKey":"results.items.[INDEX].facets_stats.additionalProperties.avg","typeLabel":"number\u003cdouble>"},"max":{"type":"number","format":"double","description":"Maximum value in the results.","uniqueKey":"results.items.[INDEX].facets_stats.additionalProperties.max","typeLabel":"number\u003cdouble>"},"min":{"type":"number","format":"double","description":"Minimum value in the results.","uniqueKey":"results.items.[INDEX].facets_stats.additionalProperties.min","typeLabel":"number\u003cdouble>"},"sum":{"type":"number","format":"double","description":"Sum of all values in the results.","uniqueKey":"results.items.[INDEX].facets_stats.additionalProperties.sum","typeLabel":"number\u003cdouble>"}},"uniqueKey":"results.items.[INDEX].facets_stats.additionalProperties","typeLabel":"facetStats · object"},"uniqueKey":"results.items.[INDEX].facets_stats","typeLabel":"object"},"index":{"type":"string","example":"indexName","description":"Index name used for the query.","uniqueKey":"results.items.[INDEX].index","typeLabel":"string"},"indexUsed":{"type":"string","description":"Index name used for the query. During A/B testing, the targeted index isn't always the index used by the query.","example":"indexNameAlt","uniqueKey":"results.items.[INDEX].indexUsed","typeLabel":"string"},"message":{"type":"string","description":"Warnings about the query.","uniqueKey":"results.items.[INDEX].message","typeLabel":"string"},"nbSortedHits":{"type":"integer","description":"Number of hits selected and sorted by the relevant sort algorithm.","example":20,"uniqueKey":"results.items.[INDEX].nbSortedHits","typeLabel":"integer"},"parsedQuery":{"type":"string","description":"Post-[normalization](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/#what-does-normalization-mean) query string that will be searched.","example":"george clo","uniqueKey":"results.items.[INDEX].parsedQuery","typeLabel":"string"},"processingTimeMS":{"type":"integer","description":"Time the server took to process the request, in milliseconds.","example":20,"uniqueKey":"results.items.[INDEX].processingTimeMS","typeLabel":"integer"},"processingTimingsMS":{"type":"object","description":"Experimental. List of processing steps and their times, in milliseconds. You can use this list to investigate performance issues.","uniqueKey":"results.items.[INDEX].processingTimingsMS","typeLabel":"object"},"queryAfterRemoval":{"type":"string","description":"Markup text indicating which parts of the original query have been removed to retrieve a non-empty result set.","uniqueKey":"results.items.[INDEX].queryAfterRemoval","typeLabel":"string"},"queryID":{"type":"string","description":"Unique identifier for the query. This is used for [click analytics](https://www.algolia.com/doc/guides/analytics/click-analytics).","example":"a00dbc80a8d13c4565a442e7e2dca80a","uniqueKey":"results.items.[INDEX].queryID","typeLabel":"string"},"redirect":{"title":"redirect","type":"object","description":"[Redirect results to a URL](https://www.algolia.com/doc/guides/managing-results/rules/merchandising-and-promoting/how-to/redirects), this this parameter is for internal use only.\n","properties":{"index":{"type":"array","items":{"type":"object","properties":{"data":{"title":"redirectRuleIndexData","type":"object","description":"Redirect rule data.","required":["ruleObjectID"],"properties":{"ruleObjectID":{"type":"string","isRequired":true,"uniqueKey":"results.items.[INDEX].redirect.index.items.[INDEX].data.ruleObjectID","typeLabel":"string"}},"isRequired":true,"uniqueKey":"results.items.[INDEX].redirect.index.items.[INDEX].data","typeLabel":"redirectRuleIndexData · object"},"dest":{"type":"string","description":"Destination index for the redirect rule.","isRequired":true,"uniqueKey":"results.items.[INDEX].redirect.index.items.[INDEX].dest","typeLabel":"string"},"reason":{"type":"string","description":"Reason for the redirect rule.","isRequired":true,"uniqueKey":"results.items.[INDEX].redirect.index.items.[INDEX].reason","typeLabel":"string"},"source":{"type":"string","description":"Source index for the redirect rule.","isRequired":true,"uniqueKey":"results.items.[INDEX].redirect.index.items.[INDEX].source","typeLabel":"string"},"succeed":{"type":"boolean","description":"Redirect rule status.","isRequired":true,"uniqueKey":"results.items.[INDEX].redirect.index.items.[INDEX].succeed","typeLabel":"boolean"}},"required":["data","succeed","reason","dest","source"],"uniqueKey":"results.items.[INDEX].redirect.index.items.[INDEX]","typeLabel":"object"},"uniqueKey":"results.items.[INDEX].redirect.index","typeLabel":"object[]"}},"uniqueKey":"results.items.[INDEX].redirect","typeLabel":"redirect · object"},"renderingContent":{"description":"Extra data that can be used in the search UI.\n\nYou can use this to control aspects of your search UI, such as the order of facet names and values\nwithout changing your frontend code.\n","type":"object","additionalProperties":false,"properties":{"facetOrdering":{"description":"Order of facet names and facet values in your UI.","type":"object","additionalProperties":false,"properties":{"facets":{"description":"Order of facet names.","type":"object","additionalProperties":false,"properties":{"order":{"description":"Explicit order of facets or facet values.\n\nThis setting lets you always show specific facets or facet values at the top of the list.\n","type":"array","items":{"type":"string","uniqueKey":"results.items.[INDEX].renderingContent.facetOrdering.facets.order.items.[INDEX]","typeLabel":"string"},"uniqueKey":"results.items.[INDEX].renderingContent.facetOrdering.facets.order","typeLabel":"string[]"}},"uniqueKey":"results.items.[INDEX].renderingContent.facetOrdering.facets","typeLabel":"object"},"values":{"description":"Order of facet values. One object for each facet.","type":"object","additionalProperties":{"type":"object","additionalProperties":false,"properties":{"hide":{"description":"Hide facet values.","type":"array","items":{"type":"string","uniqueKey":"results.items.[INDEX].renderingContent.facetOrdering.values.additionalProperties.hide.items.[INDEX]","typeLabel":"string"},"uniqueKey":"results.items.[INDEX].renderingContent.facetOrdering.values.additionalProperties.hide","typeLabel":"string[]"},"order":{"description":"Explicit order of facets or facet values.\n\nThis setting lets you always show specific facets or facet values at the top of the list.\n","type":"array","items":{"type":"string","uniqueKey":"results.items.[INDEX].renderingContent.facetOrdering.values.additionalProperties.order.items.[INDEX]","typeLabel":"string"},"uniqueKey":"results.items.[INDEX].renderingContent.facetOrdering.values.additionalProperties.order","typeLabel":"string[]"},"sortRemainingBy":{"description":"Order of facet values that aren't explicitly positioned with the `order` setting.\n\n- `count`.\n Order remaining facet values by decreasing count.\n The count is the number of matching records containing this facet value.\n\n- `alpha`.\n Sort facet values alphabetically.\n\n- `hidden`.\n Don't show facet values that aren't explicitly positioned.\n","type":"string","enum":["count","alpha","hidden"],"uniqueKey":"results.items.[INDEX].renderingContent.facetOrdering.values.additionalProperties.sortRemainingBy","typeLabel":"enum\u003cstring>"}},"x-additionalPropertiesName":"facet","uniqueKey":"results.items.[INDEX].renderingContent.facetOrdering.values.additionalProperties","typeLabel":"object"},"uniqueKey":"results.items.[INDEX].renderingContent.facetOrdering.values","typeLabel":"object"}},"uniqueKey":"results.items.[INDEX].renderingContent.facetOrdering","typeLabel":"object"},"redirect":{"description":"The redirect rule container.","type":"object","additionalProperties":false,"properties":{"url":{"type":"string","uniqueKey":"results.items.[INDEX].renderingContent.redirect.url","typeLabel":"string"}},"uniqueKey":"results.items.[INDEX].renderingContent.redirect","typeLabel":"object"},"widgets":{"description":"Widgets returned from any rules that are applied to the current search.","type":"object","additionalProperties":false,"properties":{"banners":{"description":"Banners defined in the Merchandising Studio for a given search.","type":"array","items":{"description":"Banner with image and link to redirect users.","type":"object","additionalProperties":false,"properties":{"image":{"description":"Image to show inside a banner.","type":"object","additionalProperties":false,"properties":{"title":{"type":"string","uniqueKey":"results.items.[INDEX].renderingContent.widgets.banners.items.[INDEX].image.title","typeLabel":"string"},"urls":{"type":"array","items":{"description":"URL for an image to show inside a banner.","type":"object","additionalProperties":false,"properties":{"url":{"type":"string","uniqueKey":"results.items.[INDEX].renderingContent.widgets.banners.items.[INDEX].image.urls.items.[INDEX].url","typeLabel":"string"}},"uniqueKey":"results.items.[INDEX].renderingContent.widgets.banners.items.[INDEX].image.urls.items.[INDEX]","typeLabel":"object"},"uniqueKey":"results.items.[INDEX].renderingContent.widgets.banners.items.[INDEX].image.urls","typeLabel":"object[]"}},"uniqueKey":"results.items.[INDEX].renderingContent.widgets.banners.items.[INDEX].image","typeLabel":"object"},"link":{"description":"Link for a banner defined in the Merchandising Studio.","type":"object","additionalProperties":false,"properties":{"url":{"type":"string","uniqueKey":"results.items.[INDEX].renderingContent.widgets.banners.items.[INDEX].link.url","typeLabel":"string"}},"uniqueKey":"results.items.[INDEX].renderingContent.widgets.banners.items.[INDEX].link","typeLabel":"object"}},"uniqueKey":"results.items.[INDEX].renderingContent.widgets.banners.items.[INDEX]","typeLabel":"object"},"uniqueKey":"results.items.[INDEX].renderingContent.widgets.banners","typeLabel":"object[]"},"resultCard":{"description":"Agent Studio Result Card to display for a given search.","type":"object","additionalProperties":false,"properties":{"enabled":{"type":"boolean","description":"Whether to show the Result Card for the current search.","uniqueKey":"results.items.[INDEX].renderingContent.widgets.resultCard.enabled","typeLabel":"boolean"}},"uniqueKey":"results.items.[INDEX].renderingContent.widgets.resultCard","typeLabel":"object"}},"uniqueKey":"results.items.[INDEX].renderingContent.widgets","typeLabel":"object"}},"x-categories":["Advanced"],"uniqueKey":"results.items.[INDEX].renderingContent","typeLabel":"object"},"serverTimeMS":{"type":"integer","description":"Time the server took to process the request, in milliseconds.","example":20,"uniqueKey":"results.items.[INDEX].serverTimeMS","typeLabel":"integer"},"serverUsed":{"type":"string","description":"Host name of the server that processed the request.","example":"c2-uk-3.algolia.net","uniqueKey":"results.items.[INDEX].serverUsed","typeLabel":"string"},"userData":{"example":{"settingID":"f2a7b51e3503acc6a39b3784ffb84300","pluginVersion":"1.6.0"},"description":"An object with custom data.\n\nYou can store up to 32kB as custom data.\n","default":{},"x-categories":["Advanced"],"uniqueKey":"results.items.[INDEX].userData","typeLabel":"any"},"hits":{"type":"array","description":"Search results (hits).\n\nHits are records from your index that match the search criteria, augmented with additional attributes, such as, for highlighting.\n","items":{"type":"object","description":"Search result.\n\nA hit is a record from your index, augmented with special attributes for highlighting, snippeting, and ranking.\n","x-is-generic":true,"additionalProperties":true,"required":["objectID"],"properties":{"objectID":{"type":"string","description":"Unique record identifier.","example":"test-record-123","isRequired":true,"uniqueKey":"results.items.[INDEX].hits.items.[INDEX].objectID","typeLabel":"string"},"_distinctSeqID":{"type":"integer","uniqueKey":"results.items.[INDEX].hits.items.[INDEX]._distinctSeqID","typeLabel":"integer"},"_extra":{"type":"object","description":"An object that contains the extra key-value pairs provided in the injectedItem definition. Only present on hits inserted by an injectedItem that defines metadata, either in its `metadata` field or sent by an external source.","additionalProperties":true,"properties":{"_injectedItemKey":{"type":"string","description":"The key of the injectedItem that inserted this metadata. Only present when the injectedItem's `metadata.hits.addItemKey` is `true`.","uniqueKey":"results.items.[INDEX].hits.items.[INDEX]._extra._injectedItemKey","typeLabel":"string"}},"uniqueKey":"results.items.[INDEX].hits.items.[INDEX]._extra","typeLabel":"object"},"_highlightResult":{"title":"highlightResultMap","type":"object","description":"Surround words that match the query with HTML tags for highlighting.","x-is-free-form":false,"additionalProperties":{"oneOf":[{"type":"object","title":"highlightResultOption","description":"Surround words that match the query with HTML tags for highlighting.","required":["value","matchLevel","matchedWords"],"x-discriminator-fields":["matchLevel","matchedWords"],"x-additionalPropertiesName":"attribute","properties":{"matchedWords":{"type":"array","description":"List of matched words from the search query.","example":["action"],"items":{"type":"string","uniqueKey":"results.items.[INDEX].hits.items.[INDEX]._highlightResult.additionalProperties.oneOf.0.matchedWords.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"results.items.[INDEX].hits.items.[INDEX]._highlightResult.additionalProperties.oneOf.0.matchedWords","typeLabel":"string[]"},"matchLevel":{"type":"string","description":"Whether the whole query string matches or only a part.","enum":["none","partial","full"],"isRequired":true,"uniqueKey":"results.items.[INDEX].hits.items.[INDEX]._highlightResult.additionalProperties.oneOf.0.matchLevel","typeLabel":"enum\u003cstring>"},"value":{"type":"string","description":"Highlighted attribute value, including HTML tags.","example":"\u003cem>George\u003c/em> \u003cem>Clo\u003c/em>oney","isRequired":true,"uniqueKey":"results.items.[INDEX].hits.items.[INDEX]._highlightResult.additionalProperties.oneOf.0.value","typeLabel":"string"},"fullyHighlighted":{"type":"boolean","description":"Whether the entire attribute value is highlighted.","uniqueKey":"results.items.[INDEX].hits.items.[INDEX]._highlightResult.additionalProperties.oneOf.0.fullyHighlighted","typeLabel":"boolean"}},"additionalProperties":false,"uniqueKey":"results.items.[INDEX].hits.items.[INDEX]._highlightResult.additionalProperties.oneOf.0","typeLabel":"highlightResultOption · object"},{"x-additionalPropertiesName":"attribute"},{"type":"array","items":{"oneOf":[{}],"uniqueKey":"results.items.[INDEX].hits.items.[INDEX]._highlightResult.additionalProperties.oneOf.2.items.[INDEX]","typeLabel":"any"},"title":"highlightResultArray","description":"Surround words that match the query with HTML tags for highlighting.","x-additionalPropertiesName":"attribute","uniqueKey":"results.items.[INDEX].hits.items.[INDEX]._highlightResult.additionalProperties.oneOf.2","typeLabel":"any[]"}],"uniqueKey":"results.items.[INDEX].hits.items.[INDEX]._highlightResult.additionalProperties","typeLabel":"highlightResultOption · object | any[]"},"uniqueKey":"results.items.[INDEX].hits.items.[INDEX]._highlightResult","typeLabel":"highlightResultMap · object"},"_rankingInfo":{"type":"object","properties":{"firstMatchedWord":{"type":"integer","minimum":0,"description":"Position of the first matched word in the best matching attribute of the record.","isRequired":true,"uniqueKey":"results.items.[INDEX].hits.items.[INDEX]._rankingInfo.firstMatchedWord","typeLabel":"integer"},"geoDistance":{"type":"integer","minimum":0,"description":"Distance between the geo location in the search query and the best matching geo location in the record, divided by the geo precision (in meters).","isRequired":true,"uniqueKey":"results.items.[INDEX].hits.items.[INDEX]._rankingInfo.geoDistance","typeLabel":"integer"},"nbExactWords":{"type":"integer","minimum":0,"description":"Number of exactly matched words.","isRequired":true,"uniqueKey":"results.items.[INDEX].hits.items.[INDEX]._rankingInfo.nbExactWords","typeLabel":"integer"},"nbTypos":{"type":"integer","minimum":0,"description":"Number of typos encountered when matching the record.","isRequired":true,"uniqueKey":"results.items.[INDEX].hits.items.[INDEX]._rankingInfo.nbTypos","typeLabel":"integer"},"userScore":{"type":"integer","description":"Overall ranking of the record, expressed as a single integer. This attribute is internal.","isRequired":true,"uniqueKey":"results.items.[INDEX].hits.items.[INDEX]._rankingInfo.userScore","typeLabel":"integer"},"composed":{"title":"composedRankingInfo","type":"object","additionalProperties":{"title":"compositionIdRankingInfo","x-additionalPropertiesName":"composition-id","type":"object","properties":{"index":{"type":"string","example":"products","isRequired":true,"uniqueKey":"results.items.[INDEX].hits.items.[INDEX]._rankingInfo.composed.additionalProperties.index","typeLabel":"string"},"injectedItemKey":{"type":"string","example":"sponsored-products","isRequired":true,"uniqueKey":"results.items.[INDEX].hits.items.[INDEX]._rankingInfo.composed.additionalProperties.injectedItemKey","typeLabel":"string"}},"required":["index","injectedItemKey"],"uniqueKey":"results.items.[INDEX].hits.items.[INDEX]._rankingInfo.composed.additionalProperties","typeLabel":"compositionIdRankingInfo · object"},"example":{"my-composition-to-sponsor-products":{"index":"products","injectedItemKey":"sponsored-products"}},"uniqueKey":"results.items.[INDEX].hits.items.[INDEX]._rankingInfo.composed","typeLabel":"composedRankingInfo · object"},"filters":{"type":"integer","minimum":0,"description":"Whether a filter matched the query.","uniqueKey":"results.items.[INDEX].hits.items.[INDEX]._rankingInfo.filters","typeLabel":"integer"},"geoPrecision":{"type":"integer","minimum":1,"description":"Precision used when computing the geo distance, in meters.","uniqueKey":"results.items.[INDEX].hits.items.[INDEX]._rankingInfo.geoPrecision","typeLabel":"integer"},"matchedGeoLocation":{"type":"object","properties":{"distance":{"type":"integer","description":"Distance between the matched location and the search location (in meters).","uniqueKey":"results.items.[INDEX].hits.items.[INDEX]._rankingInfo.matchedGeoLocation.distance","typeLabel":"integer"},"lat":{"type":"number","format":"double","description":"Latitude of the matched location.","uniqueKey":"results.items.[INDEX].hits.items.[INDEX]._rankingInfo.matchedGeoLocation.lat","typeLabel":"number\u003cdouble>"},"lng":{"type":"number","format":"double","description":"Longitude of the matched location.","uniqueKey":"results.items.[INDEX].hits.items.[INDEX]._rankingInfo.matchedGeoLocation.lng","typeLabel":"number\u003cdouble>"}},"uniqueKey":"results.items.[INDEX].hits.items.[INDEX]._rankingInfo.matchedGeoLocation","typeLabel":"object"},"personalization":{"type":"object","properties":{"filtersScore":{"type":"integer","description":"The score of the filters.","uniqueKey":"results.items.[INDEX].hits.items.[INDEX]._rankingInfo.personalization.filtersScore","typeLabel":"integer"},"rankingScore":{"type":"integer","description":"The score of the ranking.","uniqueKey":"results.items.[INDEX].hits.items.[INDEX]._rankingInfo.personalization.rankingScore","typeLabel":"integer"},"score":{"type":"integer","description":"The score of the event.","uniqueKey":"results.items.[INDEX].hits.items.[INDEX]._rankingInfo.personalization.score","typeLabel":"integer"}},"uniqueKey":"results.items.[INDEX].hits.items.[INDEX]._rankingInfo.personalization","typeLabel":"object"},"promoted":{"type":"boolean","description":"Whether the record was promoted by a rule.","uniqueKey":"results.items.[INDEX].hits.items.[INDEX]._rankingInfo.promoted","typeLabel":"boolean"},"promotedByReRanking":{"type":"boolean","description":"Whether the record is re-ranked.","uniqueKey":"results.items.[INDEX].hits.items.[INDEX]._rankingInfo.promotedByReRanking","typeLabel":"boolean"},"proximityDistance":{"type":"integer","minimum":0,"description":"Number of words between multiple matches in the query plus 1. For single word queries, `proximityDistance` is 0.","uniqueKey":"results.items.[INDEX].hits.items.[INDEX]._rankingInfo.proximityDistance","typeLabel":"integer"},"words":{"type":"integer","minimum":1,"description":"Number of matched words.","uniqueKey":"results.items.[INDEX].hits.items.[INDEX]._rankingInfo.words","typeLabel":"integer"}},"required":["nbTypos","firstMatchedWord","geoDistance","nbExactWords","userScore"],"additionalProperties":false,"description":"Object with detailed information about the record's ranking.","uniqueKey":"results.items.[INDEX].hits.items.[INDEX]._rankingInfo","typeLabel":"object"},"_snippetResult":{"title":"snippetResultMap","type":"object","description":"Snippets that show the context around a matching search query.","x-is-free-form":false,"additionalProperties":{"oneOf":[{"type":"object","title":"snippetResultOption","description":"Snippets that show the context around a matching search query.","required":["value","matchLevel"],"x-discriminator-fields":["matchLevel"],"x-additionalPropertiesName":"attribute","properties":{"matchLevel":{"type":"string","description":"Whether the whole query string matches or only a part.","enum":["none","partial","full"],"isRequired":true,"uniqueKey":"results.items.[INDEX].hits.items.[INDEX]._snippetResult.additionalProperties.oneOf.0.matchLevel","typeLabel":"enum\u003cstring>"},"value":{"type":"string","description":"Highlighted attribute value, including HTML tags.","example":"\u003cem>George\u003c/em> \u003cem>Clo\u003c/em>oney","isRequired":true,"uniqueKey":"results.items.[INDEX].hits.items.[INDEX]._snippetResult.additionalProperties.oneOf.0.value","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"results.items.[INDEX].hits.items.[INDEX]._snippetResult.additionalProperties.oneOf.0","typeLabel":"snippetResultOption · object"},{"x-additionalPropertiesName":"attribute"},{"type":"array","items":{"oneOf":[{}],"uniqueKey":"results.items.[INDEX].hits.items.[INDEX]._snippetResult.additionalProperties.oneOf.2.items.[INDEX]","typeLabel":"any"},"title":"snippetResultArray","description":"Snippets that show the context around a matching search query.","x-additionalPropertiesName":"attribute","uniqueKey":"results.items.[INDEX].hits.items.[INDEX]._snippetResult.additionalProperties.oneOf.2","typeLabel":"any[]"}],"uniqueKey":"results.items.[INDEX].hits.items.[INDEX]._snippetResult.additionalProperties","typeLabel":"snippetResultOption · object | any[]"},"uniqueKey":"results.items.[INDEX].hits.items.[INDEX]._snippetResult","typeLabel":"snippetResultMap · object"}},"uniqueKey":"results.items.[INDEX].hits.items.[INDEX]","typeLabel":"object"},"uniqueKey":"results.items.[INDEX].hits","typeLabel":"object[]"},"hitsPerPage":{"type":"integer","description":"Number of hits returned per page.","example":20,"uniqueKey":"results.items.[INDEX].hitsPerPage","typeLabel":"integer"},"nbHits":{"type":"integer","description":"Number of results (hits).","example":20,"uniqueKey":"results.items.[INDEX].nbHits","typeLabel":"integer"},"nbPages":{"type":"integer","description":"Number of pages of results.","example":1,"uniqueKey":"results.items.[INDEX].nbPages","typeLabel":"integer"},"page":{"type":"integer","description":"The current page of the results.","example":0,"uniqueKey":"results.items.[INDEX].page","typeLabel":"integer"},"params":{"type":"string","description":"URL-encoded string of all search parameters.","example":"query=a\u0026hitsPerPage=20","uniqueKey":"results.items.[INDEX].params","typeLabel":"string"},"query":{"type":"string","description":"The search query string.","example":"shoes","uniqueKey":"results.items.[INDEX].query","typeLabel":"string"},"feedID":{"type":"string","description":"The ID of the feed.","example":"products-feed","uniqueKey":"results.items.[INDEX].feedID","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"results.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"results","typeLabel":"object[]"},"compositions":{"type":"object","additionalProperties":true,"properties":{"run":{"type":"array","items":{"type":"object","additionalProperties":true,"properties":{"objectID":{"type":"string","description":"The objectID of the composition which generated this result set.","isRequired":true,"uniqueKey":"compositions.run.items.[INDEX].objectID","typeLabel":"string"},"appliedRules":{"type":"array","items":{"type":"object","properties":{"objectID":{"type":"string","description":"The objectID of the applied composition rule on this query.","isRequired":true,"uniqueKey":"compositions.run.items.[INDEX].appliedRules.items.[INDEX].objectID","typeLabel":"string"}},"example":{"objectID":"cr-1765458959657"},"required":["objectID"],"uniqueKey":"compositions.run.items.[INDEX].appliedRules.items.[INDEX]","typeLabel":"object"},"uniqueKey":"compositions.run.items.[INDEX].appliedRules","typeLabel":"object[]"}},"example":{"objectID":"comp1765458818347","appliedRules":[{"objectID":"cr-1765458959657"}]},"required":["objectID"],"uniqueKey":"compositions.run.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"compositions.run","typeLabel":"object[]"}},"required":["run"],"uniqueKey":"compositions","typeLabel":"object"},"errors":{"type":"array","description":"Non-critical errors encountered while processing the request that may have affected the returned results (for example, an external provider failure that fell back to another result set).","items":{"type":"object","additionalProperties":false,"properties":{"message":{"type":"string","description":"Description of the non-critical error.","isRequired":true,"uniqueKey":"errors.items.[INDEX].message","typeLabel":"string"}},"required":["message"],"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"uniqueKey":"errors","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"results":[{"compositions":{},"_automaticInsights":true,"abTestID":123,"abTestVariantID":2,"appliedRules":[{}],"aroundLatLng":"40.71,-74.01","automaticRadius":"\u003cstring>","exhaustive":{"facetsCount":true,"facetValues":true,"nbHits":true,"rulesMatch":true,"typo":true},"exhaustiveFacetsCount":true,"exhaustiveNbHits":true,"exhaustiveTypo":true,"facets":{"category":{"food":1,"tech":42}},"facets_stats":{},"index":"indexName","indexUsed":"indexNameAlt","message":"\u003cstring>","nbSortedHits":20,"parsedQuery":"george clo","processingTimeMS":20,"processingTimingsMS":{},"queryAfterRemoval":"\u003cstring>","queryID":"a00dbc80a8d13c4565a442e7e2dca80a","redirect":{"index":[{"data":{"ruleObjectID":"\u003cstring>"},"dest":"\u003cstring>","reason":"\u003cstring>","source":"\u003cstring>","succeed":true}]},"renderingContent":{"facetOrdering":{"facets":{"order":["\u003cstring>"]},"values":{}},"redirect":{"url":"\u003cstring>"},"widgets":{"banners":[{"image":{"title":"\u003cstring>","urls":[{"url":"\u003cstring>"}]},"link":{"url":"\u003cstring>"}}],"resultCard":{"enabled":true}}},"serverTimeMS":20,"serverUsed":"c2-uk-3.algolia.net","userData":{"settingID":"f2a7b51e3503acc6a39b3784ffb84300","pluginVersion":"1.6.0"},"hits":[{"objectID":"test-record-123","_distinctSeqID":123,"_extra":{"_injectedItemKey":"\u003cstring>"},"_highlightResult":{},"_rankingInfo":{"firstMatchedWord":1,"geoDistance":1,"nbExactWords":1,"nbTypos":1,"userScore":123,"composed":{"my-composition-to-sponsor-products":{"index":"products","injectedItemKey":"sponsored-products"}},"filters":1,"geoPrecision":2,"matchedGeoLocation":{"distance":123,"lat":123,"lng":123},"personalization":{"filtersScore":123,"rankingScore":123,"score":123},"promoted":true,"promotedByReRanking":true,"proximityDistance":1,"words":2},"_snippetResult":{}}],"hitsPerPage":20,"nbHits":20,"nbPages":1,"page":0,"params":"query=a\u0026hitsPerPage=20","query":"shoes","feedID":"products-feed"}],"compositions":{"run":[{"objectID":"comp1765458818347","appliedRules":[{"objectID":"cr-1765458959657"}]}]},"errors":[{"message":"\u003cstring>"}]}}},"exampleType":"generated"}},"exampleType":"generated"},"07923672-b6ff-45fa-80e5-a92d98960e25":{"description":"Bad request or request arguments.","content":{"application/json":{"schema":{"description":"Error.","type":"object","x-keep-model":true,"additionalProperties":true,"properties":{"message":{"type":"string","example":"Invalid Application-Id or API-Key","uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"message":"Invalid Application-Id or API-Key"}}},"exampleType":"generated"}},"exampleType":"generated"},"bbe2427d-4c52-4faa-bb9f-929e6d6dd569":{"description":"This feature is not enabled on your Algolia account.","content":{"application/json":{"schema":{"description":"Error.","type":"object","x-keep-model":true,"additionalProperties":true,"properties":{"message":{"type":"string","example":"Invalid Application-Id or API-Key","uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"message":"Invalid Application-Id or API-Key"}}},"exampleType":"generated"}},"exampleType":"generated"},"2e94935d-6e3c-45a5-90f1-5067c1ff4b33":{"description":"Method not allowed with this API key.","content":{"application/json":{"schema":{"description":"Error.","type":"object","x-keep-model":true,"additionalProperties":true,"properties":{"message":{"type":"string","example":"Invalid Application-Id or API-Key","uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"message":"Invalid Application-Id or API-Key"}}},"exampleType":"generated"}},"exampleType":"generated"},"9e21e6bd-17ad-4206-98a0-fc5b903b6219":{"description":"Index not found.","content":{"application/json":{"schema":{"description":"Error.","type":"object","x-keep-model":true,"additionalProperties":true,"properties":{"message":{"type":"string","example":"Invalid Application-Id or API-Key","uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"message":"Invalid Application-Id or API-Key"}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"5ba10fd7-8b74-452f-acc6-557efc87b90a":{"appId":{"type":"apiKey","in":"header","name":"x-algolia-application-id","description":"Your Algolia application ID.","scopes":[],"schemeName":"appId"},"apiKey":{"type":"apiKey","in":"header","name":"x-algolia-api-key","description":"Your Algolia API key with the necessary permissions to make the request.\nPermissions are controlled through access control lists (ACL) and access restrictions.\nThe required ACL to make a request is listed in each endpoint's reference.\n","scopes":[],"schemeName":"apiKey"}}},"servers":{"193ffbfd-f7d8-455d-8195-1a86154852e3":{"url":"https://{appId}.algolia.net","variables":{"appId":{"default":"ALGOLIA_APPLICATION_ID"}}},"396c2b05-a17e-43b8-9f38-f5719e0f3c50":{"url":"https://{appId}-1.algolianet.com","variables":{"appId":{"default":"ALGOLIA_APPLICATION_ID"}}},"efeedc59-3893-4ca1-916b-5b0ddf461d2c":{"url":"https://{appId}-2.algolianet.com","variables":{"appId":{"default":"ALGOLIA_APPLICATION_ID"}}},"e4a4ed28-f247-4357-beaa-62082415f293":{"url":"https://{appId}-3.algolianet.com","variables":{"appId":{"default":"ALGOLIA_APPLICATION_ID"}}},"aec29ada-3024-4e27-88b5-a0ec091cdaf5":{"url":"https://{appId}-dsn.algolia.net","variables":{"appId":{"default":"ALGOLIA_APPLICATION_ID"}}}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"x-algolia-application-id","description":"Your Algolia application ID.","scopes":[],"schemeName":"appId"},"schema":{"title":"x-algolia-application-id","type":"string","description":"Your Algolia application ID.","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"appId","name":"x-algolia-application-id"},{"scheme":{"type":"apiKey","in":"header","name":"x-algolia-api-key","description":"Your Algolia API key with the necessary permissions to make the request.\nPermissions are controlled through access control lists (ACL) and access restrictions.\nThe required ACL to make a request is listed in each endpoint's reference.\n","scopes":[],"schemeName":"apiKey"},"schema":{"title":"x-algolia-api-key","type":"string","description":"Your Algolia API key with the necessary permissions to make the request.\nPermissions are controlled through access control lists (ACL) and access restrictions.\nThe required ACL to make a request is listed in each endpoint's reference.\n","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"apiKey","name":"x-algolia-api-key"}],"title":"appId \u0026 apiKey"}]},"originalFileLocation":"specs/composition.yml"},"subdomain":"algolia","siteName":"Algolia","title":"Run a Composition - Algolia","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-03-23T09:45:05.257Z","gitLastModified":"2026-03-23T09:42:41.000Z","originalFileLocation":"doc/rest-api/composition/search.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Runs a query on a single composition and returns matching results.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Algolia\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/algolia/pODf0GWwkpqTo2Wx/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/algolia/pODf0GWwkpqTo2Wx/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/algolia/pODf0GWwkpqTo2Wx/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/algolia/pODf0GWwkpqTo2Wx/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/algolia/pODf0GWwkpqTo2Wx/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/algolia/pODf0GWwkpqTo2Wx/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/algolia/pODf0GWwkpqTo2Wx/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/algolia/pODf0GWwkpqTo2Wx/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/algolia/pODf0GWwkpqTo2Wx/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Run a Composition - Algolia\">\u003cmeta data-mint-head property=\"og:description\" content=\"Runs a query on a single composition and returns matching results.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Algolia\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://www.algolia.com/doc/rest-api/composition/search\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://algolia.mintlify.site/_mintlify/api/og/v2?division=Search\u0026amp;title=Run+a+Composition\u0026amp;description=Runs+a+query+on+a+single+composition+and+returns+matching+results.\u0026amp;theme=7b696fa6ef3d890ba8a17746\u0026amp;signature=6d580280ba4119098a41c61ecc0e75a174a807d9f945379a71ba960136d1a333\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Run a Composition - Algolia\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Runs a query on a single composition and returns matching results.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://algolia.mintlify.site/_mintlify/api/og/v2?division=Search\u0026amp;title=Run+a+Composition\u0026amp;description=Runs+a+query+on+a+single+composition+and+returns+matching+results.\u0026amp;theme=7b696fa6ef3d890ba8a17746\u0026amp;signature=6d580280ba4119098a41c61ecc0e75a174a807d9f945379a71ba960136d1a333\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/algolia/pODf0GWwkpqTo2Wx/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Algolia\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#3970ff\">\u003clink data-mint-head rel=\"canonical\" href=\"https://www.algolia.com/doc/rest-api/composition/search\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/doc/rest-api/composition/search.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://www.algolia.com/#organization\",\"name\":\"Algolia\",\"url\":\"https://www.algolia.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/algolia/kiecJp3hu-WXhj-3/logo/light.svg?fit=max\u0026auto=format\u0026n=kiecJp3hu-WXhj-3\u0026q=85\u0026s=bf613e260ca94c0eb23384e6c0d5c77f\"},\"sameAs\":[\"https://www.linkedin.com/company/algolia/\",\"https://github.com/algolia\",\"https://x.com/algolia\",\"https://www.youtube.com/channel/UCTNkiq-SO8hay1PRx-it9Cw\"]},{\"@type\":\"WebSite\",\"@id\":\"https://www.algolia.com#website\",\"name\":\"Algolia\",\"url\":\"https://www.algolia.com\",\"publisher\":{\"@id\":\"https://www.algolia.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://www.algolia.com/doc/rest-api/composition/search#webpage\",\"url\":\"https://www.algolia.com/doc/rest-api/composition/search\",\"name\":\"Run a Composition\",\"description\":\"Runs a query on a single composition and returns matching results.\",\"dateModified\":\"2026-03-23T09:42:41.000Z\",\"isPartOf\":{\"@id\":\"https://www.algolia.com#website\"},\"breadcrumb\":{\"@id\":\"https://www.algolia.com/doc/rest-api/composition/search#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://www.algolia.com/doc/rest-api/composition/search#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Composition API\",\"item\":\"https://www.algolia.com/doc/rest-api/composition\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Run a Composition\",\"item\":\"https://www.algolia.com/doc/rest-api/composition/search\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://www.algolia.com/doc/rest-api/composition/search#apireference\",\"headline\":\"Run a Composition\",\"name\":\"Run a Composition\",\"description\":\"Runs a query on a single composition and returns matching results.\",\"url\":\"https://www.algolia.com/doc/rest-api/composition/search\",\"mainEntityOfPage\":{\"@id\":\"https://www.algolia.com/doc/rest-api/composition/search#webpage\"},\"dateModified\":\"2026-03-23T09:42:41.000Z\",\"publisher\":{\"@id\":\"https://www.algolia.com/#organization\"},\"isPartOf\":{\"@id\":\"https://www.algolia.com#website\"}}]}\u003c/script>","siteName":"Algolia","nav":{"global":null,"tabs":[{"tab":"Guides","icon":"book-text","pages":[{"title":"Guides","href":"/doc/guides/get-started"}]},{"tab":"Libraries and tools","icon":"wrench","menu":[{"item":"API clients","versions":[{"version":"current","groups":[{"group":"current","pages":[{"title":"current","href":"/doc/libraries/sdk"}]}]},{"version":"legacy","groups":[{"group":"legacy","pages":[{"title":"legacy","href":"/doc/libraries/sdk/v1/install"}]}]}]},{"item":"Algolia CLI","pages":[{"title":"Algolia CLI","href":"/doc/tools/cli/get-started"}]},{"item":"Algolia Wizard","pages":[{"title":"Algolia Wizard","href":"/doc/tools/algolia-wizard"}]},{"item":"Crawler","pages":[{"title":"Crawler","href":"/doc/tools/crawler/getting-started/overview"}]},{"item":"Django","pages":[{"title":"Django","href":"/doc/framework-integration/django/setup"}]},{"item":"Laravel","pages":[{"title":"Laravel","href":"/doc/framework-integration/laravel/getting-started/introduction-to-scout-extended"}]},{"item":"Ruby on Rails","pages":[{"title":"Ruby on Rails","href":"/doc/framework-integration/rails/getting-started/setup"}]},{"item":"Symfony","pages":[{"title":"Symfony","href":"/doc/framework-integration/symfony/getting-started/algolia-searchbundle"}]},{"item":"All libraries and tools","pages":[{"title":"All libraries and tools","href":"/doc/libraries"}]}],"pages":[{"title":"Libraries and tools","href":"/doc/libraries/sdk"}]},{"tab":"UI libraries","icon":"proportions","menu":[{"item":"InstantSearch.js","pages":[{"title":"InstantSearch.js","href":"/doc/api-reference/widgets/js"}]},{"item":"React InstantSearch","pages":[{"title":"React InstantSearch","href":"/doc/api-reference/widgets/react"}]},{"item":"Vue InstantSearch","pages":[{"title":"Vue InstantSearch","href":"/doc/api-reference/widgets/vue"}]},{"item":"InstantSearch iOS","pages":[{"title":"InstantSearch iOS","href":"/doc/api-reference/widgets/ios"}]},{"item":"InstantSearch Android","pages":[{"title":"InstantSearch Android","href":"/doc/api-reference/widgets/android"}]},{"item":"Algolia for Flutter","pages":[{"title":"Algolia for Flutter","href":"/doc/api-reference/widgets/flutter"}]},{"item":"Autocomplete","pages":[{"title":"Autocomplete","href":"/doc/ui-libraries/autocomplete/introduction/what-is-autocomplete"}]},{"item":"All UI libraries","pages":[{"title":"All UI libraries","href":"/doc/ui-libraries"}]}],"pages":[{"title":"UI libraries","href":"/doc/api-reference/widgets/js"}]},{"tab":"Integrations","icon":"plug","menu":[{"item":"Adobe Commerce/Magento","pages":[{"title":"Adobe Commerce/Magento","href":"/doc/integration/magento-2/getting-started/quick-start"}]},{"item":"BigCommerce","pages":[{"title":"BigCommerce","href":"/doc/integration/bigcommerce/get-started/installation"}]},{"item":"commercetools","pages":[{"title":"commercetools","href":"/doc/integration/commercetools/get-started/installation"}]},{"item":"Make","pages":[{"title":"Make","href":"/doc/integration/make"}]},{"item":"n8n","pages":[{"title":"n8n","href":"/doc/integration/n8n"}]},{"item":"Salesforce B2C Commerce","pages":[{"title":"Salesforce B2C Commerce","href":"/doc/integration/salesforce-commerce-cloud-b2c/getting-started/introduction"}]},{"item":"Shopify","pages":[{"title":"Shopify","href":"/doc/integration/shopify/getting-started/quick-start"}]},{"item":"Stripe Projects","pages":[{"title":"Stripe Projects","href":"/doc/integration/stripe-projects"}]},{"item":"Zapier","pages":[{"title":"Zapier","href":"/doc/integration/zapier"}]},{"item":"Zendesk","pages":[{"title":"Zendesk","href":"/doc/integration/zendesk/get-started"}]},{"item":"Vercel","pages":[{"title":"Vercel","href":"/doc/integration/vercel"}]},{"item":"All integrations","pages":[{"title":"All integrations","href":"/doc/integration"}]}],"pages":[{"title":"Integrations","href":"/doc/integration/magento-2/getting-started/quick-start"}]},{"tab":"API reference","icon":"code","menu":[{"item":"Search","pages":[{"title":"Search","href":"/doc/rest-api/search"}]},{"item":"Agent Studio","pages":[{"title":"Agent Studio","href":"/doc/rest-api/agent-studio"}]},{"item":"A/B testing","pages":[{"title":"A/B testing","href":"/doc/rest-api/abtesting-v3"}]},{"item":"Advanced Personalization","pages":[{"title":"Advanced Personalization","href":"/doc/rest-api/advanced-personalization"}]},{"item":"Analytics","pages":[{"title":"Analytics","href":"/doc/rest-api/analytics"}]},{"item":"Classic Personalization","pages":[{"title":"Classic Personalization","href":"/doc/rest-api/personalization"}]},{"item":"Composition","groups":[{"group":"Composition API","icon":"code","pages":[{"title":"Composition API","sidebarTitle":"Overview","description":"The Algolia Composition API lets you run composed search requests on your Compositions","href":"/doc/rest-api/composition"},{"group":"Search","pages":[{"title":"Run a Composition","openapi":"specs/composition.yml post /1/compositions/{compositionID}/run","href":"/doc/rest-api/composition/search"},{"title":"Search for facet values","description":"Searches for values of a specified facet attribute on the composition's main source's index.","openapi":"specs/composition.yml post /1/compositions/{compositionID}/facets/{facetName}/query","href":"/doc/rest-api/composition/search-for-facet-values"}]},{"group":"Composition","pages":[{"title":"List compositions","openapi":"specs/composition.yml get /1/compositions","href":"/doc/rest-api/composition/list-compositions"},{"title":"Retrieve a composition","openapi":"specs/composition.yml get /1/compositions/{compositionID}","href":"/doc/rest-api/composition/get-composition"},{"title":"Update and insert (upsert) a composition","openapi":"specs/composition.yml put /1/compositions/{compositionID}","href":"/doc/rest-api/composition/put-composition"},{"title":"Delete a composition","openapi":"specs/composition.yml delete /1/compositions/{compositionID}","href":"/doc/rest-api/composition/delete-composition"},{"title":"Set or update the \"sortingStrategy\" configuration for an existing composition","openapi":"specs/composition.yml post /1/compositions/{compositionID}/sortingStrategy","href":"/doc/rest-api/composition/update-sorting-strategy-composition"},{"title":"Batch action to multiple compositions","openapi":"specs/composition.yml post /1/compositions/*/batch","href":"/doc/rest-api/composition/multiple-batch"}]},{"group":"Composition Rules","pages":[{"title":"Retrieve a rule","openapi":"specs/composition.yml get /1/compositions/{compositionID}/rules/{objectID}","href":"/doc/rest-api/composition/get-rule"},{"title":"Add or update a composition rule","openapi":"specs/composition.yml put /1/compositions/{compositionID}/rules/{objectID}","href":"/doc/rest-api/composition/put-composition-rule"},{"title":"Delete a Composition Rule","openapi":"specs/composition.yml delete /1/compositions/{compositionID}/rules/{objectID}","href":"/doc/rest-api/composition/delete-composition-rule"},{"title":"Create or update or delete composition rules","openapi":"specs/composition.yml post /1/compositions/{compositionID}/rules/batch","href":"/doc/rest-api/composition/save-rules"},{"title":"Search for composition rules","openapi":"specs/composition.yml post /1/compositions/{compositionID}/rules/search","href":"/doc/rest-api/composition/search-composition-rules"}]},{"group":"Advanced","pages":[{"title":"Check task status","openapi":"specs/composition.yml get /1/compositions/{compositionID}/task/{taskID}","href":"/doc/rest-api/composition/get-task"}]}]}]},{"item":"Crawler","pages":[{"title":"Crawler","href":"/doc/rest-api/crawler"}]},{"item":"Ingestion","pages":[{"title":"Ingestion","href":"/doc/rest-api/ingestion"}]},{"item":"Insights","pages":[{"title":"Insights","href":"/doc/rest-api/insights"}]},{"item":"Monitoring","pages":[{"title":"Monitoring","href":"/doc/rest-api/monitoring"}]},{"item":"Recommend","pages":[{"title":"Recommend","href":"/doc/rest-api/recommend"}]},{"item":"Query Suggestions","pages":[{"title":"Query Suggestions","href":"/doc/rest-api/query-suggestions"}]},{"item":"Usage","pages":[{"title":"Usage","href":"/doc/rest-api/usage"}]},{"item":"All APIs","pages":[{"title":"All APIs","href":"/doc/rest-api"}]}]}]},"basePath":"","title":"Run a Composition - Algolia","buildId":"dpl_42LwxxU1kGN114H4XzwGYXa9ZDah","deploymentId":"dpl_42LwxxU1kGN114H4XzwGYXa9ZDah","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-C-hEh3I2.js","utils-CnF4QiUD.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-C7PVNbel.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-8ytevL2A.js","snippetPresets-BT1alx3v.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BLXC0i_W.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-CyLIGI9_.js","shallow-DC0lGVIW.js","getApiPlaygroundDisplay-CgDQ85tN.js","CodeSnippet-6-I-Gpv9.js","CodeSnippets-BAk1kDdu.js","Page-C945cI-W.js","getPastedJson-B276RuWN.js","icon-BqP8etTm.js","MethodPill-DM6sbxG1.js","DuplicateIcon-PyJglOaE.js","createIcon-CMeOMAc_.js","DynamicMarkdown-BoyYAA8K.js","SectionHeading-DAYv3gvZ.js","axios-vUo_bRtp.js","Markdown-BhTTmazV.js","clsx-CR-RHrVC.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CBUH0-zX.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-BmARFYNC.js"]}