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

# Gets Random Access Cursors

> Generate a list of cursors that then allows you to retrieve all products with efficient deep paging.\r\n\t\t\tOptionally provide a query and/or filter to generate a cursor for a subset of products.\r\n\t\t\tAfter retrieving the cursor, provide a cursorMark to the cursorMark argument of the /search or /getProducts operations.\r\n\t\t\tYou may provide cursorMarks in any order or even in parallel operations.



## OpenAPI

````yaml /openapi/openapi_catalog_storefront.json get /commerce/catalog/storefront/productsearch/randomAccessCursor
openapi: 3.0.1
info:
  description: |-
    <div id="overview_CATALOG_STOREFRONT">
                <h2>CATALOG STOREFRONT</h2>
                <p>The Catalog Storefront APIs are a collection of resources for managing storefront categories, currencies, price lists, products, and
                    product search. This controls how the products in your catalog are organized and displayed on the
                    storefront. See the
                    <a href="/concept-guides/catalog">Catalog user guides</a>
                    for information about the related features in the Unified Commerce Admin.</p>
                <p>Use the <strong>Currencies</strong> resource to retrieve exchange rates for displaying prices on your storefront.</p>
                <p>Use the <strong>Storefront Categories</strong> resource to view the product category hierarchy as it appears to shoppers
                    who are browsing the storefront. The hierarchy can be returned as a flat list or as a category tree.</p>
                <p>Use the <strong>Pricelists</strong> resource to retrieve the details of a price list. The details may contain a hierarchy
                    of ancestor and/or descendant price lists dependening on your configuration.</p>
                <p>Use the <strong>Storefront Products</strong> resource to manage the shopper product selection process during a visit to
                    the web storefront. You can update product options as shoppers pick and choose their product choices. A
                    shopper cannot add a product to a cart until all of its required options have been selected.</p>
                <p>Use the <strong>Product Search</strong> resource to provide dynamic search results to shoppers as they browse and search
                    for products on the web storefront, and to suggest possible search terms as the shopper enters text. The related <strong>Search Redirect</strong>
                    resource allows you to retrieve any search redirect items.</p>
            </div>
  title: Catalog Storefront
  version: 0.0.1
servers:
  - description: Kibo Base URL
    url: '{baseUrl}/api'
    variables:
      baseUrl:
        default: https://t1000000.sb.usc1.gcp.kibocommerce.com
        description: Base URL
security:
  - bearerAuth: []
paths:
  /commerce/catalog/storefront/productsearch/randomAccessCursor:
    get:
      tags:
        - ProductSearch
      summary: Gets Random Access Cursors
      description: >-
        Generate a list of cursors that then allows you to retrieve all products
        with efficient deep paging.\r\n\t\t\tOptionally provide a query and/or
        filter to generate a cursor for a subset of products.\r\n\t\t\tAfter
        retrieving the cursor, provide a cursorMark to the cursorMark argument
        of the /search or /getProducts operations.\r\n\t\t\tYou may provide
        cursorMarks in any order or even in parallel operations.
      parameters:
        - description: >-
            Optional terms to search on. Only matching products will be included
            in the cursor.
          in: query
          name: query
          schema:
            type: string
        - description: >-
            Optional set of filter expressions to filter on. Only matching
            products will be included in the cursor.
          in: query
          name: filter
          schema:
            type: string
        - description: ''
          in: query
          name: pageSize
          schema:
            format: int32
            type: integer
        - description: limits which fields are returned in the response body
          in: query
          name: responseFields
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductSearchRandomAccessCursor'
            text/json:
              schema:
                $ref: '#/components/schemas/ProductSearchRandomAccessCursor'
            text/plain:
              schema:
                $ref: '#/components/schemas/ProductSearchRandomAccessCursor'
          description: OK
components:
  schemas:
    ProductSearchRandomAccessCursor:
      description: >-
        A calculated set of cursor marks for a given query that can be accessed
        in any order, providing the ability to page through all results in
        random/paralellized order
      properties:
        cursorMarks:
          description: >-
            The list of cursor marks for the query. Provide a given cursor mark
            to the product search or getProducts cursorMark parameter to
            retrieve the associated products
          items:
            type: string
          nullable: true
          type: array
      type: object
  securitySchemes:
    bearerAuth:
      bearerFormat: JWT
      description: JWT Authorization header using the Bearer scheme.
      scheme: bearer
      type: http

````