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

# Listar paquetes

> Utiliza este endpoint para recuperar todos los paquetes registrados con sus tarifas asociadas.



## OpenAPI

````yaml es/openapi/v3-current/fees-engine.yaml get /v1/packages
openapi: 3.1.0
info:
  title: Fees Engine
  description: ''
  version: 3.3.0
servers:
  - url: https://fees.sandbox.lerian.net
security: []
tags:
  - name: Fees Engine
paths:
  /v1/packages:
    get:
      tags:
        - API de paquetes
      summary: Listar paquetes
      description: >-
        Utiliza este endpoint para recuperar todos los paquetes registrados con
        sus tarifas asociadas.
      parameters:
        - name: page
          in: query
          description: Número de página que se devolverá.
          required: false
          example: 1
          schema:
            type: integer
        - name: limit
          in: query
          description: Cantidad de registros devueltos.
          required: false
          example: 1
          schema:
            type: integer
        - name: sort_order
          in: query
          description: Orden utilizado para clasificar los resultados.
          required: false
          example: desc
          schema:
            type: string
        - name: transactionRoute
          in: query
          description: >-
            La ruta contable principal que define la naturaleza de la
            transacción. Ayuda a agrupar operaciones relacionadas en el
            _Ledger_.
          required: false
          example: TED-DEBIT
          schema:
            type: string
        - name: enable
          in: query
          description: Si `true`, indica que el paquete está activo.
          required: false
          example: true
          schema:
            type: boolean
        - name: start_date
          in: query
          description: >-
            Fecha de finalización del período que deseas recuperar. **Debes usar
            también `start_date`.**
          required: false
          example: '2025-01-01'
          schema:
            type: string
        - name: end_date
          in: query
          description: >-
            Fecha de inicio del período que deseas recuperar. **Debes usar
            también `end_date`.**
          required: false
          example: '2025-01-31'
          schema:
            type: string
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/LedgerId'
        - $ref: '#/components/parameters/SegmentId'
        - $ref: '#/components/parameters/ContentType'
        - $ref: '#/components/parameters/XOrganizationId'
      responses:
        '200':
          description: >-
            Indica que el recurso se creó correctamente y que la operación se
            completó según lo esperado.
          content:
            application/json:
              schema:
                type: object
                properties:
                  items:
                    type: array
                    items:
                      $ref: '#/components/schemas/CreatePackagesResponse'
                    description: Lista con los elementos devueltos.
                  page:
                    type: integer
                    description: Número de página devuelto.
                  limit:
                    type: integer
                    description: Cantidad de registros devueltos.
                  total:
                    type: integer
                    description: Cantidad de elementos devueltos.
              example:
                items:
                  - id: 0196251d-a93a-7c42-9eef-c9f463470e21
                    feeGroupLabel: Paquete 1
                    description: Paquete creado para pruebas
                    transactionRoute: 019c96a0-10a0-72d2-9fb0-2b7de8093182
                    segmentId: 019c96a0-0b4e-7079-8be0-ab6bdccf975f
                    ledgerId: 019c96a0-0ac0-7de9-9f53-9cf842a2ee5a
                    minimumAmount: '3000.00'
                    maximumAmount: '6000.00'
                    waivedAccounts:
                      - customer-brl-1
                    fees:
                      fee1:
                        feeLabel: Tasa administrativa 1
                        calculationModel:
                          applicationRule: maxBetweenTypes
                          calculations:
                            - type: flat
                              value: '15'
                            - type: percentage
                              value: '2'
                        referenceAmount: originalAmount
                        priority: 1
                        isDeductibleFrom: false
                        creditAccount: business-brl-1
                        routeFrom: 019c96a0-1071-7a0d-9916-a831221de252
                        routeTo: 019c96a0-108c-7a74-8e31-3789daffe1ed
                      fee2:
                        feeLabel: Tasa administrativa 2
                        calculationModel:
                          applicationRule: flatFee
                          calculations:
                            - type: flat
                              value: '5'
                        referenceAmount: originalAmount
                        priority: 2
                        isDeductibleFrom: false
                        creditAccount: business-brl-2
                        routeFrom: 019c96a0-1071-7a0d-9916-a831221de252
                        routeTo: 019c96a0-108c-7a74-8e31-3789daffe1ed
                      fee3:
                        feeLabel: Tasa 3
                        calculationModel:
                          applicationRule: percentual
                          calculations:
                            - type: percentage
                              value: '5'
                        referenceAmount: afterFeesAmount
                        priority: 3
                        isDeductibleFrom: true
                        creditAccount: business-brl-3
                        routeFrom: 019c96a0-1071-7a0d-9916-a831221de252
                        routeTo: 019c96a0-108c-7a74-8e31-3789daffe1ed
                    enable: true
                    createdAt: '2025-04-11T13:50:23.034Z'
                    updatedAt: '2025-04-11T13:50:23.034Z'
                    deletedAt: null
                  - id: 01962522-d87e-7120-80bf-c55b770df818
                    feeGroupLabel: Paquete 2
                    description: Segundo paquete creado para pruebas.
                    transactionRoute: 019c96a0-10a0-72d2-9fb0-2b7de8093182
                    segmentId: 019c96a0-0b4e-7079-8be0-ab6bdccf975f
                    ledgerId: 019c96a0-0ac0-7de9-9f53-9cf842a2ee5a
                    minimumAmount: '3000.00'
                    maximumAmount: '6000.00'
                    waivedAccounts: []
                    fees:
                      fee1:
                        feeLabel: Prueba de tasas administrativas 2
                        calculationModel:
                          applicationRule: maxBetweenTypes
                          calculations:
                            - type: flat
                              value: '16'
                            - type: percentage
                              value: '1'
                        referenceAmount: originalAmount
                        priority: 1
                        isDeductibleFrom: false
                        creditAccount: business-brl-1
                        routeFrom: 019c96a0-1071-7a0d-9916-a831221de252
                        routeTo: 019c96a0-108c-7a74-8e31-3789daffe1ed
                    enable: true
                    createdAt: '2025-04-11T13:56:02.814Z'
                    updatedAt: '2025-04-11T13:56:02.814Z'
                    deletedAt: null
                page: 1
                limit: 5
                total: 3
          headers: {}
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                Error0003:
                  $ref: '#/components/examples/Error0003'
                Error0006:
                  $ref: '#/components/examples/Error0006'
                Error0007:
                  $ref: '#/components/examples/Error0007'
                Error0008:
                  $ref: '#/components/examples/Error0008'
                Error0009:
                  $ref: '#/components/examples/Error0009'
                Error0010:
                  $ref: '#/components/examples/Error0010'
                Error0011:
                  $ref: '#/components/examples/Error0011'
                Error0012:
                  $ref: '#/components/examples/Error0012'
                Error0016:
                  $ref: '#/components/examples/Error0016'
                Error0020:
                  $ref: '#/components/examples/Error0020'
                Error0036:
                  $ref: '#/components/examples/Error0036'
                Error0039:
                  $ref: '#/components/examples/Error0039'
                Error0040:
                  $ref: '#/components/examples/Error0040'
          headers: {}
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                Error0004:
                  $ref: '#/components/examples/Error0004'
          headers: {}
      security: []
components:
  parameters:
    Authorization:
      name: Authorization
      in: header
      description: >-
        El token de autorización en formato 'Bearer <token>'.


        **Importante:** Este encabezado es obligatorio si su entorno tiene
        habilitado Access Manager. Para obtener más información, consulte la
        documentación de [Access Manager](/es/access-manager).
      required: false
      schema:
        type: string
    LedgerId:
      name: ledgerId
      in: query
      description: Identificador del _Ledger_.
      required: false
      schema:
        type: string
        example: 019c96a0-0ac0-7de9-9f53-9cf842a2ee5a
    SegmentId:
      name: segmentId
      in: query
      description: >-
        Identificador único del producto o categoría a la que están vinculadas
        las tarifas. Este campo está asociado al _Ledger_ de Midaz.
      required: false
      schema:
        type: string
        example: 019c96a0-0b4e-7079-8be0-ab6bdccf975f
    ContentType:
      name: Content-Type
      in: header
      description: Tipo de medio del recurso. Debe ser `application/json`.
      required: true
      schema:
        type: string
        example: application/json
    XOrganizationId:
      name: X-Organization-Id
      in: header
      description: Identificador único de la organización asociada a la solicitud.
      required: true
      schema:
        type: string
        example: 019c96a0-0a98-7287-9a31-786e0809c769
  schemas:
    CreatePackagesResponse:
      type: object
      properties:
        id:
          type: string
          description: Identificador único del paquete en formato UUIDv7.
        feeGroupLabel:
          type: string
          description: >-
            Nombre del grupo de tarifas, usado para identificar el paquete
            configurado.
        description:
          type: string
          nullable: true
          description: Breve resumen del paquete que explica qué cubre.
        transactionRoute:
          type: string
          nullable: true
          description: >-
            La ruta contable principal que define la naturaleza de la
            transacción. Ayuda a agrupar operaciones relacionadas en el
            _Ledger_.
        segmentId:
          type: string
          nullable: true
          description: >-
            Identificador único del segmento al que está vinculado este paquete
            de tarifas en el _Ledger_ de Midaz.
        ledgerId:
          type: string
          description: >-
            Identificador único del _Ledger_ al que está vinculado este paquete
            de tarifas en el _Ledger_ de Midaz.
        minimumAmount:
          type: string
          description: >-
            Monto mínimo de la transacción por debajo del cual las tarifas del
            paquete no aplican.
        maximumAmount:
          type: string
          description: >-
            Monto máximo de la transacción por encima del cual las tarifas del
            paquete no aplican.
        waivedAccounts:
          type: array
          nullable: true
          items:
            type: string
          description: Lista de cuentas exentas de las tarifas definidas en el paquete.
        fees:
          description: >-
            Objeto que contiene reglas de tarifas con nombres personalizados.
            Cada clave la define el cliente (por ejemplo, `admFee`, `iof`) y su
            valor debe seguir el esquema del objeto `Fee`.
          type: object
          additionalProperties:
            $ref: '#/components/schemas/Fee'
        enable:
          type: boolean
          description: Si `true`, indica que el paquete está activo.
        createdAt:
          type: string
          format: date-time
          description: Fecha en la que se creó el paquete.
        updatedAt:
          type: string
          format: date-time
          nullable: true
          description: Fecha en la que se actualizó por última vez el paquete.
        deletedAt:
          type: string
          format: date-time
          nullable: true
          description: Fecha en la que se eliminó el paquete.
      required:
        - id
        - feeGroupLabel
        - ledgerId
        - minimumAmount
        - maximumAmount
        - enable
        - fees
    Error:
      type: object
      properties:
        code:
          type: string
          description: Identificador único y estable del error.
        title:
          type: string
          description: Resumen breve del problema.
        message:
          type: string
          description: Orientación detallada para resolver el error.
      required:
        - code
        - title
        - message
      description: Mensaje de error devuelto en la respuesta.
    Fee:
      type: object
      description: >-
        Representa una regla de tarifa definida con una clave personalizada en
        el objeto `fees`. El nombre de la clave (por ejemplo, `admFee`, `iof`)
        lo define el cliente y debe seguir el formato `camelCase`.
      required:
        - feeLabel
        - calculationModel
        - referenceAmount
        - priority
        - isDeductibleFrom
        - creditAccount
      properties:
        feeLabel:
          type: string
          description: Nombre visible de la tarifa, como 'Administrative Fee' o 'IOF'.
        calculationModel:
          type: object
          description: Objeto que define el modelo de cálculo de la tarifa.
          required:
            - applicationRule
            - calculation
          properties:
            applicationRule:
              type: string
              description: >-
                Define cómo se calcula la tarifa. Opciones: `maxBetweenTypes`,
                `percentual` o `flatFee`.
              enum:
                - maxBetweenTypes
                - percentual
                - flatFee
            calculation:
              type: array
              description: >-
                Lista de valores que se aplicarán según el campo 
                `applicationRule`.
              items:
                type: object
                required:
                  - type
                  - value
                properties:
                  type:
                    type: string
                    enum:
                      - percentage
                      - flat
                    description: Tipo de cálculo utilizado, como `flat` o `percentage`.
                  value:
                    type: string
                    description: Monto de la tarifa.
        referenceAmount:
          type: string
          description: >-
            Define qué monto se utilizará como base para el cálculo de la
            tarifa.
          enum:
            - originalAmount
            - afterFeesAmount
        priority:
          type: integer
          description: Define el orden en que se aplican las tarifas.
        isDeductibleFrom:
          type: boolean
          description: Si `true`, indica que la tarifa se deduce del monto base.
        creditAccount:
          type: string
          description: >-
            Alias de la cuenta que recibirá los créditos generados por la
            tarifa.
        routeFrom:
          type: string
          description: Especifica la ruta contable para la operación de débito.
        routeTo:
          type: string
          description: Especifica la ruta contable para la operación de crédito.
  examples:
    Error0003:
      summary: Bad request
      value:
        code: FEE-0003
        title: Bad request
        message: >-
          The server could not understand the request due to malformed syntax.
          Please check the listed fields and try again.
    Error0006:
      summary: Invalid query parameter
      value:
        code: FEE-0006
        title: Invalid query parameter
        message: >-
          One or more query parameters are in an incorrect format. Please check
          the following parameters 'parametros_erros' and ensure they meet the
          required format before trying again.
    Error0007:
      summary: Invalid date format error
      value:
        code: FEE-0007
        title: Invalid date format error
        message: >-
          The 'initialDate', 'finalDate', or both are in the incorrect format.
          Please use the 'yyyy-mm-dd' format and try again.
    Error0008:
      summary: Invalid final date error
      value:
        code: FEE-0008
        title: Invalid final date error
        message: >-
          The 'finalDate' cannot be earlier than the 'initialDate'. Please
          verify the dates and try again.
    Error0009:
      summary: Date range exceeds limit error
      value:
        code: FEE-0009
        title: Date range exceeds limit error
        message: >-
          The range between 'initialDate' and 'finalDate' exceeds the permitted
          limit of %v months. Please adjust the dates and try again.
    Error0010:
      summary: Invalid date range error
      value:
        code: FEE-0010
        title: Invalid date range error
        message: >-
          Both 'initialDate' and 'finalDate' fields are required and must be in
          the 'yyyy-mm-dd' format. Please provide valid dates and try again.
    Error0011:
      summary: Pagination limit exceeded
      value:
        code: FEE-0011
        title: Pagination limit exceeded
        message: >-
          The pagination limit exceeds the maximum allowed of %v items per page.
          Please verify the limit and try again.
    Error0012:
      summary: Entity not found
      value:
        code: FEE-0012
        title: Entity not found
        message: >-
          No entity was found for the given ID. Please make sure to use the
          correct ID for the entity you are trying to manage.
    Error0016:
      summary: Invalid path parameter
      value:
        code: FEE-0016
        title: Invalid path parameter
        message: >-
          Path parameters is in an incorrect format. Please check the following
          parameter and ensure they meet the required format before trying
          again.
    Error0020:
      summary: Missing header
      value:
        code: FEE-0020
        title: Missing header
        message: >-
          Headers parameters is required. Please check the following header
          parameters %v and ensure they are passing the values correctly.
    Error0036:
      summary: Invalid sort order
      value:
        code: FEE-0036
        title: Invalid sort order
        message: Invalid sort_order value. Expected 'asc' or 'desc'.
    Error0039:
      summary: Invalid segmentID
      value:
        code: FEE-0039
        title: Invalid segmentID
        message: >-
          The specified segmentID is not a valid UUID. Please check the value
          passed.
    Error0040:
      summary: Invalid ledgerID
      value:
        code: FEE-0040
        title: Invalid ledgerID
        message: >-
          The specified ledgerID is not a valid UUID. Please check the value
          passed.
    Error0004:
      summary: Internal Server Error
      value:
        code: FEE-0004
        title: Internal Server Error
        message: >-
          The server encountered an unexpected error. Please try again later or
          contact support.

````