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

# Fetch Recent Screenshot

> Fetch the latest 20 screenshots captured today.




## OpenAPI

````yaml /openapi.yaml post /v1/dashboard/recent-screenshot
openapi: 3.1.0
info:
  title: Trackpilots API & Webhooks
  version: 1.1.0
  description: >
    Trackpilots REST APIs and Webhook events.

    Webhooks are sent by the Trackpilots desktop agent to customer-configured
    endpoints.

    Clients only send `secret_key`. All other fields are generated by the
    server.
servers:
  - url: https://api.trackpilots.com
    description: Production server
security: []
tags:
  - name: Teams
    description: Team management APIs
  - name: Desktop Events
    description: Desktop agent webhook events
paths:
  /v1/dashboard/recent-screenshot:
    post:
      tags:
        - Dashboard
      summary: Fetch Recent Screenshot
      description: |
        Fetch the latest 20 screenshots captured today.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FetchDashboardRecentScreenshotRequest'
      responses:
        '200':
          description: Recent screenshot fetched successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/200FetchDashboardRecentScreenshotResponse'
        '400':
          description: Request validation failed
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/400FetchDashboardRecentScreenshotValidationErrorResponse
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '422':
          $ref: '#/components/responses/422UnprocessableUserIdorTeamIdErrorResponse'
        '500':
          $ref: '#/components/responses/InternalServerError'
      security:
        - BearerAuth: []
components:
  schemas:
    FetchDashboardRecentScreenshotRequest:
      type: object
      description: >
        Request payload to fetch recent dashboard screenshots. Either userId or
        teamId must be provided. Both cannot be empty.
      required:
        - timeZone
      properties:
        timeZone:
          type: string
          example: Asia/Kolkata
          description: IANA timezone of the requester
        userId:
          type: array
          description: List of user UUIDs to fetch screenshots for
          items:
            type: string
            format: uuid
            example: ab7c4f30-1024-471a-a767-739df0dc53fd
        teamId:
          type: array
          description: List of team UUIDs to fetch screenshots for
          items:
            type: string
            format: uuid
            example: 3d4c2ced-f4d6-42ea-b6db-7dcf24a77845
          example: []
      anyOf:
        - required:
            - userId
        - required:
            - teamId
    200FetchDashboardRecentScreenshotResponse:
      type: object
      properties:
        success:
          type: boolean
          example: true
        statusCode:
          type: integer
          example: 200
        statusMessage:
          type: string
          example: Fetched recent screenshots successfully
        error:
          type: object
          nullable: true
          description: Error object if request fails, null if successful
        data:
          type: array
          description: List of screenshots captured in the requested time interval
          items:
            $ref: '#/components/schemas/DashboardRecentScreenshotData'
    400FetchDashboardRecentScreenshotValidationErrorResponse:
      type: object
      properties:
        success:
          type: boolean
          example: false
        statusCode:
          type: integer
          example: 400
        statusMessage:
          type: string
          example: Failed to fetch recent screenshot data
        data:
          type: 'null'
          example: null
        error:
          type: object
          properties:
            message:
              type: string
              example: Request body is not valid
            code:
              type: string
              example: REQUEST_VALIDATION_FAILED
            details:
              type: array
              items:
                type: object
                properties:
                  path:
                    type: array
                    items:
                      type: string
                    example:
                      - userId
                  message:
                    type: string
                    example: Either userId or teamId must be provided
    DashboardRecentScreenshotData:
      type: object
      properties:
        organisation:
          type: object
          properties:
            organisationId:
              type: string
              format: uuid
              example: 3c90c3cc-0d44-4b50-8888-8dd25736052a
        team:
          type: object
          properties:
            teamId:
              type: string
              format: uuid
              example: 3c90c3cc-0d44-4b50-8888-8dd25736052a
        user:
          type: object
          properties:
            userId:
              type: string
              format: uuid
              example: ab7c4f30-1024-471a-a767-739df0dc53fd
            userName:
              type: string
              example: Sakthivel Govinthan
            profilePicUrl:
              type: string
              format: uri
              nullable: true
              example: https://trackpilots.s3.amazonaws.com/profile-pic/sample.png
        screenshot:
          type: object
          properties:
            thumbnailUrl:
              type: string
              format: uri
              example: >-
                https://trackpilots.s3.amazonaws.com/screenshots/thumbnails/2026/February/07/sample.png
            imageUrl:
              type: string
              format: uri
              example: >-
                https://trackpilots.s3.amazonaws.com/screenshots/images/2026/February/07/sample.png
        time:
          type: object
          properties:
            capturedAt:
              type: string
              format: date-time
              example: '2026-02-07T16:43:08.364Z'
        application:
          $ref: '#/components/schemas/ScreenshotApplicationInfo'
        isIdle:
          type: boolean
          example: false
    ErrorResponse:
      type: object
      properties:
        success:
          type: boolean
          example: false
        statusCode:
          type: integer
          format: int32
          example: 401
        statusMessage:
          type: string
          example: Authentication failed
        data:
          nullable: true
          example: null
        error:
          type: object
          properties:
            message:
              type: string
              example: Authorization header is missing
            code:
              type: string
              enum:
                - AUTHORIZATION_HEADER_MISSING
                - INVALID_API_KEY_SCHEMA
                - API_KEY_MISSING
                - INVALID_API_KEY
                - PLAN_EXPIRED
              example: AUTHORIZATION_HEADER_MISSING
    422UnprocessableUserIdorTeamIdErrorSchema:
      type: object
      properties:
        success:
          type: boolean
          example: false
        statusCode:
          type: integer
          format: int32
          example: 422
        statusMessage:
          type: string
          example: Invalid userId
        response:
          nullable: true
          example: null
        error:
          type: object
          properties:
            message:
              type: string
              example: Provided userId does not exist for this organisation
            code:
              type: string
              enum:
                - INVALID_USER_ID
                - INVALID_TEAM_ID
              example: INVALID_USER_ID
    InternalServerError:
      allOf:
        - $ref: '#/components/schemas/BaseError'
        - type: object
          properties:
            statusCode:
              example: 500
            statusMessage:
              example: Internal server error
            error:
              type: object
              properties:
                message:
                  example: Some technical error has occurred !!
                code:
                  example: UNKNOWN_SERVER_ERROR
    ScreenshotApplicationInfo:
      type: object
      properties:
        name:
          type: string
          example: Google Chrome
        iconUrl:
          type: string
          format: uri
          example: >-
            https://trackpilots.s3.us-east-1.amazonaws.com/app-icon/world-icon.png
        type:
          type: string
          description: Application type
          enum:
            - application
            - website
          example: website
        category:
          type: string
          example: Developer Tools
        domain:
          type: string
          nullable: true
          example: chatgpt.com
        fullUrl:
          type: string
          nullable: true
          example: https://chatgpt.com
        productivityStatus:
          type: string
          description: Productivity classification of the activity
          enum:
            - productive
            - neutral
            - unproductive
          example: productive
    BaseError:
      type: object
      properties:
        success:
          type: boolean
          example: false
        statusCode:
          type: integer
        statusMessage:
          type: string
        data:
          nullable: true
          example: null
        error:
          type: object
          properties:
            message:
              type: string
            code:
              type: string
  responses:
    UnauthorizedError:
      description: Authentication & Authorization errors
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          examples:
            authorizationHeaderMissing:
              summary: Authorization header missing
              value:
                success: false
                statusCode: 401
                statusMessage: Authentication token header is missing
                data: null
                error:
                  message: Authorization header is missing
                  code: AUTHORIZATION_HEADER_MISSING
            invalidAuthorizationScheme:
              summary: Invalid authorization scheme
              value:
                success: false
                statusCode: 401
                statusMessage: Invalid authentication token schema
                data: null
                error:
                  message: Authorization header must start with 'Bearer'
                  code: INVALID_API_KEY_SCHEMA
            apiKeyMissing:
              summary: API key missing
              value:
                success: false
                statusCode: 401
                statusMessage: Authentication token is missing
                data: null
                error:
                  message: API key value is missing
                  code: API_KEY_MISSING
            invalidApiKey:
              summary: Invalid or inactive API key
              value:
                success: false
                statusCode: 401
                statusMessage: Authentication failed
                data: null
                error:
                  message: Provided API key is invalid or inactive
                  code: INVALID_API_KEY
            planExpired:
              summary: Upgrade required
              value:
                success: false
                statusCode: 401
                statusMessage: Upgrade required
                data: null
                error:
                  message: Upgrade required to use Trackpilots APIs
                  code: PLAN_EXPIRED
    422UnprocessableUserIdorTeamIdErrorResponse:
      description: Unprocessable Entity – Invalid userId or teamIds
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/422UnprocessableUserIdorTeamIdErrorSchema'
          examples:
            invalidUserId:
              summary: Invalid userId
              value:
                success: false
                statusCode: 422
                statusMessage: Invalid userId
                response: null
                error:
                  message: Provided userId does not exist for this organisation
                  code: INVALID_USER_ID
            invalidTeamId:
              summary: Invalid teamId
              value:
                success: false
                statusCode: 422
                statusMessage: Invalid teamId
                response: null
                error:
                  message: One or more teamIds are invalid for this organisation
                  code: INVALID_TEAM_ID
    InternalServerError:
      description: Internal server error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/InternalServerError'
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````