Smartlook Sessions API

Search and retrieve session recordings

OpenAPI Specification

smartlook-sessions-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Smartlook REST Events Sessions API
  version: 1.0.1
  description: 'The Smartlook REST API provides programmatic access to product analytics data including visitors, events, funnels, and session recordings. It supports bearer token authentication, cursor-based pagination, and regional endpoints to comply with data residency requirements.

    '
  contact:
    url: https://integrations.smartlook.com/docs/api-overview
  x-api-id: smartlook-rest-api
servers:
- url: https://api.eu.smartlook.cloud/
  description: REST API - EU region
- url: https://api.us.smartlook.cloud/
  description: REST API - US region
security:
- bearerAuth: []
tags:
- name: Sessions
  description: Search and retrieve session recordings
paths:
  /api/v1/sessions/search:
    post:
      operationId: searchSessions
      summary: Search sessions
      tags:
      - Sessions
      parameters:
      - in: query
        name: after
        schema:
          type: string
        required: false
      - in: query
        name: limit
        schema:
          type: number
        required: false
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                filters:
                  type: array
                  items:
                    type: object
                    properties:
                      name:
                        type: string
                      operator:
                        type: string
                      value:
                        oneOf:
                        - type: number
                        - type: string
                        - type: array
                          items:
                            type: string
                    additionalProperties: false
                    required:
                    - name
                    - operator
                    - value
                sort:
                  type: object
                  properties:
                    timeStart:
                      type: string
                  additionalProperties: false
              additionalProperties: false
              required:
              - filters
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  totalSessionsCount:
                    type: number
                  sessions:
                    type: array
                    items:
                      $ref: '#/components/schemas/Session'
                  pagination:
                    type: object
                    properties:
                      after:
                        type: string
                    additionalProperties: false
                  _links:
                    type: object
                    properties:
                      nextPage:
                        type: string
                    additionalProperties: false
                additionalProperties: false
  /api/v1/sessions/{sessionId}:
    get:
      operationId: getSessionDetail
      summary: Get session details
      tags:
      - Sessions
      parameters:
      - in: path
        name: sessionId
        schema:
          type: string
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Session'
  /api/v1/sessions/{sessionId}/public-link:
    get:
      operationId: getPublicSession
      summary: Get session public link
      tags:
      - Sessions
      parameters:
      - in: path
        name: sessionId
        schema:
          type: string
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  publicLink:
                    type: string
                additionalProperties: false
components:
  schemas:
    Session:
      type: object
      properties:
        id:
          type: string
        visitorId:
          type: string
        identification:
          type: object
          properties:
            uid:
              type: string
            properties:
              $ref: '#/components/schemas/AnyValue'
            visitorIp:
              type: string
            browser:
              type: object
              properties:
                name:
                  type: string
                code:
                  type: string
                userAgent:
                  type: string
              additionalProperties: false
            platform:
              type: object
              properties:
                name:
                  type: string
                operatingSystem:
                  type: string
                code:
                  type: string
              additionalProperties: false
            country:
              type: object
              properties:
                name:
                  type: string
                code:
                  type: string
                region:
                  type: string
                city:
                  type: string
              additionalProperties: false
            device:
              type: object
              properties:
                type:
                  type: string
                orientation:
                  type: string
                width:
                  type: number
                height:
                  type: number
              additionalProperties: false
          additionalProperties: false
        duration:
          type: number
        startedAt:
          type: string
        endedAt:
          type: string
        referrer:
          type: string
        landingPage:
          type: string
        exitPage:
          type: string
        pageUrl:
          type: array
          items:
            type: string
        notes:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
              time:
                type: number
              text:
                type: string
            additionalProperties: false
        domain:
          type: string
        protocol:
          type: string
        dashboardURL:
          type: string
        _links:
          type: object
          properties:
            visitor:
              type: string
            sessionEvents:
              type: string
          additionalProperties: false
      additionalProperties: false
    AnyValue:
      description: Can be any value - string, number, boolean, array or object.
      nullable: true
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer