{"info":{"title":"Ours","version":"1.0.0","description":"The Ours Server-Side REST API"},"openapi":"3.0.0","servers":[{"url":"https://api.oursprivacy.com/api/v1"}],"components":{"schemas":{},"parameters":{}},"paths":{"/track":{"post":{"description":"Track events from your server. Include at least one of userId, externalId, or email so the event can be associated with a visitor. Identity resolution runs in priority order: userId (direct, no lookup) → externalId (lookup by your ID) → email (fallback lookup). If you know both userId and externalId, send both. For top-level visitor properties: null clears the existing value, while undefined, omitted fields, and empty strings are ignored. For entries inside custom_properties: null, undefined, and empty strings are all ignored (custom_properties use merge semantics). See https://docs.oursprivacy.com/docs/data-types for details and common pitfalls.","operationId":"track","tags":["OursPrivacy"],"servers":[{"url":"https://api.oursprivacy.com/api/v1"}],"x-stainless-method":"track.event","summary":"Track Events","requestBody":{"description":"The payload to track an event","required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"event":{"type":"string","minLength":1,"maxLength":1000,"description":"The name of the event you're tracking. This must be whitelisted in the Ours dashboard."},"token":{"type":"string","minLength":1,"maxLength":250,"description":"The token for your Source. You can find this in the dashboard."},"userId":{"type":"string","nullable":true,"minLength":1,"maxLength":400,"description":"The Ours Visitor ID stored in local storage and cookies on your web properties. When present, this is used directly — no lookup by externalId or email is performed. If you have both a userId and an externalId, send both so the event is attached to the right visitor without any lookup overhead."},"externalId":{"type":"string","nullable":true,"minLength":1,"maxLength":400,"description":"Your system's unique identifier for this user. We search your account for an existing visitor with this externalId and attach the event to them (resolving to their Ours Visitor ID). If no match is found, a new visitor is created. When present, email lookup is skipped. If you also have the userId from cookies or local storage, send both — it removes the lookup round-trip."},"email":{"type":"string","nullable":true,"minLength":1,"maxLength":1000,"description":"The email address of a user. Used as a fallback lookup when neither userId nor externalId is provided. We search your account for a visitor with this email and attach the event to them. If no match is found, a new visitor is created."},"time":{"type":"number","nullable":true,"description":"The time at which the event occurred in milliseconds since UTC epoch. The time must be in the past and within the last 7 days."},"distinctId":{"type":"string","nullable":true,"minLength":1,"maxLength":400,"description":"A unique identifier for this event used for deduplication. Highly recommended — if omitted, Ours will generate one for you, but supplying your own gives you stronger idempotency guarantees (e.g. a Stripe payment intent ID or your internal order ID)."},"eventProperties":{"type":"object","nullable":true,"additionalProperties":{"nullable":true,"type":"string"},"description":"Any additional event properties you want to pass along."},"userProperties":{"type":"object","nullable":true,"properties":{"email":{"type":"string","nullable":true,"maxLength":2000},"first_name":{"type":"string","nullable":true,"maxLength":2000},"last_name":{"type":"string","nullable":true,"maxLength":2000},"gender":{"type":"string","nullable":true,"maxLength":2000},"date_of_birth":{"type":"string","nullable":true,"maxLength":2000},"phone_number":{"nullable":true,"type":"string"},"city":{"type":"string","nullable":true,"maxLength":2000},"state":{"type":"string","nullable":true,"maxLength":2000},"zip":{"nullable":true,"type":"string"},"country":{"type":"string","nullable":true,"maxLength":2000},"external_id":{"type":"string","nullable":true,"maxLength":2000},"company_name":{"type":"string","nullable":true,"maxLength":2000},"job_title":{"type":"string","nullable":true,"maxLength":2000},"ip":{"type":"string","nullable":true,"maxLength":2000,"description":"The IP address of the user"},"custom_properties":{"type":"object","nullable":true,"additionalProperties":{"nullable":true,"type":"string"}},"consent":{"type":"object","nullable":true,"additionalProperties":{"nullable":true,"type":"string"}},"ad_id":{"type":"string","nullable":true},"adset_id":{"type":"string","nullable":true},"campaign_id":{"type":"string","nullable":true},"alart":{"type":"string","nullable":true},"aleid":{"type":"string","nullable":true},"axwrt":{"type":"string","nullable":true},"fbc":{"type":"string","nullable":true},"fbp":{"type":"string","nullable":true},"fbclid":{"type":"string","nullable":true},"gad_source":{"type":"string","nullable":true},"gbraid":{"type":"string","nullable":true},"gclid":{"type":"string","nullable":true},"ndclid":{"type":"string","nullable":true},"dclid":{"type":"string","nullable":true},"qclid":{"type":"string","nullable":true},"msclkid":{"type":"string","nullable":true},"ttclid":{"type":"string","nullable":true},"twclid":{"type":"string","nullable":true},"clickid":{"type":"string","nullable":true},"sccid":{"type":"string","nullable":true},"irclickid":{"type":"string","nullable":true},"im_ref":{"type":"string","nullable":true},"clid":{"type":"string","nullable":true},"sid":{"type":"string","nullable":true},"li_fat_id":{"type":"string","nullable":true},"referrer":{"type":"string","nullable":true},"referring_domain":{"type":"string","nullable":true},"user_agent":{"type":"string","nullable":true},"user_agent_full_list":{"type":"string","nullable":true},"utm_campaign":{"type":"string","nullable":true},"utm_content":{"type":"string","nullable":true},"utm_medium":{"type":"string","nullable":true},"utm_name":{"type":"string","nullable":true},"utm_source":{"type":"string","nullable":true},"utm_term":{"type":"string","nullable":true},"wbraid":{"type":"string","nullable":true},"rdt_cid":{"type":"string","nullable":true},"is_bot":{"nullable":true,"type":"string"},"epik":{"type":"string","nullable":true,"maxLength":2000},"sacid":{"type":"string","nullable":true,"maxLength":2000},"basis_cid":{"type":"string","nullable":true,"maxLength":2000},"beeswax_auction_id":{"type":"string","nullable":true,"maxLength":2000},"admitad_uid":{"type":"string","nullable":true,"maxLength":2000},"_ef_transaction_id":{"type":"string","nullable":true,"maxLength":2000}},"description":"Properties to set on the visitor. (optional) You can also update these properties via the identify endpoint."},"defaultProperties":{"type":"object","nullable":true,"properties":{"is_bot":{"nullable":true,"description":"Whether we have detected that the user is a bot. This is set automatically by the Ours server primarily for events tracked through the web SDK.","type":"string"},"ad_id":{"type":"string","nullable":true,"maxLength":2000,"description":"The ad id for detected in the session. This is set by the web sdk automatically."},"adset_id":{"type":"string","nullable":true,"maxLength":2000,"description":"The adset id for detected in the session. This is set by the web sdk automatically."},"campaign_id":{"type":"string","nullable":true,"maxLength":2000,"description":"The campaign id for detected in the session. This is set by the web sdk automatically."},"alart":{"type":"string","nullable":true,"maxLength":2000,"description":"The AppLovin alart query parameter. Ex: alart123"},"aleid":{"type":"string","nullable":true,"maxLength":2000,"description":"The AppLovin aleid query parameter. Ex: aleid123"},"axwrt":{"type":"string","nullable":true,"maxLength":2000,"description":"The AppLovin Axon pixel cookie value (_axwrt). Web-only."},"encoding":{"type":"string","nullable":true,"maxLength":2000,"description":"The browsers encoding. Ex: UTF-8"},"browser_name":{"type":"string","nullable":true,"maxLength":2000,"description":"The name of the browser. Ex: Chrome"},"browser_version":{"type":"string","nullable":true,"maxLength":2000,"description":"The version of the browser. Ex: 114.0"},"cpu_architecture":{"type":"string","nullable":true,"maxLength":2000,"description":"The architecture of the CPU. Ex: x64"},"device_type":{"type":"string","nullable":true,"maxLength":2000,"description":"The type of device the user is using. Ex: mobile"},"device_model":{"type":"string","nullable":true,"maxLength":2000,"description":"The model of the device. Ex: iPhone 13"},"device_vendor":{"type":"string","nullable":true,"maxLength":2000,"description":"The vendor of the device. Ex: Apple"},"engine_name":{"type":"string","nullable":true,"maxLength":2000,"description":"The name of the browser engine. Ex: Blink"},"engine_version":{"type":"string","nullable":true,"maxLength":2000,"description":"The version of the browser engine. Ex: 114.0"},"os_name":{"type":"string","nullable":true,"maxLength":2000,"description":"The name of the operating system. Ex: Windows"},"os_version":{"type":"string","nullable":true,"maxLength":2000,"description":"The version of the operating system. Ex: 10.0"},"browser_language":{"type":"string","nullable":true,"maxLength":2000,"description":"The language of the browser. Ex: en-US"},"current_url":{"type":"string","nullable":true,"description":"The full url (including query params) of the current page"},"webview":{"type":"boolean","nullable":true,"description":"Whether the user is in a webview. Ex: true"},"iframe":{"type":"boolean","nullable":true,"description":"Whether the user is in an iframe. Ex: true"},"sessionCount":{"type":"number","nullable":true,"description":"The number of sessions the user has had. Ex: 3"},"activeDuration":{"type":"number","nullable":true,"description":"The active time in milliseconds that the user had this tab active"},"duration":{"type":"number","nullable":true,"description":"The time in milliseconds since the page was loaded // script was loaded"},"epik":{"type":"string","nullable":true,"maxLength":2000,"description":"The Pinterest Click ID. Ex: epik456"},"sacid":{"type":"string","nullable":true,"maxLength":2000,"description":"The StackAdapt Tracking ID. Ex: sacid123"},"basis_cid":{"type":"string","nullable":true,"maxLength":2000,"description":"The Basis DSP Click ID. Ex: basis_cid123"},"beeswax_auction_id":{"type":"string","nullable":true,"maxLength":2000,"description":"The Beeswax (FreeWheel Buyer Cloud) auction ID, captured from the `{{AUCTION_ID}}` macro on creative click URLs. Ex: bx-auc-abc123"},"admitad_uid":{"type":"string","nullable":true,"maxLength":2000,"description":"The Admitad (Mitgo) affiliate Click ID. Ex: admitad_uid_abc123"},"_ef_transaction_id":{"type":"string","nullable":true,"maxLength":2000,"description":"The Everflow affiliate Click (Transaction) ID, captured from the `_ef_transaction_id` URL parameter. Ex: ef_click_abc123"},"fbc":{"type":"string","nullable":true,"maxLength":2000,"description":"Facebook Click ID with prefix format for Conversions API tracking. Ex: fb.1.1554763741205.AbCdEfGhIjKlMnOpQrStUvWxYz1234567890"},"fbclid":{"type":"string","nullable":true,"maxLength":2000,"description":"Raw Facebook Click ID query parameter without prefix from ad clicks. Ex: AbCdEfGhIjKlMnOpQrStUvWxYz1234567890"},"fbp":{"type":"string","nullable":true,"maxLength":2000,"description":"Facebook Browser ID parameter for identifying browsers and attributing events. Ex: fb.1.1554763741205.1098115397"},"gad_source":{"type":"string","nullable":true,"maxLength":2000,"description":"The Google Ad Source. Ex: google"},"gbraid":{"type":"string","nullable":true,"maxLength":2000,"description":"The Google Braid ID. Ex: gbraid123"},"gclid":{"type":"string","nullable":true,"maxLength":2000,"description":"The Google Click ID. Ex: gclid123"},"ndclid":{"type":"string","nullable":true,"maxLength":2000,"description":"The NextDoor Click ID. Ex: ndclid123"},"dclid":{"type":"string","nullable":true,"maxLength":2000,"description":"The DoubleClick Click ID. Ex: dclid123"},"qclid":{"type":"string","nullable":true,"maxLength":2000,"description":"The Quora Click ID. Ex: qclid123"},"rdt_cid":{"type":"string","nullable":true,"maxLength":2000,"description":"The Reddit Click ID. Ex: rdt_cid123"},"host":{"type":"string","nullable":true,"maxLength":2000,"description":"The host of the current page. Ex: example.com"},"ip":{"type":"string","nullable":true,"maxLength":2000,"description":"The IP address of the user. Ex: 127.0.0.1"},"msclkid":{"type":"string","nullable":true,"maxLength":2000,"description":"The Microsoft Click ID. Ex: msclkid123"},"li_fat_id":{"type":"string","nullable":true,"maxLength":2000,"description":"The LinkedIn Click ID. Ex: li_fat_id123"},"pathname":{"type":"string","nullable":true,"maxLength":2000,"description":"The pathname of the current page. Ex: /home"},"referrer":{"type":"string","nullable":true,"maxLength":5000,"description":"The referrer URL of the current page"},"referring_domain":{"type":"string","nullable":true,"maxLength":5000,"description":"The referring domain of the current page"},"screen_height":{"type":"number","nullable":true,"description":"The height of the screen. Ex: 1080"},"screen_width":{"type":"number","nullable":true,"description":"The width of the screen. Ex: 1920"},"title":{"type":"string","nullable":true,"maxLength":2000,"description":"The title of the current page"},"user_agent":{"type":"string","nullable":true,"description":"The user agent of the browser"},"utm_campaign":{"type":"string","nullable":true,"maxLength":2000,"description":"The UTM Campaign. The web SDK automatically captures this from the query params."},"utm_content":{"type":"string","nullable":true,"maxLength":2000,"description":"The UTM Content. The web SDK automatically captures this from the query params."},"utm_medium":{"type":"string","nullable":true,"maxLength":2000,"description":"The UTM Medium. The web SDK automatically captures this from the query params."},"utm_name":{"type":"string","nullable":true,"maxLength":2000,"description":"The UTM Name. The web SDK automatically captures this from the query params."},"ttclid":{"type":"string","nullable":true,"maxLength":2000,"description":"The TikTok Click ID. Ex: ttclid123"},"twclid":{"type":"string","nullable":true,"maxLength":2000,"description":"The Twitter Click ID. Ex: twclid123"},"clickid":{"type":"string","nullable":true,"maxLength":2000,"description":"The Click ID. Ex: clickid123"},"clid":{"type":"string","nullable":true,"maxLength":2000,"description":"The Generic Click ID. Ex: clid123"},"sccid":{"type":"string","nullable":true,"maxLength":2000,"description":"The SnapChat Click ID. Ex: sccid123"},"irclickid":{"type":"string","nullable":true,"maxLength":2000,"description":"The Impact Click ID. Ex: irclickid123"},"im_ref":{"type":"string","nullable":true,"maxLength":2000,"description":"The Impact Click ID reference. Ex: im_ref123"},"utm_source":{"type":"string","nullable":true,"maxLength":2000,"description":"The UTM Source. The web SDK automatically captures this from the query params."},"utm_term":{"type":"string","nullable":true,"maxLength":2000,"description":"The UTM Term. The web SDK automatically captures this from the query params."},"version":{"type":"string","nullable":true,"maxLength":2000,"description":"The version of the web SDK"},"wbraid":{"type":"string","nullable":true,"maxLength":2000,"description":"The WBRAID Identifier. The web SDK automatically captures this from the query params."},"uafvl":{"type":"string","nullable":true,"maxLength":2000,"description":"User agent as a full list of strings."},"page_hash":{"type":"number","nullable":true,"description":"A random set of numbers for the page load"},"sid":{"type":"string","nullable":true,"maxLength":2000,"description":"The session ID as assigned automatically by the web SDK. This is required for session replay"},"new_s":{"type":"boolean","nullable":true,"description":"Deprecated"},"fv":{"type":"boolean","nullable":true,"description":"Deprecated"},"sr":{"type":"string","nullable":true,"maxLength":2000},"received_at":{"type":"string","nullable":true,"description":"The time the event was received by an Ours server in ISO format"}},"description":"These properties are used throughout the Ours app to pass known values onto destinations"},"identityContext":{"type":"object","nullable":true,"properties":{"ip":{"type":"string","description":"The end-user IP address (not the server IP)."},"userAgent":{"type":"string","description":"The end-user User-Agent string (not the server UA)."}},"required":["ip","userAgent"],"description":"End-user network context for server-side calls. Required for probabilistic identity resolution when the caller is a backend server rather than an end-user browser."}},"required":["event","token"]}}}},"responses":{"200":{"description":"Success - your event was sent to our servers","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]}},"required":["success"]}}}},"400":{"description":"Bad Request - Something about the body of your request is invalid. Please update your payload and try again.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]}},"required":["success"]}}}},"401":{"description":"Unauthorized - you are not authorized to send events to Ours. Please contact support.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]}},"required":["success"]}}}},"429":{"description":"Too Many Requests - We recommend starting with a backoff of 2s and doubling backoff until 60s, with 1-5s of jitter.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]}},"required":["success"]}}}},"500":{"description":"Internal Server Error - in the unlikely event that you see this error, please backoff as described for a 429 response.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]}},"required":["success"]}}}}}}},"/batch":{"post":{"description":"Send multiple `/track`-shaped events in a single request. The top-level token is authorized once for the full batch. Each batch row must include `distinctId`, and mixed validation or queue outcomes are reported per row.","operationId":"batch","tags":["OursPrivacy"],"servers":[{"url":"https://api.oursprivacy.com/api/v1"}],"x-stainless-method":"batch.create","summary":"Batch Events","requestBody":{"description":"A token plus an array of `/track`-compatible events.","required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"token":{"type":"string","minLength":1,"maxLength":250,"description":"The token for your Source. You can find this in the dashboard."},"events":{"type":"array","items":{"type":"object","properties":{"event":{"type":"string","minLength":1,"maxLength":1000,"description":"The name of the event you're tracking. This must be whitelisted in the Ours dashboard."},"userId":{"type":"string","nullable":true,"minLength":1,"maxLength":400,"description":"The Ours Visitor ID stored in local storage and cookies on your web properties. When present, this is used directly — no lookup by externalId or email is performed. If you have both a userId and an externalId, send both so the event is attached to the right visitor without any lookup overhead."},"externalId":{"type":"string","nullable":true,"minLength":1,"maxLength":400,"description":"Your system's unique identifier for this user. We search your account for an existing visitor with this externalId and attach the event to them (resolving to their Ours Visitor ID). If no match is found, a new visitor is created. When present, email lookup is skipped. If you also have the userId from cookies or local storage, send both — it removes the lookup round-trip."},"email":{"type":"string","nullable":true,"minLength":1,"maxLength":1000,"description":"The email address of a user. Used as a fallback lookup when neither userId nor externalId is provided. We search your account for a visitor with this email and attach the event to them. If no match is found, a new visitor is created."},"time":{"type":"number","nullable":true,"description":"The time at which the event occurred in milliseconds since UTC epoch. The time must be in the past and within the last 7 days."},"eventProperties":{"type":"object","nullable":true,"additionalProperties":{"nullable":true,"type":"string"},"description":"Any additional event properties you want to pass along."},"userProperties":{"type":"object","nullable":true,"properties":{"email":{"type":"string","nullable":true,"maxLength":2000},"first_name":{"type":"string","nullable":true,"maxLength":2000},"last_name":{"type":"string","nullable":true,"maxLength":2000},"gender":{"type":"string","nullable":true,"maxLength":2000},"date_of_birth":{"type":"string","nullable":true,"maxLength":2000},"phone_number":{"nullable":true,"type":"string"},"city":{"type":"string","nullable":true,"maxLength":2000},"state":{"type":"string","nullable":true,"maxLength":2000},"zip":{"nullable":true,"type":"string"},"country":{"type":"string","nullable":true,"maxLength":2000},"external_id":{"type":"string","nullable":true,"maxLength":2000},"company_name":{"type":"string","nullable":true,"maxLength":2000},"job_title":{"type":"string","nullable":true,"maxLength":2000},"ip":{"type":"string","nullable":true,"maxLength":2000,"description":"The IP address of the user"},"custom_properties":{"type":"object","nullable":true,"additionalProperties":{"nullable":true,"type":"string"}},"consent":{"type":"object","nullable":true,"additionalProperties":{"nullable":true,"type":"string"}},"ad_id":{"type":"string","nullable":true},"adset_id":{"type":"string","nullable":true},"campaign_id":{"type":"string","nullable":true},"alart":{"type":"string","nullable":true},"aleid":{"type":"string","nullable":true},"axwrt":{"type":"string","nullable":true},"fbc":{"type":"string","nullable":true},"fbp":{"type":"string","nullable":true},"fbclid":{"type":"string","nullable":true},"gad_source":{"type":"string","nullable":true},"gbraid":{"type":"string","nullable":true},"gclid":{"type":"string","nullable":true},"ndclid":{"type":"string","nullable":true},"dclid":{"type":"string","nullable":true},"qclid":{"type":"string","nullable":true},"msclkid":{"type":"string","nullable":true},"ttclid":{"type":"string","nullable":true},"twclid":{"type":"string","nullable":true},"clickid":{"type":"string","nullable":true},"sccid":{"type":"string","nullable":true},"irclickid":{"type":"string","nullable":true},"im_ref":{"type":"string","nullable":true},"clid":{"type":"string","nullable":true},"sid":{"type":"string","nullable":true},"li_fat_id":{"type":"string","nullable":true},"referrer":{"type":"string","nullable":true},"referring_domain":{"type":"string","nullable":true},"user_agent":{"type":"string","nullable":true},"user_agent_full_list":{"type":"string","nullable":true},"utm_campaign":{"type":"string","nullable":true},"utm_content":{"type":"string","nullable":true},"utm_medium":{"type":"string","nullable":true},"utm_name":{"type":"string","nullable":true},"utm_source":{"type":"string","nullable":true},"utm_term":{"type":"string","nullable":true},"wbraid":{"type":"string","nullable":true},"rdt_cid":{"type":"string","nullable":true},"is_bot":{"nullable":true,"type":"string"},"epik":{"type":"string","nullable":true,"maxLength":2000},"sacid":{"type":"string","nullable":true,"maxLength":2000},"basis_cid":{"type":"string","nullable":true,"maxLength":2000},"beeswax_auction_id":{"type":"string","nullable":true,"maxLength":2000},"admitad_uid":{"type":"string","nullable":true,"maxLength":2000},"_ef_transaction_id":{"type":"string","nullable":true,"maxLength":2000}},"description":"Properties to set on the visitor. (optional) You can also update these properties via the identify endpoint."},"defaultProperties":{"type":"object","nullable":true,"properties":{"is_bot":{"nullable":true,"description":"Whether we have detected that the user is a bot. This is set automatically by the Ours server primarily for events tracked through the web SDK.","type":"string"},"ad_id":{"type":"string","nullable":true,"maxLength":2000,"description":"The ad id for detected in the session. This is set by the web sdk automatically."},"adset_id":{"type":"string","nullable":true,"maxLength":2000,"description":"The adset id for detected in the session. This is set by the web sdk automatically."},"campaign_id":{"type":"string","nullable":true,"maxLength":2000,"description":"The campaign id for detected in the session. This is set by the web sdk automatically."},"alart":{"type":"string","nullable":true,"maxLength":2000,"description":"The AppLovin alart query parameter. Ex: alart123"},"aleid":{"type":"string","nullable":true,"maxLength":2000,"description":"The AppLovin aleid query parameter. Ex: aleid123"},"axwrt":{"type":"string","nullable":true,"maxLength":2000,"description":"The AppLovin Axon pixel cookie value (_axwrt). Web-only."},"encoding":{"type":"string","nullable":true,"maxLength":2000,"description":"The browsers encoding. Ex: UTF-8"},"browser_name":{"type":"string","nullable":true,"maxLength":2000,"description":"The name of the browser. Ex: Chrome"},"browser_version":{"type":"string","nullable":true,"maxLength":2000,"description":"The version of the browser. Ex: 114.0"},"cpu_architecture":{"type":"string","nullable":true,"maxLength":2000,"description":"The architecture of the CPU. Ex: x64"},"device_type":{"type":"string","nullable":true,"maxLength":2000,"description":"The type of device the user is using. Ex: mobile"},"device_model":{"type":"string","nullable":true,"maxLength":2000,"description":"The model of the device. Ex: iPhone 13"},"device_vendor":{"type":"string","nullable":true,"maxLength":2000,"description":"The vendor of the device. Ex: Apple"},"engine_name":{"type":"string","nullable":true,"maxLength":2000,"description":"The name of the browser engine. Ex: Blink"},"engine_version":{"type":"string","nullable":true,"maxLength":2000,"description":"The version of the browser engine. Ex: 114.0"},"os_name":{"type":"string","nullable":true,"maxLength":2000,"description":"The name of the operating system. Ex: Windows"},"os_version":{"type":"string","nullable":true,"maxLength":2000,"description":"The version of the operating system. Ex: 10.0"},"browser_language":{"type":"string","nullable":true,"maxLength":2000,"description":"The language of the browser. Ex: en-US"},"current_url":{"type":"string","nullable":true,"description":"The full url (including query params) of the current page"},"webview":{"type":"boolean","nullable":true,"description":"Whether the user is in a webview. Ex: true"},"iframe":{"type":"boolean","nullable":true,"description":"Whether the user is in an iframe. Ex: true"},"sessionCount":{"type":"number","nullable":true,"description":"The number of sessions the user has had. Ex: 3"},"activeDuration":{"type":"number","nullable":true,"description":"The active time in milliseconds that the user had this tab active"},"duration":{"type":"number","nullable":true,"description":"The time in milliseconds since the page was loaded // script was loaded"},"epik":{"type":"string","nullable":true,"maxLength":2000,"description":"The Pinterest Click ID. Ex: epik456"},"sacid":{"type":"string","nullable":true,"maxLength":2000,"description":"The StackAdapt Tracking ID. Ex: sacid123"},"basis_cid":{"type":"string","nullable":true,"maxLength":2000,"description":"The Basis DSP Click ID. Ex: basis_cid123"},"beeswax_auction_id":{"type":"string","nullable":true,"maxLength":2000,"description":"The Beeswax (FreeWheel Buyer Cloud) auction ID, captured from the `{{AUCTION_ID}}` macro on creative click URLs. Ex: bx-auc-abc123"},"admitad_uid":{"type":"string","nullable":true,"maxLength":2000,"description":"The Admitad (Mitgo) affiliate Click ID. Ex: admitad_uid_abc123"},"_ef_transaction_id":{"type":"string","nullable":true,"maxLength":2000,"description":"The Everflow affiliate Click (Transaction) ID, captured from the `_ef_transaction_id` URL parameter. Ex: ef_click_abc123"},"fbc":{"type":"string","nullable":true,"maxLength":2000,"description":"Facebook Click ID with prefix format for Conversions API tracking. Ex: fb.1.1554763741205.AbCdEfGhIjKlMnOpQrStUvWxYz1234567890"},"fbclid":{"type":"string","nullable":true,"maxLength":2000,"description":"Raw Facebook Click ID query parameter without prefix from ad clicks. Ex: AbCdEfGhIjKlMnOpQrStUvWxYz1234567890"},"fbp":{"type":"string","nullable":true,"maxLength":2000,"description":"Facebook Browser ID parameter for identifying browsers and attributing events. Ex: fb.1.1554763741205.1098115397"},"gad_source":{"type":"string","nullable":true,"maxLength":2000,"description":"The Google Ad Source. Ex: google"},"gbraid":{"type":"string","nullable":true,"maxLength":2000,"description":"The Google Braid ID. Ex: gbraid123"},"gclid":{"type":"string","nullable":true,"maxLength":2000,"description":"The Google Click ID. Ex: gclid123"},"ndclid":{"type":"string","nullable":true,"maxLength":2000,"description":"The NextDoor Click ID. Ex: ndclid123"},"dclid":{"type":"string","nullable":true,"maxLength":2000,"description":"The DoubleClick Click ID. Ex: dclid123"},"qclid":{"type":"string","nullable":true,"maxLength":2000,"description":"The Quora Click ID. Ex: qclid123"},"rdt_cid":{"type":"string","nullable":true,"maxLength":2000,"description":"The Reddit Click ID. Ex: rdt_cid123"},"host":{"type":"string","nullable":true,"maxLength":2000,"description":"The host of the current page. Ex: example.com"},"ip":{"type":"string","nullable":true,"maxLength":2000,"description":"The IP address of the user. Ex: 127.0.0.1"},"msclkid":{"type":"string","nullable":true,"maxLength":2000,"description":"The Microsoft Click ID. Ex: msclkid123"},"li_fat_id":{"type":"string","nullable":true,"maxLength":2000,"description":"The LinkedIn Click ID. Ex: li_fat_id123"},"pathname":{"type":"string","nullable":true,"maxLength":2000,"description":"The pathname of the current page. Ex: /home"},"referrer":{"type":"string","nullable":true,"maxLength":5000,"description":"The referrer URL of the current page"},"referring_domain":{"type":"string","nullable":true,"maxLength":5000,"description":"The referring domain of the current page"},"screen_height":{"type":"number","nullable":true,"description":"The height of the screen. Ex: 1080"},"screen_width":{"type":"number","nullable":true,"description":"The width of the screen. Ex: 1920"},"title":{"type":"string","nullable":true,"maxLength":2000,"description":"The title of the current page"},"user_agent":{"type":"string","nullable":true,"description":"The user agent of the browser"},"utm_campaign":{"type":"string","nullable":true,"maxLength":2000,"description":"The UTM Campaign. The web SDK automatically captures this from the query params."},"utm_content":{"type":"string","nullable":true,"maxLength":2000,"description":"The UTM Content. The web SDK automatically captures this from the query params."},"utm_medium":{"type":"string","nullable":true,"maxLength":2000,"description":"The UTM Medium. The web SDK automatically captures this from the query params."},"utm_name":{"type":"string","nullable":true,"maxLength":2000,"description":"The UTM Name. The web SDK automatically captures this from the query params."},"ttclid":{"type":"string","nullable":true,"maxLength":2000,"description":"The TikTok Click ID. Ex: ttclid123"},"twclid":{"type":"string","nullable":true,"maxLength":2000,"description":"The Twitter Click ID. Ex: twclid123"},"clickid":{"type":"string","nullable":true,"maxLength":2000,"description":"The Click ID. Ex: clickid123"},"clid":{"type":"string","nullable":true,"maxLength":2000,"description":"The Generic Click ID. Ex: clid123"},"sccid":{"type":"string","nullable":true,"maxLength":2000,"description":"The SnapChat Click ID. Ex: sccid123"},"irclickid":{"type":"string","nullable":true,"maxLength":2000,"description":"The Impact Click ID. Ex: irclickid123"},"im_ref":{"type":"string","nullable":true,"maxLength":2000,"description":"The Impact Click ID reference. Ex: im_ref123"},"utm_source":{"type":"string","nullable":true,"maxLength":2000,"description":"The UTM Source. The web SDK automatically captures this from the query params."},"utm_term":{"type":"string","nullable":true,"maxLength":2000,"description":"The UTM Term. The web SDK automatically captures this from the query params."},"version":{"type":"string","nullable":true,"maxLength":2000,"description":"The version of the web SDK"},"wbraid":{"type":"string","nullable":true,"maxLength":2000,"description":"The WBRAID Identifier. The web SDK automatically captures this from the query params."},"uafvl":{"type":"string","nullable":true,"maxLength":2000,"description":"User agent as a full list of strings."},"page_hash":{"type":"number","nullable":true,"description":"A random set of numbers for the page load"},"sid":{"type":"string","nullable":true,"maxLength":2000,"description":"The session ID as assigned automatically by the web SDK. This is required for session replay"},"new_s":{"type":"boolean","nullable":true,"description":"Deprecated"},"fv":{"type":"boolean","nullable":true,"description":"Deprecated"},"sr":{"type":"string","nullable":true,"maxLength":2000},"received_at":{"type":"string","nullable":true,"description":"The time the event was received by an Ours server in ISO format"}},"description":"These properties are used throughout the Ours app to pass known values onto destinations"},"identityContext":{"type":"object","nullable":true,"properties":{"ip":{"type":"string","description":"The end-user IP address (not the server IP)."},"userAgent":{"type":"string","description":"The end-user User-Agent string (not the server UA)."}},"required":["ip","userAgent"],"description":"End-user network context for server-side calls. Required for probabilistic identity resolution when the caller is a backend server rather than an end-user browser."},"distinctId":{"type":"string","minLength":1,"maxLength":400,"description":"A unique identifier for this event used for deduplication. Highly recommended — if omitted, Ours will generate one for you, but supplying your own gives you stronger idempotency guarantees (e.g. a Stripe payment intent ID or your internal order ID)."}},"required":["event","distinctId"]},"minItems":1,"maxItems":1000,"description":"A list of `/track`-shaped events to validate and enqueue together."}},"required":["token","events"]}}}},"responses":{"200":{"description":"Every event in the batch was accepted onto the ingest queue.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"accepted":{"type":"integer","minimum":0},"failed":{"type":"integer","minimum":0},"results":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"index":{"type":"integer","minimum":0},"success":{"type":"boolean","enum":[true]}},"required":["index","success"]},{"type":"object","properties":{"index":{"type":"integer","minimum":0},"success":{"type":"boolean","enum":[false]},"code":{"type":"string","enum":["invalid_event","queue_failed"]},"message":{"type":"string"}},"required":["index","success","code","message"]}]}}},"required":["success","accepted","failed","results"]}}}},"207":{"description":"At least one row was accepted and at least one row failed validation or queue transport. Retry only the rejected rows after fixing or isolating them.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"accepted":{"type":"integer","minimum":0},"failed":{"type":"integer","minimum":0},"results":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"index":{"type":"integer","minimum":0},"success":{"type":"boolean","enum":[true]}},"required":["index","success"]},{"type":"object","properties":{"index":{"type":"integer","minimum":0},"success":{"type":"boolean","enum":[false]},"code":{"type":"string","enum":["invalid_event","queue_failed"]},"message":{"type":"string"}},"required":["index","success","code","message"]}]}}},"required":["success","accepted","failed","results"]}}}},"400":{"description":"Invalid JSON, missing `token`, missing or empty `events`, token mismatch, invalid gzip body, or every row failed validation.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"string"}},"required":["success","error"]}}}},"401":{"description":"The top-level token is invalid or is not allowed for the public HTTP API.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"string"}},"required":["success","error"]}}}},"413":{"description":"The request exceeded the configured body, batch-count, or per-event size limit.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"string"},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"required":["success","error","limit"]}}}},"415":{"description":"The request used an unsupported content type or content encoding.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"string"}},"required":["success","error"]}}}},"500":{"description":"A transient source lookup failed or every accepted row failed queue transport. Retry the failed rows with the same `distinctId` values.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"string"},"retryable":{"type":"boolean","enum":[true]},"results":{"type":"array","items":{"type":"object","properties":{"index":{"type":"integer","minimum":0},"success":{"type":"boolean","enum":[false]},"code":{"type":"string","enum":["invalid_event","queue_failed"]},"message":{"type":"string"}},"required":["index","success","code","message"]}}},"required":["success","error","retryable"]}}}}}}},"/identify":{"post":{"description":"Set or update properties on an existing visitor, or create a new visitor if no match is found. This fires a $identify event, making the call visible in the event stream. Identity resolution runs in priority order: userId (direct, no lookup) → externalId (lookup by your ID) → email (fallback lookup). When a visitor is found, their Ours Visitor ID is used going forward so all future events are attached to the same profile. For top-level visitor properties: null clears the existing value, while undefined, omitted fields, and empty strings are ignored. For entries inside custom_properties: null, undefined, and empty strings are all ignored (custom_properties use merge semantics). See https://docs.oursprivacy.com/docs/data-types for details and common pitfalls.","operationId":"identify","tags":["OursPrivacy"],"servers":[{"url":"https://api.oursprivacy.com/api/v1"}],"x-stainless-method":"visitor.upsert","summary":"Identify Visitors","requestBody":{"description":"The payload to identify a visitor","required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"token":{"type":"string","minLength":1,"maxLength":250,"description":"The token for your Source. You can find this in the dashboard."},"userId":{"type":"string","nullable":true,"minLength":1,"maxLength":400,"description":"The Ours Visitor ID stored in local storage and cookies on your web properties. When present, this is used directly — no lookup by externalId or email is performed. If you have both a userId and an externalId, send both so the event is attached to the right visitor without any lookup overhead."},"externalId":{"type":"string","nullable":true,"minLength":1,"maxLength":400,"description":"Your system's unique identifier for this user. We search your account for an existing visitor with this externalId and attach the event to them (resolving to their Ours Visitor ID). If no match is found, a new visitor is created. When present, email lookup is skipped. If you also have the userId from cookies or local storage, send both — it removes the lookup round-trip."},"email":{"type":"string","nullable":true,"minLength":1,"maxLength":1000,"description":"The email address of a user. Used as a fallback lookup when neither userId nor externalId is provided. We search your account for a visitor with this email and attach the event to them. If no match is found, a new visitor is created."},"userProperties":{"type":"object","properties":{"email":{"type":"string","nullable":true,"maxLength":2000},"first_name":{"type":"string","nullable":true,"maxLength":2000},"last_name":{"type":"string","nullable":true,"maxLength":2000},"gender":{"type":"string","nullable":true,"maxLength":2000},"date_of_birth":{"type":"string","nullable":true,"maxLength":2000},"phone_number":{"nullable":true,"type":"string"},"city":{"type":"string","nullable":true,"maxLength":2000},"state":{"type":"string","nullable":true,"maxLength":2000},"zip":{"nullable":true,"type":"string"},"country":{"type":"string","nullable":true,"maxLength":2000},"external_id":{"type":"string","nullable":true,"maxLength":2000},"company_name":{"type":"string","nullable":true,"maxLength":2000},"job_title":{"type":"string","nullable":true,"maxLength":2000},"ip":{"type":"string","nullable":true,"maxLength":2000,"description":"The IP address of the user"},"custom_properties":{"type":"object","nullable":true,"additionalProperties":{"nullable":true,"type":"string"}},"consent":{"type":"object","nullable":true,"additionalProperties":{"nullable":true,"type":"string"}},"ad_id":{"type":"string","nullable":true},"adset_id":{"type":"string","nullable":true},"campaign_id":{"type":"string","nullable":true},"alart":{"type":"string","nullable":true},"aleid":{"type":"string","nullable":true},"axwrt":{"type":"string","nullable":true},"fbc":{"type":"string","nullable":true},"fbp":{"type":"string","nullable":true},"fbclid":{"type":"string","nullable":true},"gad_source":{"type":"string","nullable":true},"gbraid":{"type":"string","nullable":true},"gclid":{"type":"string","nullable":true},"ndclid":{"type":"string","nullable":true},"dclid":{"type":"string","nullable":true},"qclid":{"type":"string","nullable":true},"msclkid":{"type":"string","nullable":true},"ttclid":{"type":"string","nullable":true},"twclid":{"type":"string","nullable":true},"clickid":{"type":"string","nullable":true},"sccid":{"type":"string","nullable":true},"irclickid":{"type":"string","nullable":true},"im_ref":{"type":"string","nullable":true},"clid":{"type":"string","nullable":true},"sid":{"type":"string","nullable":true},"li_fat_id":{"type":"string","nullable":true},"referrer":{"type":"string","nullable":true},"referring_domain":{"type":"string","nullable":true},"user_agent":{"type":"string","nullable":true},"user_agent_full_list":{"type":"string","nullable":true},"utm_campaign":{"type":"string","nullable":true},"utm_content":{"type":"string","nullable":true},"utm_medium":{"type":"string","nullable":true},"utm_name":{"type":"string","nullable":true},"utm_source":{"type":"string","nullable":true},"utm_term":{"type":"string","nullable":true},"wbraid":{"type":"string","nullable":true},"rdt_cid":{"type":"string","nullable":true},"is_bot":{"nullable":true,"type":"string"},"epik":{"type":"string","nullable":true,"maxLength":2000},"sacid":{"type":"string","nullable":true,"maxLength":2000},"basis_cid":{"type":"string","nullable":true,"maxLength":2000},"beeswax_auction_id":{"type":"string","nullable":true,"maxLength":2000},"admitad_uid":{"type":"string","nullable":true,"maxLength":2000},"_ef_transaction_id":{"type":"string","nullable":true,"maxLength":2000}},"description":"User properties to associate with this user. The existing user properties will be updated. And all future events will have these properties associated with them."},"defaultProperties":{"type":"object","nullable":true,"properties":{"is_bot":{"nullable":true,"description":"Whether we have detected that the user is a bot. This is set automatically by the Ours server primarily for events tracked through the web SDK.","type":"string"},"ad_id":{"type":"string","nullable":true,"maxLength":2000,"description":"The ad id for detected in the session. This is set by the web sdk automatically."},"adset_id":{"type":"string","nullable":true,"maxLength":2000,"description":"The adset id for detected in the session. This is set by the web sdk automatically."},"campaign_id":{"type":"string","nullable":true,"maxLength":2000,"description":"The campaign id for detected in the session. This is set by the web sdk automatically."},"alart":{"type":"string","nullable":true,"maxLength":2000,"description":"The AppLovin alart query parameter. Ex: alart123"},"aleid":{"type":"string","nullable":true,"maxLength":2000,"description":"The AppLovin aleid query parameter. Ex: aleid123"},"axwrt":{"type":"string","nullable":true,"maxLength":2000,"description":"The AppLovin Axon pixel cookie value (_axwrt). Web-only."},"encoding":{"type":"string","nullable":true,"maxLength":2000,"description":"The browsers encoding. Ex: UTF-8"},"browser_name":{"type":"string","nullable":true,"maxLength":2000,"description":"The name of the browser. Ex: Chrome"},"browser_version":{"type":"string","nullable":true,"maxLength":2000,"description":"The version of the browser. Ex: 114.0"},"cpu_architecture":{"type":"string","nullable":true,"maxLength":2000,"description":"The architecture of the CPU. Ex: x64"},"device_type":{"type":"string","nullable":true,"maxLength":2000,"description":"The type of device the user is using. Ex: mobile"},"device_model":{"type":"string","nullable":true,"maxLength":2000,"description":"The model of the device. Ex: iPhone 13"},"device_vendor":{"type":"string","nullable":true,"maxLength":2000,"description":"The vendor of the device. Ex: Apple"},"engine_name":{"type":"string","nullable":true,"maxLength":2000,"description":"The name of the browser engine. Ex: Blink"},"engine_version":{"type":"string","nullable":true,"maxLength":2000,"description":"The version of the browser engine. Ex: 114.0"},"os_name":{"type":"string","nullable":true,"maxLength":2000,"description":"The name of the operating system. Ex: Windows"},"os_version":{"type":"string","nullable":true,"maxLength":2000,"description":"The version of the operating system. Ex: 10.0"},"browser_language":{"type":"string","nullable":true,"maxLength":2000,"description":"The language of the browser. Ex: en-US"},"current_url":{"type":"string","nullable":true,"description":"The full url (including query params) of the current page"},"webview":{"type":"boolean","nullable":true,"description":"Whether the user is in a webview. Ex: true"},"iframe":{"type":"boolean","nullable":true,"description":"Whether the user is in an iframe. Ex: true"},"sessionCount":{"type":"number","nullable":true,"description":"The number of sessions the user has had. Ex: 3"},"activeDuration":{"type":"number","nullable":true,"description":"The active time in milliseconds that the user had this tab active"},"duration":{"type":"number","nullable":true,"description":"The time in milliseconds since the page was loaded // script was loaded"},"epik":{"type":"string","nullable":true,"maxLength":2000,"description":"The Pinterest Click ID. Ex: epik456"},"sacid":{"type":"string","nullable":true,"maxLength":2000,"description":"The StackAdapt Tracking ID. Ex: sacid123"},"basis_cid":{"type":"string","nullable":true,"maxLength":2000,"description":"The Basis DSP Click ID. Ex: basis_cid123"},"beeswax_auction_id":{"type":"string","nullable":true,"maxLength":2000,"description":"The Beeswax (FreeWheel Buyer Cloud) auction ID, captured from the `{{AUCTION_ID}}` macro on creative click URLs. Ex: bx-auc-abc123"},"admitad_uid":{"type":"string","nullable":true,"maxLength":2000,"description":"The Admitad (Mitgo) affiliate Click ID. Ex: admitad_uid_abc123"},"_ef_transaction_id":{"type":"string","nullable":true,"maxLength":2000,"description":"The Everflow affiliate Click (Transaction) ID, captured from the `_ef_transaction_id` URL parameter. Ex: ef_click_abc123"},"fbc":{"type":"string","nullable":true,"maxLength":2000,"description":"Facebook Click ID with prefix format for Conversions API tracking. Ex: fb.1.1554763741205.AbCdEfGhIjKlMnOpQrStUvWxYz1234567890"},"fbclid":{"type":"string","nullable":true,"maxLength":2000,"description":"Raw Facebook Click ID query parameter without prefix from ad clicks. Ex: AbCdEfGhIjKlMnOpQrStUvWxYz1234567890"},"fbp":{"type":"string","nullable":true,"maxLength":2000,"description":"Facebook Browser ID parameter for identifying browsers and attributing events. Ex: fb.1.1554763741205.1098115397"},"gad_source":{"type":"string","nullable":true,"maxLength":2000,"description":"The Google Ad Source. Ex: google"},"gbraid":{"type":"string","nullable":true,"maxLength":2000,"description":"The Google Braid ID. Ex: gbraid123"},"gclid":{"type":"string","nullable":true,"maxLength":2000,"description":"The Google Click ID. Ex: gclid123"},"ndclid":{"type":"string","nullable":true,"maxLength":2000,"description":"The NextDoor Click ID. Ex: ndclid123"},"dclid":{"type":"string","nullable":true,"maxLength":2000,"description":"The DoubleClick Click ID. Ex: dclid123"},"qclid":{"type":"string","nullable":true,"maxLength":2000,"description":"The Quora Click ID. Ex: qclid123"},"rdt_cid":{"type":"string","nullable":true,"maxLength":2000,"description":"The Reddit Click ID. Ex: rdt_cid123"},"host":{"type":"string","nullable":true,"maxLength":2000,"description":"The host of the current page. Ex: example.com"},"ip":{"type":"string","nullable":true,"maxLength":2000,"description":"The IP address of the user. Ex: 127.0.0.1"},"msclkid":{"type":"string","nullable":true,"maxLength":2000,"description":"The Microsoft Click ID. Ex: msclkid123"},"li_fat_id":{"type":"string","nullable":true,"maxLength":2000,"description":"The LinkedIn Click ID. Ex: li_fat_id123"},"pathname":{"type":"string","nullable":true,"maxLength":2000,"description":"The pathname of the current page. Ex: /home"},"referrer":{"type":"string","nullable":true,"maxLength":5000,"description":"The referrer URL of the current page"},"referring_domain":{"type":"string","nullable":true,"maxLength":5000,"description":"The referring domain of the current page"},"screen_height":{"type":"number","nullable":true,"description":"The height of the screen. Ex: 1080"},"screen_width":{"type":"number","nullable":true,"description":"The width of the screen. Ex: 1920"},"title":{"type":"string","nullable":true,"maxLength":2000,"description":"The title of the current page"},"user_agent":{"type":"string","nullable":true,"description":"The user agent of the browser"},"utm_campaign":{"type":"string","nullable":true,"maxLength":2000,"description":"The UTM Campaign. The web SDK automatically captures this from the query params."},"utm_content":{"type":"string","nullable":true,"maxLength":2000,"description":"The UTM Content. The web SDK automatically captures this from the query params."},"utm_medium":{"type":"string","nullable":true,"maxLength":2000,"description":"The UTM Medium. The web SDK automatically captures this from the query params."},"utm_name":{"type":"string","nullable":true,"maxLength":2000,"description":"The UTM Name. The web SDK automatically captures this from the query params."},"ttclid":{"type":"string","nullable":true,"maxLength":2000,"description":"The TikTok Click ID. Ex: ttclid123"},"twclid":{"type":"string","nullable":true,"maxLength":2000,"description":"The Twitter Click ID. Ex: twclid123"},"clickid":{"type":"string","nullable":true,"maxLength":2000,"description":"The Click ID. Ex: clickid123"},"clid":{"type":"string","nullable":true,"maxLength":2000,"description":"The Generic Click ID. Ex: clid123"},"sccid":{"type":"string","nullable":true,"maxLength":2000,"description":"The SnapChat Click ID. Ex: sccid123"},"irclickid":{"type":"string","nullable":true,"maxLength":2000,"description":"The Impact Click ID. Ex: irclickid123"},"im_ref":{"type":"string","nullable":true,"maxLength":2000,"description":"The Impact Click ID reference. Ex: im_ref123"},"utm_source":{"type":"string","nullable":true,"maxLength":2000,"description":"The UTM Source. The web SDK automatically captures this from the query params."},"utm_term":{"type":"string","nullable":true,"maxLength":2000,"description":"The UTM Term. The web SDK automatically captures this from the query params."},"version":{"type":"string","nullable":true,"maxLength":2000,"description":"The version of the web SDK"},"wbraid":{"type":"string","nullable":true,"maxLength":2000,"description":"The WBRAID Identifier. The web SDK automatically captures this from the query params."},"uafvl":{"type":"string","nullable":true,"maxLength":2000,"description":"User agent as a full list of strings."},"page_hash":{"type":"number","nullable":true,"description":"A random set of numbers for the page load"},"sid":{"type":"string","nullable":true,"maxLength":2000,"description":"The session ID as assigned automatically by the web SDK. This is required for session replay"},"new_s":{"type":"boolean","nullable":true,"description":"Deprecated"},"fv":{"type":"boolean","nullable":true,"description":"Deprecated"},"sr":{"type":"string","nullable":true,"maxLength":2000},"received_at":{"type":"string","nullable":true,"description":"The time the event was received by an Ours server in ISO format"}},"description":"These properties are used throughout the Ours app to pass known values onto destinations"},"identityContext":{"type":"object","nullable":true,"properties":{"ip":{"type":"string","description":"The end-user IP address (not the server IP)."},"userAgent":{"type":"string","description":"The end-user User-Agent string (not the server UA)."}},"required":["ip","userAgent"],"description":"End-user network context for server-side calls. Required for probabilistic identity resolution when the caller is a backend server rather than an end-user browser."}},"required":["token","userProperties"]}}}},"responses":{"200":{"description":"Success - your event was sent to our servers","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]}},"required":["success"]}}}},"400":{"description":"Bad Request - Something about the body of your request is invalid. Please update your payload and try again.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]}},"required":["success"]}}}},"401":{"description":"Unauthorized - you are not authorized to send events to Ours. Please contact support.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]}},"required":["success"]}}}},"429":{"description":"Too Many Requests - We recommend starting with a backoff of 2s and doubling backoff until 60s, with 1-5s of jitter.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]}},"required":["success"]}}}},"500":{"description":"Internal Server Error - in the unlikely event that you see this error, please backoff as described for a 429 response.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]}},"required":["success"]}}}}}}}}}