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

# Listar turnos de conducción

> Grilla «Turnos» de la web (#3986): los turnos de la empresa, del inicio más reciente al más
viejo, paginados y acotados a los activos permitidos del usuario. Conductor, RUT y activo
salen del snapshot del inicio. El rango filtra por el inicio del turno y va en instantes
ISO 8601 con zona (la web manda los bordes del día en la zona del usuario); los turnos
olvidados que empezaron antes se encuentran con `status=open`. Un activo fuera del alcance
del usuario devuelve una página vacía.

**Permisos requeridos:** `access_driving_shifts` (la restricción «Turnos» lo quita)




## OpenAPI

````yaml /openapi.json get /api/driving-shifts
openapi: 3.0.0
info:
  title: UGPS Atlas API
  version: 1.0.0
  description: >-
    Documentación de la API REST principal de UGPS Atlas (plataforma de rastreo
    GPS)
servers:
  - url: https://api.ugps.io
    description: Servidor de producción
security:
  - bearerAuth: []
  - cookieAuth: []
tags:
  - name: Auth - Autenticación
    description: Operaciones de autenticación
  - name: Usuarios - Usuarios
    description: Operaciones relacionadas con usuarios
  - name: Usuarios - Roles
    description: Operaciones relacionadas con roles
  - name: Usuarios - Permisos
    description: Operaciones relacionadas con permisos
  - name: Activos - Assets
    description: Operaciones relacionadas con activos
  - name: Activos - Tipos
    description: Operaciones relacionadas con tipos de activos
  - name: Activos - Grupos
    description: Operaciones relacionadas con grupos de activos
  - name: Activos - Campos personalizados
    description: >-
      Campos propios que cada empresa define para sus activos (nombre interno,
      tipo, reglas y opciones)
  - name: Activos - Grupos de campos
    description: Grupos que ordenan los campos personalizados de la empresa
  - name: Activos - Vehículos
    description: Operaciones relacionadas con tipos de vehículos
  - name: Activos - QR
    description: >-
      QR del activo (identidad escaneable del activo): resolver, stickers,
      reemplazo e historial
  - name: Tracking - Trackers
    description: Operaciones relacionadas con trackers
  - name: Tracking - Viajes
    description: Operaciones relacionadas con viajes y paradas
  - name: Tracking - Geocercas
    description: Operaciones relacionadas con geocercas
  - name: Alertas - Alertas
    description: Operaciones relacionadas con alertas
  - name: Alertas - Disparadores
    description: Operaciones relacionadas con disparadores de alertas
  - name: Alertas - Notificaciones
    description: Operaciones relacionadas con notificaciones
  - name: Clientes - Clientes
    description: Operaciones relacionadas con clientes
  - name: Clientes - Restricciones
    description: Operaciones relacionadas con restricciones
  - name: Integraciones - Flespi
    description: Operaciones relacionadas con Flespi
  - name: Otros - Conductores
    description: Operaciones relacionadas con conductores
  - name: Formularios dinámicos
    description: Plantillas de formulario propias de Atlas, asignables a activos
  - name: Inspecciones
    description: >-
      Inspecciones de activos enviadas desde la app al escanear el QR, con
      resultado apta / no apta
  - name: Otros - Capas
    description: Operaciones relacionadas con capas
  - name: User Tracker Access
    description: Operaciones de acceso personalizado a trackers por usuario
  - name: Reportes - Historial de Posiciones
    description: Estadísticas y detalle de posiciones GPS por activo
  - name: Reportes - Excesos de Velocidad
    description: Reportes de excesos de velocidad por tracker
  - name: Reportes - Ralentí
    description: Reportes de ralentí (motor encendido sin movimiento) por tracker
  - name: Reportes - Horas de Trabajo
    description: >-
      Reportes de horas de trabajo (conducción + paradas dentro de horario
      laboral) por tracker
  - name: Reportes - Última Actividad
    description: Reporte de estado de comunicación y última posición de activos
  - name: Reportes - Reportes Programados
    description: Gestión de reportes programados (CRUD)
  - name: Device Health
    description: Operaciones de salud de dispositivos del cliente
  - name: Activity Log
    description: Registro de actividad del cliente
  - name: Work - Importaciones
    description: Operaciones de importación de datos
  - name: Work - Plantillas
    description: Operaciones de plantillas de importación
  - name: Cargo - Transportistas
    description: Gestión de transportistas
  - name: Cargo - Pedidos
    description: Gestión de pedidos de carga
  - name: Cargo - Monitoreo
    description: Monitoreo en vivo de carga y transporte
  - name: Integraciones - Navixy
    description: Integración con plataforma Navixy
  - name: Mantenimiento - Dashboard
    description: Dashboard y métricas generales de mantenimiento
  - name: Mantenimiento - Proveedores
    description: Gestión de proveedores de servicio
  - name: Mantenimiento - Tareas
    description: Catálogo de tareas con que se arman las pautas de mantención
  - name: Mantenimiento - Pautas
    description: Pautas de mantención, con sus tareas del catálogo y su familia de activos
  - name: Mantenimiento - Estado
    description: Estado de mantenimiento de activos
  - name: Mantenimiento - Perfiles
    description: Perfiles de mantenimiento por activo
  - name: Mantenimiento - Fallas
    description: Gestión de fallas activas
  - name: Mantenimiento - DVIR
    description: Driver Vehicle Inspection Reports
  - name: Mantenimiento - Defectos
    description: Gestión de defectos detectados
  - name: Mantenimiento - Programaciones
    description: Programación de mantenimientos preventivos
  - name: Mantenimiento - Próximos
    description: Ítems de mantenimiento próximos
  - name: Mantenimiento - Órdenes de Trabajo
    description: Gestión de órdenes de trabajo
  - name: Mantenimiento - Registros de Servicio
    description: Registros históricos de servicios realizados
  - name: Mantenimiento - Problemas
    description: Gestión de problemas de mantenimiento
  - name: Mantenimiento - Tareas de Servicio
    description: Tareas específicas dentro de órdenes de trabajo
  - name: Mantenimiento - Inventario
    description: Gestión de partes, ubicaciones y stock
  - name: Mantenimiento - Costos
    description: Gestión y agregación de costos de mantenimiento
  - name: Trabajo - Tareas
    description: Gestión de tareas, tareas recurrentes, rutas y operaciones en lote
  - name: Trabajo - Empleados
    description: Gestión de empleados, departamentos y sus catálogos (tags, trackers)
  - name: Otros - Lugares
    description: Gestión de lugares (places) del cliente
  - name: Cargo - Activos
    description: Disponibilidad de activos de carga
  - name: Cargo - Ubicaciones
    description: Gestión de ubicaciones de carga
  - name: Cargo - Rendimiento
    description: Métricas de rendimiento de pedidos de carga
  - name: Reportes - Check-ins
    description: Reporte de check-ins de tareas
  - name: Reportes - Utilización
    description: Reporte de utilización de activos
  - name: Reportes - Visitas por Geocercas
    description: Reporte de visitas a geocercas
  - name: Reportes - Visitas por Trackers
    description: Reporte de visitas por tracker/activo
  - name: Reportes - Progreso de Geozonas
    description: Reporte de progreso de cobertura de geozonas (agricultura)
  - name: Reportes - Temperatura
    description: Reporte de temperatura por activo
  - name: Reportes - Exportación
    description: Exportación de reportes a archivo
  - name: Público - Business Time
    description: Reloj de servidor (endpoint público, sin autenticación)
  - name: Formularios
    description: Definiciones y envíos de formularios de la app
  - name: Sistema
    description: Endpoints de salud del servicio (liveness/readiness), sin autenticación
  - name: Facturación
    description: >-
      Portal del cliente — facturas publicadas de la empresa (proyección de
      Raúl)
  - name: Tienda de módulos
    description: >-
      Catálogo de módulos y productos UGPS con el estado de cada uno para el
      usuario
  - name: Soporte
    description: Portal del cliente — tickets de soporte de la empresa (proyección de Raúl)
  - name: Asistente
    description: Historial de conversaciones del Asistente de Atlas (spec
paths:
  /api/driving-shifts:
    get:
      tags:
        - Otros - Conductores
      summary: Listar turnos de conducción
      description: >
        Grilla «Turnos» de la web (#3986): los turnos de la empresa, del inicio
        más reciente al más

        viejo, paginados y acotados a los activos permitidos del usuario.
        Conductor, RUT y activo

        salen del snapshot del inicio. El rango filtra por el inicio del turno y
        va en instantes

        ISO 8601 con zona (la web manda los bordes del día en la zona del
        usuario); los turnos

        olvidados que empezaron antes se encuentran con `status=open`. Un activo
        fuera del alcance

        del usuario devuelve una página vacía.


        **Permisos requeridos:** `access_driving_shifts` (la restricción
        «Turnos» lo quita)
      parameters:
        - name: driverId
          in: query
          schema:
            type: string
        - name: assetId
          in: query
          schema:
            type: string
        - name: status
          in: query
          schema:
            type: string
            enum:
              - open
              - closed
        - name: from
          in: query
          description: Inicio del rango (incluido), con zona horaria.
          schema:
            type: string
            format: date-time
            example: '2026-11-12T00:00:00.000-03:00'
        - name: to
          in: query
          description: >-
            Fin del rango (incluido), con zona horaria. No puede ser anterior a
            `from`.
          schema:
            type: string
            format: date-time
            example: '2026-11-12T23:59:59.999-03:00'
        - name: page
          in: query
          schema:
            type: integer
            minimum: 1
            default: 1
        - name: pageSize
          in: query
          schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 25
      responses:
        '200':
          description: Página de turnos
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    example: success
                  data:
                    type: object
                    properties:
                      items:
                        type: array
                        items:
                          type: object
                          description: Fila de la grilla «Turnos».
                          required:
                            - id
                            - driverId
                            - assetId
                            - status
                            - driver
                            - asset
                            - start
                          properties:
                            id:
                              type: string
                              example: 6733a1f2c4b5d6e7f8a9b0c1
                            driverId:
                              type: string
                              example: 6733a1f2c4b5d6e7f8a9b0c3
                            assetId:
                              type: string
                              example: 6733a1f2c4b5d6e7f8a9b0c2
                            status:
                              type: string
                              enum:
                                - open
                                - closed
                            driver:
                              type: object
                              description: Conductor al iniciar el turno.
                              properties:
                                name:
                                  type: string
                                  example: Ana Pérez
                                rut:
                                  type: string
                                  example: 12.345.678-5
                            asset:
                              type: object
                              description: Activo al iniciar el turno.
                              properties:
                                name:
                                  type: string
                                  example: Camión 1
                                plate:
                                  type: string
                                  example: ABCD12
                            start:
                              type: object
                              description: >
                                Inicio o fin del turno. La ubicación del
                                teléfono, la del activo y la distancia solo

                                existen en los eventos que dispara el conductor;
                                los cierres por arrastre traen solo `at`

                                y `reason`.
                              required:
                                - at
                                - suspiciousReasons
                              properties:
                                at:
                                  type: string
                                  format: date-time
                                location:
                                  type: object
                                  description: >-
                                    Ubicación del teléfono del conductor al
                                    iniciar o terminar el turno.
                                  required:
                                    - latitude
                                    - longitude
                                  properties:
                                    latitude:
                                      type: number
                                      minimum: -90
                                      maximum: 90
                                      example: -33.4489
                                    longitude:
                                      type: number
                                      minimum: -180
                                      maximum: 180
                                      example: -70.6693
                                    accuracyMeters:
                                      type: number
                                      minimum: 0
                                      description: >-
                                        Radio de precisión que informa el
                                        teléfono, en metros.
                                      example: 12
                                    mocked:
                                      type: boolean
                                      description: >-
                                        El teléfono marcó la posición como
                                        simulada.
                                tracker:
                                  type: object
                                  description: >-
                                    Posición del tracker del activo al momento
                                    del evento, con su hora.
                                  properties:
                                    latitude:
                                      type: number
                                      example: -33.4491
                                    longitude:
                                      type: number
                                      example: -70.669
                                    at:
                                      type: string
                                      format: date-time
                                distanceMeters:
                                  type: number
                                  description: >-
                                    Distancia entre el teléfono y el activo, en
                                    metros.
                                  example: 42.5
                                address:
                                  type: string
                                  description: >-
                                    Dirección del teléfono o, sin él, del
                                    activo; ausente si no se pudo resolver.
                                  example: >-
                                    Av. Libertador Bernardo O'Higgins 1234,
                                    Santiago
                                suspiciousReasons:
                                  type: array
                                  description: >-
                                    Vacío cuando la comparación no encontró nada
                                    raro.
                                  items:
                                    type: string
                                    enum:
                                      - no_phone_location
                                      - mocked_location
                                      - no_tracker_position
                                      - stale_tracker
                                      - out_of_radius
                            end:
                              description: Ausente mientras el turno está abierto.
                              allOf:
                                - type: object
                                  description: >
                                    Inicio o fin del turno. La ubicación del
                                    teléfono, la del activo y la distancia solo

                                    existen en los eventos que dispara el
                                    conductor; los cierres por arrastre traen
                                    solo `at`

                                    y `reason`.
                                  required:
                                    - at
                                    - suspiciousReasons
                                  properties:
                                    at:
                                      type: string
                                      format: date-time
                                    location:
                                      type: object
                                      description: >-
                                        Ubicación del teléfono del conductor al
                                        iniciar o terminar el turno.
                                      required:
                                        - latitude
                                        - longitude
                                      properties:
                                        latitude:
                                          type: number
                                          minimum: -90
                                          maximum: 90
                                          example: -33.4489
                                        longitude:
                                          type: number
                                          minimum: -180
                                          maximum: 180
                                          example: -70.6693
                                        accuracyMeters:
                                          type: number
                                          minimum: 0
                                          description: >-
                                            Radio de precisión que informa el
                                            teléfono, en metros.
                                          example: 12
                                        mocked:
                                          type: boolean
                                          description: >-
                                            El teléfono marcó la posición como
                                            simulada.
                                    tracker:
                                      type: object
                                      description: >-
                                        Posición del tracker del activo al
                                        momento del evento, con su hora.
                                      properties:
                                        latitude:
                                          type: number
                                          example: -33.4491
                                        longitude:
                                          type: number
                                          example: -70.669
                                        at:
                                          type: string
                                          format: date-time
                                    distanceMeters:
                                      type: number
                                      description: >-
                                        Distancia entre el teléfono y el activo,
                                        en metros.
                                      example: 42.5
                                    address:
                                      type: string
                                      description: >-
                                        Dirección del teléfono o, sin él, del
                                        activo; ausente si no se pudo resolver.
                                      example: >-
                                        Av. Libertador Bernardo O'Higgins 1234,
                                        Santiago
                                    suspiciousReasons:
                                      type: array
                                      description: >-
                                        Vacío cuando la comparación no encontró
                                        nada raro.
                                      items:
                                        type: string
                                        enum:
                                          - no_phone_location
                                          - mocked_location
                                          - no_tracker_position
                                          - stale_tracker
                                          - out_of_radius
                                - type: object
                                  required:
                                    - reason
                                  properties:
                                    reason:
                                      type: string
                                      enum:
                                        - ended
                                        - driver_mode_off
                                        - signed_out
                                        - restarted
                                        - asset_replaced
                                        - taken_over
                                        - asset_removed
                      total:
                        type: integer
                        example: 1
                      page:
                        type: integer
                        example: 1
                      pageSize:
                        type: integer
                        example: 25
        '400':
          description: Error de validación
          content:
            application/json:
              schema:
                oneOf:
                  - type: object
                    properties:
                      error:
                        type: string
                        example: El email es requerido
                  - type: object
                    properties:
                      status:
                        type: string
                        example: failed
                      message:
                        type: string
                        example: Error de validación
                      errors:
                        type: array
                        items:
                          type: object
                          properties:
                            path:
                              type: string
                            message:
                              type: string
        '401':
          description: No autorizado
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: Token inválido o expirado
        '403':
          description: Sin permisos
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: No tiene permisos para realizar esta acción
        '500':
          description: Error interno del servidor
          content:
            application/json:
              schema:
                oneOf:
                  - type: object
                    properties:
                      message:
                        type: string
                        example: Error interno del servidor
                  - type: object
                    properties:
                      status:
                        type: string
                        example: failed
                      message:
                        type: string
                        example: Error interno del servidor
      security:
        - bearerAuth: []
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        Token de sesión Better Auth o API token (`atk_...`) en el header
        `Authorization: Bearer <token>`. Los JWT legacy ya no son válidos.
    cookieAuth:
      type: apiKey
      in: cookie
      name: better-auth.session_token
      description: >-
        Cookie de sesión Better Auth emitida al iniciar sesión en el frontend
        web. En producción el nombre lleva prefijo `__Secure-`.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.