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

# Scroll Files with Groups

> Scroll through the files along with their groups in a dataset. This is useful for paginating through files. The cursor is used to fetch the next page of files. The page size is used to specify how many files to fetch per page. The default page size is 10.



## OpenAPI

````yaml get /api/dataset/scroll_files
openapi: 3.0.3
info:
  title: Trieve API
  description: >-
    Trieve OpenAPI Specification. This document describes all of the operations
    available through the Trieve API.
  contact:
    name: Trieve Team
    url: https://trieve.ai
    email: developers@trieve.ai
  license:
    name: BSL
    url: https://github.com/devflowinc/trieve/blob/main/LICENSE.txt
  version: 0.13.0
servers:
  - url: https://api.trieve.ai
    description: Production server
  - url: http://localhost:8090
    description: Local development server
security: []
tags:
  - name: Invitation
    description: Invitation endpoint. Exists to invite users to an organization.
  - name: Auth
    description: Authentication endpoint. Serves to register and authenticate users.
  - name: User
    description: User endpoint. Enables you to modify user roles and information.
  - name: Organization
    description: >-
      Organization endpoint. Enables you to modify organization roles and
      information.
  - name: Dataset
    description: >-
      Dataset endpoint. Datasets belong to organizations and hold configuration
      information for both client and server. Datasets contain chunks and chunk
      groups.
  - name: Chunk
    description: >-
      Chunk endpoint. Think of chunks as individual searchable units of
      information. The majority of your integration will likely be with the
      Chunk endpoint.
  - name: Chunk Group
    description: >-
      Chunk groups endpoint. Think of a chunk_group as a bookmark folder within
      the dataset.
  - name: Crawl
    description: Crawl endpoint. Used to create and manage crawls for datasets.
  - name: File
    description: >-
      File endpoint. When files are uploaded, they are stored in S3 and broken
      up into chunks with text extraction from Apache Tika. You can upload files
      of pretty much any type up to 1GB in size. See chunking algorithm details
      at `docs.trieve.ai` for more information on how chunking works. Improved
      default chunking is on our roadmap.
  - name: Events
    description: >-
      Notifications endpoint. Files are uploaded asynchronously and events are
      sent to the user when the upload is complete.
  - name: Topic
    description: >-
      Topic chat endpoint. Think of topics as the storage system for gen-ai chat
      memory. Gen AI messages belong to topics.
  - name: Message
    description: >-
      Message chat endpoint. Messages are units belonging to a topic in the
      context of a chat with a LLM. There are system, user, and assistant
      messages.
  - name: Stripe
    description: >-
      Stripe endpoint. Used for the managed SaaS version of this app. Eventually
      this will become a micro-service. Reach out to the team using contact info
      found at `docs.trieve.ai` for more information.
  - name: Health
    description: Health check endpoint. Used to check if the server is up and running.
  - name: Metrics
    description: Metrics endpoint. Used to get information for monitoring
  - name: Analytics
    description: Analytics endpoint. Used to get information for search and RAG analytics
  - name: Experiment
    description: Experiment endpoint. Used to create and manage experiments
paths:
  /api/dataset/scroll_files:
    get:
      tags:
        - File
      summary: Scroll Files with Groups
      description: >-
        Scroll through the files along with their groups in a dataset. This is
        useful for paginating through files. The cursor is used to fetch the
        next page of files. The page size is used to specify how many files to
        fetch per page. The default page size is 10.
      operationId: get_files_cursor_handler
      parameters:
        - name: TR-Dataset
          in: header
          description: >-
            The dataset id or tracking_id to use for the request. We assume you
            intend to use an id if the value is a valid uuid.
          required: true
          schema:
            type: string
            format: uuid
        - name: cursor
          in: query
          description: >-
            The cursor to fetch files from. If not specified, will fetch from
            the beginning. File ids are compared to the cursor using a greater
            than or equal to.
          required: false
          schema:
            type: string
            format: uuid
            nullable: true
        - name: page_size
          in: query
          description: The page size of files you wish to fetch. Defaults to 10.
          required: false
          schema:
            type: integer
            format: int64
            nullable: true
            minimum: 0
      responses:
        '200':
          description: >-
            JSON body representing the files along with their associated groups
            in the current dataset
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetFilesCursorResponseBody'
        '400':
          description: Service error relating to getting the files in the current datase
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseBody'
      security:
        - ApiKey:
            - readonly
components:
  schemas:
    GetFilesCursorResponseBody:
      type: object
      title: GetFilesCursorResponseBody
      required:
        - file_with_chunk_groups
      properties:
        file_with_chunk_groups:
          type: array
          items:
            $ref: '#/components/schemas/FileWithChunkGroups'
          description: >-
            This is a paginated list of files and their associated groups. The
            page size is specified in the request. The cursor is used to fetch
            the next page of files.
        next_cursor:
          type: string
          format: uuid
          description: >-
            Parameter for the next cursor offset. This is used to fetch the next
            page of files. If there are no more files, this will be None.
          nullable: true
    ErrorResponseBody:
      type: object
      required:
        - message
      properties:
        message:
          type: string
      example:
        message: Bad Request
    FileWithChunkGroups:
      type: object
      required:
        - id
        - file_name
        - created_at
        - updated_at
        - size
        - dataset_id
      properties:
        chunk_groups:
          type: array
          items:
            $ref: '#/components/schemas/ChunkGroup'
          nullable: true
        created_at:
          type: string
          format: date-time
        dataset_id:
          type: string
          format: uuid
        file_name:
          type: string
        id:
          type: string
          format: uuid
        link:
          type: string
          nullable: true
        metadata:
          nullable: true
        size:
          type: integer
          format: int64
        tag_set:
          type: array
          items:
            type: string
            nullable: true
          nullable: true
        time_stamp:
          type: string
          format: date-time
          nullable: true
        updated_at:
          type: string
          format: date-time
      example:
        chunk_groups:
          - created_at: '2021-01-01 00:00:00.000'
            dataset_id: f83f08ef-c05d-421c-baf1-4f1509ea069b
            description: ''
            id: df1b73ec-1e62-44bc-b07e-b04485217842
            metadata: {}
            name: uploadme.pdf
            tag_set: []
            tracking_id: file-upload-group
            updated_at: '2021-01-01 00:00:00.000'
        created_at: '2021-01-01 00:00:00.000'
        dataset_id: e3e3e3e3-e3e3-e3e3-e3e3-e3e3e3e3e3e3
        file_name: file.txt
        id: e3e3e3e3-e3e3-e3e3-e3e3-e3e3e3e3e3e3
        link: https://trieve.ai
        metadata:
          key: value
        size: 1000
        tag_set: tag1,tag2
        time_stamp: '2021-01-01 00:00:00.000'
        updated_at: '2021-01-01 00:00:00.000'
    ChunkGroup:
      type: object
      required:
        - id
        - name
        - description
        - created_at
        - updated_at
        - dataset_id
      properties:
        created_at:
          type: string
          format: date-time
        dataset_id:
          type: string
          format: uuid
        description:
          type: string
        id:
          type: string
          format: uuid
        metadata:
          nullable: true
        name:
          type: string
        tag_set:
          type: array
          items:
            type: string
            nullable: true
          nullable: true
        tracking_id:
          type: string
          nullable: true
        updated_at:
          type: string
          format: date-time
      example:
        created_at: '2021-01-01 00:00:00.000'
        dataset_id: e3e3e3e3-e3e3-e3e3-e3e3-e3e3e3e3e3e3
        description: All versions and colorways of the oversized t-shirt
        metadata:
          foo: bar
        name: Versions of Oversized T-Shirt
        tag_set:
          - tshirt
          - oversized
          - clothing
        tracking_id: SNOVERSIZEDTSHIRT
        updated_at: '2021-01-01 00:00:00.000'
  securitySchemes:
    ApiKey:
      type: apiKey
      in: header
      name: Authorization

````