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

# Obtener GPS con cursor pagination (optimizado para grandes datasets)

> Usa cursor-based pagination para mejor performance con 100k+ registros. El cursor es el row_num del ultimo registro de la pagina anterior.



## OpenAPI

````yaml /generated/specs/operations.json get /api/v1/gps_details/all/cursor
openapi: 3.0.0
info:
  title: Raul API - Operaciones
  description: Suscripciones, GPS, actividades, visitas y operacion tecnica.
  version: 2.0.0
  contact: {}
servers:
  - url: https://api.raul.ugps.io
    description: Production
security: []
tags: []
paths:
  /api/v1/gps_details/all/cursor:
    get:
      tags:
        - GPS Details
      summary: Obtener GPS con cursor pagination (optimizado para grandes datasets)
      description: >-
        Usa cursor-based pagination para mejor performance con 100k+ registros.
        El cursor es el row_num del ultimo registro de la pagina anterior.
      operationId: GpsDetailsController_getAllCursorPaginated[0]
      parameters:
        - name: cursor
          required: false
          in: query
          description: >-
            ID del ultimo registro de la pagina anterior. null/undefined para
            primera pagina.
          schema:
            example: 150
            type: number
        - name: limit
          required: false
          in: query
          description: Cantidad de registros por pagina
          schema:
            minimum: 1
            maximum: 100
            default: 50
            type: number
        - name: status_id
          required: false
          in: query
          description: Filter by GPS status ID
          schema:
            type: number
        - name: platform_id
          required: false
          in: query
          description: Filter by GPS platform ID
          schema:
            type: number
        - name: client_id
          required: false
          in: query
          description: Filter by client ID
          schema:
            type: string
        - name: inventory_id
          required: false
          in: query
          description: Filter by GPS inventory ID
          schema:
            type: number
        - name: search
          required: false
          in: query
          description: >-
            Search across all visible GPS fields (IMEI, name, client, model,
            phone, etc.)
          schema:
            type: string
        - name: inventory_name
          required: false
          in: query
          description: Filter by inventory name (e.g. Bodega, Tecnico, Cliente)
          schema:
            type: string
        - name: status_name
          required: false
          in: query
          description: Filter by GPS status name (e.g. Instalado, Activado, Retirado)
          schema:
            type: string
      responses:
        '200':
          description: Lista de GPS con cursor pagination
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CursorPaginatedGpsResponseDto'
      security:
        - bearerAuth: []
components:
  schemas:
    CursorPaginatedGpsResponseDto:
      type: object
      properties:
        data:
          description: Lista de GPS de la pagina actual
          type: array
          items:
            $ref: '#/components/schemas/GpsDetailsResponseDto'
        nextCursor:
          type: object
          description: >-
            Cursor para la siguiente pagina (ID del ultimo registro). null si no
            hay mas paginas.
          example: 200
          nullable: true
        hasMore:
          type: boolean
          description: Indica si hay mas registros disponibles
          example: true
        total:
          type: number
          description: >-
            Total de registros (opcional, puede ser costoso de calcular en
            datasets grandes)
          example: 1500
      required:
        - data
        - nextCursor
        - hasMore
    GpsDetailsResponseDto:
      type: object
      properties:
        gps_details_id:
          type: string
          description: ID del GPS
        gps_name:
          type: object
          description: Nombre del GPS
        imei:
          type: object
          description: IMEI del GPS
        number_phone:
          type: object
          description: Número de teléfono del SIM
        gps_model_id:
          type: object
          description: ID del modelo de GPS
        gps_model_name:
          type: object
          description: Nombre del modelo de GPS
        sim_deta_id:
          type: object
          description: ID del SIM
        gps_inventory_id:
          type: object
          description: ID del inventario
        gps_inventory_name:
          type: object
          description: Nombre del inventario
        gps_platform_name:
          type: object
          description: Nombre de la plataforma
        assigned_name:
          type: object
          description: Nombre del asignado
        assigned_id:
          type: object
          description: ID del asignado
        operator_name:
          type: object
          description: Nombre del operador
        gps_status_id:
          type: object
          description: ID del estado
        gps_status_name:
          type: object
          description: Nombre del estado
        updated_at:
          type: object
          description: Fecha de actualización
      required:
        - gps_details_id
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: Bearer token authentication

````