{ "errCode": "bad_request", "docUrl": "https://api.docs.topsort.com/reference/errors", "message": "could not find the provided resolved bid id"}
Events
Report events
Use the /events endpoint to report user interactions and activity in on a marketplace:
Renders — an ad was rendered in the page.
Impressions — a user viewed an asset.
Clicks — a user clicked on an asset.
Purchases — a user created an order.
Page views — a user visited a page.
Video events — a video ad reached a playback checkpoint or failed to play.
Interactions require either a resolvedBidId, for sponsored events coming from the /v2/auctions response,
or an entity that describes the entity that was interacted with, in the case of organic or non-sponsored events.
For analytics purposes, you can use the placement field to differentiate different listings or banners.
For example, on a product page with a carousel of products, you can track impressions and clicks related to the carousel
by including /carousel at the end of the path field in the placement object. This allows you to monitor
the performance of carousel products in the Data Room.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Topsort Documentation","colors":{"primary":"#0074F7","light":"#8280ff","dark":"#0D9373"},"logo":{"light":"https://mintcdn.com/topsort/FdGgIIxdnNXimeCi/assets/logo-light.svg?fit=max\u0026auto=format\u0026n=FdGgIIxdnNXimeCi\u0026q=85\u0026s=52335392d5233f0542050e8af5c24ef4","dark":"https://mintcdn.com/topsort/FdGgIIxdnNXimeCi/assets/logo-dark.svg?fit=max\u0026auto=format\u0026n=FdGgIIxdnNXimeCi\u0026q=85\u0026s=075f4c9f1ab9d40efecad5a644f360c0"},"favicon":"https://mintcdn.com/topsort/FdGgIIxdnNXimeCi/assets/favicon.png?fit=max\u0026auto=format\u0026n=FdGgIIxdnNXimeCi\u0026q=85\u0026s=ce9becb0a815ae7e2538a5f52f46517d","fonts":{"heading":{"family":"Circular","weight":700,"source":"fonts/CircularStd-Bold.woff2","format":"woff2"},"body":{"family":"Inter"}},"integrations":{"posthog":{"apiKey":"phc_xhC57kj0jUKFieH7EO1GEKaUQixVcPXguqJN4ep6UoQ","apiHost":"https://us.i.posthog.com","sessionRecording":true}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"metadata":{"timestamp":false},"styling":{"latex":true},"navigation":{"languages":[{"language":"en","href":"en/api-reference/introduction"},{"language":"es","href":"es/api-reference/introduction"},{"language":"pt","href":"pt/api-reference/introduction"},{"language":"fr","href":"fr/api-reference/introduction"},{"language":"de","href":"de/api-reference/introduction"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"topsort","hasAudioNarration":false,"actualSubdomain":"topsort","customDomains":["docs.topsort.com"],"gitSource":{"type":"github","owner":"topsort","repo":"mintlify-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"feedback":{"issues":false,"edits":false,"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af5d9d4b0ae2d0cef7a1d0f","clientVersion":"0.0.4111","searchFilterCounts":[{"language":"en","tag":"API Reference","count":186},{"language":"de","tag":"API-Referenz","count":184},{"language":"es","tag":"Referencia de API","count":184},{"language":"fr","tag":"Référence API","count":184},{"language":"pt","tag":"Referência da API","count":184},{"language":"en","tag":"Changelog","count":161},{"language":"de","tag":"Wissensdatenbank","count":131},{"language":"de","tag":"Dokumentation","count":131},{"language":"en","tag":"Knowledge Base","count":131},{"language":"en","tag":"Documentation","count":131},{"language":"es","tag":"Base de Conocimientos","count":131},{"language":"es","tag":"Documentación","count":131},{"language":"fr","tag":"Base de connaissances","count":131},{"language":"fr","tag":"Documentation","count":131},{"language":"pt","tag":"Base de Conhecimento","count":131},{"language":"pt","tag":"Documentação","count":131},{"language":"de","tag":"Werbeplattform","count":81},{"language":"en","tag":"Ad Platform","count":81},{"language":"es","tag":"Plataforma de Anuncios","count":81},{"language":"fr","tag":"Plateforme Publicitaire","count":81},{"language":"pt","tag":"Plataforma de Anúncios","count":81},{"language":"en","tag":"2026","count":60},{"language":"en","tag":"2025","count":54},{"language":"en","tag":"Integration Guide","count":46},{"language":"de","tag":"Integrationshandbuch","count":44},{"language":"es","tag":"Guía de Integración","count":44},{"language":"fr","tag":"Guide d'Intégration","count":44},{"language":"pt","tag":"Guia de Integração","count":44},{"language":"de","tag":"Campaign API","count":41},{"language":"en","tag":"Campaign API","count":41},{"language":"es","tag":"Campaign API","count":41},{"language":"fr","tag":"Campaign API","count":41},{"language":"pt","tag":"Campaign API","count":41},{"language":"en","tag":"Ad Server","count":39},{"language":"de","tag":"Werbeserver","count":37},{"language":"es","tag":"Servidor de Anuncios","count":37},{"language":"fr","tag":"Serveur Publicitaire","count":37},{"language":"pt","tag":"Servidor de Anúncios","count":37},{"language":"de","tag":"Changelog","count":30},{"language":"de","tag":"2026","count":30},{"language":"es","tag":"Registro de Cambios","count":30},{"language":"es","tag":"2026","count":30},{"language":"fr","tag":"Journal des modifications","count":30},{"language":"fr","tag":"2026","count":30},{"language":"pt","tag":"Registro de alterações","count":30},{"language":"pt","tag":"2026","count":30},{"language":"de","tag":"Übersicht","count":16},{"language":"es","tag":"Offsite Ads API","count":16},{"language":"fr","tag":"Aperçu","count":16},{"language":"pt","tag":"Visão Geral","count":16}]},"assistantConfig":{},"basePath":"","hasChatPermissions":true,"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":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","href":"/_mintlify/custom/topsort/413870ea9024fcb4/style.css"},{"filePath":"styles/base.css","content":"body{opacity:0;transition:opacity 0.2s ease-in}body.loaded{opacity:1}@font-face{font-family:Circular;font-style:normal;font-weight:bold;font-display:swap;src:url(\"/fonts/CircularStd-Bold.woff2\") format(\"woff2\")}@font-face{font-family:Circular;font-style:italic;font-weight:bold;font-display:swap;src:url(\"/fonts/CircularStd-BoldItalic.woff2\") format(\"woff2\")}h1,h2,h3,h4,h5,h6{font-family:Circular, ui-sans-serif, sans-serif}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}"},{"filePath":"styles/changelog.css","content":"body[data-page=\"/en/changelog\"] #sidebar,body[data-page=\"/en/changelog/\"] #sidebar{display:none!important}body[data-page=\"/en/changelog\"] main,body[data-page=\"/en/changelog/\"] main{margin-left:0!important;max-width:100%!important}body[data-page=\"/en/changelog\"] [class*=\"TableOfContents\"],body[data-page=\"/en/changelog/\"] [class*=\"TableOfContents\"]{display:none!important}[data-theme=\"dark\"] img[src$=\".svg\"]{filter:invert(1) hue-rotate(180deg)}[data-theme=\"dark\"] img[src*=\"logo\"],[data-theme=\"dark\"] img[src*=\"icon\"]{filter:none}img{transition:filter 0.3s ease}article hr,main hr{border:none;height:4px;background:linear-gradient(\n\t\tto right,\n\t\ttransparent,\n\t\t#00ff88 20%,\n\t\t#00d4ff 40%,\n\t\t#8280ff 60%,\n\t\t#ff6b9d 80%,\n\t\ttransparent\n\t);margin:3rem 0;opacity:0.7;border-radius:2px}[data-theme=\"dark\"] article hr,[data-theme=\"dark\"] main hr{opacity:0.9}.last-updated-component{background-color:rgba(0, 0, 0, 0.05);border:1px solid rgba(0, 0, 0, 0.12);color:rgba(0, 0, 0, 0.75)}.last-updated-component svg{stroke:currentColor}.dark .last-updated-component{background-color:#3a3a3a!important;border:2px solid #888888!important;color:#ffffff!important}.dark .last-updated-component svg{stroke:#ffffff!important;opacity:1!important}.dark .last-updated-component strong,.dark .last-updated-component time{color:#ffffff!important}#navigation-items a[href*=\"/changelog/\"]{font-size:0.55rem!important;line-height:1.2!important;padding-top:0.25rem!important;padding-bottom:0.25rem!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;display:block!important}#navigation-items a[href*=\"/changelog/\"]+a[href*=\"/changelog/\"]{margin-top:-2px!important}#navigation-items ul{transition:max-height 0.2s ease-out,\n\t\topacity 0.2s ease-out;overflow:hidden}#navigation-items button[aria-expanded]{transition:background-color 0.15s ease}#navigation-items button[aria-expanded]:hover{background-color:rgba(99, 102, 241, 0.1)}"},{"filePath":"styles/feedback.css","content":"#feedback-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(100px);background:rgba(255, 255, 255, 0.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(0, 0, 0, 0.1);border-radius:12px;padding:12px 20px;box-shadow:0 2px 8px rgba(0, 0, 0, 0.08);display:flex;align-items:center;gap:14px;z-index:9999;opacity:0;transition:all 0.4s cubic-bezier(0.16, 1, 0.3, 1);pointer-events:none}#feedback-toast.visible{opacity:1;transform:translateX(-50%) translateY(0);pointer-events:auto}.dark #feedback-toast{background:rgba(31, 41, 55, 0.9);border-color:rgba(255, 255, 255, 0.15);box-shadow:0 2px 8px rgba(0, 0, 0, 0.2)}#feedback-toast .toast-text{color:#374151;font-size:14px;font-weight:500}.dark #feedback-toast .toast-text{color:#e5e7eb}#feedback-toast .toast-submit-btn{background:#0074f7;color:white;border:none;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:600;cursor:pointer;transition:all 0.2s ease}#feedback-toast .toast-submit-btn:hover{background:#01193a}.dark #feedback-toast .toast-submit-btn{background:#8280ff}.dark #feedback-toast .toast-submit-btn:hover{background:#6e6ce6}#feedback-toast .toast-close-btn{background:rgba(0, 0, 0, 0.05);border:none;color:#6b7280;cursor:pointer;font-size:18px;padding:4px 8px;line-height:1;border-radius:6px;transition:all 0.2s ease}#feedback-toast .toast-close-btn:hover{background:rgba(0, 0, 0, 0.1);color:#374151}.dark #feedback-toast .toast-close-btn{background:rgba(255, 255, 255, 0.05);color:#9ca3af}.dark #feedback-toast .toast-close-btn:hover{background:rgba(255, 255, 255, 0.1);color:#e5e7eb}#feedback-dialog{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0, 0, 0, 0.3);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:10000;opacity:0;pointer-events:none;transition:opacity 0.3s ease}#feedback-dialog.visible{opacity:1;pointer-events:auto}.dark #feedback-dialog{background:rgba(0, 0, 0, 0.5)}.feedback-dialog-content{background:rgba(255, 255, 255, 0.95);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(0, 0, 0, 0.1);border-radius:16px;padding:28px;max-width:520px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 4px 16px rgba(0, 0, 0, 0.1);transform:scale(0.95) translateY(10px);transition:all 0.4s cubic-bezier(0.16, 1, 0.3, 1)}#feedback-dialog.visible .feedback-dialog-content{transform:scale(1) translateY(0)}.dark .feedback-dialog-content{background:rgba(31, 41, 55, 0.95);border-color:rgba(255, 255, 255, 0.1);box-shadow:0 4px 16px rgba(0, 0, 0, 0.3)}.feedback-dialog-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.feedback-dialog-header h2{margin:0;font-size:22px;font-weight:600;color:#111827;letter-spacing:-0.02em}.dark .feedback-dialog-header h2{color:#f9fafb}.dialog-close-btn{background:rgba(0, 0, 0, 0.05);border:none;font-size:20px;color:#6b7280;cursor:pointer;padding:0;width:36px;height:36px;line-height:36px;border-radius:10px;transition:all 0.2s ease}.dialog-close-btn:hover{background:rgba(0, 0, 0, 0.1);color:#374151}.dark .dialog-close-btn{background:rgba(255, 255, 255, 0.05)}.dark .dialog-close-btn:hover{background:rgba(255, 255, 255, 0.1);color:#e5e7eb}.feedback-page-context{display:flex;align-items:center;gap:8px;padding:10px 14px;background:rgba(0, 0, 0, 0.03);border-radius:8px;margin-bottom:20px;font-size:13px;color:#6b7280}.feedback-page-context svg{flex-shrink:0;opacity:0.6}.feedback-page-context .page-context-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:help}.dark .feedback-page-context{background:rgba(255, 255, 255, 0.05);color:#9ca3af}.selected-text-preview{display:none;background:rgba(0, 116, 247, 0.04);border-left:3px solid #0074f7;padding:14px 18px;margin-bottom:24px;border-radius:0 12px 12px 0}.dark .selected-text-preview{background:rgba(130, 128, 255, 0.1);border-left-color:#8280ff}.selected-text-preview .preview-label{margin:0 0 8px 0;font-size:11px;color:#0074f7;font-weight:600;text-transform:uppercase;letter-spacing:0.08em}.dark .selected-text-preview .preview-label{color:#a5a3ff}.selected-text-preview .selected-text-content{margin:0;font-size:14px;color:#374151;font-style:italic;max-height:100px;overflow-y:auto;line-height:1.6}.dark .selected-text-preview .selected-text-content{color:#d1d5db}#feedback-form .form-group{margin-bottom:22px}#feedback-form label{display:block;margin-bottom:10px;font-size:13px;font-weight:600;color:#374151;letter-spacing:0.01em}.dark #feedback-form label{color:#d1d5db}#feedback-form textarea,#feedback-form input[type=\"email\"]{width:100%;padding:14px 16px;border:1px solid rgba(0, 0, 0, 0.1);border-radius:12px;font-size:14px;font-family:inherit;box-sizing:border-box;background:rgba(255, 255, 255, 0.6);color:#111827;transition:all 0.2s ease}.dark #feedback-form textarea,.dark #feedback-form input[type=\"email\"]{background:rgba(55, 65, 81, 0.5);border-color:rgba(255, 255, 255, 0.1);color:#f3f4f6}#feedback-form textarea{min-height:130px;resize:vertical;line-height:1.6}#feedback-form textarea:focus,#feedback-form input[type=\"email\"]:focus{outline:none;border-color:#0074f7;background:rgba(255, 255, 255, 0.95)}.dark #feedback-form textarea:focus,.dark #feedback-form input[type=\"email\"]:focus{background:rgba(55, 65, 81, 0.8);border-color:#8280ff}#feedback-form textarea::placeholder,#feedback-form input[type=\"email\"]::placeholder{color:#9ca3af}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:28px}.btn-cancel{padding:12px 22px;border:1px solid rgba(0, 0, 0, 0.1);background:rgba(255, 255, 255, 0.5);border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;color:#374151;transition:all 0.2s ease}.btn-cancel:hover{background:rgba(255, 255, 255, 0.8);border-color:rgba(0, 0, 0, 0.15)}.dark .btn-cancel{background:rgba(55, 65, 81, 0.5);border-color:rgba(255, 255, 255, 0.1);color:#d1d5db}.dark .btn-cancel:hover{background:rgba(55, 65, 81, 0.8)}.btn-submit{padding:10px 20px;border:none;background:#0074f7;color:white;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all 0.2s ease}.btn-submit:hover{background:#01193a}.dark .btn-submit{background:#8280ff}.dark .btn-submit:hover{background:#6e6ce6}.btn-submit:disabled{background:#9ca3af;box-shadow:none;cursor:not-allowed;transform:none}.form-status{margin-top:16px;padding:12px 16px;border-radius:10px;display:none;font-size:13px;font-weight:500;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.form-status.success{background:rgba(16, 185, 129, 0.12);color:#059669;border:1px solid rgba(16, 185, 129, 0.25)}.dark .form-status.success{background:rgba(16, 185, 129, 0.18);color:#6ee7b7;border-color:rgba(16, 185, 129, 0.35)}.form-status.error{background:rgba(239, 68, 68, 0.12);color:#dc2626;border:1px solid rgba(239, 68, 68, 0.25)}.dark .form-status.error{background:rgba(239, 68, 68, 0.18);color:#fca5a5;border-color:rgba(239, 68, 68, 0.35)}"},{"filePath":"styles/goodies.css","content":".goodies-container{position:fixed;bottom:24px;left:24px;z-index:9998;display:flex;flex-direction:column;align-items:flex-start;gap:12px}.goodies-trigger{background:#0074f7;color:white;border:none;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 1px 2px rgba(0, 0, 0, 0.1);transition:all 0.2s ease;position:relative;padding:0}.goodies-trigger:hover{background:#01193a}.goodies-trigger:active{transform:scale(0.95)}.dark .goodies-trigger{background:#8280ff;box-shadow:0 1px 3px rgba(0, 0, 0, 0.2)}.dark .goodies-trigger:hover{background:#6e6ce6}.goodies-trigger .goodies-icon-heart,.goodies-trigger .goodies-icon-close{position:absolute;top:50%;left:50%;transform-origin:center;transition:all 0.3s cubic-bezier(0.16, 1, 0.3, 1)}.goodies-trigger .goodies-icon-heart{opacity:1;transform:translate(-50%, -50%) scale(1) rotate(0deg)}.goodies-trigger .goodies-icon-close{opacity:0;transform:translate(-50%, -50%) scale(0.5) rotate(-90deg)}.goodies-container.open .goodies-trigger .goodies-icon-heart{opacity:0;transform:translate(-50%, -50%) scale(0.5) rotate(90deg)}.goodies-container.open .goodies-trigger .goodies-icon-close{opacity:1;transform:translate(-50%, -50%) scale(1) rotate(0deg)}.goodies-menu{display:flex;flex-direction:column;gap:8px;opacity:0;transform:translateY(10px) scale(0.95);pointer-events:none;transition:all 0.3s cubic-bezier(0.16, 1, 0.3, 1)}.goodies-container.open .goodies-menu{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.goodies-menu-item{display:flex;align-items:center;gap:10px;padding:12px 16px;background:rgba(255, 255, 255, 0.95);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(0, 0, 0, 0.08);border-radius:12px;color:#374151;font-size:14px;font-weight:500;cursor:pointer;white-space:nowrap;box-shadow:0 2px 8px rgba(0, 0, 0, 0.08);transition:all 0.2s ease;text-decoration:none}.goodies-menu-item:hover{background:rgba(255, 255, 255, 1);transform:translateX(4px);box-shadow:0 4px 12px rgba(0, 0, 0, 0.1)}.goodies-menu-item svg{color:#0074f7;flex-shrink:0}.dark .goodies-menu-item{background:rgba(31, 41, 55, 0.95);border-color:rgba(255, 255, 255, 0.1);color:#e5e7eb;box-shadow:0 2px 8px rgba(0, 0, 0, 0.2)}.dark .goodies-menu-item:hover{background:rgba(55, 65, 81, 0.98);box-shadow:0 4px 12px rgba(0, 0, 0, 0.3)}.dark .goodies-menu-item svg{color:#8280ff}@media (max-width: 640px){#feedback-toast{top:72px;bottom:auto;left:16px;right:16px;transform:translateX(0) translateY(-100px);width:auto;border-radius:14px;padding:12px 18px}#feedback-toast.visible{transform:translateX(0) translateY(0)}.feedback-dialog-content{padding:24px;margin:16px;width:calc(100% - 32px);border-radius:20px}.goodies-container{top:76px;bottom:auto;right:16px;left:auto;align-items:flex-end}.goodies-container{flex-direction:column-reverse}.goodies-menu{transform:translateY(-10px) scale(0.95)}.goodies-container.open .goodies-menu{transform:translateY(0) scale(1)}.goodies-trigger{width:30px;height:30px;border-radius:50%}.goodies-trigger svg{width:14px;height:16px}.goodies-menu-item{padding:10px 14px;font-size:13px}.form-actions{flex-direction:column}.btn-cancel,.btn-submit{width:100%;justify-content:center}.form-status{font-size:11px;padding:10px 14px;margin-top:12px;white-space:normal;line-height:1.4;text-align:center}}button[type=\"submit\"][class*=\"bg-primary\"],button[aria-label*=\"submit\"][class*=\"bg-primary\"],form button[class*=\"rounded-full\"][class*=\"bg-\"],[data-testid=\"chat-input\"] button,.chat-input button[type=\"submit\"],button[class*=\"bg-primary\"][class*=\"rounded-full\"]{background:#0074f7!important}button[type=\"submit\"][class*=\"bg-primary\"]:hover,button[aria-label*=\"submit\"][class*=\"bg-primary\"]:hover,form button[class*=\"rounded-full\"][class*=\"bg-\"]:hover,[data-testid=\"chat-input\"] button:hover,.chat-input button[type=\"submit\"]:hover,button[class*=\"bg-primary\"][class*=\"rounded-full\"]:hover{background:#01193a!important}.dark button[type=\"submit\"][class*=\"bg-primary\"],.dark button[aria-label*=\"submit\"][class*=\"bg-primary\"],.dark form button[class*=\"rounded-full\"][class*=\"bg-\"],.dark [data-testid=\"chat-input\"] button,.dark .chat-input button[type=\"submit\"],.dark button[class*=\"bg-primary\"][class*=\"rounded-full\"]{background:#8280ff!important}.dark button[type=\"submit\"][class*=\"bg-primary\"]:hover,.dark button[aria-label*=\"submit\"][class*=\"bg-primary\"]:hover,.dark form button[class*=\"rounded-full\"][class*=\"bg-\"]:hover,.dark [data-testid=\"chat-input\"] button:hover,.dark .chat-input button[type=\"submit\"]:hover,.dark button[class*=\"bg-primary\"][class*=\"rounded-full\"]:hover{background:#6e6ce6!important}"},{"filePath":"styles/homepage.css","content":"body[data-page=\"/\"] #header,body[data-page=\"\"] #header{display:none!important;visibility:hidden!important;height:0!important;overflow:hidden!important}body[data-page=\"/\"] .hero-gradient,body[data-page=\"\"] .hero-gradient{padding-top:2rem!important;padding-bottom:2rem!important;position:relative;z-index:2}@media (min-width: 768px){body[data-page=\"/\"] .hero-gradient,body[data-page=\"\"] .hero-gradient{padding-top:3rem!important;padding-bottom:3rem!important}}@media (min-width: 1024px){body[data-page=\"/\"] .hero-gradient,body[data-page=\"\"] .hero-gradient{padding-top:5rem!important;padding-bottom:5rem!important}}body[data-page=\"/\"] .hero-gradient h1,body[data-page=\"\"] .hero-gradient h1,body[data-page=\"/\"] .hero-gradient h1 *,body[data-page=\"\"] .hero-gradient h1 *,body[data-page=\"/\"] .hero-gradient div h1,body[data-page=\"\"] .hero-gradient div h1{text-align:center!important;width:100%!important}body[data-page=\"/\"] .hero-gradient p,body[data-page=\"\"] .hero-gradient p,body[data-page=\"/\"] .hero-gradient div p,body[data-page=\"\"] .hero-gradient div p{text-align:center!important;width:100%!important}body[data-page=\"/\"] .hero-gradient h1 a,body[data-page=\"\"] .hero-gradient h1 a,body[data-page=\"/\"] .hero-gradient h1 a img,body[data-page=\"\"] .hero-gradient h1 a img{display:none!important}body[data-page=\"/\"] .hero-gradient h1,body[data-page=\"\"] .hero-gradient h1{margin-bottom:1rem!important}body[data-page=\"/\"] .hero-gradient p,body[data-page=\"\"] .hero-gradient p{margin-bottom:2rem!important}@media (min-width: 1280px){body[data-page=\"/\"] .hero-gradient h1,body[data-page=\"\"] .hero-gradient h1,body[data-page=\"/\"] .hero-gradient h1 *,body[data-page=\"\"] .hero-gradient h1 *,body[data-page=\"/\"] .hero-gradient div h1,body[data-page=\"\"] .hero-gradient div h1{text-align:center!important}body[data-page=\"/\"] .hero-gradient p,body[data-page=\"\"] .hero-gradient p,body[data-page=\"/\"] .hero-gradient div p,body[data-page=\"\"] .hero-gradient div p{text-align:center!important;width:fit-content!important;position:relative!important;left:50%!important;transform:translateX(-50%)!important;white-space:nowrap!important}}body[data-page=\"/\"] #toppie-container,body[data-page=\"\"] #toppie-container{max-width:280px!important;width:100%!important;margin-bottom:1.5rem;position:relative;z-index:2}@media (min-width: 640px){body[data-page=\"/\"] #toppie-container,body[data-page=\"\"] #toppie-container{max-width:320px!important}}@media (min-width: 768px){body[data-page=\"/\"] #toppie-container,body[data-page=\"\"] #toppie-container{max-width:350px!important;margin-bottom:2rem}}@media (min-width: 1280px){body[data-page=\"/\"] #toppie-container,body[data-page=\"\"] #toppie-container{max-width:320px!important;margin-bottom:0}}body[data-page=\"/\"] main h2,body[data-page=\"\"] main h2,body[data-page=\"/\"] article h2,body[data-page=\"\"] article h2,body[data-page=\"/\"] .mdx-content>h2,body[data-page=\"\"] .mdx-content>h2,body[data-page=\"/\"] main h2 *,body[data-page=\"\"] main h2 *,body[data-page=\"/\"] article h2 *,body[data-page=\"\"] article h2 *,body[data-page=\"/\"] .mdx-content>h2 *,body[data-page=\"\"] .mdx-content>h2 *,body[data-page=\"/\"] h2.text-center,body[data-page=\"\"] h2.text-center{text-align:center!important;margin-left:auto!important;margin-right:auto!important}body[data-page=\"/\"] .mdx-content>p,body[data-page=\"\"] .mdx-content>p,body[data-page=\"/\"] .mdx-content p:not([class]),body[data-page=\"\"] .mdx-content p:not([class]),body[data-page=\"/\"] .prose>p,body[data-page=\"\"] .prose>p,body[data-page=\"/\"] .mdx-content>div>p,body[data-page=\"\"] .mdx-content>div>p{text-align:center!important;margin-left:auto!important;margin-right:auto!important}body[data-page=\"/\"] a[href*=\"bannersjs\"] *,body[data-page=\"\"] a[href*=\"bannersjs\"] *{text-align:left!important;hyphens:none!important;text-justify:none!important}body[data-page=\"/\"] main h2 a[href^=\"#\"],body[data-page=\"\"] main h2 a[href^=\"#\"],body[data-page=\"/\"] article h2 a[href^=\"#\"],body[data-page=\"\"] article h2 a[href^=\"#\"],body[data-page=\"/\"] .mdx-content>h2 a[href^=\"#\"],body[data-page=\"\"] .mdx-content>h2 a[href^=\"#\"],body[data-page=\"/\"] main h2 a img,body[data-page=\"\"] main h2 a img,body[data-page=\"/\"] .mdx-content>h2 a img,body[data-page=\"\"] .mdx-content>h2 a img,body[data-page=\"/\"] article h2 a img,body[data-page=\"\"] article h2 a img{display:none!important}body[data-page=\"/\"] main>h2,body[data-page=\"\"] main>h2{margin-top:4rem!important;margin-bottom:2rem!important}@media (min-width: 768px){body[data-page=\"/\"] main>h2,body[data-page=\"\"] main>h2{margin-top:5rem!important;margin-bottom:2.5rem!important}}body[data-page=\"/\"] #sidebar,body[data-page=\"\"] #sidebar{display:none!important}body[data-page=\"/\"] main,body[data-page=\"\"] main{margin-left:0!important;max-width:100%!important;position:relative;z-index:2}body[data-page=\"/\"] .mdx-content,body[data-page=\"\"] .mdx-content{max-width:900px!important;margin-left:auto!important;margin-right:auto!important;position:relative;z-index:2}body[data-page=\"/\"] [class*=\"TableOfContents\"],body[data-page=\"\"] [class*=\"TableOfContents\"]{display:none!important}body[data-page=\"/\"] #page-context-menu-button,body[data-page=\"\"] #page-context-menu-button,body[data-page=\"/\"] button[aria-label=\"Copy page\"],body[data-page=\"\"] button[aria-label=\"Copy page\"],body[data-page=\"/\"] button[aria-label=\"More actions\"],body[data-page=\"\"] button[aria-label=\"More actions\"]{display:none!important}#bg-video{position:fixed!important;top:0!important;left:0!important;width:100vw!important;height:100vh!important;object-fit:cover!important;z-index:-1!important;opacity:0.2!important;pointer-events:none!important}.persistent-bg-video{position:fixed!important;top:0!important;left:0!important;width:100vw!important;height:100vh!important;object-fit:cover!important;object-position:center top!important;z-index:-1!important;pointer-events:none!important}body[data-page=\"/\"] #bg-video,body[data-page=\"\"] #bg-video{display:none!important}body[data-page=\"/\"] .nav-tabs-item,body[data-page=\"\"] .nav-tabs-item{color:rgb(107, 114, 128)!important;text-shadow:none!important}body[data-page=\"/\"] .nav-tabs-item>div.absolute,body[data-page=\"\"] .nav-tabs-item>div.absolute,body[data-page=\"/\"] .nav-tabs-item>.bg-primary,body[data-page=\"\"] .nav-tabs-item>.bg-primary{display:none!important}body[data-page=\"/\"] .nav-tabs-item:hover,body[data-page=\"\"] .nav-tabs-item:hover{color:rgb(55, 65, 81)!important}.dark body[data-page=\"/\"] .nav-tabs-item,.dark body[data-page=\"\"] .nav-tabs-item,body.dark[data-page=\"/\"] .nav-tabs-item,body.dark[data-page=\"\"] .nav-tabs-item{color:rgb(156, 163, 175)!important}.dark body[data-page=\"/\"] .nav-tabs-item:hover,.dark body[data-page=\"\"] .nav-tabs-item:hover,body.dark[data-page=\"/\"] .nav-tabs-item:hover,body.dark[data-page=\"\"] .nav-tabs-item:hover{color:rgb(209, 213, 219)!important}.whats-new-banner{display:inline-flex;align-items:center;gap:8px;margin:0 auto 32px auto;padding:6px 14px 6px 6px;background:rgba(255, 255, 255, 0.5);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(0, 0, 0, 0.06);border-radius:9999px;text-decoration:none;transition:all 0.25s cubic-bezier(0.4, 0, 0.2, 1);font-size:13px;box-shadow:0 1px 3px rgba(0, 0, 0, 0.03)}.whats-new-banner:hover{background:rgba(255, 255, 255, 0.8);border-color:rgba(0, 0, 0, 0.1);transform:translateY(-1px);box-shadow:0 4px 12px rgba(0, 0, 0, 0.06)}.dark .whats-new-banner,body.dark .whats-new-banner{background:rgba(255, 255, 255, 0.04);border-color:rgba(255, 255, 255, 0.08);box-shadow:0 1px 3px rgba(0, 0, 0, 0.3)}.dark .whats-new-banner:hover,body.dark .whats-new-banner:hover{background:rgba(255, 255, 255, 0.08);border-color:rgba(255, 255, 255, 0.12);box-shadow:0 4px 12px rgba(0, 0, 0, 0.4)}.whats-new-badge{display:inline-flex;align-items:center;justify-content:center;padding:3px 8px;background:linear-gradient(135deg, #10b981 0%, #059669 100%);color:white;font-size:10px;font-weight:700;letter-spacing:0.06em;border-radius:9999px;text-transform:uppercase;box-shadow:0 1px 2px rgba(16, 185, 129, 0.3)}.whats-new-text{color:#1f2937;font-weight:500;letter-spacing:-0.01em}.dark .whats-new-text,body.dark .whats-new-text{color:#f3f4f6}.whats-new-arrow{color:#9ca3af;font-size:14px;transition:transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);opacity:0.7}.whats-new-banner:hover .whats-new-arrow{transform:translateX(2px);opacity:1}.dark .whats-new-arrow,body.dark .whats-new-arrow{color:#9ca3af}body[data-page=\"/\"] .whats-new-banner,body[data-page=\"\"] .whats-new-banner{display:flex;width:fit-content}@media (max-width: 640px){.whats-new-banner{padding:5px 12px 5px 5px;gap:6px;font-size:12px;margin-bottom:24px}.whats-new-badge{padding:2px 7px;font-size:9px}.whats-new-text{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whats-new-arrow{font-size:12px}}.hero-mascot-overlay{position:fixed;top:0;left:0;right:0;bottom:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:0;overflow:hidden}.hero-mascot-overlay .hero-mascot-light,.hero-mascot-overlay .hero-mascot-dark{width:100%;height:100%;object-fit:cover;object-position:center top;transition:all 0.5s ease}.hero-mascot-overlay .hero-mascot-light{display:block;opacity:0.06}.hero-mascot-overlay .hero-mascot-dark{display:none}.dark .hero-mascot-overlay .hero-mascot-light,body.dark .hero-mascot-overlay .hero-mascot-light{display:none}.dark .hero-mascot-overlay .hero-mascot-dark,body.dark .hero-mascot-overlay .hero-mascot-dark{display:block;opacity:0.4;filter:drop-shadow(0 0 100px rgba(59, 130, 246, 0.6))\n\t\tdrop-shadow(0 0 200px rgba(139, 92, 246, 0.4))\n\t\tdrop-shadow(0 0 300px rgba(59, 130, 246, 0.3))}.dark .hero-mascot-overlay::before,body.dark .hero-mascot-overlay::before{content:\"\";position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:150%;height:150%;background:radial-gradient(\n\t\tellipse at center,\n\t\trgba(59, 130, 246, 0.2) 0%,\n\t\trgba(139, 92, 246, 0.1) 25%,\n\t\trgba(59, 130, 246, 0.05) 40%,\n\t\ttransparent 60%\n\t);z-index:-1;animation:pulseGlow 8s ease-in-out infinite}@keyframes pulseGlow{0%,100%{opacity:1;transform:translate(-50%, -50%) scale(1)}50%{opacity:0.7;transform:translate(-50%, -50%) scale(1.05)}}@media (max-width: 640px){.hero-mascot-overlay .hero-mascot-light{opacity:0.05}.dark .hero-mascot-overlay .hero-mascot-dark,body.dark .hero-mascot-overlay .hero-mascot-dark{opacity:0.3}.hero-mascot-overlay .hero-mascot-light,.hero-mascot-overlay .hero-mascot-dark{-webkit-mask-image:radial-gradient(\n\t\t\tellipse 80% 80% at center,\n\t\t\tblack 40%,\n\t\t\ttransparent 70%\n\t\t);mask-image:radial-gradient(\n\t\t\tellipse 80% 80% at center,\n\t\t\tblack 40%,\n\t\t\ttransparent 70%\n\t\t)}}.dark .hero-mascot-overlay::after,body.dark .hero-mascot-overlay::after{content:\"\";position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0, 0, 0, 0.4);z-index:1;pointer-events:none}"},{"filePath":"styles/layout.css","content":"#navbar a[href=\"/\"] img,#navbar a[href=\"/\"] img{max-width:180px}@media (max-width: 1023px){#navbar button>div:last-child,#navbar button span,#navbar [aria-label=\"Open navigation\"]~div,#navbar [aria-label=\"Open navigation\"]~span,#navbar>div>div>button>div:not(:first-child),#navbar>.max-w-8xl button>div:not(:has(svg)):not(:first-child){display:none!important}#navbar button svg,#navbar button>div:first-child:has(svg){display:block!important}}#navbar>.max-w-8xl nav{display:none}@media screen and (min-width: 1024px){#navbar>.max-w-8xl nav{display:flex}}#navbar>.max-w-8xl>div>div>div>div{justify-content:end}#navbar>.max-w-8xl>div>div>div>div>.ml-auto{margin-left:0}#navbar>.max-w-8xl>div>div>div>div>.mx-px{width:25%;min-width:120px}#navbar>.max-w-8xl>div>div>div>div>div:first-child{margin-right:auto}#navigation-items h5{text-transform:uppercase;font-weight:normal;letter-spacing:0.05em;font-size:0.75rem;font-family:Inter, ui-sans-serif, sans-serif;color:rgb(134, 140, 152)}.no-hyphenate,.no-justify,.hero-gradient,.hero-gradient *,.hero-gradient h1,.hero-gradient p,.hero-gradient span,.hero-gradient div{hyphens:none!important;-webkit-hyphens:none!important;-moz-hyphens:none!important;-ms-hyphens:none!important;word-break:normal!important;overflow-wrap:normal!important;text-align:left!important;white-space:normal!important}.hero-gradient h1{word-break:keep-all!important;white-space:normal!important}@media (min-width: 768px) and (max-width: 1279px){.hero-gradient .flex-1{min-width:60%!important}}body[data-page=\"/\"] .hero-gradient *,body[data-page=\"\"] .hero-gradient *,body[data-page=\"/\"] .hero-gradient h1,body[data-page=\"\"] .hero-gradient h1,body[data-page=\"/\"] .hero-gradient p,body[data-page=\"\"] .hero-gradient p{text-align:left!important;hyphens:none!important;-webkit-hyphens:none!important;-moz-hyphens:none!important;-ms-hyphens:none!important;word-break:normal!important;overflow-wrap:normal!important;white-space:normal!important;text-justify:none!important}@media (min-width: 1280px){#toppie-container{max-width:320px!important;width:320px!important}}[class*=\"Card\"] p,[class*=\"card\"] p,pre,pre *,code,code *,table,table *,th,td{text-align:left!important;hyphens:none!important}"}],"page":{"pagePath":"en/api-reference/events/report-events","slug":"/en/api-reference/events/report-events","pageMetadata":{"title":"Report events","description":"Use the `/events` endpoint to report user interactions and activity in on a marketplace:\n- **Renders** — an ad was rendered in the page.\n- **Impressions** — a user viewed an asset.\n- **Clicks** — a user clicked on an asset.\n- **Purchases** — a user created an order.\n- **Page views** — a user visited a page.\n- **Video events** — a video ad reached a playback checkpoint or failed to play.\n\nInteractions require either a `resolvedBidId`, for sponsored events coming from the `/v2/auctions` response,\nor an `entity` that describes the entity that was interacted with, in the case of organic or non-sponsored events.\nFor analytics purposes, you can use the `placement` field to differentiate different listings or banners.\nFor example, on a product page with a carousel of products, you can track impressions and clicks related to the carousel\nby including `/carousel` at the end of the `path` field in the `placement` object. This allows you to monitor\nthe performance of carousel products in the [Data Room](https://docs.topsort.com/knowledge-base/analytics/data-room/).\n","deprecated":null,"version":null,"openapi":"/openapi.json post /v2/events","href":"/en/api-reference/events/report-events","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n a: \"a\",\n code: \"code\",\n li: \"li\",\n p: \"p\",\n strong: \"strong\",\n ul: \"ul\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsxs(_components.p, {\n children: [\"Use the \", _jsx(_components.code, {\n children: \"/events\"\n }), \" endpoint to report user interactions and activity in on a marketplace:\"]\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.strong, {\n children: \"Renders\"\n }), \" — an ad was rendered in the page.\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.strong, {\n children: \"Impressions\"\n }), \" — a user viewed an asset.\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.strong, {\n children: \"Clicks\"\n }), \" — a user clicked on an asset.\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.strong, {\n children: \"Purchases\"\n }), \" — a user created an order.\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.strong, {\n children: \"Page views\"\n }), \" — a user visited a page.\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.strong, {\n children: \"Video events\"\n }), \" — a video ad reached a playback checkpoint or failed to play.\"]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Interactions require either a \", _jsx(_components.code, {\n children: \"resolvedBidId\"\n }), \", for sponsored events coming from the \", _jsx(_components.code, {\n children: \"/v2/auctions\"\n }), \" response,\\nor an \", _jsx(_components.code, {\n children: \"entity\"\n }), \" that describes the entity that was interacted with, in the case of organic or non-sponsored events.\\nFor analytics purposes, you can use the \", _jsx(_components.code, {\n children: \"placement\"\n }), \" field to differentiate different listings or banners.\\nFor example, on a product page with a carousel of products, you can track impressions and clicks related to the carousel\\nby including \", _jsx(_components.code, {\n children: \"/carousel\"\n }), \" at the end of the \", _jsx(_components.code, {\n children: \"path\"\n }), \" field in the \", _jsx(_components.code, {\n children: \"placement\"\n }), \" object. This allows you to monitor\\nthe performance of carousel products in the \", _jsx(_components.a, {\n href: \"https://docs.topsort.com/knowledge-base/analytics/data-room/\",\n children: \"Data Room\"\n }), \".\"]\n })]\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}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}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":{"config":{},"pageMetadata":{"title":"Report events","description":"Use the `/events` endpoint to report user interactions and activity in on a marketplace:\n- **Renders** — an ad was rendered in the page.\n- **Impressions** — a user viewed an asset.\n- **Clicks** — a user clicked on an asset.\n- **Purchases** — a user created an order.\n- **Page views** — a user visited a page.\n- **Video events** — a video ad reached a playback checkpoint or failed to play.\n\nInteractions require either a `resolvedBidId`, for sponsored events coming from the `/v2/auctions` response,\nor an `entity` that describes the entity that was interacted with, in the case of organic or non-sponsored events.\nFor analytics purposes, you can use the `placement` field to differentiate different listings or banners.\nFor example, on a product page with a carousel of products, you can track impressions and clicks related to the carousel\nby including `/carousel` at the end of the `path` field in the `placement` object. This allows you to monitor\nthe performance of carousel products in the [Data Room](https://docs.topsort.com/knowledge-base/analytics/data-room/).\n","deprecated":null,"version":null,"openapi":"/openapi.json post /v2/events","href":"/en/api-reference/events/report-events","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/topsort/09718a6f70d44fb9/script.js","/_mintlify/custom/topsort/1ba346cc160f50c6/scripts/changelog.js","/_mintlify/custom/topsort/c221a91f929cbe9b/scripts/feedback.js","/_mintlify/custom/topsort/33370d8ce5a05e5f/scripts/navigation.js","/_mintlify/custom/topsort/9cf111fe133b8824/scripts/posthog.js","/_mintlify/custom/topsort/94892506942e7b4b/scripts/text-justification.js","/_mintlify/custom/topsort/b4af3c4b8b4bddb8/scripts/video-background.js","/_mintlify/custom/topsort/46198aa544856623/scripts/vibrate-mode.js","/_mintlify/custom/topsort/d6941d8316377689/scripts/config/shared-config.js","/_mintlify/custom/topsort/26f120bf7d7a509e/scripts/core/constants.js","/_mintlify/custom/topsort/6e2a33614b4731db/scripts/core/events.js","/_mintlify/custom/topsort/ca947aeeddcda685/scripts/core/logger.js","/_mintlify/custom/topsort/65cfa18e15b22281/scripts/custom-branding.js","/_mintlify/custom/topsort/f1cb191933428051/scripts/goodies-menu.js","/_mintlify/custom/topsort/a7b559fc1810dccf/scripts/toppie.js"],"openApiReferenceData":{"operation":{"tags":["Events"],"summary":"Report events","description":"Use the `/events` endpoint to report user interactions and activity in on a marketplace:\n- **Renders** — an ad was rendered in the page.\n- **Impressions** — a user viewed an asset.\n- **Clicks** — a user clicked on an asset.\n- **Purchases** — a user created an order.\n- **Page views** — a user visited a page.\n- **Video events** — a video ad reached a playback checkpoint or failed to play.\n\nInteractions require either a `resolvedBidId`, for sponsored events coming from the `/v2/auctions` response,\nor an `entity` that describes the entity that was interacted with, in the case of organic or non-sponsored events.\nFor analytics purposes, you can use the `placement` field to differentiate different listings or banners.\nFor example, on a product page with a carousel of products, you can track impressions and clicks related to the carousel\nby including `/carousel` at the end of the `path` field in the `placement` object. This allows you to monitor\nthe performance of carousel products in the [Data Room](https://docs.topsort.com/knowledge-base/analytics/data-room/).\n","operationId":"reportEvents","requestBody":"52cac8b5-d993-48ff-8cfd-f8b22e6584ec","responses":{"204":"4695c4be-2180-4aff-a2dd-d2cea07b8edd","400":"6d0b57f7-62ae-4581-a658-ea8e0bd0c17a","401":"a886ea5b-80ee-4fc9-b9e9-df986b3f915a"},"security":["936793d4-8920-43b6-a113-34eac116554e"],"method":"post","type":"path","servers":["48a67a54-dba9-4109-9bdd-ad1aabca2ee1"],"path":"/v2/events","baseUrlOptions":["https://api.topsort.com"],"title":"Report events","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"description":"Event data including renders, impressions, clicks, purchases, page views, and video events.\n","content":{"application/json":{"schema":{"description":"A batch request containing multiple events to be reported to Topsort.","type":"object","additionalProperties":false,"minProperties":1,"properties":{"renders":{"title":"Renders","description":"An array of render events","type":"array","minItems":0,"maxItems":50,"items":{"title":"Render","type":"object","description":"A render means an ad was inserted into the page (IAB \"rendered\"). Renders are for sponsored ads only, so `resolvedBidId` is required.\n","required":["resolvedBidId","occurredAt","opaqueUserId","id"],"additionalProperties":false,"properties":{"resolvedBidId":{"type":"string","description":"The `resolvedBidId` received from the `/v2/auctions` response.\n","examples":["WyJiX01mazE1IiwiMTJhNTU4MjgtOGVhZC00Mjk5LTgzMjctY2ViYjAwMmEwZmE4IiwibGlzdGluZ3MiLCJkZWZhdWx0IiwiIl0="],"isRequired":true,"uniqueKey":"renders.items.[INDEX].resolvedBidId","typeLabel":"string"},"occurredAt":{"type":"string","format":"date-time","description":"A RFC3339 formatted timestamp including UTC offset.","examples":["2009-01-01T12:59:59-05:00"],"isRequired":true,"uniqueKey":"renders.items.[INDEX].occurredAt","typeLabel":"string\u003cdate-time>"},"opaqueUserId":{"type":"string","description":"The opaque user ID is an anonymized unique identifier that maps to the original user ID without revealing the original value. This identifier allows Topsort to correlate user activity between auctions and user interactions, independent of the user's logged-in status. For apps or sites where users might interact while logged out, we recommend generating a random identifier (UUIDv7) on the first load, storing it on local storage (cookie, local storage, etc), and letting it live for at least a year. Otherwise, if your users are always logged in for interactions, you may use a hash of your customer ID. Correct purchase attribution requires long-lived opaque user IDs consistent between auction and event requests.","examples":["71303ce0-de89-496d-8270-6434589615e8"],"isRequired":true,"uniqueKey":"renders.items.[INDEX].opaqueUserId","typeLabel":"string"},"id":{"type":"string","description":"A unique identifier for the request. This field ensures the event reporting is idempotent in case there is a network issue and the request is retried. If there is no impression model on the marketplace side, generate a unique string that does not change if the event is resent.\n","minLength":1,"examples":["eb874c98-bf4d-40a9-ae6d-fcf4cecb535c"],"isRequired":true,"uniqueKey":"renders.items.[INDEX].id","typeLabel":"string"},"placement":{"description":"Information about where an ad or product is placed on a page.","type":"object","required":["path"],"additionalProperties":false,"properties":{"path":{"type":"string","description":"URL path of the page triggering the event. For web apps, this can be obtained in JS using `window.location.pathname`. For mobile apps, use the deep link for the current view, if available. Otherwise, encode the view from which the event occurred in your app as a path-like string (e.g. `/root/categories/:categoryId`).\n","minLength":1,"examples":["/categories/dairy"],"isRequired":true,"uniqueKey":"renders.items.[INDEX].placement.path","typeLabel":"string"},"position":{"type":"integer","description":"For components with multiple items (i.e. search results, similar products, etc), this should indicate the index of a given item within that list.\n","minimum":1,"uniqueKey":"renders.items.[INDEX].placement.position","typeLabel":"integer"},"page":{"type":"integer","description":"For paginated pages, this should indicate which page number triggered the event.\n","minimum":1,"uniqueKey":"renders.items.[INDEX].placement.page","typeLabel":"integer"},"pageSize":{"type":"integer","description":"For paginated pages this should indicate how many items are in each result page.\n","minimum":1,"examples":[15],"uniqueKey":"renders.items.[INDEX].placement.pageSize","typeLabel":"integer"},"productId":{"type":"string","description":"The ID of the product associated to the page in which this event occurred, if applicable. This ID must match the ID provided through the catalog service.\n","minLength":1,"uniqueKey":"renders.items.[INDEX].placement.productId","typeLabel":"string"},"categoryIds":{"type":"array","items":{"type":"string","description":"A category ID.","minLength":1,"examples":["c_electronics"],"uniqueKey":"renders.items.[INDEX].placement.categoryIds.items.[INDEX]","typeLabel":"string"},"description":"An array of IDs of the categories associated to the page in which this event occurred, if applicable. These IDs must match the IDs provided through the catalog service.\n","minItems":1,"uniqueKey":"renders.items.[INDEX].placement.categoryIds","typeLabel":"string[]"},"searchQuery":{"type":"string","description":"The search string provided by the user in the page where this event occurred, if applicable. This search string must match the searchQuery field that was provided in the auction request (if provided).\n","minLength":1,"examples":["blue shoes"],"uniqueKey":"renders.items.[INDEX].placement.searchQuery","typeLabel":"string"}},"uniqueKey":"renders.items.[INDEX].placement","typeLabel":"object"},"page":{"description":"Information about the page where an auction or event occurs.","type":"object","title":"Page","required":["type","pageId"],"properties":{"type":{"type":"string","enum":["home","category","PDP","search","cart","other"],"description":"Type of page.","examples":["category"],"isRequired":true,"uniqueKey":"renders.items.[INDEX].page.type","typeLabel":"enum\u003cstring>"},"pageId":{"type":"string","description":"Identifies the page","examples":["/category/electronics"],"isRequired":true,"uniqueKey":"renders.items.[INDEX].page.pageId","typeLabel":"string"},"value":{"oneOf":[{"type":"string","description":"Detail of the page, depending on the type","example":"electronics","uniqueKey":"renders.items.[INDEX].page.value.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","description":"Only valid for type cart. Items on the cart","examples":["coffee","cookies","apples"],"uniqueKey":"renders.items.[INDEX].page.value.oneOf.1.items.[INDEX]","typeLabel":"string"},"minItems":1,"uniqueKey":"renders.items.[INDEX].page.value.oneOf.1","typeLabel":"string[]"}],"uniqueKey":"renders.items.[INDEX].page.value","typeLabel":"string | string[]"}},"uniqueKey":"renders.items.[INDEX].page","typeLabel":"Page · object"},"deviceType":{"type":"string","description":"The device the user is on.","enum":["desktop","mobile"],"examples":["mobile"],"uniqueKey":"renders.items.[INDEX].deviceType","typeLabel":"enum\u003cstring>"},"channel":{"type":"string","description":"Optional. The channel where the event occurred.","enum":["onsite","offsite","instore"],"examples":["onsite"],"uniqueKey":"renders.items.[INDEX].channel","typeLabel":"enum\u003cstring>"}},"uniqueKey":"renders.items.[INDEX]","typeLabel":"Render · object"},"uniqueKey":"renders","typeLabel":"Render · object[]"},"impressions":{"title":"Impressions","description":"An array of impression events","type":"array","minItems":0,"maxItems":50,"items":{"title":"Impression","type":"object","description":"An impression means a promotable has become visible to the consumer. For promoted entities, include the `resolvedBidId` field from the `/v2/auctions` response. For unpromoted entities, include the `entity` field to describe what was seen. In case you cannot send an impression when the product becomes visible, send us an impression event when the product was rendered in the HTML or, if that's also not possible, when your API returns the results. It is important to select the most specific event so that your vendors have more accurate CTR metrics, which will allow them to better predict their campaigns.\n","required":["occurredAt","opaqueUserId","id"],"additionalProperties":false,"properties":{"occurredAt":{"type":"string","format":"date-time","description":"A RFC3339 formatted timestamp including UTC offset.","examples":["2009-01-01T12:59:59-05:00"],"isRequired":true,"uniqueKey":"impressions.items.[INDEX].occurredAt","typeLabel":"string\u003cdate-time>"},"opaqueUserId":{"type":"string","description":"The opaque user ID is an anonymized unique identifier that maps to the original user ID without revealing the original value. This identifier allows Topsort to correlate user activity between auctions and user interactions, independent of the user's logged-in status. For apps or sites where users might interact while logged out, we recommend generating a random identifier (UUIDv7) on the first load, storing it on local storage (cookie, local storage, etc), and letting it live for at least a year. Otherwise, if your users are always logged in for interactions, you may use a hash of your customer ID. Correct purchase attribution requires long-lived opaque user IDs consistent between auction and event requests.","examples":["71303ce0-de89-496d-8270-6434589615e8"],"isRequired":true,"uniqueKey":"impressions.items.[INDEX].opaqueUserId","typeLabel":"string"},"id":{"type":"string","description":"A unique identifier for the request. This field ensures the event reporting is idempotent in case there is a network issue and the request is retried. If there is no impression model on the marketplace side, generate a unique string that does not change if the event is resent.\n","minLength":1,"examples":["eb874c98-bf4d-40a9-ae6d-fcf4cecb535c"],"isRequired":true,"uniqueKey":"impressions.items.[INDEX].id","typeLabel":"string"},"resolvedBidId":{"type":"string","description":"If the impression is over an ad promotion, this is the `resolvedBidId` field received from the `/auctions` request. In most situations, especially when reporting a sponsored interaction, you'll want to fill in this field.\n","examples":["WyJiX01mazE1IiwiMTJhNTU4MjgtOGVhZC00Mjk5LTgzMjctY2ViYjAwMmEwZmE4IiwibGlzdGluZ3MiLCJkZWZhdWx0IiwiIl0="],"uniqueKey":"impressions.items.[INDEX].resolvedBidId","typeLabel":"string"},"entity":{"type":"object","description":"`Entity` is meant for reporting organic events, not sponsored or promoted products. It refers to the object involved in the organic interaction. But, in most cases, you won't need to fill in this object. Be aware that if `resolvedBidId` has any value, `entity` will be disregarded.\n","required":["id","type"],"additionalProperties":false,"properties":{"id":{"type":"string","description":"The marketplace's ID of the entity associated with the interaction.","minLength":1,"examples":["ean-512385132"],"isRequired":true,"uniqueKey":"impressions.items.[INDEX].entity.id","typeLabel":"string"},"type":{"type":"string","description":"The type of entity associated with the interaction.","enum":["product","vendor"],"examples":["product"],"isRequired":true,"uniqueKey":"impressions.items.[INDEX].entity.type","typeLabel":"enum\u003cstring>"}},"uniqueKey":"impressions.items.[INDEX].entity","typeLabel":"object"},"placement":{"description":"Information about where an ad or product is placed on a page.","type":"object","required":["path"],"additionalProperties":false,"properties":{"path":{"type":"string","description":"URL path of the page triggering the event. For web apps, this can be obtained in JS using `window.location.pathname`. For mobile apps, use the deep link for the current view, if available. Otherwise, encode the view from which the event occurred in your app as a path-like string (e.g. `/root/categories/:categoryId`).\n","minLength":1,"examples":["/categories/dairy"],"isRequired":true,"uniqueKey":"impressions.items.[INDEX].placement.path","typeLabel":"string"},"position":{"type":"integer","description":"For components with multiple items (i.e. search results, similar products, etc), this should indicate the index of a given item within that list.\n","minimum":1,"uniqueKey":"impressions.items.[INDEX].placement.position","typeLabel":"integer"},"page":{"type":"integer","description":"For paginated pages, this should indicate which page number triggered the event.\n","minimum":1,"uniqueKey":"impressions.items.[INDEX].placement.page","typeLabel":"integer"},"pageSize":{"type":"integer","description":"For paginated pages this should indicate how many items are in each result page.\n","minimum":1,"examples":[15],"uniqueKey":"impressions.items.[INDEX].placement.pageSize","typeLabel":"integer"},"productId":{"type":"string","description":"The ID of the product associated to the page in which this event occurred, if applicable. This ID must match the ID provided through the catalog service.\n","minLength":1,"uniqueKey":"impressions.items.[INDEX].placement.productId","typeLabel":"string"},"categoryIds":{"type":"array","items":{"type":"string","description":"A category ID.","minLength":1,"examples":["c_electronics"],"uniqueKey":"impressions.items.[INDEX].placement.categoryIds.items.[INDEX]","typeLabel":"string"},"description":"An array of IDs of the categories associated to the page in which this event occurred, if applicable. These IDs must match the IDs provided through the catalog service.\n","minItems":1,"uniqueKey":"impressions.items.[INDEX].placement.categoryIds","typeLabel":"string[]"},"searchQuery":{"type":"string","description":"The search string provided by the user in the page where this event occurred, if applicable. This search string must match the searchQuery field that was provided in the auction request (if provided).\n","minLength":1,"examples":["blue shoes"],"uniqueKey":"impressions.items.[INDEX].placement.searchQuery","typeLabel":"string"}},"uniqueKey":"impressions.items.[INDEX].placement","typeLabel":"object"},"additionalAttribution":{"type":"object","description":"Optional. An additional product or vendor to attribute purchases to, on top of the promoted entity. Use it on sponsored impressions whose ad can lead to a purchase of something other than the promoted entity, typically a banner. A later purchase by the same user, within the attribution window, of this product (`type: product`) or of a product from this vendor (`type: vendor`, matched against the purchase item `vendorId`) is attributed to the campaign behind `resolvedBidId`. Requires `resolvedBidId`: the request is rejected if this field is set without it.\n","required":["id","type"],"additionalProperties":false,"properties":{"id":{"type":"string","description":"The marketplace's ID of the entity associated with the interaction.","minLength":1,"examples":["ean-512385132"],"isRequired":true,"uniqueKey":"impressions.items.[INDEX].additionalAttribution.id","typeLabel":"string"},"type":{"type":"string","description":"The type of entity associated with the interaction.","enum":["product","vendor"],"examples":["product"],"isRequired":true,"uniqueKey":"impressions.items.[INDEX].additionalAttribution.type","typeLabel":"enum\u003cstring>"}},"uniqueKey":"impressions.items.[INDEX].additionalAttribution","typeLabel":"object"},"page":{"description":"Information about the page where an auction or event occurs.","type":"object","title":"Page","required":["type","pageId"],"properties":{"type":{"type":"string","enum":["home","category","PDP","search","cart","other"],"description":"Type of page.","examples":["category"],"isRequired":true,"uniqueKey":"impressions.items.[INDEX].page.type","typeLabel":"enum\u003cstring>"},"pageId":{"type":"string","description":"Identifies the page","examples":["/category/electronics"],"isRequired":true,"uniqueKey":"impressions.items.[INDEX].page.pageId","typeLabel":"string"},"value":{"oneOf":[{"type":"string","description":"Detail of the page, depending on the type","example":"electronics","uniqueKey":"impressions.items.[INDEX].page.value.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","description":"Only valid for type cart. Items on the cart","examples":["coffee","cookies","apples"],"uniqueKey":"impressions.items.[INDEX].page.value.oneOf.1.items.[INDEX]","typeLabel":"string"},"minItems":1,"uniqueKey":"impressions.items.[INDEX].page.value.oneOf.1","typeLabel":"string[]"}],"uniqueKey":"impressions.items.[INDEX].page.value","typeLabel":"string | string[]"}},"uniqueKey":"impressions.items.[INDEX].page","typeLabel":"Page · object"},"object":{"type":"object","description":"Information regarding an organic or non-sponsored event.","required":["type"],"properties":{"type":{"type":"string","description":"The type of object that is being reported on the interaction.","enum":["listing","banner"],"isRequired":true,"uniqueKey":"impressions.items.[INDEX].object.type","typeLabel":"enum\u003cstring>"},"assetId":{"type":"string","description":"When type is `banner`, signals the ID of the asset of the banner","examples":["banner_asset_001"],"uniqueKey":"impressions.items.[INDEX].object.assetId","typeLabel":"string"},"clickType":{"type":"string","description":"When type is `listing`, signals the specific interaction flavor with the listing.","enum":["product","like","add-to-cart"],"uniqueKey":"impressions.items.[INDEX].object.clickType","typeLabel":"enum\u003cstring>"}},"uniqueKey":"impressions.items.[INDEX].object","typeLabel":"object"},"externalCampaignId":{"type":"string","description":"Marketplace provided ID of a campaign created and run outside Topsort. Use it only for interactions that do not come from a Topsort auction: the request is rejected if both `externalCampaignId` and `resolvedBidId` are set.\n","examples":["awareness-campaign-2025"],"uniqueKey":"impressions.items.[INDEX].externalCampaignId","typeLabel":"string"},"externalVendorId":{"type":"string","description":"Marketplace provided ID for a vendor","examples":["my-new-vendor"],"uniqueKey":"impressions.items.[INDEX].externalVendorId","typeLabel":"string"},"deviceType":{"type":"string","description":"The device the user is on.","enum":["desktop","mobile"],"examples":["mobile"],"uniqueKey":"impressions.items.[INDEX].deviceType","typeLabel":"enum\u003cstring>"},"channel":{"type":"string","description":"Optional. The channel where the event occurred.","enum":["onsite","offsite","instore"],"examples":["onsite"],"uniqueKey":"impressions.items.[INDEX].channel","typeLabel":"enum\u003cstring>"}},"uniqueKey":"impressions.items.[INDEX]","typeLabel":"Impression · object"},"uniqueKey":"impressions","typeLabel":"Impression · object[]"},"clicks":{"title":"Clicks","description":"An array of click events","type":"array","minItems":0,"maxItems":50,"items":{"title":"Click","description":"A click is sent to Topsort when the consumer has clicked on a promotable. For promoted entities, include the `resolvedBidId` field from the `/v2/auctions` response. For unpromoted entities, include the `entity` field to describe what was clicked. Topsort charges the vendor and pays the marketplace for clicks on ads in promoted placements on the marketplace app.\n","type":"object","required":["occurredAt","opaqueUserId","id"],"additionalProperties":false,"properties":{"occurredAt":{"type":"string","format":"date-time","description":"A RFC3339 formatted timestamp including UTC offset.","examples":["2009-01-01T12:59:59-05:00"],"isRequired":true,"uniqueKey":"clicks.items.[INDEX].occurredAt","typeLabel":"string\u003cdate-time>"},"opaqueUserId":{"type":"string","description":"The opaque user ID is an anonymized unique identifier that maps to the original user ID without revealing the original value. This identifier allows Topsort to correlate user activity between auctions and user interactions, independent of the user's logged-in status. For apps or sites where users might interact while logged out, we recommend generating a random identifier (UUIDv7) on the first load, storing it on local storage (cookie, local storage, etc), and letting it live for at least a year. Otherwise, if your users are always logged in for interactions, you may use a hash of your customer ID. Correct purchase attribution requires long-lived opaque user IDs consistent between auction and event requests.","examples":["71303ce0-de89-496d-8270-6434589615e8"],"isRequired":true,"uniqueKey":"clicks.items.[INDEX].opaqueUserId","typeLabel":"string"},"id":{"type":"string","description":"A unique identifier for the request. This field ensures the event reporting is idempotent in case there is a network issue and the request is retried. If there is no impression model on the marketplace side, generate a unique string that does not change if the event is resent.\n","minLength":1,"examples":["eb874c98-bf4d-40a9-ae6d-fcf4cecb535c"],"isRequired":true,"uniqueKey":"clicks.items.[INDEX].id","typeLabel":"string"},"resolvedBidId":{"type":"string","description":"If the click is over an ad promotion, this is the `resolvedBidId` field received from the `/auctions` request. In most situations, especially when reporting a sponsored interaction, you'll want to fill in this field.","examples":["WyJiX01mazE1IiwiMTJhNTU4MjgtOGVhZC00Mjk5LTgzMjctY2ViYjAwMmEwZmE4IiwibGlzdGluZ3MiLCJkZWZhdWx0IiwiIl0="],"uniqueKey":"clicks.items.[INDEX].resolvedBidId","typeLabel":"string"},"entity":{"type":"object","description":"`Entity` is meant for reporting organic events, not sponsored or promoted products. It refers to the object involved in the organic interaction. But, in most cases, you won't need to fill in this object. Be aware that if `resolvedBidId` has any value, `entity` will be disregarded.\n","required":["id","type"],"additionalProperties":false,"properties":{"id":{"type":"string","description":"The marketplace's ID of the entity associated with the interaction.","minLength":1,"examples":["ean-512385132"],"isRequired":true,"uniqueKey":"clicks.items.[INDEX].entity.id","typeLabel":"string"},"type":{"type":"string","description":"The type of entity associated with the interaction.","enum":["product","vendor"],"examples":["product"],"isRequired":true,"uniqueKey":"clicks.items.[INDEX].entity.type","typeLabel":"enum\u003cstring>"}},"uniqueKey":"clicks.items.[INDEX].entity","typeLabel":"object"},"placement":{"description":"Information about where an ad or product is placed on a page.","type":"object","required":["path"],"additionalProperties":false,"properties":{"path":{"type":"string","description":"URL path of the page triggering the event. For web apps, this can be obtained in JS using `window.location.pathname`. For mobile apps, use the deep link for the current view, if available. Otherwise, encode the view from which the event occurred in your app as a path-like string (e.g. `/root/categories/:categoryId`).\n","minLength":1,"examples":["/categories/dairy"],"isRequired":true,"uniqueKey":"clicks.items.[INDEX].placement.path","typeLabel":"string"},"position":{"type":"integer","description":"For components with multiple items (i.e. search results, similar products, etc), this should indicate the index of a given item within that list.\n","minimum":1,"uniqueKey":"clicks.items.[INDEX].placement.position","typeLabel":"integer"},"page":{"type":"integer","description":"For paginated pages, this should indicate which page number triggered the event.\n","minimum":1,"uniqueKey":"clicks.items.[INDEX].placement.page","typeLabel":"integer"},"pageSize":{"type":"integer","description":"For paginated pages this should indicate how many items are in each result page.\n","minimum":1,"examples":[15],"uniqueKey":"clicks.items.[INDEX].placement.pageSize","typeLabel":"integer"},"productId":{"type":"string","description":"The ID of the product associated to the page in which this event occurred, if applicable. This ID must match the ID provided through the catalog service.\n","minLength":1,"uniqueKey":"clicks.items.[INDEX].placement.productId","typeLabel":"string"},"categoryIds":{"type":"array","items":{"type":"string","description":"A category ID.","minLength":1,"examples":["c_electronics"],"uniqueKey":"clicks.items.[INDEX].placement.categoryIds.items.[INDEX]","typeLabel":"string"},"description":"An array of IDs of the categories associated to the page in which this event occurred, if applicable. These IDs must match the IDs provided through the catalog service.\n","minItems":1,"uniqueKey":"clicks.items.[INDEX].placement.categoryIds","typeLabel":"string[]"},"searchQuery":{"type":"string","description":"The search string provided by the user in the page where this event occurred, if applicable. This search string must match the searchQuery field that was provided in the auction request (if provided).\n","minLength":1,"examples":["blue shoes"],"uniqueKey":"clicks.items.[INDEX].placement.searchQuery","typeLabel":"string"}},"uniqueKey":"clicks.items.[INDEX].placement","typeLabel":"object"},"additionalAttribution":{"type":"object","description":"Optional. An additional product or vendor to attribute purchases to, on top of the promoted entity. Use it on sponsored clicks that lead to a purchase of something other than the promoted entity, typically a banner that takes the user to a product detail page or a product listing. A later purchase by the same user, within the attribution window, of this product (`type: product`) or of a product from this vendor (`type: vendor`, matched against the purchase item `vendorId`) is attributed to the campaign behind `resolvedBidId`. Requires `resolvedBidId`: the request is rejected if this field is set without it.\n","required":["id","type"],"additionalProperties":false,"properties":{"id":{"type":"string","description":"The marketplace's ID of the entity associated with the interaction.","minLength":1,"examples":["ean-512385132"],"isRequired":true,"uniqueKey":"clicks.items.[INDEX].additionalAttribution.id","typeLabel":"string"},"type":{"type":"string","description":"The type of entity associated with the interaction.","enum":["product","vendor"],"examples":["product"],"isRequired":true,"uniqueKey":"clicks.items.[INDEX].additionalAttribution.type","typeLabel":"enum\u003cstring>"}},"uniqueKey":"clicks.items.[INDEX].additionalAttribution","typeLabel":"object"},"page":{"description":"Information about the page where an auction or event occurs.","type":"object","title":"Page","required":["type","pageId"],"properties":{"type":{"type":"string","enum":["home","category","PDP","search","cart","other"],"description":"Type of page.","examples":["category"],"isRequired":true,"uniqueKey":"clicks.items.[INDEX].page.type","typeLabel":"enum\u003cstring>"},"pageId":{"type":"string","description":"Identifies the page","examples":["/category/electronics"],"isRequired":true,"uniqueKey":"clicks.items.[INDEX].page.pageId","typeLabel":"string"},"value":{"oneOf":[{"type":"string","description":"Detail of the page, depending on the type","example":"electronics","uniqueKey":"clicks.items.[INDEX].page.value.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","description":"Only valid for type cart. Items on the cart","examples":["coffee","cookies","apples"],"uniqueKey":"clicks.items.[INDEX].page.value.oneOf.1.items.[INDEX]","typeLabel":"string"},"minItems":1,"uniqueKey":"clicks.items.[INDEX].page.value.oneOf.1","typeLabel":"string[]"}],"uniqueKey":"clicks.items.[INDEX].page.value","typeLabel":"string | string[]"}},"uniqueKey":"clicks.items.[INDEX].page","typeLabel":"Page · object"},"object":{"type":"object","description":"Information regarding an organic or non-sponsored event.","required":["type"],"properties":{"type":{"type":"string","description":"The type of object that is being reported on the interaction.","enum":["listing","banner"],"isRequired":true,"uniqueKey":"clicks.items.[INDEX].object.type","typeLabel":"enum\u003cstring>"},"assetId":{"type":"string","description":"When type is `banner`, signals the ID of the asset of the banner","examples":["banner_asset_001"],"uniqueKey":"clicks.items.[INDEX].object.assetId","typeLabel":"string"},"clickType":{"type":"string","description":"When type is `listing`, signals the specific interaction flavor with the listing.","enum":["product","like","add-to-cart"],"uniqueKey":"clicks.items.[INDEX].object.clickType","typeLabel":"enum\u003cstring>"}},"uniqueKey":"clicks.items.[INDEX].object","typeLabel":"object"},"clickType":{"type":"string","description":"For sponsored events only, signals the specific interaction flavor with the listing.","enum":["product","like","add-to-cart"],"uniqueKey":"clicks.items.[INDEX].clickType","typeLabel":"enum\u003cstring>"},"externalCampaignId":{"type":"string","description":"Marketplace provided ID of a campaign created and run outside Topsort. Use it only for interactions that do not come from a Topsort auction: the request is rejected if both `externalCampaignId` and `resolvedBidId` are set.\n","examples":["awareness-campaign-2025"],"uniqueKey":"clicks.items.[INDEX].externalCampaignId","typeLabel":"string"},"externalVendorId":{"type":"string","description":"Marketplace provided ID for a vendor","examples":["my-new-vendor"],"uniqueKey":"clicks.items.[INDEX].externalVendorId","typeLabel":"string"},"deviceType":{"type":"string","description":"The device the user is on.","enum":["desktop","mobile"],"examples":["mobile"],"uniqueKey":"clicks.items.[INDEX].deviceType","typeLabel":"enum\u003cstring>"},"channel":{"type":"string","description":"Optional. The channel where the event occurred.","enum":["onsite","offsite","instore"],"examples":["onsite"],"uniqueKey":"clicks.items.[INDEX].channel","typeLabel":"enum\u003cstring>"}},"uniqueKey":"clicks.items.[INDEX]","typeLabel":"Click · object"},"uniqueKey":"clicks","typeLabel":"Click · object[]"},"purchases":{"title":"Purchases","description":"An array of purchase events","type":"array","minItems":0,"maxItems":50,"items":{"title":"Purchase","description":"A purchase is sent to Topsort once a marketplace customer places an order. These events are used to measure the effectiveness of an ad campaign.\n","type":"object","required":["occurredAt","opaqueUserId","items","id"],"additionalProperties":false,"properties":{"occurredAt":{"type":"string","format":"date-time","description":"RFC3339 formatted timestamp, including UTC offset, of the instant in which the order was placed. Please note that purchases will NOT be attributed to an auction that happened after.","examples":["2009-01-01T12:59:59-05:00"],"isRequired":true,"uniqueKey":"purchases.items.[INDEX].occurredAt","typeLabel":"string\u003cdate-time>"},"opaqueUserId":{"type":"string","description":"The opaque user ID is an anonymized unique identifier that maps to the original user ID without revealing the original value. This identifier allows Topsort to correlate user activity between auctions and user interactions, independent of the user's logged-in status. For apps or sites where users might interact while logged out, we recommend generating a random identifier (UUIDv7) on the first load, storing it on local storage (cookie, local storage, etc), and letting it live for at least a year. Otherwise, if your users are always logged in for interactions, you may use a hash of your customer ID. Correct purchase attribution requires long-lived opaque user IDs consistent between auction and event requests.","examples":["71303ce0-de89-496d-8270-6434589615e8"],"isRequired":true,"uniqueKey":"purchases.items.[INDEX].opaqueUserId","typeLabel":"string"},"items":{"type":"array","description":"Items purchased.","minItems":1,"items":{"description":"An item included in a purchase transaction with product, quantity, and pricing details.","type":"object","required":["productId","unitPrice"],"additionalProperties":false,"properties":{"productId":{"type":"string","description":"The marketplace ID of the product being purchased.","minLength":1,"examples":["p_SA0238"],"isRequired":true,"uniqueKey":"purchases.items.[INDEX].\\items.items.[INDEX].productId","typeLabel":"string"},"unitPrice":{"type":"number","format":"double","exclusiveMinimum":0,"description":"The price of a single item in the marketplace currency.","examples":[12.95],"isRequired":true,"uniqueKey":"purchases.items.[INDEX].\\items.items.[INDEX].unitPrice","typeLabel":"number\u003cdouble>"},"quantity":{"type":"integer","minimum":1,"default":1,"description":"Amount of products purchased.","examples":[2],"uniqueKey":"purchases.items.[INDEX].\\items.items.[INDEX].quantity","typeLabel":"integer"},"vendorId":{"type":"string","description":"The vendor ID of the product being purchased. This field is optional and should be filled in if 1. a product is sold by multiple vendors, or 2. you want to use it for halo attribution\n","minLength":1,"examples":["v_8fj2D"],"uniqueKey":"purchases.items.[INDEX].\\items.items.[INDEX].vendorId","typeLabel":"string"}},"uniqueKey":"purchases.items.[INDEX].\\items.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"purchases.items.[INDEX].\\items","typeLabel":"object[]"},"id":{"type":"string","description":"A unique identifier for the request. This field ensures the event reporting is idempotent in case there is a network issue and the request is retried. If there is no impression model on the marketplace side, generate a unique string that does not change if the event is resent.\n","minLength":1,"examples":["eb874c98-bf4d-40a9-ae6d-fcf4cecb535c"],"isRequired":true,"uniqueKey":"purchases.items.[INDEX].id","typeLabel":"string"},"deviceType":{"type":"string","description":"The device the user is on.","enum":["desktop","mobile"],"examples":["mobile"],"uniqueKey":"purchases.items.[INDEX].deviceType","typeLabel":"enum\u003cstring>"},"channel":{"type":"string","description":"Optional. The channel where the event occurred.","enum":["onsite","offsite","instore"],"examples":["onsite"],"uniqueKey":"purchases.items.[INDEX].channel","typeLabel":"enum\u003cstring>"}},"uniqueKey":"purchases.items.[INDEX]","typeLabel":"Purchase · object"},"uniqueKey":"purchases","typeLabel":"Purchase · object[]"},"pageviews":{"title":"Page views","description":"An array of page views","type":"array","minItems":0,"maxItems":50,"items":{"title":"Page View","type":"object","description":"A page view represents the navigation of the user throughout the page. They are considered organic events. In contrast to clicks or impressions, which are events within a page, a page view is the interaction with the full page, which can contain multiple objects.\n","required":["occurredAt","opaqueUserId","id","page"],"additionalProperties":false,"properties":{"page":{"description":"Information about the page where an auction or event occurs.","type":"object","title":"Page","required":["type","pageId"],"properties":{"type":{"type":"string","enum":["home","category","PDP","search","cart","other"],"description":"Type of page.","examples":["category"],"isRequired":true,"uniqueKey":"pageviews.items.[INDEX].page.type","typeLabel":"enum\u003cstring>"},"pageId":{"type":"string","description":"Identifies the page","examples":["/category/electronics"],"isRequired":true,"uniqueKey":"pageviews.items.[INDEX].page.pageId","typeLabel":"string"},"value":{"oneOf":[{"type":"string","description":"Detail of the page, depending on the type","example":"electronics","uniqueKey":"pageviews.items.[INDEX].page.value.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","description":"Only valid for type cart. Items on the cart","examples":["coffee","cookies","apples"],"uniqueKey":"pageviews.items.[INDEX].page.value.oneOf.1.items.[INDEX]","typeLabel":"string"},"minItems":1,"uniqueKey":"pageviews.items.[INDEX].page.value.oneOf.1","typeLabel":"string[]"}],"uniqueKey":"pageviews.items.[INDEX].page.value","typeLabel":"string | string[]"}},"isRequired":true,"uniqueKey":"pageviews.items.[INDEX].page","typeLabel":"Page · object"},"occurredAt":{"type":"string","format":"date-time","description":"A RFC3339 formatted timestamp including UTC offset.","examples":["2009-01-01T12:59:59-05:00"],"isRequired":true,"uniqueKey":"pageviews.items.[INDEX].occurredAt","typeLabel":"string\u003cdate-time>"},"opaqueUserId":{"type":"string","description":"The opaque user ID is an anonymized unique identifier that maps to the original user ID without revealing the original value. This identifier allows Topsort to correlate user activity between auctions and user interactions, independent of the user's logged-in status. For apps or sites where users might interact while logged out, we recommend generating a random identifier (UUIDv7) on the first load, storing it on local storage (cookie, local storage, etc), and letting it live for at least a year. Otherwise, if your users are always logged in for interactions, you may use a hash of your customer ID. Correct purchase attribution requires long-lived opaque user IDs consistent between auction and event requests.","examples":["71303ce0-de89-496d-8270-6434589615e8"],"isRequired":true,"uniqueKey":"pageviews.items.[INDEX].opaqueUserId","typeLabel":"string"},"id":{"type":"string","description":"The marketplace's unique ID for the event. This field ensures the event reporting is idempotent in case there is a network issue and the request is retried. If there is no pageview model on the marketplace side, generate a unique string that does not change if the event is resent.\n","minLength":1,"examples":["eb874c98-bf4d-40a9-ae6d-fcf4cecb535c"],"isRequired":true,"uniqueKey":"pageviews.items.[INDEX].id","typeLabel":"string"},"deviceType":{"type":"string","description":"The device the user is on.","enum":["desktop","mobile"],"examples":["mobile"],"uniqueKey":"pageviews.items.[INDEX].deviceType","typeLabel":"enum\u003cstring>"},"channel":{"type":"string","description":"Optional. The channel where the event occurred.","enum":["onsite","offsite","instore"],"examples":["onsite"],"uniqueKey":"pageviews.items.[INDEX].channel","typeLabel":"enum\u003cstring>"}},"uniqueKey":"pageviews.items.[INDEX]","typeLabel":"Page View · object"},"uniqueKey":"pageviews","typeLabel":"Page View · object[]"},"videoEvents":{"title":"Video events","description":"An array of video events","type":"array","minItems":0,"maxItems":50,"items":{"title":"Video event","type":"object","description":"A video event reports that a sponsored video ad reached a fixed playback checkpoint or failed to play. Event names follow the IAB VAST tracking-event vocabulary, so existing video player trackers can be mapped one to one. Video events are for sponsored video ads only, so `resolvedBidId` is required and must come from a video campaign; a `resolvedBidId` from a non-video ad is rejected. They are used for engagement and delivery reporting only and are never charged or attributed.\n","required":["resolvedBidId","eventType","occurredAt","opaqueUserId","id"],"additionalProperties":false,"properties":{"resolvedBidId":{"type":"string","description":"The `resolvedBidId` received from the `/v2/auctions` response for a video ad.\n","examples":["WyJiX01mazE1IiwiMTJhNTU4MjgtOGVhZC00Mjk5LTgzMjctY2ViYjAwMmEwZmE4IiwibGlzdGluZ3MiLCJkZWZhdWx0IiwiIl0="],"isRequired":true,"uniqueKey":"videoEvents.items.[INDEX].resolvedBidId","typeLabel":"string"},"eventType":{"type":"string","description":"Which playback checkpoint or failure this event reports. `start`, `firstQuartile`, `midpoint`, `thirdQuartile` and `complete` are the VAST playback checkpoints; `error` reports that the video could not be delivered or played.\n","enum":["start","firstQuartile","midpoint","thirdQuartile","complete","error"],"examples":["firstQuartile"],"isRequired":true,"uniqueKey":"videoEvents.items.[INDEX].eventType","typeLabel":"enum\u003cstring>"},"occurredAt":{"type":"string","format":"date-time","description":"A RFC3339 formatted timestamp including UTC offset.","examples":["2009-01-01T12:59:59-05:00"],"isRequired":true,"uniqueKey":"videoEvents.items.[INDEX].occurredAt","typeLabel":"string\u003cdate-time>"},"opaqueUserId":{"type":"string","description":"The opaque user ID is an anonymized unique identifier that maps to the original user ID without revealing the original value. This identifier allows Topsort to correlate user activity between auctions and user interactions, independent of the user's logged-in status. For apps or sites where users might interact while logged out, we recommend generating a random identifier (UUIDv7) on the first load, storing it on local storage (cookie, local storage, etc), and letting it live for at least a year. Otherwise, if your users are always logged in for interactions, you may use a hash of your customer ID. Correct purchase attribution requires long-lived opaque user IDs consistent between auction and event requests.","examples":["71303ce0-de89-496d-8270-6434589615e8"],"isRequired":true,"uniqueKey":"videoEvents.items.[INDEX].opaqueUserId","typeLabel":"string"},"id":{"type":"string","description":"A unique identifier for the request. This field ensures the event reporting is idempotent in case there is a network issue and the request is retried. If there is no impression model on the marketplace side, generate a unique string that does not change if the event is resent.\n","minLength":1,"examples":["eb874c98-bf4d-40a9-ae6d-fcf4cecb535c"],"isRequired":true,"uniqueKey":"videoEvents.items.[INDEX].id","typeLabel":"string"},"errorCode":{"type":"integer","format":"int32","description":"VAST error code describing why the video failed, for example `405` for a media file that could not be displayed. Required when `eventType` is `error` and ignored otherwise.\n","examples":[405],"uniqueKey":"videoEvents.items.[INDEX].errorCode","typeLabel":"integer\u003cint32>"},"placement":{"description":"Information about where an ad or product is placed on a page.","type":"object","required":["path"],"additionalProperties":false,"properties":{"path":{"type":"string","description":"URL path of the page triggering the event. For web apps, this can be obtained in JS using `window.location.pathname`. For mobile apps, use the deep link for the current view, if available. Otherwise, encode the view from which the event occurred in your app as a path-like string (e.g. `/root/categories/:categoryId`).\n","minLength":1,"examples":["/categories/dairy"],"isRequired":true,"uniqueKey":"videoEvents.items.[INDEX].placement.path","typeLabel":"string"},"position":{"type":"integer","description":"For components with multiple items (i.e. search results, similar products, etc), this should indicate the index of a given item within that list.\n","minimum":1,"uniqueKey":"videoEvents.items.[INDEX].placement.position","typeLabel":"integer"},"page":{"type":"integer","description":"For paginated pages, this should indicate which page number triggered the event.\n","minimum":1,"uniqueKey":"videoEvents.items.[INDEX].placement.page","typeLabel":"integer"},"pageSize":{"type":"integer","description":"For paginated pages this should indicate how many items are in each result page.\n","minimum":1,"examples":[15],"uniqueKey":"videoEvents.items.[INDEX].placement.pageSize","typeLabel":"integer"},"productId":{"type":"string","description":"The ID of the product associated to the page in which this event occurred, if applicable. This ID must match the ID provided through the catalog service.\n","minLength":1,"uniqueKey":"videoEvents.items.[INDEX].placement.productId","typeLabel":"string"},"categoryIds":{"type":"array","items":{"type":"string","description":"A category ID.","minLength":1,"examples":["c_electronics"],"uniqueKey":"videoEvents.items.[INDEX].placement.categoryIds.items.[INDEX]","typeLabel":"string"},"description":"An array of IDs of the categories associated to the page in which this event occurred, if applicable. These IDs must match the IDs provided through the catalog service.\n","minItems":1,"uniqueKey":"videoEvents.items.[INDEX].placement.categoryIds","typeLabel":"string[]"},"searchQuery":{"type":"string","description":"The search string provided by the user in the page where this event occurred, if applicable. This search string must match the searchQuery field that was provided in the auction request (if provided).\n","minLength":1,"examples":["blue shoes"],"uniqueKey":"videoEvents.items.[INDEX].placement.searchQuery","typeLabel":"string"}},"uniqueKey":"videoEvents.items.[INDEX].placement","typeLabel":"object"},"page":{"description":"Information about the page where an auction or event occurs.","type":"object","title":"Page","required":["type","pageId"],"properties":{"type":{"type":"string","enum":["home","category","PDP","search","cart","other"],"description":"Type of page.","examples":["category"],"isRequired":true,"uniqueKey":"videoEvents.items.[INDEX].page.type","typeLabel":"enum\u003cstring>"},"pageId":{"type":"string","description":"Identifies the page","examples":["/category/electronics"],"isRequired":true,"uniqueKey":"videoEvents.items.[INDEX].page.pageId","typeLabel":"string"},"value":{"oneOf":[{"type":"string","description":"Detail of the page, depending on the type","example":"electronics","uniqueKey":"videoEvents.items.[INDEX].page.value.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","description":"Only valid for type cart. Items on the cart","examples":["coffee","cookies","apples"],"uniqueKey":"videoEvents.items.[INDEX].page.value.oneOf.1.items.[INDEX]","typeLabel":"string"},"minItems":1,"uniqueKey":"videoEvents.items.[INDEX].page.value.oneOf.1","typeLabel":"string[]"}],"uniqueKey":"videoEvents.items.[INDEX].page.value","typeLabel":"string | string[]"}},"uniqueKey":"videoEvents.items.[INDEX].page","typeLabel":"Page · object"},"deviceType":{"type":"string","description":"The device the user is on.","enum":["desktop","mobile"],"examples":["mobile"],"uniqueKey":"videoEvents.items.[INDEX].deviceType","typeLabel":"enum\u003cstring>"},"channel":{"type":"string","description":"Optional. The channel where the event occurred.","enum":["onsite","offsite","instore"],"examples":["onsite"],"uniqueKey":"videoEvents.items.[INDEX].channel","typeLabel":"enum\u003cstring>"}},"uniqueKey":"videoEvents.items.[INDEX]","typeLabel":"Video event · object"},"uniqueKey":"videoEvents","typeLabel":"Video event · object[]"}},"examples":[{"renders":[{"id":"3f2b9c14-7a1d-4e2b-9c3a-1b2c3d4e5f60","occurredAt":"2019-01-01T12:59:58-05:00","opaqueUserId":"71303ce0-de89-496d-8270-6434589615e8","resolvedBidId":"WyJiX01mazE1IiwiMTJhNTU4MjgtOGVhZC00Mjk5LTgzMjctY2ViYjAwMmEwZmE4IiwibGlzdGluZ3MiLCJkZWZhdWx0IiwiIl0=","placement":{"path":"/categories/dairy","position":1,"page":1,"pageSize":15,"categoryIds":["9BLIe"]},"deviceType":"mobile","channel":"onsite"}]},{"impressions":[{"id":"eb874c98-bf4d-40a9-ae6d-fcf4cecb535c","occurredAt":"2019-01-01T12:59:59-05:00","opaqueUserId":"71303ce0-de89-496d-8270-6434589615e8","placement":{"path":"/categories/dairy","position":1,"page":1,"pageSize":15,"categoryIds":["9BLIe"]},"resolvedBidId":"WyJiX01mazE1IiwiMTJhNTU4MjgtOGVhZC00Mjk5LTgzMjctY2ViYjAwMmEwZmE4IiwibGlzdGluZ3MiLCJkZWZhdWx0IiwiIl0=","deviceType":"mobile","channel":"onsite"}]},{"clicks":[{"id":"b39d39ed-ea0e-4059-9d15-4990b39c85a2","occurredAt":"2019-01-01T13:01:42-05:00","opaqueUserId":"71303ce0-de89-496d-8270-6434589615e8","placement":{"path":"/categories/dairy","position":1,"page":1,"pageSize":15,"categoryIds":["9BLIe"]},"resolvedBidId":"WyJiX01mazE1IiwiMTJhNTU4MjgtOGVhZC00Mjk5LTgzMjctY2ViYjAwMmEwZmE4IiwibGlzdGluZ3MiLCJkZWZhdWx0IiwiIl0=","deviceType":"mobile","channel":"offsite"}]},{"purchases":[{"id":"0e06c899-b2cd-4e0d-b0de-8aefb4b6d0a0","items":[{"productId":"p_SA0238","unitPrice":12.95,"quantity":2,"vendorId":"v_8fj2D"},{"productId":"p_oajf2D","unitPrice":1.49}],"occurredAt":"2019-01-01T12:59:59-05:00","opaqueUserId":"71303ce0-de89-496d-8270-6434589615e8","deviceType":"desktop","channel":"onsite"},{"id":"b7147656-504f-4ae7-b335-740829ff64c6","items":[{"productId":"p_SA0279","unitPrice":119.95,"quantity":5,"vendorId":"v_8fj2D"}],"occurredAt":"2019-01-01T13:59:59-05:00","opaqueUserId":"71303ce0-de89-496d-8270-6434589615e8","channel":"instore"}]},{"pageviews":[{"id":"8f648a8e-830c-4bb4-9d93-6ea80075ca82","occurredAt":"2019-01-01T12:59:58-05:00","opaqueUserId":"71303ce0-de89-496d-8270-6434589615e8","page":{"type":"category","pageId":"/categories/dairy","value":"dairy"},"deviceType":"mobile","channel":"onsite"}]},{"videoEvents":[{"id":"5c0e7d2a-91b4-4f3e-8a6d-2e1f0c9b8a71","occurredAt":"2019-01-01T12:59:59-05:00","opaqueUserId":"71303ce0-de89-496d-8270-6434589615e8","resolvedBidId":"WyJiX01mazE1IiwiMTJhNTU4MjgtOGVhZC00Mjk5LTgzMjctY2ViYjAwMmEwZmE4IiwibGlzdGluZ3MiLCJkZWZhdWx0IiwiIl0=","eventType":"firstQuartile","placement":{"path":"/categories/dairy","position":1},"deviceType":"mobile","channel":"onsite"},{"id":"9a4f1b3c-6d2e-4c8b-b7a0-3f5e6d7c8b92","occurredAt":"2019-01-01T13:00:03-05:00","opaqueUserId":"71303ce0-de89-496d-8270-6434589615e8","resolvedBidId":"WyJiX01mazE1IiwiMTJhNTU4MjgtOGVhZC00Mjk5LTgzMjctY2ViYjAwMmEwZmE4IiwibGlzdGluZ3MiLCJkZWZhdWx0IiwiIl0=","eventType":"error","errorCode":405,"deviceType":"mobile","channel":"onsite"}]}],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"renders":[{"id":"3f2b9c14-7a1d-4e2b-9c3a-1b2c3d4e5f60","occurredAt":"2019-01-01T12:59:58-05:00","opaqueUserId":"71303ce0-de89-496d-8270-6434589615e8","resolvedBidId":"WyJiX01mazE1IiwiMTJhNTU4MjgtOGVhZC00Mjk5LTgzMjctY2ViYjAwMmEwZmE4IiwibGlzdGluZ3MiLCJkZWZhdWx0IiwiIl0=","placement":{"path":"/categories/dairy","position":1,"page":1,"pageSize":15,"categoryIds":["9BLIe"]},"deviceType":"mobile","channel":"onsite"}]}}},"exampleType":"generated"}},"required":true,"exampleType":"generated"},"responses":{"4695c4be-2180-4aff-a2dd-d2cea07b8edd":{"description":"All events were reported successfully.","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"6d0b57f7-62ae-4581-a658-ea8e0bd0c17a":{"description":"HTTP status codes as registered with IANA.","content":{"application/json":{"schema":{"description":"Error response object containing error code, message, and documentation URL.","type":"object","required":["errCode"],"properties":{"errCode":{"type":"string","description":"A short string uniquely identifying the problem.","enum":["bad_request","empty_request","internal_server_error","invalid_api_key","invalid_auction_id","invalid_demand_source","invalid_event_type","invalid_external_bid","invalid_external_demand_ad_type","invalid_promotion_type","invalid_session","invalid_video_event_type","missing_auctions","missing_context","missing_placement","missing_product_id","missing_promotion_type","missing_purchased_at","missing_session","missing_slot_id","missing_slots","missing_video_error_code","no_products","non_video_resolved_bid","no_purchase_items","purchase_item_quantity_less_or_equal_than_zero","resolved_bid_id_not_found","too_few_impressions","too_few_slots","too_many_auctions","too_many_external_bids","unauthorized_external_demand"],"examples":["bad_request","no_products"],"isRequired":true,"uniqueKey":"errCode","typeLabel":"enum\u003cstring>"},"docUrl":{"type":"string","format":"uri","description":"A link to a documentation page providing more information about the error.","examples":["https://api.docs.topsort.com/reference/errors"],"uniqueKey":"docUrl","typeLabel":"string\u003curi>"},"message":{"type":"string","description":"Human-readable explanation of or details about the error. The string for a given error may change over time; code should not parse or dispatch based on particular values for this field.\n","examples":["could not find the provided resolved bid id"],"uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"errCode":"bad_request","docUrl":"https://api.docs.topsort.com/reference/errors","message":"could not find the provided resolved bid id"}}},"exampleType":"generated"}},"exampleType":"generated"},"a886ea5b-80ee-4fc9-b9e9-df986b3f915a":{"description":"Access token is missing or invalid","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}}},"security":{"936793d4-8920-43b6-a113-34eac116554e":{"Topsort_Endpoints_v2_API_Reference_HTTPBearer":{"description":"A valid API key generated in Topsort's UI. Use a TSE API key for calls to Auctions or Events API.","scheme":"bearer","type":"http","scopes":[],"schemeName":"Topsort_Endpoints_v2_API_Reference_HTTPBearer"}}},"servers":{"48a67a54-dba9-4109-9bdd-ad1aabca2ee1":{"url":"https://api.topsort.com","description":"Base API URL"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"description":"A valid API key generated in Topsort's UI. Use a TSE API key for calls to Auctions or Events API.","scheme":"bearer","type":"http","scopes":[],"schemeName":"Topsort_Endpoints_v2_API_Reference_HTTPBearer"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"A valid API key generated in Topsort's UI. Use a TSE API key for calls to Auctions or Events API.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"Topsort_Endpoints_v2_API_Reference_HTTPBearer","name":"Authorization"}],"title":"Topsort_Endpoints_v2_API_Reference_HTTPBearer"}]},"originalFileLocation":"openapi.json"},"subdomain":"topsort","siteName":"Topsort Documentation","title":"Report events - Topsort Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/en/api-reference/events/report-events","matchLevel":0},"es":{"href":"/es/api-reference/events/report-events","matchLevel":1},"pt":{"href":"/pt/api-reference/events/report-events","matchLevel":1},"fr":{"href":"/fr/api-reference/events/report-events","matchLevel":1},"de":{"href":"/de/api-reference/events/report-events","matchLevel":1}}},"lastModified":"2026-10-30T14:38:35.384Z","originalFileLocation":"en/api-reference/events/report-events.mdx","locale":"en"},"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=\"Use the /events endpoint to report user interactions and activity in on a marketplace: - Renders — an ad was rendered in the page. - Impressions — a user viewed an asset. - Clicks — a user clicked on an asset. - Purchases — a user created an order. - Page views — a user visited a page. - Video events — a video ad reached a playback checkpoint or failed to play. Interactions require either a resolvedBidId, for sponsored events coming from the /v2/auctions response, or an entity that describes the entity that was interacted with, in the case of organic or non-sponsored events. For analytics purposes, you can use the placement field to differentiate different listings or banners. For example, on a product page with a carousel of products, you can track impressions and clicks related to the carousel by including /carousel at the end of the path field in the placement object. This allows you to monitor the performance of carousel products in the Data Room.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Topsort Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/topsort/TELuk3ooLLcs9DrZ/_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/topsort/TELuk3ooLLcs9DrZ/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/topsort/TELuk3ooLLcs9DrZ/_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/topsort/TELuk3ooLLcs9DrZ/_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/topsort/TELuk3ooLLcs9DrZ/_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/topsort/TELuk3ooLLcs9DrZ/_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/topsort/TELuk3ooLLcs9DrZ/_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/topsort/TELuk3ooLLcs9DrZ/_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/topsort/TELuk3ooLLcs9DrZ/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Report events - Topsort Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Use the /events endpoint to report user interactions and activity in on a marketplace: - Renders — an ad was rendered in the page. - Impressions — a user viewed an asset. - Clicks — a user clicked on an asset. - Purchases — a user created an order. - Page views — a user visited a page. - Video events — a video ad reached a playback checkpoint or failed to play. Interactions require either a resolvedBidId, for sponsored events coming from the /v2/auctions response, or an entity that describes the entity that was interacted with, in the case of organic or non-sponsored events. For analytics purposes, you can use the placement field to differentiate different listings or banners. For example, on a product page with a carousel of products, you can track impressions and clicks related to the carousel by including /carousel at the end of the path field in the placement object. This allows you to monitor the performance of carousel products in the Data Room.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Topsort Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.topsort.com/en/api-reference/events/report-events\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://topsort.mintlify.site/_mintlify/api/og/v2?division=Events\u0026amp;title=Report+events\u0026amp;description=Use+the+%60%2Fevents%60+endpoint+to+report+user+interactions+and+activity+in+on+a+marketplace%3A%0A-+**Renders**+%E2%80%94+an+ad+was+rendered+in+the+page.%0A-+**Impressions**+%E2%80%94+a+u\u0026amp;theme=ec0cb5145d1faab01b0dda03\u0026amp;signature=570217f86cbc29bcde6a6b368bbf832f8044f79612accb3f9aafa823699f5aff\">\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=\"Report events - Topsort Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Use the /events endpoint to report user interactions and activity in on a marketplace: - Renders — an ad was rendered in the page. - Impressions — a user viewed an asset. - Clicks — a user clicked on an asset. - Purchases — a user created an order. - Page views — a user visited a page. - Video events — a video ad reached a playback checkpoint or failed to play. Interactions require either a resolvedBidId, for sponsored events coming from the /v2/auctions response, or an entity that describes the entity that was interacted with, in the case of organic or non-sponsored events. For analytics purposes, you can use the placement field to differentiate different listings or banners. For example, on a product page with a carousel of products, you can track impressions and clicks related to the carousel by including /carousel at the end of the path field in the placement object. This allows you to monitor the performance of carousel products in the Data Room.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://topsort.mintlify.site/_mintlify/api/og/v2?division=Events\u0026amp;title=Report+events\u0026amp;description=Use+the+%60%2Fevents%60+endpoint+to+report+user+interactions+and+activity+in+on+a+marketplace%3A%0A-+**Renders**+%E2%80%94+an+ad+was+rendered+in+the+page.%0A-+**Impressions**+%E2%80%94+a+u\u0026amp;theme=ec0cb5145d1faab01b0dda03\u0026amp;signature=570217f86cbc29bcde6a6b368bbf832f8044f79612accb3f9aafa823699f5aff\">\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/topsort/TELuk3ooLLcs9DrZ/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Topsort Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0074F7\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.topsort.com/en/api-reference/events/report-events\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/en/api-reference/events/report-events.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://docs.topsort.com/en/api-reference/events/report-events\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"es\" href=\"https://docs.topsort.com/es/api-reference/events/report-events\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"pt\" href=\"https://docs.topsort.com/pt/api-reference/events/report-events\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"fr\" href=\"https://docs.topsort.com/fr/api-reference/events/report-events\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"de\" href=\"https://docs.topsort.com/de/api-reference/events/report-events\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://docs.topsort.com/en/api-reference/events/report-events\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.topsort.com/#organization\",\"name\":\"Topsort Documentation\",\"url\":\"https://docs.topsort.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/topsort/FdGgIIxdnNXimeCi/assets/logo-light.svg?fit=max\u0026auto=format\u0026n=FdGgIIxdnNXimeCi\u0026q=85\u0026s=52335392d5233f0542050e8af5c24ef4\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.topsort.com#website\",\"name\":\"Topsort Documentation\",\"url\":\"https://docs.topsort.com\",\"publisher\":{\"@id\":\"https://docs.topsort.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.topsort.com/en/api-reference/events/report-events#webpage\",\"url\":\"https://docs.topsort.com/en/api-reference/events/report-events\",\"name\":\"Report events\",\"description\":\"Use the /events endpoint to report user interactions and activity in on a marketplace: - Renders — an ad was rendered in the page. - Impressions — a user viewed an asset. - Clicks — a user clicked on an asset. - Purchases — a user created an order. - Page views — a user visited a page. - Video events — a video ad reached a playback checkpoint or failed to play. Interactions require either a resolvedBidId, for sponsored events coming from the /v2/auctions response, or an entity that describes the entity that was interacted with, in the case of organic or non-sponsored events. For analytics purposes, you can use the placement field to differentiate different listings or banners. For example, on a product page with a carousel of products, you can track impressions and clicks related to the carousel by including /carousel at the end of the path field in the placement object. This allows you to monitor the performance of carousel products in the Data Room.\",\"dateModified\":\"2026-10-30T14:38:35.384Z\",\"isPartOf\":{\"@id\":\"https://docs.topsort.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.topsort.com/en/api-reference/events/report-events#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.topsort.com/en/api-reference/events/report-events#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Topsort Documentation\",\"item\":\"https://docs.topsort.com\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Report events\",\"item\":\"https://docs.topsort.com/en/api-reference/events/report-events\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.topsort.com/en/api-reference/events/report-events#apireference\",\"headline\":\"Report events\",\"name\":\"Report events\",\"description\":\"Use the /events endpoint to report user interactions and activity in on a marketplace: - Renders — an ad was rendered in the page. - Impressions — a user viewed an asset. - Clicks — a user clicked on an asset. - Purchases — a user created an order. - Page views — a user visited a page. - Video events — a video ad reached a playback checkpoint or failed to play. Interactions require either a resolvedBidId, for sponsored events coming from the /v2/auctions response, or an entity that describes the entity that was interacted with, in the case of organic or non-sponsored events. For analytics purposes, you can use the placement field to differentiate different listings or banners. For example, on a product page with a carousel of products, you can track impressions and clicks related to the carousel by including /carousel at the end of the path field in the placement object. This allows you to monitor the performance of carousel products in the Data Room.\",\"url\":\"https://docs.topsort.com/en/api-reference/events/report-events\",\"mainEntityOfPage\":{\"@id\":\"https://docs.topsort.com/en/api-reference/events/report-events#webpage\"},\"dateModified\":\"2026-10-30T14:38:35.384Z\",\"publisher\":{\"@id\":\"https://docs.topsort.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.topsort.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Topsort Documentation\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Topsort Documentation\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/en/api-reference/events/report-events.md","siteName":"Topsort Documentation","nav":{"global":null,"languages":[{"language":"en","tabs":[{"tab":"API Reference","icon":"square-terminal","groups":[{"group":"General","pages":[{"title":"Introduction","href":"/en/api-reference/introduction"},{"title":"Authentication","href":"/en/api-reference/authentication"},{"title":"API Key Types","href":"/en/api-reference/authentication/api-key-types"},{"title":"Handling Errors","href":"/en/api-reference/errors"},{"title":"Developer Logs","href":"/en/api-reference/logs"},{"title":"API Changelog","href":"/en/api-reference/api-changelog"}]},{"group":"Auction examples","pages":[{"title":"Running auctions","sidebarTitle":"Running auctions","href":"/en/api-reference/examples/auctions"},{"group":"Sponsored listings","pages":[{"title":"Sponsored listings from a set of products","sidebarTitle":"Set of products","href":"/en/api-reference/examples/sponsored-listings/set-of-products"},{"title":"Sponsored listings on category pages","sidebarTitle":"Categories","href":"/en/api-reference/examples/sponsored-listings/categories"},{"title":"Sponsored listings in search results","sidebarTitle":"Search","href":"/en/api-reference/examples/sponsored-listings/search"},{"title":"Combining winners and organic results","sidebarTitle":"Combining winners and organic results","href":"/en/api-reference/examples/sponsored-listings/combining-results"},{"title":"Filtering auctions by attributes","sidebarTitle":"Attribute filters","href":"/en/api-reference/examples/sponsored-listings/attribute-filters"}]},{"group":"Sponsored banners","pages":[{"title":"Sponsored Banners","sidebarTitle":"Banners","href":"/en/api-reference/examples/sponsored-banners/banners"},{"title":"Sponsored Banners in Carousels and Swimlanes","sidebarTitle":"Carousels and Swimlanes","href":"/en/api-reference/examples/sponsored-banners/carousels"},{"title":"Sponsored Banners on category pages","sidebarTitle":"Categories","href":"/en/api-reference/examples/sponsored-banners/categories"},{"title":"Sponsored Banners on landing pages","sidebarTitle":"Landing pages","href":"/en/api-reference/examples/sponsored-banners/landing-pages"},{"title":"Sponsored Banners on search pages","sidebarTitle":"Search","href":"/en/api-reference/examples/sponsored-banners/search"},{"title":"Banner Attribution","sidebarTitle":"Attribution","href":"/en/api-reference/examples/sponsored-banners/attribution"}]},{"title":"Sponsored brands","sidebarTitle":"Sponsored brands","href":"/en/api-reference/examples/sponsored-brands"}]},{"group":"Webhook examples","pages":[{"title":"Using webhooks","sidebarTitle":"Using webhooks","href":"/en/api-reference/examples/webhooks/usage"},{"title":"Webhook event \u0026 payloads","sidebarTitle":"Webhook event \u0026 payloads","href":"/en/api-reference/examples/webhooks/event-payloads"}]},{"group":"Auctions","pages":[{"title":"Create auctions","deprecated":null,"version":null,"openapi":"/openapi.json post /v2/auctions","href":"/en/api-reference/auctions/create-auctions"},{"title":"Create sponsored brand auctions","deprecated":null,"version":null,"openapi":"/openapi.json post /v2/auctions/sponsored-brand","href":"/en/api-reference/auctions/create-sponsored-brand-auctions"},{"title":"Create travel auctions","description":"Use the `/auctions/travel` endpoint to create batch auctions for sponsored travel listings. We support two types of sponsored travel listings, hotels and flights. Each batch of auction requests can be a combination of sponsored hotel and flight listing auctions. Each auction type has a unique body schemas.","deprecated":null,"version":null,"openapi":"/openapi.json post /v2/auctions/travel","href":"/en/api-reference/auctions/create-travel-auctions"}]},{"group":"Events","pages":[{"title":"Report events","deprecated":null,"version":null,"openapi":"/openapi.json post /v2/events","href":"/en/api-reference/events/report-events"},{"title":"[Beta] Report Link Users","description":"Use the `/events/beta/link-users` endpoint to report to Topsort linked opaque user IDs.\nThis endpoint allows linking two opaque user IDs for attribution purposes. The `from` field represents the original opaque user ID, and the `to` field represents the target opaque user ID to be linked. The request will fail if the `from` and `to` opaque user IDs are the same.\nContact your sales representative to gain access to this endpoint and start using it.\n","deprecated":null,"version":null,"openapi":"/openapi.json post /v2/events/beta/link-users","href":"/en/api-reference/events/[beta]-report-link-users"}]},{"group":"Toptimize","pages":[{"title":"[Beta] Rank objects","deprecated":null,"version":null,"openapi":"/openapi.json post /toptimize/v1/rank","href":"/en/api-reference/toptimize/[beta]-rank-objects"},{"title":"[Beta] Add Quality Score","deprecated":null,"version":null,"openapi":"/openapi.json post /toptimize/v1/predictions","href":"/en/api-reference/toptimize/[beta]-add-quality-score"},{"title":"[Beta] Retrieve objects","deprecated":null,"version":null,"openapi":"/openapi.json post /toptimize/v1/retrieval","href":"/en/api-reference/toptimize/[beta]-retrieve-objects"}]},{"group":"Toppie API","pages":[{"title":"[BETA] Get Toppie Campaigns","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/toppie/campaigns","href":"/en/api-reference/toppie-api/[beta]-get-toppie-campaigns"},{"title":"[BETA] Create Toppie Campaign","deprecated":null,"version":null,"openapi":"/openapi.json post /public/v1/toppie/campaigns","href":"/en/api-reference/toppie-api/[beta]-create-toppie-campaign"},{"title":"[BETA] Get Toppie Campaign Details","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/toppie/campaigns/{campaign_id}","href":"/en/api-reference/toppie-api/[beta]-get-toppie-campaign-details"},{"title":"[BETA] Delete Toppie Campaign","deprecated":null,"version":null,"openapi":"/openapi.json delete /public/v1/toppie/campaigns/{campaign_id}","href":"/en/api-reference/toppie-api/[beta]-delete-toppie-campaign"},{"title":"[BETA] Update Toppie Campaign","deprecated":null,"version":null,"openapi":"/openapi.json patch /public/v1/toppie/campaigns/{campaign_id}","href":"/en/api-reference/toppie-api/[beta]-update-toppie-campaign"},{"title":"[BETA] Get Toppie Campaign Bids","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/toppie/campaigns/{campaign_id}/bids","href":"/en/api-reference/toppie-api/[beta]-get-toppie-campaign-bids"},{"title":"[BETA] Get Campaign Report.","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/toppie/reporting/campaigns/{campaign_id}","href":"/en/api-reference/toppie-api/[beta]-get-campaign-report"},{"title":"[BETA] Get Agency Account Report.","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/toppie/reporting","href":"/en/api-reference/toppie-api/[beta]-get-agency-account-report"},{"title":"[BETA] Get Campaign Products Report.","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/toppie/reporting/campaigns/{campaign_id}/products","href":"/en/api-reference/toppie-api/[beta]-get-campaign-products-report"},{"title":"[BETA] Get Campaigns Reporting.","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/toppie/reporting/campaigns","href":"/en/api-reference/toppie-api/[beta]-get-campaigns-reporting"},{"title":"[BETA] Account Activity Reports.","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/toppie/reporting/account-activity","href":"/en/api-reference/toppie-api/[beta]-account-activity-reports"},{"title":"Get Agency Daily Kpis By Product Dump Urls","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/toppie/reporting/file-reports/daily-kpis-by-product","href":"/en/api-reference/toppie-api/get-agency-daily-kpis-by-product-dump-urls"},{"title":"[BETA] List Account Products","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/toppie/products","href":"/en/api-reference/toppie-api/[beta]-list-account-products"}]},{"group":"Campaign API","pages":[{"title":"Get Campaign Restriction","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/campaign-service/campaigns/{campaign_id}/restrictions","href":"/en/api-reference/campaign-api/get-campaign-restriction"},{"title":"Create Campaign Restriction","deprecated":null,"version":null,"openapi":"/openapi.json post /public/v1/campaign-service/campaigns/{campaign_id}/restrictions","href":"/en/api-reference/campaign-api/create-campaign-restriction"},{"title":"Update Campaign Restriction","deprecated":null,"version":null,"openapi":"/openapi.json patch /public/v1/campaign-service/campaigns/{campaign_id}/restrictions/{restriction_id}","href":"/en/api-reference/campaign-api/update-campaign-restriction"},{"title":"Get Restriction Types","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/campaign-service/restriction-types","href":"/en/api-reference/campaign-api/get-restriction-types"},{"title":"Get Restriction Type","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/campaign-service/restriction-types/{restriction_type_id}","href":"/en/api-reference/campaign-api/get-restriction-type"},{"title":"Get Json Templates","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/campaign-service/json-templates","href":"/en/api-reference/campaign-api/get-json-templates"},{"title":"Create Json Template","deprecated":null,"version":null,"openapi":"/openapi.json post /public/v1/campaign-service/json-templates","href":"/en/api-reference/campaign-api/create-json-template"},{"title":"Get Json Template","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/campaign-service/json-templates/{json_template_id}","href":"/en/api-reference/campaign-api/get-json-template"},{"title":"Update a JSON template","deprecated":null,"version":null,"openapi":"/openapi.json patch /public/v1/campaign-service/json-templates/{json_template_id}","href":"/en/api-reference/campaign-api/update-a-json-template"},{"title":"Create a sponsored brand campaign.","deprecated":null,"version":null,"openapi":"/openapi.json post /public/v1/campaign-service/campaigns/sponsored-brand","href":"/en/api-reference/campaign-api/create-a-sponsored-brand-campaign"},{"title":"Get a sponsored brand campaign.","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/campaign-service/campaigns/sponsored-brand/{campaign_id}","href":"/en/api-reference/campaign-api/get-a-sponsored-brand-campaign"},{"title":"Update a sponsored brand campaign.","deprecated":null,"version":null,"openapi":"/openapi.json patch /public/v1/campaign-service/campaigns/sponsored-brand/{campaign_id}","href":"/en/api-reference/campaign-api/update-a-sponsored-brand-campaign"},{"title":"List sponsored brand campaign bids.","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/campaign-service/campaigns/sponsored-brand/{campaign_id}/bids","href":"/en/api-reference/campaign-api/list-sponsored-brand-campaign-bids"},{"title":"Replace sponsored brand campaign bids.","deprecated":null,"version":null,"openapi":"/openapi.json put /public/v1/campaign-service/campaigns/sponsored-brand/{campaign_id}/bids","href":"/en/api-reference/campaign-api/replace-sponsored-brand-campaign-bids"},{"title":"Create an exclusive sponsored brand campaign.","deprecated":null,"version":null,"openapi":"/openapi.json post /public/v1/campaign-service/campaigns/sponsored-brand/exclusive","href":"/en/api-reference/campaign-api/create-an-exclusive-sponsored-brand-campaign"},{"title":"Get an exclusive sponsored brand campaign.","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/campaign-service/campaigns/sponsored-brand/exclusive/{campaign_id}","href":"/en/api-reference/campaign-api/get-an-exclusive-sponsored-brand-campaign"},{"title":"Update an exclusive sponsored brand campaign.","deprecated":null,"version":null,"openapi":"/openapi.json patch /public/v1/campaign-service/campaigns/sponsored-brand/exclusive/{campaign_id}","href":"/en/api-reference/campaign-api/update-an-exclusive-sponsored-brand-campaign"},{"title":"List exclusive sponsored brand campaign bids.","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/campaign-service/campaigns/sponsored-brand/exclusive/{campaign_id}/bids","href":"/en/api-reference/campaign-api/list-exclusive-sponsored-brand-campaign-bids"},{"title":"Replace exclusive sponsored brand campaign bids.","deprecated":null,"version":null,"openapi":"/openapi.json put /public/v1/campaign-service/campaigns/sponsored-brand/exclusive/{campaign_id}/bids","href":"/en/api-reference/campaign-api/replace-exclusive-sponsored-brand-campaign-bids"},{"title":"Get Campaigns","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/campaign-service/campaigns","href":"/en/api-reference/campaign-api/get-campaigns"},{"title":"Create Campaign","deprecated":null,"version":null,"openapi":"/openapi.json post /public/v1/campaign-service/campaigns","href":"/en/api-reference/campaign-api/create-campaign"},{"title":"Get Campaign By Id","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/campaign-service/campaigns/{campaign_id}","href":"/en/api-reference/campaign-api/get-campaign-by-id"},{"title":"Delete Campaign By Id","deprecated":null,"version":null,"openapi":"/openapi.json delete /public/v1/campaign-service/campaigns/{campaign_id}","href":"/en/api-reference/campaign-api/delete-campaign-by-id"},{"title":"Update Campaign By Id","deprecated":null,"version":null,"openapi":"/openapi.json patch /public/v1/campaign-service/campaigns/{campaign_id}","href":"/en/api-reference/campaign-api/update-campaign-by-id"},{"title":"Get Campaign Bids","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/campaign-service/campaigns/{campaign_id}/bids","href":"/en/api-reference/campaign-api/get-campaign-bids"},{"title":"Create Campaign Bids","deprecated":null,"version":null,"openapi":"/openapi.json post /public/v1/campaign-service/campaigns/{campaign_id}/bids","href":"/en/api-reference/campaign-api/create-campaign-bids"},{"title":"Delete All Bids From A Campaign","deprecated":null,"version":null,"openapi":"/openapi.json delete /public/v1/campaign-service/campaigns/{campaign_id}/bids","href":"/en/api-reference/campaign-api/delete-all-bids-from-a-campaign"},{"title":"Delete Campaign Bid By Id","deprecated":null,"version":null,"openapi":"/openapi.json delete /public/v1/campaign-service/campaigns/{campaign_id}/bids/{bid_id}","href":"/en/api-reference/campaign-api/delete-campaign-bid-by-id"},{"title":"Update Campaign Bid By Id","deprecated":null,"version":null,"openapi":"/openapi.json patch /public/v1/campaign-service/campaigns/{campaign_id}/bids/{bid_id}","href":"/en/api-reference/campaign-api/update-campaign-bid-by-id"},{"title":"Get Products In Campaign","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/campaign-service/products-in-campaign","href":"/en/api-reference/campaign-api/get-products-in-campaign"},{"title":"Get Campaign Products (Banners \u0026 Sponsored Brands)","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/campaign-service/campaigns/{campaign_id}/products","href":"/en/api-reference/campaign-api/get-campaign-products-banners-\u0026-sponsored-brands"},{"title":"Upsert Campaign Products","deprecated":null,"version":null,"openapi":"/openapi.json put /public/v1/campaign-service/campaigns/{campaign_id}/products","href":"/en/api-reference/campaign-api/upsert-campaign-products"},{"title":"[BETA] Create exclusive listing campaign.","deprecated":null,"version":null,"openapi":"/openapi.json post /public/v1/campaign-service/campaigns/exclusive-listing","href":"/en/api-reference/campaign-api/[beta]-create-exclusive-listing-campaign"},{"title":"[BETA] Get exclusive listing campaign by ID.","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/campaign-service/campaigns/exclusive-listing/{campaign_id}","href":"/en/api-reference/campaign-api/[beta]-get-exclusive-listing-campaign-by-id"},{"title":"[BETA] Update exclusive listing campaign by ID.","deprecated":null,"version":null,"openapi":"/openapi.json patch /public/v1/campaign-service/campaigns/exclusive-listing/{campaign_id}","href":"/en/api-reference/campaign-api/[beta]-update-exclusive-listing-campaign-by-id"},{"title":"[BETA] Create exclusive banner campaign.","deprecated":null,"version":null,"openapi":"/openapi.json post /public/v1/campaign-service/campaigns/exclusive-banner","href":"/en/api-reference/campaign-api/[beta]-create-exclusive-banner-campaign"},{"title":"[BETA] Get exclusive banner campaign by ID.","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/campaign-service/campaigns/exclusive-banner/{campaign_id}","href":"/en/api-reference/campaign-api/[beta]-get-exclusive-banner-campaign-by-id"},{"title":"[BETA] Update exclusive banner campaign by ID.","deprecated":null,"version":null,"openapi":"/openapi.json patch /public/v1/campaign-service/campaigns/exclusive-banner/{campaign_id}","href":"/en/api-reference/campaign-api/[beta]-update-exclusive-banner-campaign-by-id"},{"title":"Retrieve campaign timetables (dayparting).","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/campaign-service/campaigns/{campaign_id}/timetables","href":"/en/api-reference/campaign-api/retrieve-campaign-timetables-dayparting"},{"title":"Create or update campaign timetables (dayparting).","deprecated":null,"version":null,"openapi":"/openapi.json put /public/v1/campaign-service/campaigns/{campaign_id}/timetables","href":"/en/api-reference/campaign-api/create-or-update-campaign-timetables-dayparting"},{"title":"Delete a campaign timetable for a specific day (dayparting).","deprecated":null,"version":null,"openapi":"/openapi.json delete /public/v1/campaign-service/campaigns/{campaign_id}/timetables/{day_of_week}","href":"/en/api-reference/campaign-api/delete-a-campaign-timetable-for-a-specific-day-dayparting"}]},{"group":"Catalog API","pages":[{"title":"Get Categories Count","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/catalog-search-service/catalogs/categories/count","href":"/en/api-reference/catalog-api/get-categories-count"},{"title":"Get Products Count","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/catalog-search-service/catalogs/products/count","href":"/en/api-reference/catalog-api/get-products-count"},{"title":"Get Categories","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/catalog-search-service/catalogs/categories","href":"/en/api-reference/catalog-api/get-categories"},{"title":"Upsert Categories","deprecated":null,"version":null,"openapi":"/openapi.json put /public/v1/catalog-search-service/catalogs/categories","href":"/en/api-reference/catalog-api/upsert-categories"},{"title":"Delete Categories","deprecated":null,"version":null,"openapi":"/openapi.json delete /public/v1/catalog-search-service/catalogs/categories","href":"/en/api-reference/catalog-api/delete-categories"},{"title":"Get Category","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/catalog-search-service/catalogs/categories/{category_id}","href":"/en/api-reference/catalog-api/get-category"},{"title":"Get Products","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/catalog-search-service/catalogs/products","href":"/en/api-reference/catalog-api/get-products"},{"title":"Upsert Products","deprecated":null,"version":null,"openapi":"/openapi.json put /public/v1/catalog-search-service/catalogs/products","href":"/en/api-reference/catalog-api/upsert-products"},{"title":"Delete Products","deprecated":null,"version":null,"openapi":"/openapi.json delete /public/v1/catalog-search-service/catalogs/products","href":"/en/api-reference/catalog-api/delete-products"},{"title":"Update Products","deprecated":null,"version":null,"openapi":"/openapi.json patch /public/v1/catalog-search-service/catalogs/products","href":"/en/api-reference/catalog-api/update-products"},{"title":"Get Product","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/catalog-search-service/catalogs/products/{product_id}","href":"/en/api-reference/catalog-api/get-product"},{"title":"Get Vendors","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/catalog-search-service/catalogs/vendors","href":"/en/api-reference/catalog-api/get-vendors"},{"title":"Upsert Vendors","deprecated":null,"version":null,"openapi":"/openapi.json put /public/v1/catalog-search-service/catalogs/vendors","href":"/en/api-reference/catalog-api/upsert-vendors"},{"title":"Delete Vendors","deprecated":null,"version":null,"openapi":"/openapi.json delete /public/v1/catalog-search-service/catalogs/vendors","href":"/en/api-reference/catalog-api/delete-vendors"},{"title":"Get Vendor","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/catalog-search-service/catalogs/vendors/{vendor_id}","href":"/en/api-reference/catalog-api/get-vendor"}]},{"group":"Billing API","pages":[{"title":"Get Vendor Wallets","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/billing-service/vendors/{external_vendor_id}/wallets","href":"/en/api-reference/billing-api/get-vendor-wallets"},{"title":"Create Wallet","deprecated":null,"version":null,"openapi":"/openapi.json post /public/v1/billing-service/vendors/{external_vendor_id}/wallets","href":"/en/api-reference/billing-api/create-wallet"},{"title":"Get Vendor Balance","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/billing-service/vendors/{external_vendor_id}/balance","href":"/en/api-reference/billing-api/get-vendor-balance"},{"title":"Add Vendor Balance","deprecated":null,"version":null,"openapi":"/openapi.json post /public/v1/billing-service/vendors/{external_vendor_id}/balance","href":"/en/api-reference/billing-api/add-vendor-balance"},{"title":"Burn Vendor Balance","deprecated":null,"version":null,"openapi":"/openapi.json post /public/v1/billing-service/vendors/{external_vendor_id}/balance/burn","href":"/en/api-reference/billing-api/burn-vendor-balance"},{"title":"Adjust Wallet Balance","deprecated":null,"version":null,"openapi":"/openapi.json post /public/v1/billing-service/vendors/{external_vendor_id}/wallets/{wallet_id}/adjust","href":"/en/api-reference/billing-api/adjust-wallet-balance"},{"title":"Get Billing Contact","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/billing-service/billing-contacts/{billing_contact_id}","href":"/en/api-reference/billing-api/get-billing-contact"},{"title":"Upsert Billing Contact","deprecated":null,"version":null,"openapi":"/openapi.json put /public/v1/billing-service/billing-contacts/{billing_contact_id}","href":"/en/api-reference/billing-api/upsert-billing-contact"},{"title":"Get Billing Contacts","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/billing-service/billing-contacts","href":"/en/api-reference/billing-api/get-billing-contacts"},{"title":"Upsert Vendor Billing Contact","deprecated":null,"version":null,"openapi":"/openapi.json put /public/v1/billing-service/vendor-billing-contact","href":"/en/api-reference/billing-api/upsert-vendor-billing-contact"},{"title":"Delete Vendor Billing Contact","deprecated":null,"version":null,"openapi":"/openapi.json delete /public/v1/billing-service/vendors/{external_vendor_id}/vendor-billing-contact/{billing_contact_id}","href":"/en/api-reference/billing-api/delete-vendor-billing-contact"},{"title":"Get Campaign Billing Contact","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/billing-service/campaign-billing-contact","href":"/en/api-reference/billing-api/get-campaign-billing-contact"},{"title":"Upsert Campaign Billing Contact","deprecated":null,"version":null,"openapi":"/openapi.json put /public/v1/billing-service/campaign-billing-contact","href":"/en/api-reference/billing-api/upsert-campaign-billing-contact"}]},{"group":"Reporting API","pages":[{"title":"Get Marketplace Report","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/reporting-service/marketplace","href":"/en/api-reference/reporting-api/get-marketplace-report"},{"title":"Get Marketplace Daily Report","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/reporting-service/marketplace/daily","href":"/en/api-reference/reporting-api/get-marketplace-daily-report"},{"title":"Get Vendor Report","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/reporting-service/vendors/{vendor_id}","href":"/en/api-reference/reporting-api/get-vendor-report"},{"title":"Get Vendor Daily Report","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/reporting-service/vendors/{vendor_id}/daily","href":"/en/api-reference/reporting-api/get-vendor-daily-report"},{"title":"Get Campaign Report","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/reporting-service/campaigns/{campaign_id}","href":"/en/api-reference/reporting-api/get-campaign-report"},{"title":"Get Campaign Daily Report","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/reporting-service/campaigns/{campaign_id}/daily","href":"/en/api-reference/reporting-api/get-campaign-daily-report"},{"title":"Get Campaign Video Report","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/reporting-service/campaigns/{campaign_id}/video","href":"/en/api-reference/reporting-api/get-campaign-video-report"},{"title":"Get Campaign Daily Video Report","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/reporting-service/campaigns/{campaign_id}/video/daily","href":"/en/api-reference/reporting-api/get-campaign-daily-video-report"},{"title":"Get Product Daily Report","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/reporting-service/campaigns/{campaign_id}/products/{product_id}/daily","href":"/en/api-reference/reporting-api/get-product-daily-report"},{"title":"Get Campaign Report By Product","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/reporting-service/campaigns/{campaign_id}/products","href":"/en/api-reference/reporting-api/get-campaign-report-by-product"},{"title":"Get Product Report","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/reporting-service/campaigns/{campaign_id}/products/{product_id}","href":"/en/api-reference/reporting-api/get-product-report"},{"title":"Get Marketplace Vendors Kpis","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/reporting-service/marketplace/vendors-kpis","href":"/en/api-reference/reporting-api/get-marketplace-vendors-kpis"},{"title":"Get Marketplace Campaigns Kpis","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/reporting-service/marketplace/campaigns-kpis","href":"/en/api-reference/reporting-api/get-marketplace-campaigns-kpis"},{"title":"Get Marketplace Interactions Report","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/reporting-service/interactions","href":"/en/api-reference/reporting-api/get-marketplace-interactions-report"},{"title":"Get Scored Attribution Dump Urls","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/reporting-service/file-reports/scored-attribution","href":"/en/api-reference/reporting-api/get-scored-attribution-dump-urls"},{"title":"Get Interactions Dump Urls","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/reporting-service/file-reports/interactions","href":"/en/api-reference/reporting-api/get-interactions-dump-urls"}]},{"group":"Invitation API","pages":[{"title":"[BETA] Invite Vendors","deprecated":null,"version":null,"openapi":"/openapi.json post /public/v1/invitation-service/invitations","href":"/en/api-reference/invitation-api/[beta]-invite-vendors"}]},{"group":"User API","pages":[{"title":"Get User By Email","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/user-service/advertiser-users","href":"/en/api-reference/user-api/get-user-by-email"},{"title":"Update User","deprecated":null,"version":null,"openapi":"/openapi.json put /public/v1/user-service/advertiser-users","href":"/en/api-reference/user-api/update-user"},{"title":"Create User","deprecated":null,"version":null,"openapi":"/openapi.json post /public/v1/user-service/advertiser-users","href":"/en/api-reference/user-api/create-user"}]},{"group":"Webhooks API","pages":[{"title":"Get Webhooks","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/webhooks/webhooks","href":"/en/api-reference/webhooks-api/get-webhooks"},{"title":"Create Webhook","deprecated":null,"version":null,"openapi":"/openapi.json post /public/v1/webhooks/webhooks","href":"/en/api-reference/webhooks-api/create-webhook"},{"title":"Get Webhook","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/webhooks/webhooks/{webhook_id}","href":"/en/api-reference/webhooks-api/get-webhook"},{"title":"Delete Webhook","deprecated":null,"version":null,"openapi":"/openapi.json delete /public/v1/webhooks/webhooks/{webhook_id}","href":"/en/api-reference/webhooks-api/delete-webhook"},{"title":"Update Webhook","deprecated":null,"version":null,"openapi":"/openapi.json patch /public/v1/webhooks/webhooks/{webhook_id}","href":"/en/api-reference/webhooks-api/update-webhook"}]},{"group":"Assets API","pages":[{"title":"Create Asset","deprecated":null,"version":null,"openapi":"/openapi.json post /public/v1/assets/asset","href":"/en/api-reference/assets-api/create-asset"},{"title":"Get Asset","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/assets/asset/{asset_id}","href":"/en/api-reference/assets-api/get-asset"},{"title":"Delete Asset","deprecated":null,"version":null,"openapi":"/openapi.json delete /public/v1/assets/asset/{asset_id}","href":"/en/api-reference/assets-api/delete-asset"},{"title":"Update Asset","deprecated":null,"version":null,"openapi":"/openapi.json patch /public/v1/assets/asset/{asset_id}","href":"/en/api-reference/assets-api/update-asset"},{"title":"Get Assets","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/assets/assets","href":"/en/api-reference/assets-api/get-assets"}]},{"group":"Segments Service","pages":[{"title":"Retrieve a list of segments.","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/segment-service/segments","href":"/en/api-reference/segments-service/retrieve-a-list-of-segments"},{"title":"Upsert segments with the provided information.","deprecated":null,"version":null,"openapi":"/openapi.json put /public/v1/segment-service/segments","href":"/en/api-reference/segments-service/upsert-segments-with-the-provided-information"},{"title":"Retrieve a segment by ID.","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/segment-service/segments/{segment_id}","href":"/en/api-reference/segments-service/retrieve-a-segment-by-id"},{"title":"Delete a segment.","deprecated":null,"version":null,"openapi":"/openapi.json delete /public/v1/segment-service/segments/{segment_id}","href":"/en/api-reference/segments-service/delete-a-segment"},{"title":"List vendors assigned to a segment.","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/segment-service/segments/{segment_id}/vendors","href":"/en/api-reference/segments-service/list-vendors-assigned-to-a-segment"},{"title":"Add vendors to a segment.","deprecated":null,"version":null,"openapi":"/openapi.json put /public/v1/segment-service/segments/{segment_id}/vendors","href":"/en/api-reference/segments-service/add-vendors-to-a-segment"},{"title":"Remove vendors from a segment.","deprecated":null,"version":null,"openapi":"/openapi.json delete /public/v1/segment-service/segments/{segment_id}/vendors","href":"/en/api-reference/segments-service/remove-vendors-from-a-segment"},{"title":"Get upload users signed url for a segment.","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/segment-service/segments/{segment_id}/signed-url","href":"/en/api-reference/segments-service/get-upload-users-signed-url-for-a-segment"},{"title":"Upload users to a segment.","deprecated":null,"version":null,"openapi":"/openapi.json post /public/v1/segment-service/segments/{segment_id}/upload","href":"/en/api-reference/segments-service/upload-users-to-a-segment"}]},{"group":"Offsite Ads API","pages":[{"title":"Create a new advertiser","deprecated":null,"version":null,"openapi":"/openapi.json post /public/v1/offsite-ads/advertisers","href":"/en/api-reference/offsite-ads-api/create-a-new-advertiser"},{"title":"Get Job Status","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/offsite-ads/jobs/{job_id}","href":"/en/api-reference/offsite-ads-api/get-job-status"},{"title":"Get advertiser onboarding state for a specific DSP","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/offsite-ads/advertisers/{vendor_id}","href":"/en/api-reference/offsite-ads-api/get-advertiser-onboarding-state-for-a-specific-dsp"},{"title":"Get vendor offsite campaigns","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/offsite-ads/campaigns","href":"/en/api-reference/offsite-ads-api/get-vendor-offsite-campaigns"},{"title":"Create Campaign","deprecated":null,"version":null,"openapi":"/openapi.json post /public/v1/offsite-ads/campaigns","href":"/en/api-reference/offsite-ads-api/create-campaign"},{"title":"Get campaign information","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/offsite-ads/campaigns/{campaign_id}","href":"/en/api-reference/offsite-ads-api/get-campaign-information"},{"title":"Update Campaign","deprecated":null,"version":null,"openapi":"/openapi.json patch /public/v1/offsite-ads/campaigns/{campaign_id}","href":"/en/api-reference/offsite-ads-api/update-campaign"},{"title":"Get Campaign Products Report","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/offsite-ads/reporting/campaigns/{campaign_id}/products","href":"/en/api-reference/offsite-ads-api/get-campaign-products-report"},{"title":"Get Campaign Aggregated Report","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/offsite-ads/reporting/campaigns/{campaign_id}","href":"/en/api-reference/offsite-ads-api/get-campaign-aggregated-report"},{"title":"Get Campaign Daily Report","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/offsite-ads/reporting/campaigns/{campaign_id}/daily","href":"/en/api-reference/offsite-ads-api/get-campaign-daily-report"},{"title":"List Offsite Audiences","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/offsite-ads/audiences","href":"/en/api-reference/offsite-ads-api/list-offsite-audiences"},{"title":"Create Offsite Audiences Job","deprecated":null,"version":null,"openapi":"/openapi.json post /public/v1/offsite-ads/audiences/user-list","href":"/en/api-reference/offsite-ads-api/create-offsite-audiences-job"},{"title":"Replace Offsite Audiences Job","deprecated":null,"version":null,"openapi":"/openapi.json put /public/v1/offsite-ads/audiences/{audience_id}","href":"/en/api-reference/offsite-ads-api/replace-offsite-audiences-job"},{"title":"Delete Offsite Audience","deprecated":null,"version":null,"openapi":"/openapi.json delete /public/v1/offsite-ads/audiences/{audience_id}","href":"/en/api-reference/offsite-ads-api/delete-offsite-audience"},{"title":"Get Active Vendors","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/offsite-ads/vendors/active","href":"/en/api-reference/offsite-ads-api/get-active-vendors"},{"title":"Get Vendor Balances","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/offsite-ads/vendors/balances","href":"/en/api-reference/offsite-ads-api/get-vendor-balances"}]},{"group":"Forecasting Service","pages":[{"title":"[DEPRECATED] Campaign Performance Forecasts","deprecated":true,"version":null,"openapi":"/openapi.json post /public/v1/toptimize/forecasting/campaign","href":"/en/api-reference/forecasting-service/[deprecated]-campaign-performance-forecasts"},{"title":"Listing Campaign Performance Forecasts","deprecated":null,"version":null,"openapi":"/openapi.json post /public/v1/toptimize/forecasting/campaigns/listing","href":"/en/api-reference/forecasting-service/listing-campaign-performance-forecasts"},{"title":"Banner Campaign Performance Forecasts","deprecated":null,"version":null,"openapi":"/openapi.json post /public/v1/toptimize/forecasting/campaigns/banner","href":"/en/api-reference/forecasting-service/banner-campaign-performance-forecasts"},{"title":"Sponsored Brand Campaign Performance Forecasts","deprecated":null,"version":null,"openapi":"/openapi.json post /public/v1/toptimize/forecasting/campaigns/sponsored-brand","href":"/en/api-reference/forecasting-service/sponsored-brand-campaign-performance-forecasts"}]},{"group":"Media API","pages":[{"title":"Get Slots","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/media-service/slots","href":"/en/api-reference/media-api/get-slots"},{"title":"Create Slot","deprecated":null,"version":null,"openapi":"/openapi.json post /public/v1/media-service/slots","href":"/en/api-reference/media-api/create-slot"},{"title":"Get Banner Fallbacks","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/media-service/slots/{slot_id}/fallback","href":"/en/api-reference/media-api/get-banner-fallbacks"},{"title":"Upsert Banner Fallback","deprecated":null,"version":null,"openapi":"/openapi.json put /public/v1/media-service/slots/{slot_id}/fallback","href":"/en/api-reference/media-api/upsert-banner-fallback"},{"title":"[DEPRECATED] Delete a banner fallback for a given slot.","deprecated":true,"version":null,"openapi":"/openapi.json delete /public/v1/media-service/slots/{slot_id}/fallback","href":"/en/api-reference/media-api/[deprecated]-delete-a-banner-fallback-for-a-given-slot"},{"title":"Delete Slot","deprecated":null,"version":null,"openapi":"/openapi.json delete /public/v1/media-service/slots/{slot_id}","href":"/en/api-reference/media-api/delete-slot"},{"title":"Toggle Slot","deprecated":null,"version":null,"openapi":"/openapi.json patch /public/v1/media-service/slots/{slot_id}","href":"/en/api-reference/media-api/toggle-slot"}]},{"group":"Placement API","pages":[{"title":"List placements.","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/placement-service/placements","href":"/en/api-reference/placement-api/list-placements"},{"title":"Create a placement.","deprecated":null,"version":null,"openapi":"/openapi.json post /public/v1/placement-service/placements","href":"/en/api-reference/placement-api/create-a-placement"},{"title":"Get a placement.","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/placement-service/placements/{external_placement_id}","href":"/en/api-reference/placement-api/get-a-placement"},{"title":"Delete a placement.","deprecated":null,"version":null,"openapi":"/openapi.json delete /public/v1/placement-service/placements/{external_placement_id}","href":"/en/api-reference/placement-api/delete-a-placement"}]},{"group":"Export API","pages":[{"title":"List exportable datasets","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/export-service/datasets","href":"/en/api-reference/export-api/list-exportable-datasets"},{"title":"Create a data export","deprecated":null,"version":null,"openapi":"/openapi.json post /public/v1/export-service/exports","href":"/en/api-reference/export-api/create-a-data-export"},{"title":"Get an export","deprecated":null,"version":null,"openapi":"/openapi.json get /public/v1/export-service/exports/{export_id}","href":"/en/api-reference/export-api/get-an-export"}]},{"group":"API Reference","pages":[{"title":"Endpoint to notify events generated in topsort","version":null,"deprecated":null,"openapi":"/openapi.json webhook webhooks","href":"/en/api-reference/endpoint-to-notify-events-generated-in-topsort"}]}]},{"tab":"Integration Guide","icon":"plug","pages":[{"title":"Integration Guide","href":"/en/overview"}]},{"tab":"Knowledge Base","icon":"book-open","pages":[{"title":"Knowledge Base","href":"/en/knowledge-base"}]},{"tab":"Changelog","icon":"clock","pages":[{"title":"Changelog","href":"/en/changelog"}]}]},{"language":"es","pages":[{"title":"es","href":"/es/api-reference/events/report-events"}]},{"language":"pt","pages":[{"title":"pt","href":"/pt/api-reference/events/report-events"}]},{"language":"fr","pages":[{"title":"fr","href":"/fr/api-reference/events/report-events"}]},{"language":"de","pages":[{"title":"de","href":"/de/api-reference/events/report-events"}]}]},"basePath":"","title":"Report events - Topsort Documentation","buildId":"dpl_DqYu5MPb49gWBBbUGgpHQUmCHY3P","deploymentId":"dpl_DqYu5MPb49gWBBbUGgpHQUmCHY3P","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-CybtLBIt.js","utils-BMLj2fvV.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-B6In562Y.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-Dr8Mfhp9.js","snippetPresets-2rmQvMVl.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-WMqJYdZj.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-CJ-MlPHu.js","shallow-dY3TMRCk.js","getApiPlaygroundDisplay-v-1B2bKm.js","CodeSnippet-BDhiTB7U.js","CodeSnippets-D9hnzQcS.js","Page-C4GwDT3_.js","getPastedJson-Th2V45jI.js","icon-BQXch1W9.js","MethodPill-BCqUneP3.js","DuplicateIcon-Q_-bhurZ.js","createIcon-DUjLHRqp.js","DynamicMarkdown-B-f2cqXQ.js","SectionHeading-Da5NsV4v.js","axios-vUo_bRtp.js","Markdown-D13FWkIM.js","clsx-D3Isdib3.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-C-XZBk9h.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink--qIqmmVG.js"]}