# Enumere todas las instantáneas de préstamos.

Enumere y filtre las instantáneas del historial de préstamos asociadas con su cuenta.

Endpoint: GET /loans
Version: 1.0.0
Security: ApiKeyAuth, ApiKeySecret

## Query parameters:

  - `page` (integer)
    Un número de página dentro del conjunto de resultados paginados.
    Example: 1

  - `limit` (integer)
    Indica cuántos resultados devolver por página. Por defecto, devolvemos 20 resultados por página.

ℹ️ El número mínimo de resultados devueltos por página es 1 y el máximo es 100. Si introduces un valor mayor que 100, nuestra API usará por defecto el valor máximo (100).
    Example: 15

  - `payment_method_id` (string)
    Filtrar por el ID del método de pago asociado con el préstamo.
    Example: "43e5a5b1-b2c6-4f45-8c1f-f28fec707a4b"

  - `merchant_customer_id` (string)
    Filtrar por su identificador de cliente asignado por el comerciante.
    Example: "CUST-001234"

  - `customer_id` (string)
    El identificador único creado por Belvo utilizado para referenciar al cliente.
    Example: "0d1a377b-b4c5-4a94-9e2e-83e59d1f6a9c"

  - `default_date` (string)
    Filtrar por fecha predeterminada exacta en formato YYYY-MM-DD.
    Example: "2026-04-15"

  - `status` (string)
    Filtrar por estado del préstamo. Puede ser active o inactive.
    Enum: "active", "inactive"

  - `start_date` (string)
    Devuelve los préstamos con una defaultDate mayor o igual a la fecha especificada. La fecha debe estar en el formato YYYY-MM-DD.
    Example: "2026-04-01"

  - `end_date` (string)
    Devuelve los préstamos con una defaultDate menor o igual a la fecha especificada. La fecha debe estar en el formato YYYY-MM-DD.
    Example: "2026-04-30"

  - `order` (string)
    Devuelve los resultados en orden ascendente (de más antiguo a más reciente) o descendente (de más reciente a más antiguo), según el createdDate.

Puede ser:
  - asc para orden ascendente
  - desc para orden descendente
    Enum: "asc", "desc"

## Response 200 fields (application/json):

  - `items` (array)
    Un array de objetos de instantáneas del historial de préstamos.

  - `items.id` (string, required)
    El identificador único creado por Belvo utilizado para referenciar esta instantánea del historial de préstamos.

  - `items.loanId` (string)
    El identificador único creado por Belvo utilizado para referenciar la entidad del préstamo principal.

  - `items.customerId` (string, required)
    El identificador único creado por Belvo utilizado para referenciar al cliente.

  - `items.paymentMethodId` (string)
    El identificador único creado por Belvo utilizado para referenciar el método de pago asociado con este préstamo.

  - `items.merchantCustomerId` (string, required)
    Su identificador de cliente asignado por el comerciante.

  - `items.status` (string, required)
    El estado del préstamo. Puede ser:
  - active
    El préstamo está siendo rastreado actualmente para su cobro.
  - inactive
    El préstamo ya no está activo.
    Enum: same as `status` (2 values)

  - `items.principalAmount` (string, required)
    El monto principal.

  - `items.totalBalance` (string, required)
    El saldo total pendiente.

  - `items.targetCollectionDate` (string, required)
    La fecha en que Belvo intentará cobrar el pago, en formato YYYY-MM-DD. Esta fecha se establece como el día en que se realizó la solicitud inicialmente o para el siguiente día hábil.

  - `items.defaultDate` (string, required)
    La fecha en que el cliente incumplió con el préstamo, en formato YYYY-MM-DD.

  - `items.daysOverdue` (integer)
    El número de días que el préstamo está vencido.

  - `items.issueDate` (string)
    La fecha de emisión original, en formato YYYY-MM-DD.

  - `items.loanAmount` (string)
    El monto original del préstamo.

  - `items.interestAmount` (string)
    El monto de interés acumulado.

  - `items.feesAmount` (string)
    Las tarifas asociadas con el préstamo.

  - `items.latePaymentInterestAmount` (string)
    El interés acumulado debido a pagos atrasados.

  - `items.openingCommissionAmount` (string)
    La comisión de apertura cobrada por el préstamo.

  - `items.yearlyOrdinalInterestRate` (string)
    La tasa de interés anual, con hasta 4 decimales.

  - `items.customerSalary` (string)
    El salario del cliente.

  - `items.customerAddress` (string)
    La dirección del cliente.

  - `items.creditStatus` (string)
    El estado de crédito del préstamo. Puede ser uno de los siguientes:
  - past_due
    El pago está vencido.
  - restructured
    El préstamo ha sido reestructurado.
  - canceled
    El préstamo ha sido cancelado.
  - in_arrears
    El préstamo está en mora.
    Enum: "past_due", "restructured", "canceled", "in_arrears"

  - `items.paidInstallments` (integer)
    El número de cuotas ya pagadas.

  - `items.paidAmount` (string)
    El monto total ya pagado.

  - `items.lastPaymentDate` (string)
    La fecha del último pago.

  - `items.lastPaymentAmount` (string)
    El monto del último pago.

  - `items.mainPhoneNumber` (string)
    El número de teléfono principal del cliente.

  - `items.reference` (string)
    Su referencia para el préstamo.

  - `items.createdDate` (string, required)
    La marca de tiempo ISO-8601 cuando se creó la instantánea del préstamo en la base de datos de Belvo.

  - `items.lastUpdatedDate` (string, required)
    La marca de tiempo ISO-8601 cuando la instantánea del préstamo fue actualizada por última vez en la base de datos de Belvo.

  - `meta` (object)
    Metadatos adicionales sobre el conjunto de resultados paginados.

  - `meta.totalItems` (integer)
    El número total de elementos en el conjunto de resultados paginados.
    Example: 100

  - `meta.itemCount` (integer)
    El número de elementos en la página actual.
    Example: 10

  - `meta.itemsPerPage` (integer)
    El número de elementos solicitados por página.
    Example: 10

  - `meta.totalPages` (integer)
    El número total de páginas en el conjunto de resultados paginados.
    Example: 10

  - `meta.currentPage` (integer)
    El número de página actual.
    Example: 1

  - `links` (object)
    Enlaces para navegar por el conjunto de resultados paginados.

  - `links.first` (string)
    La URL a la primera página del conjunto de resultados paginados.
    Example: "/{resource}?limit=20"

  - `links.last` (string)
    La URL a la última página del conjunto de resultados paginados.
    Example: "/{resource}?page=4&limit=20"

  - `links.next` (string)
    La URL a la siguiente página del conjunto de resultados paginados.
    Example: "/{resource}?page=3&limit=20"

  - `links.previous` (string)
    La URL a la página anterior del conjunto de resultados paginados.
    Example: "/{resource}?page=2&limit=20"

## Response 400 fields (application/json):

  - `statusCode` (integer)
    El código de estado HTTP para este error.
    Example: 400

  - `error` (string)
    La descripción del código de estado HTTP para este error.
    Example: "Bad Request"

  - `message` (any)
    Una breve descripción del error, indicando qué está mal con la solicitud.
> Nota: Devolvemos una cadena o un arreglo de cadenas, dependiendo del/los error(es) de validación.

La descripción puede ser (entre otras):

  - id must be a UUID
  - Not enough balance
  - amount is not a valid decimal number.
  - currency must be one of the following values: cop, mxn, usd
  - reference must be a string
  - Customer not found for merchant
  - documentType is a required field
    Example: "id must be a UUID"

## Response 401 fields (application/json):

  - `statusCode` (integer)
    El código de estado HTTP para este error.
    Example: 401

  - `error` (string)
    La descripción del código de estado HTTP para este error.
    Example: "Unauthorized"

  - `message` (string)
    Una breve descripción del error, indicando qué está mal con la solicitud. En el caso de un error 401 Unauthorized, el mensaje es:

  - Unauthorized credentials
    Example: "Unauthorized credentials"


