openapi: 3.1.0 info: title: Intelligems External Analytics API version: v25-10-beta description: Programmatic access to manage Intelligems A/B tests, personalizations, and experiences, 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 email: sales@intelligems.io servers: - url: https://api.intelligems.io description: Production security: - accessToken: [] tags: - name: Analytics description: Experience-level and sitewide analytics. paths: /v25-10-beta/analytics/resource/{experienceId}: parameters: - $ref: '#/components/parameters/experienceId' get: operationId: getExperienceAnalytics summary: Get experience analytics description: Retrieve A/B test performance results and statistical comparison for an experience. tags: - Analytics responses: '200': $ref: '#/components/responses/OK' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/RateLimited' '500': $ref: '#/components/responses/ServerError' post: operationId: queryExperienceAnalytics summary: Query experience analytics description: Query A/B test performance results for an experience with filters in the request body. tags: - Analytics requestBody: $ref: '#/components/requestBodies/JsonBody' responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/ValidationError' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/RateLimited' '500': $ref: '#/components/responses/ServerError' /v25-10-beta/analytics/experience/{experienceId}/timeseries: parameters: - $ref: '#/components/parameters/experienceId' post: operationId: getExperienceTimeseries summary: Get experience timeseries description: Retrieve time-series analytics for an experience. tags: - Analytics requestBody: $ref: '#/components/requestBodies/JsonBody' responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/ValidationError' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/RateLimited' '500': $ref: '#/components/responses/ServerError' /v25-10-beta/analytics/experience/{experienceId}/export: parameters: - $ref: '#/components/parameters/experienceId' post: operationId: exportExperienceAnalytics summary: Export experience analytics description: Export experience analytics data. tags: - Analytics requestBody: $ref: '#/components/requestBodies/JsonBody' responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/ValidationError' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/RateLimited' '500': $ref: '#/components/responses/ServerError' /v25-10-beta/analytics/sitewide/snapshot: post: operationId: getSitewideSnapshot summary: Fetch sitewide analytics snapshot description: Retrieve a sitewide analytics summary including revenue per visitor, net revenue, and conversion rate. tags: - Analytics requestBody: $ref: '#/components/requestBodies/JsonBody' responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/ValidationError' '401': $ref: '#/components/responses/Unauthorized' '429': $ref: '#/components/responses/RateLimited' '500': $ref: '#/components/responses/ServerError' /v25-10-beta/analytics/sitewide/timeseries: post: operationId: getSitewideTimeseries summary: Fetch sitewide timeseries description: Retrieve sitewide time-series analytics. tags: - Analytics requestBody: $ref: '#/components/requestBodies/JsonBody' responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/ValidationError' '401': $ref: '#/components/responses/Unauthorized' '429': $ref: '#/components/responses/RateLimited' '500': $ref: '#/components/responses/ServerError' /v25-10-beta/analytics/sitewide/order-distribution: post: operationId: getSitewideOrderDistribution summary: Fetch sitewide order distribution description: Retrieve sitewide order-distribution analytics. tags: - Analytics requestBody: $ref: '#/components/requestBodies/JsonBody' responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/ValidationError' '401': $ref: '#/components/responses/Unauthorized' '429': $ref: '#/components/responses/RateLimited' '500': $ref: '#/components/responses/ServerError' /v25-10-beta/analytics/sitewide/conversion-funnel: post: operationId: getSitewideConversionFunnel summary: Fetch sitewide conversion funnel description: Retrieve sitewide conversion-funnel analytics. tags: - Analytics requestBody: $ref: '#/components/requestBodies/JsonBody' responses: '200': $ref: '#/components/responses/OK' '400': $ref: '#/components/responses/ValidationError' '401': $ref: '#/components/responses/Unauthorized' '429': $ref: '#/components/responses/RateLimited' '500': $ref: '#/components/responses/ServerError' components: responses: ValidationError: description: Validation error (invalid query/body values). Per-field messages under properties..errors. content: application/json: schema: $ref: '#/components/schemas/ValidationError' NotFound: description: Resource not found. content: application/json: schema: $ref: '#/components/schemas/AuthError' RateLimited: description: Rate limit exceeded. See x-ratelimit-limit / x-ratelimit-remaining / x-ratelimit-reset headers. headers: x-ratelimit-limit: schema: type: integer description: Bucket size for the endpoint. x-ratelimit-remaining: schema: type: integer description: Remaining tokens in the current bucket. x-ratelimit-reset: schema: type: integer description: Unix timestamp (ms) at which the bucket next refills. Unauthorized: description: Unauthorized (invalid or missing API key). content: application/json: schema: $ref: '#/components/schemas/AuthError' OK: description: Success. content: application/json: schema: type: object additionalProperties: true ServerError: description: Internal server error. schemas: ValidationError: type: object description: Validation error envelope. Top-level errors[] is for request-level errors; per-field messages live under properties..errors. properties: errors: type: array items: type: string properties: type: object additionalProperties: type: object properties: errors: type: array items: type: string AuthError: type: object properties: error: type: string description: Error message, e.g. "Unauthorized" or "Unauthorized!". parameters: experienceId: name: experienceId in: path required: true description: The Intelligems experience (experiment or personalization) identifier. schema: type: string requestBodies: JsonBody: description: JSON request payload. Field-level schema is not published by Intelligems. required: true content: application/json: schema: type: object additionalProperties: true securitySchemes: accessToken: type: apiKey in: header name: intelligems-access-token description: API key issued by Intelligems, sent in the intelligems-access-token header.