// Initialize the client with your application region, eg. insights.ALGOLIA_APPLICATION_REGION
client, err := insights.NewClient("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY", insights.US)
if err != nil {
// The client can fail to initialize if you pass an invalid parameter.
panic(err)
}
// Call the API
response, err := client.PushEvents(client.NewApiPushEventsRequest(
insights.NewEmptyInsightsEvents().SetEvents(
[]insights.EventsItems{*insights.ClickedObjectIDsAfterSearchAsEventsItems(
insights.NewEmptyClickedObjectIDsAfterSearch().SetEventType(insights.ClickEvent("click")).SetEventName("Product Clicked").SetIndex("products").SetUserToken("user-123456").SetAuthenticatedUserToken("user-123456").SetTimestamp(1641290601962).SetObjectIDs(
[]string{"9780545139700", "9780439784542"}).SetQueryID("43b15df305339e827f0ac0bdc5ebcaa7").SetPositions(
[]int32{7, 6}))})))
if err != nil {
// handle the eventual error
panic(err)
}
// print the response
print(response)
// Initialize the client
InsightsClient client = new InsightsClient("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY", "ALGOLIA_APPLICATION_REGION");
// Call the API
EventsResponse response = client.pushEvents(
new InsightsEvents().setEvents(
Arrays.asList(
new ClickedObjectIDsAfterSearch()
.setEventType(ClickEvent.CLICK)
.setEventName("Product Clicked")
.setIndex("products")
.setUserToken("user-123456")
.setAuthenticatedUserToken("user-123456")
.setTimestamp(1641290601962L)
.setObjectIDs(Arrays.asList("9780545139700", "9780439784542"))
.setQueryID("43b15df305339e827f0ac0bdc5ebcaa7")
.setPositions(Arrays.asList(7, 6))
)
)
);
// print the response
System.out.println(response);
// Initialize the client
// Replace 'us' with your Algolia Application Region
const client = algoliasearch('ALGOLIA_APPLICATION_ID', 'ALGOLIA_API_KEY').initInsights({ region: 'us' });
// Call the API
const response = await client.pushEvents({
events: [
{
eventType: 'click',
eventName: 'Product Clicked',
index: 'products',
userToken: 'user-123456',
authenticatedUserToken: 'user-123456',
timestamp: 1641290601962,
objectIDs: ['9780545139700', '9780439784542'],
queryID: '43b15df305339e827f0ac0bdc5ebcaa7',
positions: [7, 6],
},
],
});
// print the response
console.log(response);
// Initialize the client
val client =
InsightsClient(
appId = "ALGOLIA_APPLICATION_ID",
apiKey = "ALGOLIA_API_KEY",
region = "ALGOLIA_APPLICATION_REGION",
)
// Call the API
var response =
client.pushEvents(
insightsEvents =
InsightsEvents(
events =
listOf(
ClickedObjectIDsAfterSearch(
eventType = ClickEvent.entries.first { it.value == "click" },
eventName = "Product Clicked",
index = "products",
userToken = "user-123456",
authenticatedUserToken = "user-123456",
timestamp = 1641290601962L,
objectIDs = listOf("9780545139700", "9780439784542"),
queryID = "43b15df305339e827f0ac0bdc5ebcaa7",
positions = listOf(7, 6),
)
)
)
)
// print the response
println(response)
// Initialize the client with your application region, eg. insights.ALGOLIA_APPLICATION_REGION
client, err := insights.NewClient("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY", insights.US)
if err != nil {
// The client can fail to initialize if you pass an invalid parameter.
panic(err)
}
// Call the API
response, err := client.PushEvents(client.NewApiPushEventsRequest(
insights.NewEmptyInsightsEvents().SetEvents(
[]insights.EventsItems{*insights.ClickedObjectIDsAfterSearchAsEventsItems(
insights.NewEmptyClickedObjectIDsAfterSearch().SetEventType(insights.ClickEvent("click")).SetEventName("Product Clicked").SetIndex("products").SetUserToken("user-123456").SetAuthenticatedUserToken("user-123456").SetTimestamp(1641290601962).SetObjectIDs(
[]string{"9780545139700", "9780439784542"}).SetQueryID("43b15df305339e827f0ac0bdc5ebcaa7").SetPositions(
[]int32{7, 6}))})))
if err != nil {
// handle the eventual error
panic(err)
}
// print the response
print(response)
// Initialize the client
InsightsClient client = new InsightsClient("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY", "ALGOLIA_APPLICATION_REGION");
// Call the API
EventsResponse response = client.pushEvents(
new InsightsEvents().setEvents(
Arrays.asList(
new ClickedObjectIDsAfterSearch()
.setEventType(ClickEvent.CLICK)
.setEventName("Product Clicked")
.setIndex("products")
.setUserToken("user-123456")
.setAuthenticatedUserToken("user-123456")
.setTimestamp(1641290601962L)
.setObjectIDs(Arrays.asList("9780545139700", "9780439784542"))
.setQueryID("43b15df305339e827f0ac0bdc5ebcaa7")
.setPositions(Arrays.asList(7, 6))
)
)
);
// print the response
System.out.println(response);
// Initialize the client
// Replace 'us' with your Algolia Application Region
const client = algoliasearch('ALGOLIA_APPLICATION_ID', 'ALGOLIA_API_KEY').initInsights({ region: 'us' });
// Call the API
const response = await client.pushEvents({
events: [
{
eventType: 'click',
eventName: 'Product Clicked',
index: 'products',
userToken: 'user-123456',
authenticatedUserToken: 'user-123456',
timestamp: 1641290601962,
objectIDs: ['9780545139700', '9780439784542'],
queryID: '43b15df305339e827f0ac0bdc5ebcaa7',
positions: [7, 6],
},
],
});
// print the response
console.log(response);
// Initialize the client
val client =
InsightsClient(
appId = "ALGOLIA_APPLICATION_ID",
apiKey = "ALGOLIA_API_KEY",
region = "ALGOLIA_APPLICATION_REGION",
)
// Call the API
var response =
client.pushEvents(
insightsEvents =
InsightsEvents(
events =
listOf(
ClickedObjectIDsAfterSearch(
eventType = ClickEvent.entries.first { it.value == "click" },
eventName = "Product Clicked",
index = "products",
userToken = "user-123456",
authenticatedUserToken = "user-123456",
timestamp = 1641290601962L,
objectIDs = listOf("9780545139700", "9780439784542"),
queryID = "43b15df305339e827f0ac0bdc5ebcaa7",
positions = listOf(7, 6),
)
)
)
)
// print the response
println(response)
// Initialize the client
val client = InsightsClient(
appId = "ALGOLIA_APPLICATION_ID",
apiKey = "ALGOLIA_API_KEY",
region = Option("ALGOLIA_APPLICATION_REGION")
)
// Call the API
val response = Await.result(
client.pushEvents(
insightsEvents = InsightsEvents(
events = Seq(
ClickedObjectIDsAfterSearch(
eventType = ClickEvent.withName("click"),
eventName = "Product Clicked",
index = "products",
userToken = "user-123456",
authenticatedUserToken = Some("user-123456"),
timestamp = Some(1641290601962L),
objectIDs = Seq("9780545139700", "9780439784542"),
queryID = "43b15df305339e827f0ac0bdc5ebcaa7",
positions = Seq(7, 6)
)
)
)
),
Duration(100, "sec")
)
// print the response
println(response)
// Initialize the client
let client = try InsightsClient(appID: "ALGOLIA_APPLICATION_ID", apiKey: "ALGOLIA_API_KEY", region: .us)
// Call the API
let response = try await client
.pushEvents(insightsEvents: InsightsEvents(events: [EventsItems
.clickedObjectIDsAfterSearch(ClickedObjectIDsAfterSearch(
eventName: "Product Clicked",
eventType: ClickEvent.click,
index: "products",
objectIDs: ["9780545139700", "9780439784542"],
positions: [7, 6],
queryID: "43b15df305339e827f0ac0bdc5ebcaa7",
userToken: "user-123456",
authenticatedUserToken: "user-123456",
timestamp: Int64(1_641_290_601_962)
))]))
// print the response
print(response)
{ "status": 200, "message": "OK"}
You can include up to 1,000 events in a single request,
but the request body must be smaller than 2 MB.Required ACL:search
Authorizations
x-algolia-application-id
string
header
required
Your Algolia application ID.
x-algolia-api-key
string
header
required
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.
All events must be valid, otherwise the API returns an error.
Required array length: 1 - 1000 elements
Click event after an Algolia request.
Use this event to track when users click items in the search results.
If you're building your category pages with Algolia,
you'll also use this event.
Clicked object IDs after search
Added to cart object IDs after search
Purchased object IDs after search
Converted object IDs after search
Clicked object IDs
Purchased object IDs
Added to cart object IDs
Converted object IDs
Clicked filters
Converted filters
Viewed object IDs
Viewed filters
Option 13
Show child attributes
Response
OK
The response of the Insights API.
message
string
Details about the response, such as error messages.
status
integer
The HTTP status code of the response.
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":"6af726baa071dcdd90fe7ec4","clientVersion":"0.0.4128","searchFilterCounts":[{"language":"default","tag":"Libraries and tools","count":618},{"language":"default","tag":"Guides","count":584},{"language":"default","tag":"API clients","count":407},{"language":"default","tag":"Search and Discovery platform","count":406},{"language":"default","tag":"API reference","count":403},{"language":"default","tag":"UI libraries","count":290},{"language":"default","tag":"Reference","count":282},{"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":"custom-rbac-roles","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":"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":"llms-txt-v2","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/insights/push-events","slug":"/doc/rest-api/insights/push-events","pageMetadata":{"title":"Send events","description":"Sends a list of events to the Insights API.","openapi":"specs/insights.yml post /1/events","public":true,"href":"/doc/rest-api/insights/push-events"},"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: \"Sends a list of events to the Insights API.\"\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{Fragment:_Fragment,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(_Fragment,{children:[_jsx(_components.p,{children:`You can include up to 1,000 events in a single request,\nbut the request body must be smaller than 2\\xA0MB.`}),`\n`,_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":"Send events","description":"Sends a list of events to the Insights API.","openapi":"specs/insights.yml post /1/events","public":true,"href":"/doc/rest-api/insights/push-events"}}},"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":["events"],"operationId":"pushEvents","summary":"Send events","x-acl":["search"],"description":"Sends a list of events to the Insights API.","requestBody":"176a3a72-01dc-4f16-9906-8225bed022e7","responses":{"200":"34691eb2-3866-4722-a890-44d9dd24ffb1","400":"c1ce9830-e1a7-4e7e-a111-d61e281b5b6f","401":"7a0f063f-4b39-4782-a0a5-eed40535884c","404":"cc811360-49d9-4c47-9369-555c4de65c98","405":"ca4f5dda-321d-42c2-a518-6f7c0620ca73","413":"ee690793-93e0-40a7-8956-86a094e911ac","422":"b03608fd-c76d-4819-b8c5-8ec00bec83f0"},"x-codeSamples":[{"lang":"csharp","label":"C#","source":"// Initialize the client\nvar client = new InsightsClient(\n new InsightsConfig(\"ALGOLIA_APPLICATION_ID\", \"ALGOLIA_API_KEY\", \"ALGOLIA_APPLICATION_REGION\")\n);\n\n// Call the API\nvar response = await client.PushEventsAsync(\n new InsightsEvents\n {\n Events = new List\u003cEventsItems>\n {\n new EventsItems(\n new ClickedObjectIDsAfterSearch\n {\n EventType = Enum.Parse\u003cClickEvent>(\"Click\"),\n EventName = \"Product Clicked\",\n Index = \"products\",\n UserToken = \"user-123456\",\n AuthenticatedUserToken = \"user-123456\",\n Timestamp = 1641290601962L,\n ObjectIDs = new List\u003cstring> { \"9780545139700\", \"9780439784542\" },\n QueryID = \"43b15df305339e827f0ac0bdc5ebcaa7\",\n Positions = new List\u003cint> { 7, 6 },\n }\n ),\n },\n }\n);\n\n// print the response\nConsole.WriteLine(response);"},{"lang":"dart","label":"Dart","source":"// Initialize the client\nfinal client = InsightsClient(\n appId: 'ALGOLIA_APPLICATION_ID',\n apiKey: 'ALGOLIA_API_KEY',\n region: 'ALGOLIA_APPLICATION_REGION');\n\n// Call the API\nfinal response = await client.pushEvents(\n insightsEvents: InsightsEvents(\n events: [\n ClickedObjectIDsAfterSearch(\n eventType: ClickEvent.fromJson(\"click\"),\n eventName: \"Product Clicked\",\n index: \"products\",\n userToken: \"user-123456\",\n authenticatedUserToken: \"user-123456\",\n timestamp: 1641290601962,\n objectIDs: [\n \"9780545139700\",\n \"9780439784542\",\n ],\n queryID: \"43b15df305339e827f0ac0bdc5ebcaa7\",\n positions: [\n 7,\n 6,\n ],\n ),\n ],\n ),\n);\n\n// print the response\nprint(response);"},{"lang":"go","label":"Go","source":"// Initialize the client with your application region, eg. insights.ALGOLIA_APPLICATION_REGION\nclient, err := insights.NewClient(\"ALGOLIA_APPLICATION_ID\", \"ALGOLIA_API_KEY\", insights.US)\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.PushEvents(client.NewApiPushEventsRequest(\n\n insights.NewEmptyInsightsEvents().SetEvents(\n []insights.EventsItems{*insights.ClickedObjectIDsAfterSearchAsEventsItems(\n insights.NewEmptyClickedObjectIDsAfterSearch().SetEventType(insights.ClickEvent(\"click\")).SetEventName(\"Product Clicked\").SetIndex(\"products\").SetUserToken(\"user-123456\").SetAuthenticatedUserToken(\"user-123456\").SetTimestamp(1641290601962).SetObjectIDs(\n []string{\"9780545139700\", \"9780439784542\"}).SetQueryID(\"43b15df305339e827f0ac0bdc5ebcaa7\").SetPositions(\n []int32{7, 6}))})))\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\nInsightsClient client = new InsightsClient(\"ALGOLIA_APPLICATION_ID\", \"ALGOLIA_API_KEY\", \"ALGOLIA_APPLICATION_REGION\");\n\n// Call the API\nEventsResponse response = client.pushEvents(\n new InsightsEvents().setEvents(\n Arrays.asList(\n new ClickedObjectIDsAfterSearch()\n .setEventType(ClickEvent.CLICK)\n .setEventName(\"Product Clicked\")\n .setIndex(\"products\")\n .setUserToken(\"user-123456\")\n .setAuthenticatedUserToken(\"user-123456\")\n .setTimestamp(1641290601962L)\n .setObjectIDs(Arrays.asList(\"9780545139700\", \"9780439784542\"))\n .setQueryID(\"43b15df305339e827f0ac0bdc5ebcaa7\")\n .setPositions(Arrays.asList(7, 6))\n )\n )\n);\n\n// print the response\nSystem.out.println(response);"},{"lang":"javascript","label":"JavaScript","source":"// Initialize the client\n// Replace 'us' with your Algolia Application Region\nconst client = algoliasearch('ALGOLIA_APPLICATION_ID', 'ALGOLIA_API_KEY').initInsights({ region: 'us' });\n\n// Call the API\nconst response = await client.pushEvents({\n events: [\n {\n eventType: 'click',\n eventName: 'Product Clicked',\n index: 'products',\n userToken: 'user-123456',\n authenticatedUserToken: 'user-123456',\n timestamp: 1641290601962,\n objectIDs: ['9780545139700', '9780439784542'],\n queryID: '43b15df305339e827f0ac0bdc5ebcaa7',\n positions: [7, 6],\n },\n ],\n});\n\n\n// print the response\nconsole.log(response);"},{"lang":"kotlin","label":"Kotlin","source":"// Initialize the client\nval client =\n InsightsClient(\n appId = \"ALGOLIA_APPLICATION_ID\",\n apiKey = \"ALGOLIA_API_KEY\",\n region = \"ALGOLIA_APPLICATION_REGION\",\n )\n\n// Call the API\nvar response =\n client.pushEvents(\n insightsEvents =\n InsightsEvents(\n events =\n listOf(\n ClickedObjectIDsAfterSearch(\n eventType = ClickEvent.entries.first { it.value == \"click\" },\n eventName = \"Product Clicked\",\n index = \"products\",\n userToken = \"user-123456\",\n authenticatedUserToken = \"user-123456\",\n timestamp = 1641290601962L,\n objectIDs = listOf(\"9780545139700\", \"9780439784542\"),\n queryID = \"43b15df305339e827f0ac0bdc5ebcaa7\",\n positions = listOf(7, 6),\n )\n )\n )\n )\n\n\n// print the response\nprintln(response)"},{"lang":"php","label":"PHP","source":"// Initialize the client\n$client = InsightsClient::create('ALGOLIA_APPLICATION_ID', 'ALGOLIA_API_KEY', 'ALGOLIA_APPLICATION_REGION');\n\n// Call the API\n$response = $client->pushEvents(\n ['events' => [\n ['eventType' => 'click',\n 'eventName' => 'Product Clicked',\n 'index' => 'products',\n 'userToken' => 'user-123456',\n 'authenticatedUserToken' => 'user-123456',\n 'timestamp' => 1641290601962,\n 'objectIDs' => [\n '9780545139700',\n\n '9780439784542',\n ],\n 'queryID' => '43b15df305339e827f0ac0bdc5ebcaa7',\n 'positions' => [\n 7,\n\n 6,\n ],\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 InsightsClient instead, which exposes the exact same methods.\nclient = InsightsClientSync(\n \"ALGOLIA_APPLICATION_ID\", \"ALGOLIA_API_KEY\", \"ALGOLIA_APPLICATION_REGION\"\n)\n\n# Call the API\nresponse = client.push_events(\n insights_events={\n \"events\": [\n {\n \"eventType\": \"click\",\n \"eventName\": \"Product Clicked\",\n \"index\": \"products\",\n \"userToken\": \"user-123456\",\n \"authenticatedUserToken\": \"user-123456\",\n \"timestamp\": 1641290601962,\n \"objectIDs\": [\n \"9780545139700\",\n \"9780439784542\",\n ],\n \"queryID\": \"43b15df305339e827f0ac0bdc5ebcaa7\",\n \"positions\": [\n 7,\n 6,\n ],\n },\n ],\n },\n)\n\n\n# print the response\nprint(response)"},{"lang":"ruby","label":"Ruby","source":"# Initialize the client\nclient = Algolia::InsightsClient.create(\"ALGOLIA_APPLICATION_ID\", \"ALGOLIA_API_KEY\", \"ALGOLIA_APPLICATION_REGION\")\n\n# Call the API\nresponse = client.push_events(\n Algolia::Insights::InsightsEvents.new(\n events: [\n Algolia::Insights::ClickedObjectIDsAfterSearch.new(\n event_type: \"click\",\n event_name: \"Product Clicked\",\n index: \"products\",\n user_token: \"user-123456\",\n authenticated_user_token: \"user-123456\",\n timestamp: 1641290601962,\n object_ids: [\"9780545139700\", \"9780439784542\"],\n query_id: \"43b15df305339e827f0ac0bdc5ebcaa7\",\n positions: [7, 6]\n )\n ]\n )\n)\n\n\n# print the response\nputs(response)"},{"lang":"scala","label":"Scala","source":"// Initialize the client\nval client = InsightsClient(\n appId = \"ALGOLIA_APPLICATION_ID\",\n apiKey = \"ALGOLIA_API_KEY\",\n region = Option(\"ALGOLIA_APPLICATION_REGION\")\n)\n\n// Call the API\nval response = Await.result(\n client.pushEvents(\n insightsEvents = InsightsEvents(\n events = Seq(\n ClickedObjectIDsAfterSearch(\n eventType = ClickEvent.withName(\"click\"),\n eventName = \"Product Clicked\",\n index = \"products\",\n userToken = \"user-123456\",\n authenticatedUserToken = Some(\"user-123456\"),\n timestamp = Some(1641290601962L),\n objectIDs = Seq(\"9780545139700\", \"9780439784542\"),\n queryID = \"43b15df305339e827f0ac0bdc5ebcaa7\",\n positions = Seq(7, 6)\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 InsightsClient(appID: \"ALGOLIA_APPLICATION_ID\", apiKey: \"ALGOLIA_API_KEY\", region: .us)\n\n// Call the API\nlet response = try await client\n .pushEvents(insightsEvents: InsightsEvents(events: [EventsItems\n .clickedObjectIDsAfterSearch(ClickedObjectIDsAfterSearch(\n eventName: \"Product Clicked\",\n eventType: ClickEvent.click,\n index: \"products\",\n objectIDs: [\"9780545139700\", \"9780439784542\"],\n positions: [7, 6],\n queryID: \"43b15df305339e827f0ac0bdc5ebcaa7\",\n userToken: \"user-123456\",\n authenticatedUserToken: \"user-123456\",\n timestamp: Int64(1_641_290_601_962)\n ))]))\n\n// print the response\nprint(response)"},{"lang":"cURL","label":"curl","source":"curl --request POST \\\n --url https://insights.us.algolia.io/1/events \\\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 \"events\": [\n {\n \"eventName\": \"Products Clicked\",\n \"eventType\": \"click\",\n \"index\": \"test-index\",\n \"userToken\": \"anonymous-user-1\",\n \"authenticatedUserToken\": \"user-1\",\n \"objectIDs\": [\n \"object-1\"\n ],\n \"positions\": [\n 1\n ],\n \"queryID\": \"7dfe2ada7bca48bdd0629649df0bee07\"\n }\n ]\n}\n'"}],"method":"post","type":"path","servers":["01c77f84-f02f-4dbe-bcb9-2137ab497238","61825649-8b77-487f-a175-7872321242e9"],"security":["4e5b1d32-e9de-4970-a1b0-c2b2814c897c"],"path":"/1/events","baseUrlOptions":["https://insights.{region}.algolia.io","https://insights.algolia.io"],"title":"Send events","codeSamples":[{"label":"C#","lang":"csharp","source":"// Initialize the client\nvar client = new InsightsClient(\n new InsightsConfig(\"ALGOLIA_APPLICATION_ID\", \"ALGOLIA_API_KEY\", \"ALGOLIA_APPLICATION_REGION\")\n);\n\n// Call the API\nvar response = await client.PushEventsAsync(\n new InsightsEvents\n {\n Events = new List\u003cEventsItems>\n {\n new EventsItems(\n new ClickedObjectIDsAfterSearch\n {\n EventType = Enum.Parse\u003cClickEvent>(\"Click\"),\n EventName = \"Product Clicked\",\n Index = \"products\",\n UserToken = \"user-123456\",\n AuthenticatedUserToken = \"user-123456\",\n Timestamp = 1641290601962L,\n ObjectIDs = new List\u003cstring> { \"9780545139700\", \"9780439784542\" },\n QueryID = \"43b15df305339e827f0ac0bdc5ebcaa7\",\n Positions = new List\u003cint> { 7, 6 },\n }\n ),\n },\n }\n);\n\n// print the response\nConsole.WriteLine(response);"},{"label":"Dart","lang":"dart","source":"// Initialize the client\nfinal client = InsightsClient(\n appId: 'ALGOLIA_APPLICATION_ID',\n apiKey: 'ALGOLIA_API_KEY',\n region: 'ALGOLIA_APPLICATION_REGION');\n\n// Call the API\nfinal response = await client.pushEvents(\n insightsEvents: InsightsEvents(\n events: [\n ClickedObjectIDsAfterSearch(\n eventType: ClickEvent.fromJson(\"click\"),\n eventName: \"Product Clicked\",\n index: \"products\",\n userToken: \"user-123456\",\n authenticatedUserToken: \"user-123456\",\n timestamp: 1641290601962,\n objectIDs: [\n \"9780545139700\",\n \"9780439784542\",\n ],\n queryID: \"43b15df305339e827f0ac0bdc5ebcaa7\",\n positions: [\n 7,\n 6,\n ],\n ),\n ],\n ),\n);\n\n// print the response\nprint(response);"},{"label":"Go","lang":"go","source":"// Initialize the client with your application region, eg. insights.ALGOLIA_APPLICATION_REGION\nclient, err := insights.NewClient(\"ALGOLIA_APPLICATION_ID\", \"ALGOLIA_API_KEY\", insights.US)\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.PushEvents(client.NewApiPushEventsRequest(\n\n insights.NewEmptyInsightsEvents().SetEvents(\n []insights.EventsItems{*insights.ClickedObjectIDsAfterSearchAsEventsItems(\n insights.NewEmptyClickedObjectIDsAfterSearch().SetEventType(insights.ClickEvent(\"click\")).SetEventName(\"Product Clicked\").SetIndex(\"products\").SetUserToken(\"user-123456\").SetAuthenticatedUserToken(\"user-123456\").SetTimestamp(1641290601962).SetObjectIDs(\n []string{\"9780545139700\", \"9780439784542\"}).SetQueryID(\"43b15df305339e827f0ac0bdc5ebcaa7\").SetPositions(\n []int32{7, 6}))})))\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\nInsightsClient client = new InsightsClient(\"ALGOLIA_APPLICATION_ID\", \"ALGOLIA_API_KEY\", \"ALGOLIA_APPLICATION_REGION\");\n\n// Call the API\nEventsResponse response = client.pushEvents(\n new InsightsEvents().setEvents(\n Arrays.asList(\n new ClickedObjectIDsAfterSearch()\n .setEventType(ClickEvent.CLICK)\n .setEventName(\"Product Clicked\")\n .setIndex(\"products\")\n .setUserToken(\"user-123456\")\n .setAuthenticatedUserToken(\"user-123456\")\n .setTimestamp(1641290601962L)\n .setObjectIDs(Arrays.asList(\"9780545139700\", \"9780439784542\"))\n .setQueryID(\"43b15df305339e827f0ac0bdc5ebcaa7\")\n .setPositions(Arrays.asList(7, 6))\n )\n )\n);\n\n// print the response\nSystem.out.println(response);"},{"label":"JavaScript","lang":"javascript","source":"// Initialize the client\n// Replace 'us' with your Algolia Application Region\nconst client = algoliasearch('ALGOLIA_APPLICATION_ID', 'ALGOLIA_API_KEY').initInsights({ region: 'us' });\n\n// Call the API\nconst response = await client.pushEvents({\n events: [\n {\n eventType: 'click',\n eventName: 'Product Clicked',\n index: 'products',\n userToken: 'user-123456',\n authenticatedUserToken: 'user-123456',\n timestamp: 1641290601962,\n objectIDs: ['9780545139700', '9780439784542'],\n queryID: '43b15df305339e827f0ac0bdc5ebcaa7',\n positions: [7, 6],\n },\n ],\n});\n\n\n// print the response\nconsole.log(response);"},{"label":"Kotlin","lang":"kotlin","source":"// Initialize the client\nval client =\n InsightsClient(\n appId = \"ALGOLIA_APPLICATION_ID\",\n apiKey = \"ALGOLIA_API_KEY\",\n region = \"ALGOLIA_APPLICATION_REGION\",\n )\n\n// Call the API\nvar response =\n client.pushEvents(\n insightsEvents =\n InsightsEvents(\n events =\n listOf(\n ClickedObjectIDsAfterSearch(\n eventType = ClickEvent.entries.first { it.value == \"click\" },\n eventName = \"Product Clicked\",\n index = \"products\",\n userToken = \"user-123456\",\n authenticatedUserToken = \"user-123456\",\n timestamp = 1641290601962L,\n objectIDs = listOf(\"9780545139700\", \"9780439784542\"),\n queryID = \"43b15df305339e827f0ac0bdc5ebcaa7\",\n positions = listOf(7, 6),\n )\n )\n )\n )\n\n\n// print the response\nprintln(response)"},{"label":"PHP","lang":"php","source":"// Initialize the client\n$client = InsightsClient::create('ALGOLIA_APPLICATION_ID', 'ALGOLIA_API_KEY', 'ALGOLIA_APPLICATION_REGION');\n\n// Call the API\n$response = $client->pushEvents(\n ['events' => [\n ['eventType' => 'click',\n 'eventName' => 'Product Clicked',\n 'index' => 'products',\n 'userToken' => 'user-123456',\n 'authenticatedUserToken' => 'user-123456',\n 'timestamp' => 1641290601962,\n 'objectIDs' => [\n '9780545139700',\n\n '9780439784542',\n ],\n 'queryID' => '43b15df305339e827f0ac0bdc5ebcaa7',\n 'positions' => [\n 7,\n\n 6,\n ],\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 InsightsClient instead, which exposes the exact same methods.\nclient = InsightsClientSync(\n \"ALGOLIA_APPLICATION_ID\", \"ALGOLIA_API_KEY\", \"ALGOLIA_APPLICATION_REGION\"\n)\n\n# Call the API\nresponse = client.push_events(\n insights_events={\n \"events\": [\n {\n \"eventType\": \"click\",\n \"eventName\": \"Product Clicked\",\n \"index\": \"products\",\n \"userToken\": \"user-123456\",\n \"authenticatedUserToken\": \"user-123456\",\n \"timestamp\": 1641290601962,\n \"objectIDs\": [\n \"9780545139700\",\n \"9780439784542\",\n ],\n \"queryID\": \"43b15df305339e827f0ac0bdc5ebcaa7\",\n \"positions\": [\n 7,\n 6,\n ],\n },\n ],\n },\n)\n\n\n# print the response\nprint(response)"},{"label":"Ruby","lang":"ruby","source":"# Initialize the client\nclient = Algolia::InsightsClient.create(\"ALGOLIA_APPLICATION_ID\", \"ALGOLIA_API_KEY\", \"ALGOLIA_APPLICATION_REGION\")\n\n# Call the API\nresponse = client.push_events(\n Algolia::Insights::InsightsEvents.new(\n events: [\n Algolia::Insights::ClickedObjectIDsAfterSearch.new(\n event_type: \"click\",\n event_name: \"Product Clicked\",\n index: \"products\",\n user_token: \"user-123456\",\n authenticated_user_token: \"user-123456\",\n timestamp: 1641290601962,\n object_ids: [\"9780545139700\", \"9780439784542\"],\n query_id: \"43b15df305339e827f0ac0bdc5ebcaa7\",\n positions: [7, 6]\n )\n ]\n )\n)\n\n\n# print the response\nputs(response)"},{"label":"Scala","lang":"scala","source":"// Initialize the client\nval client = InsightsClient(\n appId = \"ALGOLIA_APPLICATION_ID\",\n apiKey = \"ALGOLIA_API_KEY\",\n region = Option(\"ALGOLIA_APPLICATION_REGION\")\n)\n\n// Call the API\nval response = Await.result(\n client.pushEvents(\n insightsEvents = InsightsEvents(\n events = Seq(\n ClickedObjectIDsAfterSearch(\n eventType = ClickEvent.withName(\"click\"),\n eventName = \"Product Clicked\",\n index = \"products\",\n userToken = \"user-123456\",\n authenticatedUserToken = Some(\"user-123456\"),\n timestamp = Some(1641290601962L),\n objectIDs = Seq(\"9780545139700\", \"9780439784542\"),\n queryID = \"43b15df305339e827f0ac0bdc5ebcaa7\",\n positions = Seq(7, 6)\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 InsightsClient(appID: \"ALGOLIA_APPLICATION_ID\", apiKey: \"ALGOLIA_API_KEY\", region: .us)\n\n// Call the API\nlet response = try await client\n .pushEvents(insightsEvents: InsightsEvents(events: [EventsItems\n .clickedObjectIDsAfterSearch(ClickedObjectIDsAfterSearch(\n eventName: \"Product Clicked\",\n eventType: ClickEvent.click,\n index: \"products\",\n objectIDs: [\"9780545139700\", \"9780439784542\"],\n positions: [7, 6],\n queryID: \"43b15df305339e827f0ac0bdc5ebcaa7\",\n userToken: \"user-123456\",\n authenticatedUserToken: \"user-123456\",\n timestamp: Int64(1_641_290_601_962)\n ))]))\n\n// print the response\nprint(response)"},{"label":"curl","lang":"cURL","source":"curl --request POST \\\n --url https://insights.us.algolia.io/1/events \\\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 \"events\": [\n {\n \"eventName\": \"Products Clicked\",\n \"eventType\": \"click\",\n \"index\": \"test-index\",\n \"userToken\": \"anonymous-user-1\",\n \"authenticatedUserToken\": \"user-1\",\n \"objectIDs\": [\n \"object-1\"\n ],\n \"positions\": [\n 1\n ],\n \"queryID\": \"7dfe2ada7bca48bdd0629649df0bee07\"\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":{},"requestBody":{"required":true,"content":{"application/json":{"schema":{"title":"insightsEvents","type":"object","required":["events"],"properties":{"events":{"type":"array","description":"Click and conversion events.\n\n**All** events must be valid, otherwise the API returns an error.\n","minItems":1,"maxItems":1000,"items":{"oneOf":[{"type":"object","title":"Clicked object IDs after search","description":"Click event after an Algolia request.\nUse this event to track when users click items in the search results.\nIf you're building your category pages with Algolia,\nyou'll also use this event.\n","required":["eventName","eventType","index","objectIDs","positions","queryID","userToken"],"x-discriminator-fields":["positions","queryID","eventType"],"properties":{"eventName":{"type":"string","minLength":1,"maxLength":64,"pattern":"[\\x20-\\x7E]{1,64}","description":"Event name, up to 64 ASCII characters.\n\nConsider naming events consistently—for example, by adopting Segment's\n[object-action](https://segment.com/academy/collecting-data/naming-conventions-for-clean-data/#the-object-action-framework)\nframework.\n","isRequired":true,"uniqueKey":"events.items.[INDEX].oneOf.0.eventName","typeLabel":"string"},"eventType":{"type":"string","enum":["click"],"isRequired":true,"uniqueKey":"events.items.[INDEX].oneOf.0.eventType","typeLabel":"enum\u003cstring>"},"index":{"type":"string","description":"Index name (case-sensitive) to which the event's items belong.","example":"ALGOLIA_INDEX_NAME","isRequired":true,"uniqueKey":"events.items.[INDEX].oneOf.0.index","typeLabel":"string"},"objectIDs":{"type":"array","description":"Object IDs of the records that are part of the event.","items":{"type":"string","uniqueKey":"events.items.[INDEX].oneOf.0.objectIDs.items.[INDEX]","typeLabel":"string"},"minItems":1,"maxItems":20,"example":["object-1","object-2","object-3"],"isRequired":true,"uniqueKey":"events.items.[INDEX].oneOf.0.objectIDs","typeLabel":"string[]"},"positions":{"type":"array","items":{"type":"integer","minimum":1,"uniqueKey":"events.items.[INDEX].oneOf.0.positions.items.[INDEX]","typeLabel":"integer"},"minItems":1,"maxItems":20,"description":"Position of the clicked item the search results.\n\nYou must provide 1 `position` for each `objectID`.\n","example":[1,2,5],"isRequired":true,"uniqueKey":"events.items.[INDEX].oneOf.0.positions","typeLabel":"integer[]"},"queryID":{"type":"string","pattern":"^([0-9a-f]{32}|message_[!-~]+)$","maxLength":128,"description":"Unique identifier for a search query.\n\nThe query ID is required for events related to search or browse requests.\nIf you add `clickAnalytics: true` as a search request parameter, the query ID is included in the API response.\nFor agentic analytics events, the query ID may be prefixed with `message_` followed by any printable string.\n","examples":["3e48cd0616e466948dd85abf5c3fbbe2","message_my-custom-query-id"],"isRequired":true,"uniqueKey":"events.items.[INDEX].oneOf.0.queryID","typeLabel":"string"},"userToken":{"type":"string","minLength":1,"maxLength":129,"pattern":"[a-zA-Z0-9_=/+-]{1,129}","description":"Anonymous or pseudonymous user identifier.\n\nDon't use personally identifiable information in user tokens.\nFor more information, see [User token](https://www.algolia.com/doc/guides/sending-events/concepts/usertoken).\n","example":"test-user-1","isRequired":true,"uniqueKey":"events.items.[INDEX].oneOf.0.userToken","typeLabel":"string"},"authenticatedUserToken":{"type":"string","minLength":1,"maxLength":129,"pattern":"[a-zA-Z0-9_=/+-]{1,129}","description":"Identifier for authenticated users.\n\nWhen the user signs in, you can get an identifier from your system and send it as `authenticatedUserToken`.\nThis lets you keep using the `userToken` from before the user signed in, while providing a reliable way to identify users across sessions.\nDon't use personally identifiable information in user tokens.\nFor more information, see [User token](https://www.algolia.com/doc/guides/sending-events/concepts/usertoken).\n","example":"c6a52c02-d0c7-4b53-8ce3-2b8fd202f3f9","uniqueKey":"events.items.[INDEX].oneOf.0.authenticatedUserToken","typeLabel":"string"},"timestamp":{"type":"integer","format":"int64","description":"Timestamp of the event, measured in milliseconds since the Unix epoch. Must be no older than 30 days.\nIf not provided, we use the time at which the request was received.\n","example":1687193127,"uniqueKey":"events.items.[INDEX].oneOf.0.timestamp","typeLabel":"integer\u003cint64>"}},"uniqueKey":"events.items.[INDEX].oneOf.0","typeLabel":"Clicked object IDs after search · object"},{"type":"object","title":"Added to cart object IDs after search","description":"Use this event to track when users add items to their shopping cart after a previous Algolia request.\nIf you're building your category pages with Algolia, you'll also use this event.\n","required":["eventName","eventType","eventSubtype","queryID","index","objectIDs","userToken"],"x-discriminator-fields":["eventType","eventSubtype","queryID","objectIDs"],"properties":{"eventName":{"type":"string","minLength":1,"maxLength":64,"pattern":"[\\x20-\\x7E]{1,64}","description":"Event name, up to 64 ASCII characters.\n\nConsider naming events consistently—for example, by adopting Segment's\n[object-action](https://segment.com/academy/collecting-data/naming-conventions-for-clean-data/#the-object-action-framework)\nframework.\n","isRequired":true,"uniqueKey":"events.items.[INDEX].oneOf.1.eventName","typeLabel":"string"},"eventSubtype":{"type":"string","enum":["addToCart"],"isRequired":true,"uniqueKey":"events.items.[INDEX].oneOf.1.eventSubtype","typeLabel":"enum\u003cstring>"},"eventType":{"type":"string","enum":["conversion"],"isRequired":true,"uniqueKey":"events.items.[INDEX].oneOf.1.eventType","typeLabel":"enum\u003cstring>"},"index":{"type":"string","description":"Index name (case-sensitive) to which the event's items belong.","example":"ALGOLIA_INDEX_NAME","isRequired":true,"uniqueKey":"events.items.[INDEX].oneOf.1.index","typeLabel":"string"},"objectIDs":{"type":"array","description":"Object IDs of the records that are part of the event.","items":{"type":"string","uniqueKey":"events.items.[INDEX].oneOf.1.objectIDs.items.[INDEX]","typeLabel":"string"},"minItems":1,"maxItems":20,"example":["object-1","object-2","object-3"],"isRequired":true,"uniqueKey":"events.items.[INDEX].oneOf.1.objectIDs","typeLabel":"string[]"},"queryID":{"type":"string","pattern":"^([0-9a-f]{32}|message_[!-~]+)$","maxLength":128,"description":"Unique identifier for a search query.\n\nThe query ID is required for events related to search or browse requests.\nIf you add `clickAnalytics: true` as a search request parameter, the query ID is included in the API response.\nFor agentic analytics events, the query ID may be prefixed with `message_` followed by any printable string.\n","examples":["3e48cd0616e466948dd85abf5c3fbbe2","message_my-custom-query-id"],"isRequired":true,"uniqueKey":"events.items.[INDEX].oneOf.1.queryID","typeLabel":"string"},"userToken":{"type":"string","minLength":1,"maxLength":129,"pattern":"[a-zA-Z0-9_=/+-]{1,129}","description":"Anonymous or pseudonymous user identifier.\n\nDon't use personally identifiable information in user tokens.\nFor more information, see [User token](https://www.algolia.com/doc/guides/sending-events/concepts/usertoken).\n","example":"test-user-1","isRequired":true,"uniqueKey":"events.items.[INDEX].oneOf.1.userToken","typeLabel":"string"},"authenticatedUserToken":{"type":"string","minLength":1,"maxLength":129,"pattern":"[a-zA-Z0-9_=/+-]{1,129}","description":"Identifier for authenticated users.\n\nWhen the user signs in, you can get an identifier from your system and send it as `authenticatedUserToken`.\nThis lets you keep using the `userToken` from before the user signed in, while providing a reliable way to identify users across sessions.\nDon't use personally identifiable information in user tokens.\nFor more information, see [User token](https://www.algolia.com/doc/guides/sending-events/concepts/usertoken).\n","example":"c6a52c02-d0c7-4b53-8ce3-2b8fd202f3f9","uniqueKey":"events.items.[INDEX].oneOf.1.authenticatedUserToken","typeLabel":"string"},"currency":{"type":"string","minLength":3,"maxLength":3,"pattern":"^[A-Za-z]{3}$","description":"Three-letter [currency code](https://www.iso.org/iso-4217-currency-codes.html).","example":"EUR","uniqueKey":"events.items.[INDEX].oneOf.1.currency","typeLabel":"string"},"objectData":{"type":"array","description":"Extra information about the records involved in a purchase or add-to-cart events.\n\nIf provided, it must be the same length as `objectIDs`.\n","items":{"type":"object","additionalProperties":false,"properties":{"discount":{"oneOf":[{"type":"number","description":"Absolute value of the discount for this product, in units of `currency`.","format":"double","example":20,"uniqueKey":"events.items.[INDEX].oneOf.1.objectData.items.[INDEX].discount.oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"string","description":"Absolute value of the discount for this product, in units of `currency`.","example":"20","uniqueKey":"events.items.[INDEX].oneOf.1.objectData.items.[INDEX].discount.oneOf.1","typeLabel":"string"}],"uniqueKey":"events.items.[INDEX].oneOf.1.objectData.items.[INDEX].discount","typeLabel":"number\u003cdouble> | string"},"price":{"oneOf":[{"type":"number","description":"Final price of a single product, including any discounts, in units of `currency`.","format":"double","example":9.99,"uniqueKey":"events.items.[INDEX].oneOf.1.objectData.items.[INDEX].price.oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"string","description":"Final price of a single product, including any discounts, in units of `currency`.","example":"9.99","uniqueKey":"events.items.[INDEX].oneOf.1.objectData.items.[INDEX].price.oneOf.1","typeLabel":"string"}],"uniqueKey":"events.items.[INDEX].oneOf.1.objectData.items.[INDEX].price","typeLabel":"number\u003cdouble> | string"},"quantity":{"type":"integer","format":"int32","example":2,"description":"Quantity of a product that has been purchased or added to the cart.\nThe total purchase value is the sum of `quantity` multiplied with the `price` for each purchased item.\n","uniqueKey":"events.items.[INDEX].oneOf.1.objectData.items.[INDEX].quantity","typeLabel":"integer\u003cint32>"},"queryID":{"type":"string","pattern":"[0-9a-f]{32}","minLength":32,"maxLength":32,"description":"Unique identifier for a search query, used to track purchase events with multiple records that originate from different searches.","example":"3e48cd0616e466948dd85abf5c3fbbe2","uniqueKey":"events.items.[INDEX].oneOf.1.objectData.items.[INDEX].queryID","typeLabel":"string"}},"uniqueKey":"events.items.[INDEX].oneOf.1.objectData.items.[INDEX]","typeLabel":"object"},"minItems":1,"maxItems":20,"uniqueKey":"events.items.[INDEX].oneOf.1.objectData","typeLabel":"object[]"},"timestamp":{"type":"integer","format":"int64","description":"Timestamp of the event, measured in milliseconds since the Unix epoch. Must be no older than 30 days.\nIf not provided, we use the time at which the request was received.\n","example":1687193127,"uniqueKey":"events.items.[INDEX].oneOf.1.timestamp","typeLabel":"integer\u003cint64>"},"value":{"oneOf":[{"type":"number","description":"Total monetary value of this event in units of `currency`.\nThis should be equal to the sum of `price` times `quantity`.\n","format":"double","example":1000,"uniqueKey":"events.items.[INDEX].oneOf.1.value.oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"string","description":"Total monetary value of this event in units of `currency`.\nThis should be equal to the sum of `price` times `quantity`.\n","maxLength":16,"example":"1000.00","uniqueKey":"events.items.[INDEX].oneOf.1.value.oneOf.1","typeLabel":"string"}],"uniqueKey":"events.items.[INDEX].oneOf.1.value","typeLabel":"number\u003cdouble> | string"}},"uniqueKey":"events.items.[INDEX].oneOf.1","typeLabel":"Added to cart object IDs after search · object"},{"type":"object","title":"Purchased object IDs after search","description":"Use this event to track when users make a purchase after a previous Algolia request.\nIf you're building your category pages with Algolia, you'll also use this event.\n","required":["eventName","eventType","eventSubtype","index","objectIDs","userToken","objectData"],"x-discriminator-fields":["eventType","eventSubtype","objectIDs","objectData"],"properties":{"eventName":{"type":"string","minLength":1,"maxLength":64,"pattern":"[\\x20-\\x7E]{1,64}","description":"Event name, up to 64 ASCII characters.\n\nConsider naming events consistently—for example, by adopting Segment's\n[object-action](https://segment.com/academy/collecting-data/naming-conventions-for-clean-data/#the-object-action-framework)\nframework.\n","isRequired":true,"uniqueKey":"events.items.[INDEX].oneOf.2.eventName","typeLabel":"string"},"eventSubtype":{"type":"string","enum":["purchase"],"isRequired":true,"uniqueKey":"events.items.[INDEX].oneOf.2.eventSubtype","typeLabel":"enum\u003cstring>"},"eventType":{"type":"string","enum":["conversion"],"isRequired":true,"uniqueKey":"events.items.[INDEX].oneOf.2.eventType","typeLabel":"enum\u003cstring>"},"index":{"type":"string","description":"Index name (case-sensitive) to which the event's items belong.","example":"ALGOLIA_INDEX_NAME","isRequired":true,"uniqueKey":"events.items.[INDEX].oneOf.2.index","typeLabel":"string"},"objectData":{"type":"array","description":"Extra information about the records involved in a purchase or add-to-cart events.\n\nIf provided, it must be the same length as `objectIDs`.\n","items":{"type":"object","additionalProperties":false,"properties":{"discount":{"oneOf":[{"type":"number","description":"Absolute value of the discount for this product, in units of `currency`.","format":"double","example":20,"uniqueKey":"events.items.[INDEX].oneOf.2.objectData.items.[INDEX].discount.oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"string","description":"Absolute value of the discount for this product, in units of `currency`.","example":"20","uniqueKey":"events.items.[INDEX].oneOf.2.objectData.items.[INDEX].discount.oneOf.1","typeLabel":"string"}],"uniqueKey":"events.items.[INDEX].oneOf.2.objectData.items.[INDEX].discount","typeLabel":"number\u003cdouble> | string"},"price":{"oneOf":[{"type":"number","description":"Final price of a single product, including any discounts, in units of `currency`.","format":"double","example":9.99,"uniqueKey":"events.items.[INDEX].oneOf.2.objectData.items.[INDEX].price.oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"string","description":"Final price of a single product, including any discounts, in units of `currency`.","example":"9.99","uniqueKey":"events.items.[INDEX].oneOf.2.objectData.items.[INDEX].price.oneOf.1","typeLabel":"string"}],"uniqueKey":"events.items.[INDEX].oneOf.2.objectData.items.[INDEX].price","typeLabel":"number\u003cdouble> | string"},"quantity":{"type":"integer","format":"int32","example":2,"description":"Quantity of a product that has been purchased or added to the cart.\nThe total purchase value is the sum of `quantity` multiplied with the `price` for each purchased item.\n","uniqueKey":"events.items.[INDEX].oneOf.2.objectData.items.[INDEX].quantity","typeLabel":"integer\u003cint32>"},"queryID":{"type":"string","pattern":"[0-9a-f]{32}","minLength":32,"maxLength":32,"description":"Unique identifier for a search query, used to track purchase events with multiple records that originate from different searches.","example":"3e48cd0616e466948dd85abf5c3fbbe2","uniqueKey":"events.items.[INDEX].oneOf.2.objectData.items.[INDEX].queryID","typeLabel":"string"}},"uniqueKey":"events.items.[INDEX].oneOf.2.objectData.items.[INDEX]","typeLabel":"object"},"minItems":1,"maxItems":20,"isRequired":true,"uniqueKey":"events.items.[INDEX].oneOf.2.objectData","typeLabel":"object[]"},"objectIDs":{"type":"array","description":"Object IDs of the records that are part of the event.","items":{"type":"string","uniqueKey":"events.items.[INDEX].oneOf.2.objectIDs.items.[INDEX]","typeLabel":"string"},"minItems":1,"maxItems":20,"example":["object-1","object-2","object-3"],"isRequired":true,"uniqueKey":"events.items.[INDEX].oneOf.2.objectIDs","typeLabel":"string[]"},"userToken":{"type":"string","minLength":1,"maxLength":129,"pattern":"[a-zA-Z0-9_=/+-]{1,129}","description":"Anonymous or pseudonymous user identifier.\n\nDon't use personally identifiable information in user tokens.\nFor more information, see [User token](https://www.algolia.com/doc/guides/sending-events/concepts/usertoken).\n","example":"test-user-1","isRequired":true,"uniqueKey":"events.items.[INDEX].oneOf.2.userToken","typeLabel":"string"},"authenticatedUserToken":{"type":"string","minLength":1,"maxLength":129,"pattern":"[a-zA-Z0-9_=/+-]{1,129}","description":"Identifier for authenticated users.\n\nWhen the user signs in, you can get an identifier from your system and send it as `authenticatedUserToken`.\nThis lets you keep using the `userToken` from before the user signed in, while providing a reliable way to identify users across sessions.\nDon't use personally identifiable information in user tokens.\nFor more information, see [User token](https://www.algolia.com/doc/guides/sending-events/concepts/usertoken).\n","example":"c6a52c02-d0c7-4b53-8ce3-2b8fd202f3f9","uniqueKey":"events.items.[INDEX].oneOf.2.authenticatedUserToken","typeLabel":"string"},"currency":{"type":"string","minLength":3,"maxLength":3,"pattern":"^[A-Za-z]{3}$","description":"Three-letter [currency code](https://www.iso.org/iso-4217-currency-codes.html).","example":"EUR","uniqueKey":"events.items.[INDEX].oneOf.2.currency","typeLabel":"string"},"timestamp":{"type":"integer","format":"int64","description":"Timestamp of the event, measured in milliseconds since the Unix epoch. Must be no older than 30 days.\nIf not provided, we use the time at which the request was received.\n","example":1687193127,"uniqueKey":"events.items.[INDEX].oneOf.2.timestamp","typeLabel":"integer\u003cint64>"},"value":{"oneOf":[{"type":"number","description":"Total monetary value of this event in units of `currency`.\nThis should be equal to the sum of `price` times `quantity`.\n","format":"double","example":1000,"uniqueKey":"events.items.[INDEX].oneOf.2.value.oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"string","description":"Total monetary value of this event in units of `currency`.\nThis should be equal to the sum of `price` times `quantity`.\n","maxLength":16,"example":"1000.00","uniqueKey":"events.items.[INDEX].oneOf.2.value.oneOf.1","typeLabel":"string"}],"uniqueKey":"events.items.[INDEX].oneOf.2.value","typeLabel":"number\u003cdouble> | string"}},"uniqueKey":"events.items.[INDEX].oneOf.2","typeLabel":"Purchased object IDs after search · object"},{"type":"object","title":"Converted object IDs after search","description":"Use this event to track when users convert after a previous Algolia request.\nFor example, a user clicks on an item in the search results to view the product detail page.\nThen, the user adds the item to their shopping cart.\n\nIf you're building your category pages with Algolia,\nyou'll also use this event.\n","required":["eventName","eventType","index","objectIDs","queryID","userToken"],"x-discriminator-fields":["queryID","eventType"],"properties":{"eventName":{"type":"string","minLength":1,"maxLength":64,"pattern":"[\\x20-\\x7E]{1,64}","description":"Event name, up to 64 ASCII characters.\n\nConsider naming events consistently—for example, by adopting Segment's\n[object-action](https://segment.com/academy/collecting-data/naming-conventions-for-clean-data/#the-object-action-framework)\nframework.\n","isRequired":true,"uniqueKey":"events.items.[INDEX].oneOf.3.eventName","typeLabel":"string"},"eventType":{"type":"string","enum":["conversion"],"isRequired":true,"uniqueKey":"events.items.[INDEX].oneOf.3.eventType","typeLabel":"enum\u003cstring>"},"index":{"type":"string","description":"Index name (case-sensitive) to which the event's items belong.","example":"ALGOLIA_INDEX_NAME","isRequired":true,"uniqueKey":"events.items.[INDEX].oneOf.3.index","typeLabel":"string"},"objectIDs":{"type":"array","description":"Object IDs of the records that are part of the event.","items":{"type":"string","uniqueKey":"events.items.[INDEX].oneOf.3.objectIDs.items.[INDEX]","typeLabel":"string"},"minItems":1,"maxItems":20,"example":["object-1","object-2","object-3"],"isRequired":true,"uniqueKey":"events.items.[INDEX].oneOf.3.objectIDs","typeLabel":"string[]"},"queryID":{"type":"string","pattern":"^([0-9a-f]{32}|message_[!-~]+)$","maxLength":128,"description":"Unique identifier for a search query.\n\nThe query ID is required for events related to search or browse requests.\nIf you add `clickAnalytics: true` as a search request parameter, the query ID is included in the API response.\nFor agentic analytics events, the query ID may be prefixed with `message_` followed by any printable string.\n","examples":["3e48cd0616e466948dd85abf5c3fbbe2","message_my-custom-query-id"],"isRequired":true,"uniqueKey":"events.items.[INDEX].oneOf.3.queryID","typeLabel":"string"},"userToken":{"type":"string","minLength":1,"maxLength":129,"pattern":"[a-zA-Z0-9_=/+-]{1,129}","description":"Anonymous or pseudonymous user identifier.\n\nDon't use personally identifiable information in user tokens.\nFor more information, see [User token](https://www.algolia.com/doc/guides/sending-events/concepts/usertoken).\n","example":"test-user-1","isRequired":true,"uniqueKey":"events.items.[INDEX].oneOf.3.userToken","typeLabel":"string"},"authenticatedUserToken":{"type":"string","minLength":1,"maxLength":129,"pattern":"[a-zA-Z0-9_=/+-]{1,129}","description":"Identifier for authenticated users.\n\nWhen the user signs in, you can get an identifier from your system and send it as `authenticatedUserToken`.\nThis lets you keep using the `userToken` from before the user signed in, while providing a reliable way to identify users across sessions.\nDon't use personally identifiable information in user tokens.\nFor more information, see [User token](https://www.algolia.com/doc/guides/sending-events/concepts/usertoken).\n","example":"c6a52c02-d0c7-4b53-8ce3-2b8fd202f3f9","uniqueKey":"events.items.[INDEX].oneOf.3.authenticatedUserToken","typeLabel":"string"},"timestamp":{"type":"integer","format":"int64","description":"Timestamp of the event, measured in milliseconds since the Unix epoch. Must be no older than 30 days.\nIf not provided, we use the time at which the request was received.\n","example":1687193127,"uniqueKey":"events.items.[INDEX].oneOf.3.timestamp","typeLabel":"integer\u003cint64>"}},"uniqueKey":"events.items.[INDEX].oneOf.3","typeLabel":"Converted object IDs after search · object"},{"type":"object","title":"Clicked object IDs","description":"Use this event to track when users click items unrelated to a previous Algolia request.\nFor example, if you don't use Algolia to build your category pages, use this event.\n\nTo track click events related to Algolia requests, use the \"Clicked object IDs after search\" event.\n","required":["eventName","eventType","index","objectIDs","userToken"],"x-discriminator-fields":["eventType","objectIDs"],"properties":{"eventName":{"type":"string","minLength":1,"maxLength":64,"pattern":"[\\x20-\\x7E]{1,64}","description":"Event name, up to 64 ASCII characters.\n\nConsider naming events consistently—for example, by adopting Segment's\n[object-action](https://segment.com/academy/collecting-data/naming-conventions-for-clean-data/#the-object-action-framework)\nframework.\n","isRequired":true,"uniqueKey":"events.items.[INDEX].oneOf.4.eventName","typeLabel":"string"},"eventType":{"type":"string","enum":["click"],"isRequired":true,"uniqueKey":"events.items.[INDEX].oneOf.4.eventType","typeLabel":"enum\u003cstring>"},"index":{"type":"string","description":"Index name (case-sensitive) to which the event's items belong.","example":"ALGOLIA_INDEX_NAME","isRequired":true,"uniqueKey":"events.items.[INDEX].oneOf.4.index","typeLabel":"string"},"objectIDs":{"type":"array","description":"Object IDs of the records that are part of the event.","items":{"type":"string","uniqueKey":"events.items.[INDEX].oneOf.4.objectIDs.items.[INDEX]","typeLabel":"string"},"minItems":1,"maxItems":20,"example":["object-1","object-2","object-3"],"isRequired":true,"uniqueKey":"events.items.[INDEX].oneOf.4.objectIDs","typeLabel":"string[]"},"userToken":{"type":"string","minLength":1,"maxLength":129,"pattern":"[a-zA-Z0-9_=/+-]{1,129}","description":"Anonymous or pseudonymous user identifier.\n\nDon't use personally identifiable information in user tokens.\nFor more information, see [User token](https://www.algolia.com/doc/guides/sending-events/concepts/usertoken).\n","example":"test-user-1","isRequired":true,"uniqueKey":"events.items.[INDEX].oneOf.4.userToken","typeLabel":"string"},"authenticatedUserToken":{"type":"string","minLength":1,"maxLength":129,"pattern":"[a-zA-Z0-9_=/+-]{1,129}","description":"Identifier for authenticated users.\n\nWhen the user signs in, you can get an identifier from your system and send it as `authenticatedUserToken`.\nThis lets you keep using the `userToken` from before the user signed in, while providing a reliable way to identify users across sessions.\nDon't use personally identifiable information in user tokens.\nFor more information, see [User token](https://www.algolia.com/doc/guides/sending-events/concepts/usertoken).\n","example":"c6a52c02-d0c7-4b53-8ce3-2b8fd202f3f9","uniqueKey":"events.items.[INDEX].oneOf.4.authenticatedUserToken","typeLabel":"string"},"timestamp":{"type":"integer","format":"int64","description":"Timestamp of the event, measured in milliseconds since the Unix epoch. Must be no older than 30 days.\nIf not provided, we use the time at which the request was received.\n","example":1687193127,"uniqueKey":"events.items.[INDEX].oneOf.4.timestamp","typeLabel":"integer\u003cint64>"}},"uniqueKey":"events.items.[INDEX].oneOf.4","typeLabel":"Clicked object IDs · object"},{"type":"object","title":"Purchased object IDs","description":"Use this event to track when users make a purchase unrelated to a previous Algolia request. For example, if you don't use Algolia to build your category pages, use this event.\n\nTo track purchase events related to Algolia requests, use the \"Purchased object IDs after search\" event.\n","required":["eventName","eventType","eventSubtype","index","objectIDs","userToken"],"x-discriminator-fields":["eventType","eventSubtype","objectIDs"],"properties":{"eventName":{"type":"string","minLength":1,"maxLength":64,"pattern":"[\\x20-\\x7E]{1,64}","description":"Event name, up to 64 ASCII characters.\n\nConsider naming events consistently—for example, by adopting Segment's\n[object-action](https://segment.com/academy/collecting-data/naming-conventions-for-clean-data/#the-object-action-framework)\nframework.\n","isRequired":true,"uniqueKey":"events.items.[INDEX].oneOf.5.eventName","typeLabel":"string"},"eventSubtype":{"type":"string","enum":["purchase"],"isRequired":true,"uniqueKey":"events.items.[INDEX].oneOf.5.eventSubtype","typeLabel":"enum\u003cstring>"},"eventType":{"type":"string","enum":["conversion"],"isRequired":true,"uniqueKey":"events.items.[INDEX].oneOf.5.eventType","typeLabel":"enum\u003cstring>"},"index":{"type":"string","description":"Index name (case-sensitive) to which the event's items belong.","example":"ALGOLIA_INDEX_NAME","isRequired":true,"uniqueKey":"events.items.[INDEX].oneOf.5.index","typeLabel":"string"},"objectIDs":{"type":"array","description":"Object IDs of the records that are part of the event.","items":{"type":"string","uniqueKey":"events.items.[INDEX].oneOf.5.objectIDs.items.[INDEX]","typeLabel":"string"},"minItems":1,"maxItems":20,"example":["object-1","object-2","object-3"],"isRequired":true,"uniqueKey":"events.items.[INDEX].oneOf.5.objectIDs","typeLabel":"string[]"},"userToken":{"type":"string","minLength":1,"maxLength":129,"pattern":"[a-zA-Z0-9_=/+-]{1,129}","description":"Anonymous or pseudonymous user identifier.\n\nDon't use personally identifiable information in user tokens.\nFor more information, see [User token](https://www.algolia.com/doc/guides/sending-events/concepts/usertoken).\n","example":"test-user-1","isRequired":true,"uniqueKey":"events.items.[INDEX].oneOf.5.userToken","typeLabel":"string"},"authenticatedUserToken":{"type":"string","minLength":1,"maxLength":129,"pattern":"[a-zA-Z0-9_=/+-]{1,129}","description":"Identifier for authenticated users.\n\nWhen the user signs in, you can get an identifier from your system and send it as `authenticatedUserToken`.\nThis lets you keep using the `userToken` from before the user signed in, while providing a reliable way to identify users across sessions.\nDon't use personally identifiable information in user tokens.\nFor more information, see [User token](https://www.algolia.com/doc/guides/sending-events/concepts/usertoken).\n","example":"c6a52c02-d0c7-4b53-8ce3-2b8fd202f3f9","uniqueKey":"events.items.[INDEX].oneOf.5.authenticatedUserToken","typeLabel":"string"},"currency":{"type":"string","minLength":3,"maxLength":3,"pattern":"^[A-Za-z]{3}$","description":"Three-letter [currency code](https://www.iso.org/iso-4217-currency-codes.html).","example":"EUR","uniqueKey":"events.items.[INDEX].oneOf.5.currency","typeLabel":"string"},"objectData":{"type":"array","description":"Extra information about the records involved in a purchase or add-to-cart event.\n\nIf specified, it must have the same length as `objectIDs`.\n","items":{"type":"object","additionalProperties":false,"properties":{"discount":{"oneOf":[{"type":"number","description":"Absolute value of the discount for this product, in units of `currency`.","format":"double","example":20,"uniqueKey":"events.items.[INDEX].oneOf.5.objectData.items.[INDEX].discount.oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"string","description":"Absolute value of the discount for this product, in units of `currency`.","example":"20","uniqueKey":"events.items.[INDEX].oneOf.5.objectData.items.[INDEX].discount.oneOf.1","typeLabel":"string"}],"uniqueKey":"events.items.[INDEX].oneOf.5.objectData.items.[INDEX].discount","typeLabel":"number\u003cdouble> | string"},"price":{"oneOf":[{"type":"number","description":"Final price of a single product, including any discounts, in units of `currency`.","format":"double","example":9.99,"uniqueKey":"events.items.[INDEX].oneOf.5.objectData.items.[INDEX].price.oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"string","description":"Final price of a single product, including any discounts, in units of `currency`.","example":"9.99","uniqueKey":"events.items.[INDEX].oneOf.5.objectData.items.[INDEX].price.oneOf.1","typeLabel":"string"}],"uniqueKey":"events.items.[INDEX].oneOf.5.objectData.items.[INDEX].price","typeLabel":"number\u003cdouble> | string"},"quantity":{"type":"integer","format":"int32","example":2,"description":"Quantity of a product that has been purchased or added to the cart.\nThe total purchase value is the sum of `quantity` multiplied with the `price` for each purchased item.\n","uniqueKey":"events.items.[INDEX].oneOf.5.objectData.items.[INDEX].quantity","typeLabel":"integer\u003cint32>"}},"uniqueKey":"events.items.[INDEX].oneOf.5.objectData.items.[INDEX]","typeLabel":"object"},"minItems":1,"maxItems":20,"uniqueKey":"events.items.[INDEX].oneOf.5.objectData","typeLabel":"object[]"},"timestamp":{"type":"integer","format":"int64","description":"Timestamp of the event, measured in milliseconds since the Unix epoch. Must be no older than 30 days.\nIf not provided, we use the time at which the request was received.\n","example":1687193127,"uniqueKey":"events.items.[INDEX].oneOf.5.timestamp","typeLabel":"integer\u003cint64>"},"value":{"oneOf":[{"type":"number","description":"Total monetary value of this event in units of `currency`.\nThis should be equal to the sum of `price` times `quantity`.\n","format":"double","example":1000,"uniqueKey":"events.items.[INDEX].oneOf.5.value.oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"string","description":"Total monetary value of this event in units of `currency`.\nThis should be equal to the sum of `price` times `quantity`.\n","maxLength":16,"example":"1000.00","uniqueKey":"events.items.[INDEX].oneOf.5.value.oneOf.1","typeLabel":"string"}],"uniqueKey":"events.items.[INDEX].oneOf.5.value","typeLabel":"number\u003cdouble> | string"}},"uniqueKey":"events.items.[INDEX].oneOf.5","typeLabel":"Purchased object IDs · object"},{"type":"object","title":"Added to cart object IDs","description":"Use this event to track when users add items to their shopping cart unrelated to a previous Algolia request. For example, if you don't use Algolia to build your category pages, use this event.\n\nTo track add-to-cart events related to Algolia requests, use the \"Added to cart object IDs after search\" event.\n","required":["eventName","eventType","eventSubtype","index","objectIDs","userToken"],"x-discriminator-fields":["eventType","eventSubtype","objectIDs"],"properties":{"eventName":{"type":"string","minLength":1,"maxLength":64,"pattern":"[\\x20-\\x7E]{1,64}","description":"Event name, up to 64 ASCII characters.\n\nConsider naming events consistently—for example, by adopting Segment's\n[object-action](https://segment.com/academy/collecting-data/naming-conventions-for-clean-data/#the-object-action-framework)\nframework.\n","isRequired":true,"uniqueKey":"events.items.[INDEX].oneOf.6.eventName","typeLabel":"string"},"eventSubtype":{"type":"string","enum":["addToCart"],"isRequired":true,"uniqueKey":"events.items.[INDEX].oneOf.6.eventSubtype","typeLabel":"enum\u003cstring>"},"eventType":{"type":"string","enum":["conversion"],"isRequired":true,"uniqueKey":"events.items.[INDEX].oneOf.6.eventType","typeLabel":"enum\u003cstring>"},"index":{"type":"string","description":"Index name (case-sensitive) to which the event's items belong.","example":"ALGOLIA_INDEX_NAME","isRequired":true,"uniqueKey":"events.items.[INDEX].oneOf.6.index","typeLabel":"string"},"objectIDs":{"type":"array","description":"Object IDs of the records that are part of the event.","items":{"type":"string","uniqueKey":"events.items.[INDEX].oneOf.6.objectIDs.items.[INDEX]","typeLabel":"string"},"minItems":1,"maxItems":20,"example":["object-1","object-2","object-3"],"isRequired":true,"uniqueKey":"events.items.[INDEX].oneOf.6.objectIDs","typeLabel":"string[]"},"userToken":{"type":"string","minLength":1,"maxLength":129,"pattern":"[a-zA-Z0-9_=/+-]{1,129}","description":"Anonymous or pseudonymous user identifier.\n\nDon't use personally identifiable information in user tokens.\nFor more information, see [User token](https://www.algolia.com/doc/guides/sending-events/concepts/usertoken).\n","example":"test-user-1","isRequired":true,"uniqueKey":"events.items.[INDEX].oneOf.6.userToken","typeLabel":"string"},"authenticatedUserToken":{"type":"string","minLength":1,"maxLength":129,"pattern":"[a-zA-Z0-9_=/+-]{1,129}","description":"Identifier for authenticated users.\n\nWhen the user signs in, you can get an identifier from your system and send it as `authenticatedUserToken`.\nThis lets you keep using the `userToken` from before the user signed in, while providing a reliable way to identify users across sessions.\nDon't use personally identifiable information in user tokens.\nFor more information, see [User token](https://www.algolia.com/doc/guides/sending-events/concepts/usertoken).\n","example":"c6a52c02-d0c7-4b53-8ce3-2b8fd202f3f9","uniqueKey":"events.items.[INDEX].oneOf.6.authenticatedUserToken","typeLabel":"string"},"currency":{"type":"string","minLength":3,"maxLength":3,"pattern":"^[A-Za-z]{3}$","description":"Three-letter [currency code](https://www.iso.org/iso-4217-currency-codes.html).","example":"EUR","uniqueKey":"events.items.[INDEX].oneOf.6.currency","typeLabel":"string"},"objectData":{"type":"array","description":"Extra information about the records involved in a purchase or add-to-cart event.\n\nIf specified, it must have the same length as `objectIDs`.\n","items":{"type":"object","additionalProperties":false,"properties":{"discount":{"oneOf":[{"type":"number","description":"Absolute value of the discount for this product, in units of `currency`.","format":"double","example":20,"uniqueKey":"events.items.[INDEX].oneOf.6.objectData.items.[INDEX].discount.oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"string","description":"Absolute value of the discount for this product, in units of `currency`.","example":"20","uniqueKey":"events.items.[INDEX].oneOf.6.objectData.items.[INDEX].discount.oneOf.1","typeLabel":"string"}],"uniqueKey":"events.items.[INDEX].oneOf.6.objectData.items.[INDEX].discount","typeLabel":"number\u003cdouble> | string"},"price":{"oneOf":[{"type":"number","description":"Final price of a single product, including any discounts, in units of `currency`.","format":"double","example":9.99,"uniqueKey":"events.items.[INDEX].oneOf.6.objectData.items.[INDEX].price.oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"string","description":"Final price of a single product, including any discounts, in units of `currency`.","example":"9.99","uniqueKey":"events.items.[INDEX].oneOf.6.objectData.items.[INDEX].price.oneOf.1","typeLabel":"string"}],"uniqueKey":"events.items.[INDEX].oneOf.6.objectData.items.[INDEX].price","typeLabel":"number\u003cdouble> | string"},"quantity":{"type":"integer","format":"int32","example":2,"description":"Quantity of a product that has been purchased or added to the cart.\nThe total purchase value is the sum of `quantity` multiplied with the `price` for each purchased item.\n","uniqueKey":"events.items.[INDEX].oneOf.6.objectData.items.[INDEX].quantity","typeLabel":"integer\u003cint32>"}},"uniqueKey":"events.items.[INDEX].oneOf.6.objectData.items.[INDEX]","typeLabel":"object"},"minItems":1,"maxItems":20,"uniqueKey":"events.items.[INDEX].oneOf.6.objectData","typeLabel":"object[]"},"timestamp":{"type":"integer","format":"int64","description":"Timestamp of the event, measured in milliseconds since the Unix epoch. Must be no older than 30 days.\nIf not provided, we use the time at which the request was received.\n","example":1687193127,"uniqueKey":"events.items.[INDEX].oneOf.6.timestamp","typeLabel":"integer\u003cint64>"},"value":{"oneOf":[{"type":"number","description":"Total monetary value of this event in units of `currency`.\nThis should be equal to the sum of `price` times `quantity`.\n","format":"double","example":1000,"uniqueKey":"events.items.[INDEX].oneOf.6.value.oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"string","description":"Total monetary value of this event in units of `currency`.\nThis should be equal to the sum of `price` times `quantity`.\n","maxLength":16,"example":"1000.00","uniqueKey":"events.items.[INDEX].oneOf.6.value.oneOf.1","typeLabel":"string"}],"uniqueKey":"events.items.[INDEX].oneOf.6.value","typeLabel":"number\u003cdouble> | string"}},"uniqueKey":"events.items.[INDEX].oneOf.6","typeLabel":"Added to cart object IDs · object"},{"type":"object","title":"Converted object IDs","description":"Use this event to track when users convert on items unrelated to a previous Algolia request.\nFor example, if you don't use Algolia to build your category pages, use this event.\n\nTo track conversion events related to Algolia requests, use the \"Converted object IDs after search\" event.\n","required":["eventName","eventType","index","objectIDs","userToken"],"x-discriminator-fields":["eventType","objectIDs"],"properties":{"eventName":{"type":"string","minLength":1,"maxLength":64,"pattern":"[\\x20-\\x7E]{1,64}","description":"Event name, up to 64 ASCII characters.\n\nConsider naming events consistently—for example, by adopting Segment's\n[object-action](https://segment.com/academy/collecting-data/naming-conventions-for-clean-data/#the-object-action-framework)\nframework.\n","isRequired":true,"uniqueKey":"events.items.[INDEX].oneOf.7.eventName","typeLabel":"string"},"eventType":{"type":"string","enum":["conversion"],"isRequired":true,"uniqueKey":"events.items.[INDEX].oneOf.7.eventType","typeLabel":"enum\u003cstring>"},"index":{"type":"string","description":"Index name (case-sensitive) to which the event's items belong.","example":"ALGOLIA_INDEX_NAME","isRequired":true,"uniqueKey":"events.items.[INDEX].oneOf.7.index","typeLabel":"string"},"objectIDs":{"type":"array","description":"Object IDs of the records that are part of the event.","items":{"type":"string","uniqueKey":"events.items.[INDEX].oneOf.7.objectIDs.items.[INDEX]","typeLabel":"string"},"minItems":1,"maxItems":20,"example":["object-1","object-2","object-3"],"isRequired":true,"uniqueKey":"events.items.[INDEX].oneOf.7.objectIDs","typeLabel":"string[]"},"userToken":{"type":"string","minLength":1,"maxLength":129,"pattern":"[a-zA-Z0-9_=/+-]{1,129}","description":"Anonymous or pseudonymous user identifier.\n\nDon't use personally identifiable information in user tokens.\nFor more information, see [User token](https://www.algolia.com/doc/guides/sending-events/concepts/usertoken).\n","example":"test-user-1","isRequired":true,"uniqueKey":"events.items.[INDEX].oneOf.7.userToken","typeLabel":"string"},"authenticatedUserToken":{"type":"string","minLength":1,"maxLength":129,"pattern":"[a-zA-Z0-9_=/+-]{1,129}","description":"Identifier for authenticated users.\n\nWhen the user signs in, you can get an identifier from your system and send it as `authenticatedUserToken`.\nThis lets you keep using the `userToken` from before the user signed in, while providing a reliable way to identify users across sessions.\nDon't use personally identifiable information in user tokens.\nFor more information, see [User token](https://www.algolia.com/doc/guides/sending-events/concepts/usertoken).\n","example":"c6a52c02-d0c7-4b53-8ce3-2b8fd202f3f9","uniqueKey":"events.items.[INDEX].oneOf.7.authenticatedUserToken","typeLabel":"string"},"timestamp":{"type":"integer","format":"int64","description":"Timestamp of the event, measured in milliseconds since the Unix epoch. Must be no older than 30 days.\nIf not provided, we use the time at which the request was received.\n","example":1687193127,"uniqueKey":"events.items.[INDEX].oneOf.7.timestamp","typeLabel":"integer\u003cint64>"}},"uniqueKey":"events.items.[INDEX].oneOf.7","typeLabel":"Converted object IDs · object"},{"type":"object","title":"Clicked filters","description":"Use this event to track when users click facet filters in your user interface.","required":["eventName","eventType","index","filters","userToken"],"x-discriminator-fields":["eventType","filters"],"properties":{"eventName":{"type":"string","minLength":1,"maxLength":64,"pattern":"[\\x20-\\x7E]{1,64}","description":"Event name, up to 64 ASCII characters.\n\nConsider naming events consistently—for example, by adopting Segment's\n[object-action](https://segment.com/academy/collecting-data/naming-conventions-for-clean-data/#the-object-action-framework)\nframework.\n","isRequired":true,"uniqueKey":"events.items.[INDEX].oneOf.8.eventName","typeLabel":"string"},"eventType":{"type":"string","enum":["click"],"isRequired":true,"uniqueKey":"events.items.[INDEX].oneOf.8.eventType","typeLabel":"enum\u003cstring>"},"filters":{"type":"array","description":"Applied facet filters.\n\nFacet filters are `facet:value` pairs.\nFacet values must be URL-encoded, such as, `discount:10%25`.\n","items":{"type":"string","uniqueKey":"events.items.[INDEX].oneOf.8.filters.items.[INDEX]","typeLabel":"string"},"minItems":1,"maxItems":20,"example":["brand:apple"],"isRequired":true,"uniqueKey":"events.items.[INDEX].oneOf.8.filters","typeLabel":"string[]"},"index":{"type":"string","description":"Index name (case-sensitive) to which the event's items belong.","example":"ALGOLIA_INDEX_NAME","isRequired":true,"uniqueKey":"events.items.[INDEX].oneOf.8.index","typeLabel":"string"},"userToken":{"type":"string","minLength":1,"maxLength":129,"pattern":"[a-zA-Z0-9_=/+-]{1,129}","description":"Anonymous or pseudonymous user identifier.\n\nDon't use personally identifiable information in user tokens.\nFor more information, see [User token](https://www.algolia.com/doc/guides/sending-events/concepts/usertoken).\n","example":"test-user-1","isRequired":true,"uniqueKey":"events.items.[INDEX].oneOf.8.userToken","typeLabel":"string"},"authenticatedUserToken":{"type":"string","minLength":1,"maxLength":129,"pattern":"[a-zA-Z0-9_=/+-]{1,129}","description":"Identifier for authenticated users.\n\nWhen the user signs in, you can get an identifier from your system and send it as `authenticatedUserToken`.\nThis lets you keep using the `userToken` from before the user signed in, while providing a reliable way to identify users across sessions.\nDon't use personally identifiable information in user tokens.\nFor more information, see [User token](https://www.algolia.com/doc/guides/sending-events/concepts/usertoken).\n","example":"c6a52c02-d0c7-4b53-8ce3-2b8fd202f3f9","uniqueKey":"events.items.[INDEX].oneOf.8.authenticatedUserToken","typeLabel":"string"},"timestamp":{"type":"integer","format":"int64","description":"Timestamp of the event, measured in milliseconds since the Unix epoch. Must be no older than 30 days.\nIf not provided, we use the time at which the request was received.\n","example":1687193127,"uniqueKey":"events.items.[INDEX].oneOf.8.timestamp","typeLabel":"integer\u003cint64>"}},"uniqueKey":"events.items.[INDEX].oneOf.8","typeLabel":"Clicked filters · object"},{"type":"object","title":"Converted filters","required":["eventName","eventType","index","filters","userToken"],"x-discriminator-fields":["eventType","filters"],"properties":{"eventName":{"type":"string","minLength":1,"maxLength":64,"pattern":"[\\x20-\\x7E]{1,64}","description":"Event name, up to 64 ASCII characters.\n\nConsider naming events consistently—for example, by adopting Segment's\n[object-action](https://segment.com/academy/collecting-data/naming-conventions-for-clean-data/#the-object-action-framework)\nframework.\n","isRequired":true,"uniqueKey":"events.items.[INDEX].oneOf.9.eventName","typeLabel":"string"},"eventType":{"type":"string","enum":["conversion"],"isRequired":true,"uniqueKey":"events.items.[INDEX].oneOf.9.eventType","typeLabel":"enum\u003cstring>"},"filters":{"type":"array","description":"Applied facet filters.\n\nFacet filters are `facet:value` pairs.\nFacet values must be URL-encoded, such as, `discount:10%25`.\n","items":{"type":"string","uniqueKey":"events.items.[INDEX].oneOf.9.filters.items.[INDEX]","typeLabel":"string"},"minItems":1,"maxItems":20,"example":["brand:apple"],"isRequired":true,"uniqueKey":"events.items.[INDEX].oneOf.9.filters","typeLabel":"string[]"},"index":{"type":"string","description":"Index name (case-sensitive) to which the event's items belong.","example":"ALGOLIA_INDEX_NAME","isRequired":true,"uniqueKey":"events.items.[INDEX].oneOf.9.index","typeLabel":"string"},"userToken":{"type":"string","minLength":1,"maxLength":129,"pattern":"[a-zA-Z0-9_=/+-]{1,129}","description":"Anonymous or pseudonymous user identifier.\n\nDon't use personally identifiable information in user tokens.\nFor more information, see [User token](https://www.algolia.com/doc/guides/sending-events/concepts/usertoken).\n","example":"test-user-1","isRequired":true,"uniqueKey":"events.items.[INDEX].oneOf.9.userToken","typeLabel":"string"},"authenticatedUserToken":{"type":"string","minLength":1,"maxLength":129,"pattern":"[a-zA-Z0-9_=/+-]{1,129}","description":"Identifier for authenticated users.\n\nWhen the user signs in, you can get an identifier from your system and send it as `authenticatedUserToken`.\nThis lets you keep using the `userToken` from before the user signed in, while providing a reliable way to identify users across sessions.\nDon't use personally identifiable information in user tokens.\nFor more information, see [User token](https://www.algolia.com/doc/guides/sending-events/concepts/usertoken).\n","example":"c6a52c02-d0c7-4b53-8ce3-2b8fd202f3f9","uniqueKey":"events.items.[INDEX].oneOf.9.authenticatedUserToken","typeLabel":"string"},"timestamp":{"type":"integer","format":"int64","description":"Timestamp of the event, measured in milliseconds since the Unix epoch. Must be no older than 30 days.\nIf not provided, we use the time at which the request was received.\n","example":1687193127,"uniqueKey":"events.items.[INDEX].oneOf.9.timestamp","typeLabel":"integer\u003cint64>"}},"uniqueKey":"events.items.[INDEX].oneOf.9","typeLabel":"Converted filters · object"},{"type":"object","title":"Viewed object IDs","description":"Use this event to track when users viewed items in the search results.","required":["eventName","eventType","index","objectIDs","userToken"],"x-discriminator-fields":["eventType","objectIDs"],"properties":{"eventName":{"type":"string","minLength":1,"maxLength":64,"pattern":"[\\x20-\\x7E]{1,64}","description":"Event name, up to 64 ASCII characters.\n\nConsider naming events consistently—for example, by adopting Segment's\n[object-action](https://segment.com/academy/collecting-data/naming-conventions-for-clean-data/#the-object-action-framework)\nframework.\n","isRequired":true,"uniqueKey":"events.items.[INDEX].oneOf.10.eventName","typeLabel":"string"},"eventType":{"type":"string","enum":["view"],"isRequired":true,"uniqueKey":"events.items.[INDEX].oneOf.10.eventType","typeLabel":"enum\u003cstring>"},"index":{"type":"string","description":"Index name (case-sensitive) to which the event's items belong.","example":"ALGOLIA_INDEX_NAME","isRequired":true,"uniqueKey":"events.items.[INDEX].oneOf.10.index","typeLabel":"string"},"objectIDs":{"type":"array","description":"Object IDs of the records that are part of the event.","items":{"type":"string","uniqueKey":"events.items.[INDEX].oneOf.10.objectIDs.items.[INDEX]","typeLabel":"string"},"minItems":1,"maxItems":20,"example":["object-1","object-2","object-3"],"isRequired":true,"uniqueKey":"events.items.[INDEX].oneOf.10.objectIDs","typeLabel":"string[]"},"userToken":{"type":"string","minLength":1,"maxLength":129,"pattern":"[a-zA-Z0-9_=/+-]{1,129}","description":"Anonymous or pseudonymous user identifier.\n\nDon't use personally identifiable information in user tokens.\nFor more information, see [User token](https://www.algolia.com/doc/guides/sending-events/concepts/usertoken).\n","example":"test-user-1","isRequired":true,"uniqueKey":"events.items.[INDEX].oneOf.10.userToken","typeLabel":"string"},"authenticatedUserToken":{"type":"string","minLength":1,"maxLength":129,"pattern":"[a-zA-Z0-9_=/+-]{1,129}","description":"Identifier for authenticated users.\n\nWhen the user signs in, you can get an identifier from your system and send it as `authenticatedUserToken`.\nThis lets you keep using the `userToken` from before the user signed in, while providing a reliable way to identify users across sessions.\nDon't use personally identifiable information in user tokens.\nFor more information, see [User token](https://www.algolia.com/doc/guides/sending-events/concepts/usertoken).\n","example":"c6a52c02-d0c7-4b53-8ce3-2b8fd202f3f9","uniqueKey":"events.items.[INDEX].oneOf.10.authenticatedUserToken","typeLabel":"string"},"timestamp":{"type":"integer","format":"int64","description":"Timestamp of the event, measured in milliseconds since the Unix epoch. Must be no older than 30 days.\nIf not provided, we use the time at which the request was received.\n","example":1687193127,"uniqueKey":"events.items.[INDEX].oneOf.10.timestamp","typeLabel":"integer\u003cint64>"}},"uniqueKey":"events.items.[INDEX].oneOf.10","typeLabel":"Viewed object IDs · object"},{"type":"object","title":"Viewed filters","description":"Use this method to capture active filters.\nFor example, when browsing a category page,\nusers see content filtered on that specific category.\n","required":["eventName","eventType","index","filters","userToken"],"x-discriminator-fields":["eventType","filters"],"properties":{"eventName":{"type":"string","minLength":1,"maxLength":64,"pattern":"[\\x20-\\x7E]{1,64}","description":"Event name, up to 64 ASCII characters.\n\nConsider naming events consistently—for example, by adopting Segment's\n[object-action](https://segment.com/academy/collecting-data/naming-conventions-for-clean-data/#the-object-action-framework)\nframework.\n","isRequired":true,"uniqueKey":"events.items.[INDEX].oneOf.11.eventName","typeLabel":"string"},"eventType":{"type":"string","enum":["view"],"isRequired":true,"uniqueKey":"events.items.[INDEX].oneOf.11.eventType","typeLabel":"enum\u003cstring>"},"filters":{"type":"array","description":"Applied facet filters.\n\nFacet filters are `facet:value` pairs.\nFacet values must be URL-encoded, such as, `discount:10%25`.\n","items":{"type":"string","uniqueKey":"events.items.[INDEX].oneOf.11.filters.items.[INDEX]","typeLabel":"string"},"minItems":1,"maxItems":20,"example":["brand:apple"],"isRequired":true,"uniqueKey":"events.items.[INDEX].oneOf.11.filters","typeLabel":"string[]"},"index":{"type":"string","description":"Index name (case-sensitive) to which the event's items belong.","example":"ALGOLIA_INDEX_NAME","isRequired":true,"uniqueKey":"events.items.[INDEX].oneOf.11.index","typeLabel":"string"},"userToken":{"type":"string","minLength":1,"maxLength":129,"pattern":"[a-zA-Z0-9_=/+-]{1,129}","description":"Anonymous or pseudonymous user identifier.\n\nDon't use personally identifiable information in user tokens.\nFor more information, see [User token](https://www.algolia.com/doc/guides/sending-events/concepts/usertoken).\n","example":"test-user-1","isRequired":true,"uniqueKey":"events.items.[INDEX].oneOf.11.userToken","typeLabel":"string"},"authenticatedUserToken":{"type":"string","minLength":1,"maxLength":129,"pattern":"[a-zA-Z0-9_=/+-]{1,129}","description":"Identifier for authenticated users.\n\nWhen the user signs in, you can get an identifier from your system and send it as `authenticatedUserToken`.\nThis lets you keep using the `userToken` from before the user signed in, while providing a reliable way to identify users across sessions.\nDon't use personally identifiable information in user tokens.\nFor more information, see [User token](https://www.algolia.com/doc/guides/sending-events/concepts/usertoken).\n","example":"c6a52c02-d0c7-4b53-8ce3-2b8fd202f3f9","uniqueKey":"events.items.[INDEX].oneOf.11.authenticatedUserToken","typeLabel":"string"},"timestamp":{"type":"integer","format":"int64","description":"Timestamp of the event, measured in milliseconds since the Unix epoch. Must be no older than 30 days.\nIf not provided, we use the time at which the request was received.\n","example":1687193127,"uniqueKey":"events.items.[INDEX].oneOf.11.timestamp","typeLabel":"integer\u003cint64>"}},"uniqueKey":"events.items.[INDEX].oneOf.11","typeLabel":"Viewed filters · object"},{"type":"object","required":["eventName","eventType","userToken"],"x-discriminator-fields":["eventType"],"properties":{"eventName":{"type":"string","minLength":1,"maxLength":64,"pattern":"[\\x20-\\x7E]{1,64}","description":"Event name, up to 64 ASCII characters.\n\nConsider naming events consistently—for example, by adopting Segment's\n[object-action](https://segment.com/academy/collecting-data/naming-conventions-for-clean-data/#the-object-action-framework)\nframework.\n","isRequired":true,"uniqueKey":"events.items.[INDEX].oneOf.12.eventName","typeLabel":"string"},"eventType":{"type":"string","enum":["instantsearch"],"isRequired":true,"uniqueKey":"events.items.[INDEX].oneOf.12.eventType","typeLabel":"enum\u003cstring>"},"userToken":{"type":"string","minLength":1,"maxLength":129,"pattern":"[a-zA-Z0-9_=/+-]{1,129}","description":"Anonymous or pseudonymous user identifier.\n\nDon't use personally identifiable information in user tokens.\nFor more information, see [User token](https://www.algolia.com/doc/guides/sending-events/concepts/usertoken).\n","example":"test-user-1","isRequired":true,"uniqueKey":"events.items.[INDEX].oneOf.12.userToken","typeLabel":"string"},"agentID":{"type":"string","minLength":1,"description":"Unique identifier for an agent session. Used to correlate instantsearch events with a specific agent interaction.\n","example":"agent-session-123","uniqueKey":"events.items.[INDEX].oneOf.12.agentID","typeLabel":"string"},"authenticatedUserToken":{"type":"string","minLength":1,"maxLength":129,"pattern":"[a-zA-Z0-9_=/+-]{1,129}","description":"Identifier for authenticated users.\n\nWhen the user signs in, you can get an identifier from your system and send it as `authenticatedUserToken`.\nThis lets you keep using the `userToken` from before the user signed in, while providing a reliable way to identify users across sessions.\nDon't use personally identifiable information in user tokens.\nFor more information, see [User token](https://www.algolia.com/doc/guides/sending-events/concepts/usertoken).\n","example":"c6a52c02-d0c7-4b53-8ce3-2b8fd202f3f9","uniqueKey":"events.items.[INDEX].oneOf.12.authenticatedUserToken","typeLabel":"string"},"timestamp":{"type":"integer","format":"int64","description":"Timestamp of the event, measured in milliseconds since the Unix epoch. Must be no older than 30 days.\nIf not provided, we use the time at which the request was received.\n","example":1687193127,"uniqueKey":"events.items.[INDEX].oneOf.12.timestamp","typeLabel":"integer\u003cint64>"}},"uniqueKey":"events.items.[INDEX].oneOf.12","typeLabel":"object"}],"uniqueKey":"events.items.[INDEX]","typeLabel":"Clicked object IDs after search · object | Added to cart object IDs after search · object | Purchased object IDs after search · object | Converted object IDs after search · object | Clicked object IDs · object | Purchased object IDs · object | Added to cart object IDs · object | Converted object IDs · object | Clicked filters · object | Converted filters · object | Viewed object IDs · object | Viewed filters · object | object"},"isRequired":true,"uniqueKey":"events","typeLabel":"(Clicked object IDs after search · object | Added to cart object IDs after search · object | Purchased object IDs after search · object | Converted object IDs after search · object | Clicked object IDs · object | Purchased object IDs · object | Added to cart object IDs · object | Converted object IDs · object | Clicked filters · object | Converted filters · object | Viewed object IDs · object | Viewed filters · object | object)[]"}},"uniqueKey":"","typeLabel":"insightsEvents · object"},"examples":{"ClickObjectIDsAfterSearch":{"title":"ClickObjectIDsAfterSearch","value":{"events":[{"eventName":"Products Clicked","eventType":"click","index":"test-index","userToken":"anonymous-user-1","authenticatedUserToken":"user-1","objectIDs":["object-1"],"positions":[1],"queryID":"7dfe2ada7bca48bdd0629649df0bee07"}]}},"ConversionObjectIDsAfterSearch":{"title":"ConversionObjectIDsAfterSearch","value":{"events":[{"eventName":"Articles Liked","eventType":"conversion","index":"test-index","userToken":"anonymous-user-1","authenticatedUserToken":"user-1","objectIDs":["article-1"],"queryID":"7dfe2ada7bca48bdd0629649df0bee07"}]}},"AddedToCartAfterSearch":{"title":"AddedToCartAfterSearch","value":{"events":[{"eventName":"Products Added To Cart","eventType":"conversion","eventSubtype":"addToCart","index":"test-index","userToken":"anonymous-user-1","authenticatedUserToken":"user-1","objectIDs":["product-1"],"objectData":[{"price":50,"quantity":1}],"currency":"USD","queryID":"7dfe2ada7bca48bdd0629649df0bee07"}]}},"PurchasedAfterSearch":{"title":"PurchasedAfterSearch","value":{"events":[{"eventName":"Products Purchased","eventType":"conversion","eventSubtype":"purchase","index":"test-index","userToken":"anonymous-user-1","authenticatedUserToken":"user-1","objectIDs":["product-1","product-2"],"objectData":[{"price":49.99,"discount":1.99,"quantity":1,"queryID":"7dfe2ada7bca48bdd0629649df0bee07"},{"price":9.99,"discount":0,"quantity":2,"queryID":"54ed4c9d94050a25e4e5ccf5d256ca42"}],"value":69.97,"currency":"USD"}]}},"ClickObjectIDs":{"title":"ClickObjectIDs","value":{"events":[{"eventName":"Products Clicked","eventType":"click","index":"test-index","userToken":"anonymous-user-1","authenticatedUserToken":"user-1","objectIDs":["object-1"]}]}},"ConversionObjectIDs":{"title":"ConversionObjectIDs","value":{"events":[{"eventName":"Products Added To Cart","eventType":"conversion","index":"test-index","userToken":"anonymous-user-1","authenticatedUserToken":"user-1","objectIDs":["object-1"]}]}},"AddedToCart":{"title":"AddedToCart","value":{"events":[{"eventName":"Products Added To Cart","eventType":"conversion","eventSubtype":"addToCart","index":"test-index","userToken":"anonymous-user-1","authenticatedUserToken":"user-1","objectIDs":["product-1"],"objectData":[{"price":19.99,"quantity":1}],"currency":"EUR"}]}},"Purchased":{"title":"Purchased","value":{"events":[{"eventName":"Products Purchased","eventType":"conversion","eventSubtype":"purchase","index":"test-index","userToken":"anonymous-user-1","authenticatedUserToken":"user-1","objectIDs":["product-1","product-2"],"objectData":[{"price":49.99,"quantity":1},{"price":9.99,"quantity":2}],"currency":"USD","value":69.97}]}},"ClickFilter":{"title":"ClickFilter","value":{"events":[{"eventName":"Category Clicked","eventType":"click","index":"test-index","userToken":"anonymous-user-1","authenticatedUserToken":"user-1","filters":["category:books"]}]}},"ConversionFilter":{"title":"ConversionFilter","value":{"events":[{"eventName":"Category Converted","eventType":"conversion","index":"test-index","userToken":"anonymous-user-1","authenticatedUserToken":"user-1","filters":["category:books"]}]}},"ViewObjectIDs":{"title":"ViewObjectIDs","value":{"events":[{"eventName":"Products Viewed","eventType":"view","index":"test-index","userToken":"anonymous-user-1","authenticatedUserToken":"user-1","objectIDs":["object-1"]}]}},"ViewFilters":{"title":"ViewFilters","value":{"events":[{"eventName":"Category Viewed","eventType":"view","index":"test-index","userToken":"anonymous-user-1","authenticatedUserToken":"user-1","filters":["category:books"]}]}},"InstantsearchMinimum":{"title":"InstantsearchMinimum","description":"Minimum valid instantsearch event for agentic analytics telemetry.\n","value":{"events":[{"eventName":"Instantsearch Telemetry","eventType":"instantsearch","userToken":"anonymous-user-1"}]}},"InstantsearchWithAgentID":{"title":"InstantsearchWithAgentID","description":"Instantsearch event with agentID to correlate events within a single agent session.\n","value":{"events":[{"eventName":"Instantsearch Telemetry","eventType":"instantsearch","userToken":"anonymous-user-1","agentID":"agent-session-123"}]}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"34691eb2-3866-4722-a890-44d9dd24ffb1":{"description":"OK","content":{"application/json":{"schema":{"type":"object","description":"The response of the Insights API.","additionalProperties":false,"properties":{"message":{"type":"string","description":"Details about the response, such as error messages.","uniqueKey":"message","typeLabel":"string"},"status":{"type":"integer","description":"The HTTP status code of the response.","uniqueKey":"status","typeLabel":"integer"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Success":{"title":"Success","description":"Success indicates that the Insights API received the events correctly, and that event properties are formatted correctly. Success doesn't imply that the event can be used by any Algolia feature. For example, the Insights API doesn't check if the index name you provided exists, or if the object IDs exist in your index.","value":{"status":200,"message":"OK"}}},"exampleType":"examples"}},"exampleType":"examples"},"c1ce9830-e1a7-4e7e-a111-d61e281b5b6f":{"description":"Bad Request.","content":{"text/html":{"schema":{"type":"string","title":"HTML","uniqueKey":"","typeLabel":"string"},"examples":{"BadRequest":{"title":"BadRequest","description":"This error doesn't return a JSON object, but HTML.","value":"Error: Bad Request. Your client has issued a malformed or illegal request."}},"exampleType":"examples"}},"exampleType":"examples"},"7a0f063f-4b39-4782-a0a5-eed40535884c":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","description":"The response of the Insights API.","additionalProperties":false,"properties":{"message":{"type":"string","description":"Details about the response, such as error messages.","uniqueKey":"message","typeLabel":"string"},"status":{"type":"integer","description":"The HTTP status code of the response.","uniqueKey":"status","typeLabel":"integer"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Unauthorized":{"title":"Unauthorized","description":"You need to provide your application ID using the `X-Algolia-Application-ID` header and your (search) API key with the `X-Algolia-API-Key` header.","value":{"status":401,"message":"Invalid credentials"}}},"exampleType":"examples"}},"exampleType":"examples"},"cc811360-49d9-4c47-9369-555c4de65c98":{"description":"Not Found.","content":{"application/json":{"schema":{"type":"object","description":"The response of the Insights API.","additionalProperties":false,"properties":{"message":{"type":"string","description":"Details about the response, such as error messages.","uniqueKey":"message","typeLabel":"string"},"status":{"type":"integer","description":"The HTTP status code of the response.","uniqueKey":"status","typeLabel":"integer"}},"uniqueKey":"","typeLabel":"object"},"examples":{"NotFound":{"title":"NotFound","description":"Check that you're using the correct URL.","value":{"status":404,"message":"Path not supported by Insights REST API. Please have a look at [https://www.algolia.com/doc/rest-api/insights/](https://www.algolia.com/doc/rest-api/insights) for the list of valid commands."}}},"exampleType":"examples"}},"exampleType":"examples"},"ca4f5dda-321d-42c2-a518-6f7c0620ca73":{"description":"Method Not Allowed.","content":{"application/json":{"schema":{"type":"object","description":"The response of the Insights API.","additionalProperties":false,"properties":{"message":{"type":"string","description":"Details about the response, such as error messages.","uniqueKey":"message","typeLabel":"string"},"status":{"type":"integer","description":"The HTTP status code of the response.","uniqueKey":"status","typeLabel":"integer"}},"uniqueKey":"","typeLabel":"object"},"examples":{"MethodNotAllowed":{"title":"MethodNotAllowed","description":"Check, that you send events with the `POST` method.","value":{"status":405,"message":"Method Not Allowed"}}},"exampleType":"examples"}},"exampleType":"examples"},"ee690793-93e0-40a7-8956-86a094e911ac":{"description":"Payload Too Large.","content":{"application/json":{"schema":{"type":"object","description":"The response of the Insights API.","additionalProperties":false,"properties":{"message":{"type":"string","description":"Details about the response, such as error messages.","uniqueKey":"message","typeLabel":"string"},"status":{"type":"integer","description":"The HTTP status code of the response.","uniqueKey":"status","typeLabel":"integer"}},"uniqueKey":"","typeLabel":"object"},"examples":{"PayloadTooLarge":{"title":"PayloadTooLarge","value":{"status":413,"message":"Request Entity Too Large"}}},"exampleType":"examples"}},"exampleType":"examples"},"b03608fd-c76d-4819-b8c5-8ec00bec83f0":{"description":"Unprocessable Entity.","content":{"application/json":{"schema":{"type":"object","description":"The response of the Insights API.","additionalProperties":false,"properties":{"message":{"type":"string","description":"Details about the response, such as error messages.","uniqueKey":"message","typeLabel":"string"},"status":{"type":"integer","description":"The HTTP status code of the response.","uniqueKey":"status","typeLabel":"integer"}},"uniqueKey":"","typeLabel":"object"},"examples":{"InvalidPayload":{"title":"InvalidPayload","value":{"status":422,"message":"Invalid payload"}},"NoEvents":{"title":"NoEvents","description":"This can happen if you're sending an empty `events` array, or if you try to send a single event object instead of the `events` array.","value":{"status":422,"message":"No events to process"}},"NoEventsField":{"title":"NoEventsField","description":"This can happen if you try to send an array of events directly instead of using the `events` attribute.","value":{"status":422,"message":"Invalid type for field : expected insights.PublicEventsBatch, got array"}},"EventNameRequired":{"title":"EventNameRequired","value":{"status":422,"message":"EventName is required"}},"WrongEventName":{"title":"WrongEventName","value":{"status":422,"message":"EventName must contain only visible ASCII characters, and be between 1 and 64 characters long"}},"EventTypeRequired":{"title":"EventTypeRequired","value":{"status":422,"message":"EventType is required"}},"WrongEventType":{"title":"WrongEventType","value":{"status":422,"message":"EventType must be one of \"click\", \"conversion\", \"view\" or \"instantsearch\""}},"IndexRequired":{"title":"IndexRequired","value":{"status":422,"message":"The index field is required"}},"UserTokenRequired":{"title":"UserTokenRequired","value":{"status":422,"message":"The userToken field is required"}},"WrongUserToken":{"title":"WrongUserToken","value":{"status":422,"message":"UserToken must contain only alphanumeric, equal, plus, slash, hyphen, or underscore characters, and be between 1 and 128 characters long"}},"NoObjectIDsOrFilters":{"title":"NoObjectIDsOrFilters","description":"Each event must include either the `objectIDs` or `filters` attribute.","value":{"status":422,"message":"Event should specify either some ObjectIDs or some Filters"}},"BothDefined":{"title":"BothDefined","value":{"status":422,"message":"Event should specify ObjectIDs or Filters, but not both"}},"PositionsOnWrongEventType":{"title":"PositionsOnWrongEventType","value":{"status":422,"message":"Only event of type click should specify the positions attribute"}},"PositionsWithoutQueryID":{"title":"PositionsWithoutQueryID","description":"Click events with the `positions` attribute require the `queryID` attribute.","value":{"status":422,"message":"Event of type click with positions should specify a queryID"}},"WrongPositionsValue":{"title":"WrongPositionsValue","description":"Any value in the `positions` array must be greater than 0.","value":{"status":422,"message":"Event of type click may only have strictly positive positions"}},"WrongPositionsItems":{"title":"WrongPositionsItems","description":"For click events with the `queryID` and `objectIDs` attributes, you must include the `positions` attribute with the same number of items as the `objectIDs` attribute.","value":{"status":422,"message":"Event of type click should have the same number of ObjectIDs and Positions"}},"WrongQueryID":{"title":"WrongQueryID","value":{"status":422,"message":"Query ID must be a search query ID (32 characters hexadecimal string)"}},"InvalidDataType":{"title":"InvalidDataType","description":"This can happen if one or more attribute is a number instead of a string.","value":{"status":422,"message":"Invalid type for field events: expected string, got number"}},"InvalidTimestamp":{"title":"InvalidTimestamp","value":{"status":422,"message":"The timestamp is too far in the past"}},"TooManyEvents":{"title":"TooManyEvents","description":"You can include up to 1,000 events in a single API request.","value":{"status":422,"message":"Cannot process more than 1000 events in a batch"}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"4e5b1d32-e9de-4970-a1b0-c2b2814c897c":{"appId":{"type":"apiKey","in":"header","name":"x-algolia-application-id","description":"Your Algolia application ID.","scopes":[]},"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":[]}}},"servers":{"01c77f84-f02f-4dbe-bcb9-2137ab497238":{"url":"https://insights.{region}.algolia.io","variables":{"region":{"description":"The region where your Algolia application is hosted.","enum":["us","de"],"default":"us"}}},"61825649-8b77-487f-a175-7872321242e9":{"url":"https://insights.algolia.io"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"x-algolia-application-id","description":"Your Algolia application ID.","scopes":[]},"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":[]},"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/insights.yml"},"subdomain":"algolia","siteName":"Algolia","title":"Send events - Algolia","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-03-23T09:45:05.455Z","gitLastModified":"2026-03-23T09:42:41.000Z","originalFileLocation":"doc/rest-api/insights/push-events.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=\"Sends a list of events to the Insights API.\">\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=\"Send events - Algolia\">\u003cmeta data-mint-head property=\"og:description\" content=\"Sends a list of events to the Insights API.\">\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/insights/push-events\">\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=Insights+API\u0026amp;title=Send+events\u0026amp;description=Sends+a+list+of+events+to+the+Insights+API.\u0026amp;theme=7b696fa6ef3d890ba8a17746\u0026amp;signature=7c58562cd28fa2c925eb52cae9efaa3fce7843cbb8ef30756179fd03558cafdc\">\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=\"Send events - Algolia\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Sends a list of events to the Insights API.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://algolia.mintlify.site/_mintlify/api/og/v2?division=Insights+API\u0026amp;title=Send+events\u0026amp;description=Sends+a+list+of+events+to+the+Insights+API.\u0026amp;theme=7b696fa6ef3d890ba8a17746\u0026amp;signature=7c58562cd28fa2c925eb52cae9efaa3fce7843cbb8ef30756179fd03558cafdc\">\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/insights/push-events\">\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/insights/push-events.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/insights/push-events#webpage\",\"url\":\"https://www.algolia.com/doc/rest-api/insights/push-events\",\"name\":\"Send events\",\"description\":\"Sends a list of events to the Insights API.\",\"dateModified\":\"2026-03-23T09:42:41.000Z\",\"isPartOf\":{\"@id\":\"https://www.algolia.com#website\"},\"breadcrumb\":{\"@id\":\"https://www.algolia.com/doc/rest-api/insights/push-events#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://www.algolia.com/doc/rest-api/insights/push-events#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Insights API\",\"item\":\"https://www.algolia.com/doc/rest-api/insights\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Send events\",\"item\":\"https://www.algolia.com/doc/rest-api/insights/push-events\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://www.algolia.com/doc/rest-api/insights/push-events#apireference\",\"headline\":\"Send events\",\"name\":\"Send events\",\"description\":\"Sends a list of events to the Insights API.\",\"url\":\"https://www.algolia.com/doc/rest-api/insights/push-events\",\"mainEntityOfPage\":{\"@id\":\"https://www.algolia.com/doc/rest-api/insights/push-events#webpage\"},\"dateModified\":\"2026-03-23T09:42:41.000Z\",\"publisher\":{\"@id\":\"https://www.algolia.com/#organization\"},\"isPartOf\":{\"@id\":\"https://www.algolia.com#website\"}}]}\u003c/script>","agentPointerHref":"/doc/rest-api/insights/push-events.md","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","pages":[{"title":"Composition","href":"/doc/rest-api/composition"}]},{"item":"Crawler","pages":[{"title":"Crawler","href":"/doc/rest-api/crawler"}]},{"item":"Ingestion","pages":[{"title":"Ingestion","href":"/doc/rest-api/ingestion"}]},{"item":"Insights","groups":[{"group":"Insights API","icon":"code","pages":[{"title":"Insights API","sidebarTitle":"Overview","description":"The Insights API lets you collect events related to your search and discovery experience","href":"/doc/rest-api/insights"},{"title":"Send events","openapi":"specs/insights.yml post /1/events","href":"/doc/rest-api/insights/push-events"},{"title":"Delete user token events","description":"Deletes all events related to the specified user token from events metrics and analytics.","openapi":"specs/insights.yml delete /1/usertokens/{userToken}","href":"/doc/rest-api/insights/delete-user-token"}]}]},{"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":"Suggested Actions","pages":[{"title":"Suggested Actions","href":"/doc/rest-api/suggested-actions"}]},{"item":"Usage","pages":[{"title":"Usage","href":"/doc/rest-api/usage"}]},{"item":"All APIs","pages":[{"title":"All APIs","href":"/doc/rest-api"}]}]}]},"basePath":"","title":"Send events - Algolia","buildId":"dpl_5tKr6cUUeuVJdEZ9JAEY3h4soMJ8","deploymentId":"dpl_5tKr6cUUeuVJdEZ9JAEY3h4soMJ8","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-DbeN8Wo6.js","utils-CwSb5Doc.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-BmREeM3N.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-AYjWerCj.js","snippetPresets-QD4ULQlp.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-Digj5cjF.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-CiHrzluR.js","shallow-D7h7pFGg.js","getApiPlaygroundDisplay-mlxkpAUf.js","CodeSnippet-D2rH5lZI.js","CodeSnippets-B53ulOaL.js","Page-CqcDm2To.js","getPastedJson-DxGeNMih.js","icon-BHbyrebp.js","MethodPill-C7F_KEEJ.js","DuplicateIcon-j3c5-73z.js","createIcon-OvCnyFqD.js","DynamicMarkdown-DpAS3GCb.js","SectionHeading-DMPpdrvW.js","axios-vUo_bRtp.js","Markdown-D7pDRguu.js","clsx-2_c6mSt_.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-Cu7_SikL.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-ydqCcy4b.js"]}