/lending/v2/products/{product_id}

Actualizar un producto

El endpoint lending/v2/products/{product_id} te permite actualizar los datos de un producto en específico.

Podés modificar las fechas de corte y vencimiento, los límites, cómo se compone el pago mínimo y más.

Si el cuerpo no produce ningún cambio, se responde 400. Cómo se aplica cada campo:

Campo Comportamiento
name Se reemplaza.
lifecycle.status Se reemplaza.
lifecycle.offer Se reemplaza completa: omitir end_date la elimina.
credit_card.lifecycle.arrears.actions Se reemplaza el conjunto completo: una acción no enviada se elimina.
credit_card.installments.max Se reemplaza.
credit_card.balance.limits Se combina con los límites actuales. El tipo de límite no se puede cambiar.
credit_card.billing_cycles Se combina campo a campo. La estrategia de facturación no se puede cambiar.
credit_card.minimum_payment Se reemplaza completo, con las mismas reglas por país que al crear.
credit_card.refinancing_options Se reemplaza completo.
credit_card.anticipation_options Se reemplaza completo. No se puede eliminar: para deshabilitarlo enviá enabled: false.
  • credit_card.debt_model debe coincidir con el modelo de deuda del producto; si difiere, se rechaza. Lo mismo aplica a la forma de minimum_payment y anticipation_options.
  • lifecycle.status: solo un producto ACTIVE admite líneas de crédito nuevas. Con PAUSED todavía se pueden crear y modificar configuraciones de precios y crear segmentos; con INACTIVE, no. Un producto desactivado puede volver a ACTIVE o PAUSED con este endpoint.
  • credit_card.balance.limits: en un rango ya configurado se puede enviar solo min o solo max. Un rango que el producto todavía no tiene (por ejemplo, un rango PER_OPERATION que no se definió al crear) requiere min y max.
  • credit_card.billing_cycles: algunos bloques se reemplazan completos y exigen reenviar valores aunque no cambien. Con FIXED_DUE_DATE, si se envía schedule.due se debe incluir allowed_days_of_month. Con FIXED_CLOSING_DATE, si se envía schedule.closing se debe incluir allowed_days_of_month, y si se envía schedule.due, min_days_after_closing. Con FIXED_CLOSING_AND_DUE_DATES, closing_due_day_pairs reemplaza la lista completa.
  • credit_card.minimum_payment: en Perú, enviá en currencies todas las monedas que quieras conservar; las que no envíes se eliminan.
  • El pricing se modifica con POST o PATCH sobre lending/v2/products/{product_id}/pricing.

Parámetros disponibles

Variante:

Este endpoint acepta múltiples tipos de body. Seleccioná una variante para ver sus parámetros y ejemplo.

Path Parameters
product_idString
Cuerpo de solicitud
application/json
namestring
lifecycleobject2 propiedades
credit_cardobject8 propiedades

Autenticación

🔒BearerAuthhttp

Detalle de respuestas

401
El token falta o es inválido. La respuesta no tiene cuerpo.
403
Sin cuerpo. El token es válido pero no tiene el scope que requiere el endpoint.

Ejemplo de solicitud
{
  "name": "Tarjeta Clásica México",
  "credit_card": {
    "debt_model": "LOCAL_CURRENCY",
    "lifecycle": {
      "arrears": {
        "actions": {
          "pause_credit_line": {
            "after_days_past_due": 5
          },
          "block_credit_line": {
            "after_days_past_due": 30
          },
          "cancel_credit_line": {
            "after_days_past_due": 90
          }
        }
      }
    },
    "balance": {
      "limits": {
        "type": "SINGLE",
        "range": {
          "max": 80000
        }
      }
    },
    "minimum_payment": {
      "minimum_amount": 100,
      "composition": [
        {
          "concept": "PURCHASE",
          "percentage": 2
        },
        {
          "concept": "CASH_ADVANCE",
          "percentage": 3
        },
        {
          "concept": "ISSUER_INSTALLMENT",
          "percentage": 100
        },
        {
          "concept": "REVOLVING",
          "percentage": 100
        }
      ]
    },
    "anticipation_options": {
      "enabled": true,
      "allowed_modes": [
        "INSTALLMENT_TERM_REDUCTION",
        "INSTALLMENT_AMOUNT_REDUCTION"
      ],
      "minimum_amount": 500
    }
  }
}
Ejemplo de código
curl -X PATCH "https://api.pomelo.la/lending/v2/products/example_value" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
  "name": "Tarjeta Clásica México",
  "credit_card": {
    "debt_model": "LOCAL_CURRENCY",
    "lifecycle": {
      "arrears": {
        "actions": {
          "pause_credit_line": {
            "after_days_past_due": 5
          },
          "block_credit_line": {
            "after_days_past_due": 30
          },
          "cancel_credit_line": {
            "after_days_past_due": 90
          }
        }
      }
    },
    "balance": {
      "limits": {
        "type": "SINGLE",
        "range": {
          "max": 80000
        }
      }
    },
    "minimum_payment": {
      "minimum_amount": 100,
      "composition": [
        {
          "concept": "PURCHASE",
          "percentage": 2
        },
        {
          "concept": "CASH_ADVANCE",
          "percentage": 3
        },
        {
          "concept": "ISSUER_INSTALLMENT",
          "percentage": 100
        },
        {
          "concept": "REVOLVING",
          "percentage": 100
        }
      ]
    },
    "anticipation_options": {
      "enabled": true,
      "allowed_modes": [
        "INSTALLMENT_TERM_REDUCTION",
        "INSTALLMENT_AMOUNT_REDUCTION"
      ],
      "minimum_amount": 500
    }
  }
}'
Ejemplo de respuesta (200)OK
{
  "data": {
    "id": "lpr-2HMwKzetERdOEhbT86UweXamPle",
    "name": "Tarjeta de crédito Premium",
    "type": "CREDIT_CARD",
    "country": "MEX",
    "lifecycle": {
      "status": {
        "value": "ACTIVE"
      },
      "offer": {
        "start_date": "2026-11-01",
        "end_date": "2030-12-31"
      },
      "deactivated_at": "2024-01-01T00:00:00Z"
    },
    "credit_card": {
      "debt_model": "LOCAL_CURRENCY",
      "lifecycle": {
        "arrears": {
          "actions": {
            "pause_credit_line": {
              "after_days_past_due": 5
            },
            "block_credit_line": {
              "after_days_past_due": 5
            },
            "cancel_credit_line": {
              "after_days_past_due": 5
            }
          }
        }
      },
      "installments": {
        "max": 24
      },
      "balance": {
        "restitution_type": "EXTENDED",
        "limits": {
          "type": "SINGLE",
          "range": {
            "min": 100,
            "max": 50000
          },
          "cash_advance_range_percentage": {
            "min": 0,
            "max": 50
          }
        }
      },
      "billing_cycles": {
        "frequency": "MONTHLY",
        "billing_date_strategy": "FIXED_DUE_DATE",
        "statement": {
          "pdf": {
            "enabled": true
          }
        },
        "schedule": {
          "due": {
            "allowed_days_of_month": [
              5,
              10,
              15,
              20,
              25
            ],
            "allowed_days_of_week": [
              "MONDAY",
              "TUESDAY",
              "WEDNESDAY",
              "THURSDAY",
              "FRIDAY"
            ]
          },
          "closing": {
            "min_days_before_due": 5,
            "min_days_before_first_closing": 10
          }
        }
      },
      "pricing": {
        "start_date": "2026-11-01",
        "rates": [
          {
            "kind": "FIXED",
            "name": "PURCHASE",
            "type": "EFFECTIVE_MONTHLY_RATE",
            "application": {
              "percentage": 3.5
            }
          }
        ],
        "fees": [
          {
            "kind": "FLAT",
            "name": "MEMBERSHIP",
            "description": "Anualidad",
            "application": {
              "unit_type": "MXN",
              "amount": 1200,
              "frequency": "YEARLY_IN_ADVANCE"
            }
          }
        ],
        "services": [
          {}
        ]
      },
      "minimum_payment": {
        "minimum_amount": "50.00",
        "composition": [
          {
            "concept": "PURCHASE",
            "percentage": "1.50"
          }
        ]
      },
      "refinancing_options": {
        "type": "SINGLE_CURRENCY",
        "concepts": [
          {
            "name": "PURCHASE",
            "policies": [
              {
                "trigger": "MANUAL",
                "enabled": true,
                "actions": [
                  {
                    "name": "PAUSE_CREDIT_LINE",
                    "enabled": true
                  }
                ],
                "offer": {
                  "upfront_payment": {
                    "method": "PERCENTAGE",
                    "value": {
                      "percentage": 10
                    }
                  },
                  "installment_terms": [
                    {
                      "min_quantity": 0,
                      "max_quantity": 0,
                      "rate": "string",
                      "rate_type": "EFFECTIVE_MONTHLY_RATE"
                    }
                  ],
                  "eligibility_criteria": [
                    {
                      "criterion": "MIN_AMOUNT",
                      "value": {
                        "amount": 1000
                      }
                    }
                  ],
                  "grace_period": {
                    "min_period": 1,
                    "max_period": 3
                  },
                  "accrual_start": "TRANSACTION_DATE"
                }
              }
            ]
          }
        ]
      },
      "anticipation_options": {
        "enabled": true,
        "allowed_modes": [
          "INSTALLMENT_TERM_REDUCTION"
        ],
        "minimum_amount": "350.00"
      }
    }
  }
}

Pomelo AI

Asistente de inteligencia artificial para consultas sobre la API de Pomelo
¡Hola!¿Cómo puedo ayudarte hoy?