# x-apievangelist-provenance: # generated: '2026-08-13' # method: searched # source: openapi/_original/intelligems-external-api-openapi.yml # note: >- # Operations, parameters, request bodies and 200 schemas are Intelligems' own published # OpenAPI, harvested verbatim from the embedded spec blocks on its API-reference pages. # API Evangelist added only: operationIds, summaries/descriptions, the canonical tag, and # the documented 4xx/5xx error responses from the published Errors page. See # overlays/intelligems-external-api-overlay.yaml. openapi: 3.1.0 info: title: Intelligems External Custom Events API version: v25-10-beta description: Programmatic access to manage Intelligems A/B tests, personalizations, and experiences, to define custom events, and to pull experiment and sitewide analytics for a Shopify store. Authenticate with an API key in the `intelligems-access-token` header. contact: name: Intelligems url: https://docs.intelligems.io/developer-resources/external-api servers: - url: https://api.intelligems.io description: Production security: - accessToken: [] tags: - name: Custom Events description: Define client-side custom events (clicks, scroll depth, page views) used as goals and triggers on experiences. paths: /v25-10-beta/custom-events: put: tags: - Custom Events description: Create a new custom event (click, scroll depth, page view, element viewed, JavaScript event), or update an existing one in place by passing back its id. Accepts a single event object or an array of up to 50. requestBody: content: application/json: schema: type: object properties: customEvent: anyOf: - oneOf: - type: object properties: id: type: string format: uuid pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$ name: type: string description: Display name shown in the Events Manager and when selecting metrics for an experience. description: description: Internal note explaining what this event tracks. anyOf: - type: string - type: 'null' applyToUrls: minItems: 1 type: array items: type: object properties: matchBy: type: string enum: - equals - contains - startsWith - endsWith - doesNotEqual - doesNotContain - doesNotStartWith - doesNotEndWith - isNull - isNotNull - regex value: type: string error: anyOf: - type: string - type: 'null' required: - matchBy - value description: Optional URL rules restricting which pages this event fires on. Omit to track on all pages. type: type: string const: pageView description: Determines which visitor behavior is tracked and which `settings` shape is required. Use pageView for any page visit, productPageView/collectionPageView for specific product or collection pages, clickEvent/elementViewed for CSS-selector-targeted DOM interactions, scrollDepth for scroll-percentage milestones, and javascriptEvent for a custom JS snippet that fires the event. settings: type: object properties: {} required: - name - applyToUrls - type - settings - type: object properties: id: type: string format: uuid pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$ name: type: string description: Display name shown in the Events Manager and when selecting metrics for an experience. description: description: Internal note explaining what this event tracks. anyOf: - type: string - type: 'null' type: type: string const: productPageView description: Determines which visitor behavior is tracked and which `settings` shape is required. Use pageView for any page visit, productPageView/collectionPageView for specific product or collection pages, clickEvent/elementViewed for CSS-selector-targeted DOM interactions, scrollDepth for scroll-percentage milestones, and javascriptEvent for a custom JS snippet that fires the event. settings: minItems: 1 type: array items: type: object properties: productId: type: string description: Shopify product ID to track page views for. handle: type: string description: Shopify product handle to track page views for. required: - productId - handle required: - name - type - settings - type: object properties: id: type: string format: uuid pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$ name: type: string description: Display name shown in the Events Manager and when selecting metrics for an experience. description: description: Internal note explaining what this event tracks. anyOf: - type: string - type: 'null' type: type: string const: collectionPageView description: Determines which visitor behavior is tracked and which `settings` shape is required. Use pageView for any page visit, productPageView/collectionPageView for specific product or collection pages, clickEvent/elementViewed for CSS-selector-targeted DOM interactions, scrollDepth for scroll-percentage milestones, and javascriptEvent for a custom JS snippet that fires the event. settings: minItems: 1 type: array items: type: object properties: handle: type: string description: Shopify collection handle to track page views for. required: - handle required: - name - type - settings - type: object properties: id: type: string format: uuid pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$ name: type: string description: Display name shown in the Events Manager and when selecting metrics for an experience. description: description: Internal note explaining what this event tracks. anyOf: - type: string - type: 'null' applyToUrls: description: Optional URL rules restricting which pages this event fires on. Omit to track on all pages. anyOf: - type: array items: type: object properties: matchBy: type: string enum: - equals - contains - startsWith - endsWith - doesNotEqual - doesNotContain - doesNotStartWith - doesNotEndWith - isNull - isNotNull - regex value: type: string error: anyOf: - type: string - type: 'null' required: - matchBy - value - type: 'null' type: type: string const: clickEvent description: Determines which visitor behavior is tracked and which `settings` shape is required. Use pageView for any page visit, productPageView/collectionPageView for specific product or collection pages, clickEvent/elementViewed for CSS-selector-targeted DOM interactions, scrollDepth for scroll-percentage milestones, and javascriptEvent for a custom JS snippet that fires the event. settings: type: object properties: selectors: minItems: 1 type: array items: type: string minLength: 1 description: CSS selectors identifying the elements whose clicks should be tracked. required: - selectors required: - name - type - settings - type: object properties: id: type: string format: uuid pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$ name: type: string description: Display name shown in the Events Manager and when selecting metrics for an experience. description: description: Internal note explaining what this event tracks. anyOf: - type: string - type: 'null' applyToUrls: description: Optional URL rules restricting which pages this event fires on. Omit to track on all pages. anyOf: - type: array items: type: object properties: matchBy: type: string enum: - equals - contains - startsWith - endsWith - doesNotEqual - doesNotContain - doesNotStartWith - doesNotEndWith - isNull - isNotNull - regex value: type: string error: anyOf: - type: string - type: 'null' required: - matchBy - value - type: 'null' type: type: string const: elementViewed description: Determines which visitor behavior is tracked and which `settings` shape is required. Use pageView for any page visit, productPageView/collectionPageView for specific product or collection pages, clickEvent/elementViewed for CSS-selector-targeted DOM interactions, scrollDepth for scroll-percentage milestones, and javascriptEvent for a custom JS snippet that fires the event. settings: type: object properties: selectors: minItems: 1 type: array items: type: string minLength: 1 description: CSS selectors identifying the elements whose visibility in the viewport should be tracked. required: - selectors required: - name - type - settings - type: object properties: id: type: string format: uuid pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$ name: type: string description: Display name shown in the Events Manager and when selecting metrics for an experience. description: description: Internal note explaining what this event tracks. anyOf: - type: string - type: 'null' applyToUrls: description: Optional URL rules restricting which pages this event fires on. Omit to track on all pages. anyOf: - type: array items: type: object properties: matchBy: type: string enum: - equals - contains - startsWith - endsWith - doesNotEqual - doesNotContain - doesNotStartWith - doesNotEndWith - isNull - isNotNull - regex value: type: string error: anyOf: - type: string - type: 'null' required: - matchBy - value - type: 'null' type: type: string const: scrollDepth description: Determines which visitor behavior is tracked and which `settings` shape is required. Use pageView for any page visit, productPageView/collectionPageView for specific product or collection pages, clickEvent/elementViewed for CSS-selector-targeted DOM interactions, scrollDepth for scroll-percentage milestones, and javascriptEvent for a custom JS snippet that fires the event. settings: type: object properties: mobile: type: object properties: percentage: type: number minimum: 0 maximum: 100 description: Percentage of page height scrolled (0-100) that triggers the event. required: - percentage description: Scroll depth threshold to track on mobile viewports. desktop: type: object properties: percentage: type: number minimum: 0 maximum: 100 description: Percentage of page height scrolled (0-100) that triggers the event. required: - percentage description: Scroll depth threshold to track on desktop viewports. required: - mobile - desktop required: - name - type - settings - type: object properties: id: type: string format: uuid pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$ name: type: string description: Display name shown in the Events Manager and when selecting metrics for an experience. description: description: Internal note explaining what this event tracks. anyOf: - type: string - type: 'null' applyToUrls: description: Optional URL rules restricting which pages this event fires on. Omit to track on all pages. anyOf: - type: array items: type: object properties: matchBy: type: string enum: - equals - contains - startsWith - endsWith - doesNotEqual - doesNotContain - doesNotStartWith - doesNotEndWith - isNull - isNotNull - regex value: type: string error: anyOf: - type: string - type: 'null' required: - matchBy - value - type: 'null' type: type: string const: javascriptEvent description: Determines which visitor behavior is tracked and which `settings` shape is required. Use pageView for any page visit, productPageView/collectionPageView for specific product or collection pages, clickEvent/elementViewed for CSS-selector-targeted DOM interactions, scrollDepth for scroll-percentage milestones, and javascriptEvent for a custom JS snippet that fires the event. settings: type: object properties: code: type: string description: 'JavaScript snippet injected into a