> ## Documentation Index
> Fetch the complete documentation index at: https://docs.getdecipher.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List sessions

> Retrieve a paginated list of session replays for the organization. Supports filtering by user email, user ID, URL visited, and time range, with cursor-based pagination.



## OpenAPI

````yaml GET /api/v1/sessions
openapi: 3.0.3
info:
  title: Decipher API
  version: 1.0.0
  description: >-
    API for retrieving test run data from Decipher. Use your API key to
    authenticate requests.
servers:
  - url: https://api.getdecipher.com
    description: Production
security: []
paths:
  /api/v1/sessions:
    get:
      summary: List sessions
      description: >-
        Retrieve a paginated list of session replays for the organization.
        Supports filtering by user email, user ID, URL visited, and time range,
        with cursor-based pagination.
      parameters:
        - schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 20
          required: false
          name: limit
          in: query
        - schema:
            type: string
          required: false
          name: cursor
          in: query
        - schema:
            type: string
          required: false
          name: since
          in: query
        - schema:
            type: string
          required: false
          name: until
          in: query
        - schema:
            type: string
          required: false
          name: userEmail
          in: query
        - schema:
            type: string
          required: false
          name: userId
          in: query
        - schema:
            type: string
          required: false
          name: url
          in: query
      responses:
        '200':
          description: Paginated list of sessions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SessionListResponse'
        '401':
          description: Authentication error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - bearerAuth: []
components:
  schemas:
    SessionListResponse:
      type: object
      properties:
        object:
          type: string
          enum:
            - list
        data:
          type: array
          items:
            $ref: '#/components/schemas/SessionListItem'
        hasMore:
          type: boolean
        nextCursor:
          type: string
          nullable: true
      required:
        - object
        - data
        - hasMore
        - nextCursor
    ApiError:
      type: object
      properties:
        error:
          type: object
          properties:
            type:
              type: string
              enum:
                - authentication_error
                - authorization_error
                - not_found_error
                - validation_error
                - rate_limit_error
                - api_error
            code:
              type: string
            message:
              type: string
            field:
              type: string
          required:
            - type
            - code
            - message
      required:
        - error
    SessionListItem:
      type: object
      properties:
        object:
          type: string
          enum:
            - session
        id:
          type: string
          format: uuid
          example: a1b2c3d4-e5f6-7890-abcd-ef1234567890
        url:
          type: string
          description: Decipher dashboard link for the session
          example: >-
            https://app.getdecipher.com/sessions/a1b2c3d4-e5f6-7890-abcd-ef1234567890
        createdAt:
          type: string
        duration:
          type: number
          nullable: true
          description: Session duration in milliseconds
        userEmail:
          type: string
          nullable: true
        userId:
          type: string
          nullable: true
        userAccount:
          type: string
          nullable: true
        browser:
          type: string
          nullable: true
        device:
          type: string
          nullable: true
        countryCode:
          type: string
          nullable: true
        hasTimeline:
          type: boolean
          description: Whether AI timeline analysis is available
      required:
        - object
        - id
        - url
        - createdAt
        - duration
        - userEmail
        - userId
        - userAccount
        - browser
        - device
        - countryCode
        - hasTimeline
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: API key authentication. Use your Decipher API key as the bearer token.

````