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

# List time-tracking snapshots

> Returns time-tracking snapshots for contracts the caller can access. `fromDate` and `toDate` are required, in `YYYY-MM-DD` (UTC), and the range must not exceed 14 days. Optionally restrict the result to specific `contractIds`. Requesting a contract the caller cannot access returns `403`.



## OpenAPI

````yaml /openapi.json get /snapshots
openapi: 3.0.0
info:
  title: goLance External API
  version: 1.0.0
servers:
  - url: https://external-api.golance.com
security: []
paths:
  /snapshots:
    get:
      tags:
        - Snapshots
      summary: List time-tracking snapshots
      description: >-
        Returns time-tracking snapshots for contracts the caller can access.
        `fromDate` and `toDate` are required, in `YYYY-MM-DD` (UTC), and the
        range must not exceed 14 days. Optionally restrict the result to
        specific `contractIds`. Requesting a contract the caller cannot access
        returns `403`.
      parameters:
        - schema:
            type: string
            description: Start date in YYYY-MM-DD format
            example: '2026-08-01'
          required: true
          name: fromDate
          in: query
        - schema:
            type: string
            description: End date in YYYY-MM-DD format. Maximum span is 14 days
            example: '2026-08-14'
          required: true
          name: toDate
          in: query
        - schema:
            type: array
            items:
              type: string
            maxItems: 250
            example:
              - 6137109712adad9757ab0e35
          required: false
          name: contractIds
          in: query
        - schema:
            type: integer
            minimum: 1
            default: 1
          required: false
          name: page
          in: query
        - schema:
            type: integer
            minimum: 1
            maximum: 10000
            default: 100
          required: false
          name: itemsPerPage
          in: query
      responses:
        '200':
          description: >-
            A paginated list of snapshots in the requested date range. Discarded
            snapshots are omitted.
          content:
            application/json:
              schema:
                type: object
                properties:
                  results:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                        timestamp:
                          type: string
                          nullable: true
                        loggedMinutes:
                          type: number
                        contractId:
                          type: string
                        isManual:
                          type: boolean
                        isDeleted:
                          type: boolean
                        activity:
                          type: object
                          properties:
                            percentage:
                              type: number
                            keyboard:
                              type: number
                            mouseClick:
                              type: number
                            mouseScroll:
                              type: number
                          required:
                            - percentage
                            - keyboard
                            - mouseClick
                            - mouseScroll
                      required:
                        - id
                        - timestamp
                        - loggedMinutes
                        - contractId
                        - isManual
                        - isDeleted
                        - activity
                  pagination:
                    type: object
                    properties:
                      currentPage:
                        type: number
                      itemsPerPage:
                        type: number
                      pagesCount:
                        type: number
                      totalCount:
                        type: number
                    required:
                      - currentPage
                      - itemsPerPage
                      - pagesCount
                      - totalCount
                required:
                  - results
                  - pagination
        '400':
          description: >-
            The request body or query parameters failed validation. Returns
            `validation_error` and field-level `details`.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Machine-readable error code
                  message:
                    type: string
                    description: Human-readable error message
                  details:
                    type: object
                    additionalProperties:
                      nullable: true
                    description: Field-level validation errors
                required:
                  - error
                  - message
        '401':
          description: >-
            Authentication failed. The Bearer token is missing, invalid,
            expired, or not associated with a user. Common codes:
            `missing_token`, `invalid_token`, `unauthorized`.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Machine-readable error code
                  message:
                    type: string
                    description: Human-readable error message
                  details:
                    type: object
                    additionalProperties:
                      nullable: true
                    description: Field-level validation errors
                required:
                  - error
                  - message
        '403':
          description: >-
            The token is not a client-credentials grant, or one or more
            `contractIds` are not accessible. Returns `forbidden`.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Machine-readable error code
                  message:
                    type: string
                    description: Human-readable error message
                  details:
                    type: object
                    additionalProperties:
                      nullable: true
                    description: Field-level validation errors
                required:
                  - error
                  - message
        '429':
          description: >-
            The client exceeded the rate limit of 200 requests per minute per IP
            address. Returns `rate_limited`. Wait for the `Retry-After` header
            before retrying.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Machine-readable error code
                  message:
                    type: string
                    description: Human-readable error message
                  details:
                    type: object
                    additionalProperties:
                      nullable: true
                    description: Field-level validation errors
                required:
                  - error
                  - message
        '500':
          description: >-
            An unexpected error occurred while processing the request. Returns
            `internal_error`.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Machine-readable error code
                  message:
                    type: string
                    description: Human-readable error message
                  details:
                    type: object
                    additionalProperties:
                      nullable: true
                    description: Field-level validation errors
                required:
                  - error
                  - message
      security:
        - bearerAuth: []
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````