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

# Movimientos de puntos de lealtad

> Obtiene una lista paginada de los movimientos de puntos de lealtad. Permite filtrar por justoUserId, rango de fechas y tipo de transacción.



## OpenAPI

````yaml get /royalty/client-point-movements
openapi: 3.1.0
info:
  title: Justo API
  version: 3.0.0
servers:
  - url: https://api.service.getjusto.com/v3
    description: Production server
security: []
paths:
  /royalty/client-point-movements:
    get:
      summary: Movimientos de puntos de lealtad
      description: >-
        Obtiene una lista paginada de los movimientos de puntos de lealtad.
        Permite filtrar por justoUserId, rango de fechas y tipo de transacción.
      parameters:
        - in: query
          name: justoUserId
          required: false
          schema:
            type: string
            description: ID del usuario de Justo
        - in: query
          name: startDate
          required: false
          schema:
            type: string
            description: >-
              Fecha de inicio del rango (formato YYYY-MM-DD o ISO 8601, ej:
              2026-01-19 o 2026-01-19T00:00:00Z)
            example: '2026-01-01'
        - in: query
          name: endDate
          required: false
          schema:
            type: string
            description: >-
              Fecha de fin del rango (formato YYYY-MM-DD o ISO 8601, ej:
              2026-01-19 o 2026-01-19T23:59:59Z)
            example: '2026-01-31'
        - in: query
          name: type
          required: false
          schema:
            type: string
            description: Tipo de movimiento a filtrar
            enum:
              - manual
              - redemption
              - accumulation
              - referral
              - expiration
              - refund
        - in: query
          name: page
          required: false
          schema:
            type: integer
            minimum: 1
            default: 1
            description: Número de página a obtener
        - in: query
          name: pageSize
          required: false
          schema:
            type: integer
            minimum: 1
            maximum: 1000
            default: 100
            description: Cantidad de elementos por página
      responses:
        '200':
          description: Lista paginada de movimientos de puntos de lealtad
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                    description: Indica si la operación fue exitosa
                  data:
                    type: object
                    properties:
                      movements:
                        type: array
                        items:
                          type: object
                          properties:
                            amount:
                              type: number
                              example: 50
                              description: >-
                                Cantidad de puntos de lealtad (positivo para
                                ingresos, negativo para egresos)
                            userId:
                              type: string
                              example: u-001
                              description: ID del usuario de Justo
                            createdAt:
                              type: string
                              format: date-time
                              example: '2025-01-20T14:30:00.000Z'
                              description: Fecha de creación del movimiento
                            balance:
                              type: number
                              example: 150
                              description: Balance de monedas después de este movimiento
                            direction:
                              type: string
                              enum:
                                - in
                                - out
                              example: in
                              description: >-
                                Dirección del movimiento (in = ingreso, out =
                                egreso)
                            originReference:
                              type: object
                              nullable: true
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - expiration
                                    - refund
                                    - manual
                                    - redemption
                                    - accumulation
                                    - referral
                                  example: accumulation
                                  description: Tipo de origen del movimiento
                                expiresAt:
                                  type: string
                                  format: date-time
                                  example: '2026-01-20T14:30:00.000Z'
                                  description: Fecha de expiración, si aplica
                                  nullable: true
                                orderId:
                                  type: string
                                  example: ord-001
                                  description: ID de la orden, si aplica
                                  nullable: true
                                orderCode:
                                  type: string
                                  example: ORD-12345
                                  description: Código de la orden, si aplica
                                  nullable: true
                                tabId:
                                  type: string
                                  example: tab-001
                                  description: ID de la tab (orden presencial), si aplica
                                  nullable: true
                                description:
                                  type: string
                                  example: Orden Online
                                  description: Descripción del origen del movimiento
                                  nullable: true
                              required:
                                - type
                              description: Referencia del origen del movimiento
                          required:
                            - amount
                            - userId
                            - createdAt
                            - balance
                            - direction
                            - originReference
                        description: Lista de movimientos de monedas
                      pagination:
                        type: object
                        properties:
                          totalCount:
                            type: number
                            example: 150
                            description: Total de movimientos
                          page:
                            type: number
                            example: 1
                            description: Página actual
                          pageSize:
                            type: number
                            example: 100
                            description: Tamaño de página
                          totalPages:
                            type: number
                            example: 2
                            description: Total de páginas
                          hasNextPage:
                            type: boolean
                            example: true
                            description: Indica si hay una página siguiente
                          hasPreviousPage:
                            type: boolean
                            example: false
                            description: Indica si hay una página anterior
                        required:
                          - totalCount
                          - page
                          - pageSize
                          - totalPages
                          - hasNextPage
                          - hasPreviousPage
                        description: Información de paginación
                    required:
                      - movements
                      - pagination
                required:
                  - success
                  - data
        '400':
          description: >-
            Error de validación - falta proporcionar justoUserId, formato de
            fecha inválido, o parámetros de paginación inválidos
        '401':
          description: No autorizado - token de autenticación inválido o ausente
        '404':
          description: Cliente no encontrado
      security:
        - bearerAuth:
            - admin
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: JWT Token

````