https://api.veriko.mx/v1/plans Listar planes activos con viñetas bilingües
Devuelve los planes de suscripción activos (is_active = 1), cada uno con su lista de viñetas (features[]) ya filtrada a las activas. El pricing card del dashboard usa esta lista para renderizar — la landing pública usa el endpoint paralelo GET /v1/plans/public (sin auth, cacheado y con precios embebidos). Disponible por API key. La suscripción actual del usuario (plan_slug, effective_limit y fechas del ciclo) viene de GET /v1/billing/subscription.
curl -X GET 'https://api.veriko.mx/v1/plans' \
-H 'Authorization: Bearer mxcep_••••'
Ejemplo en Python — próximamente.
Ejemplo en JavaScript — próximamente.
Ejemplo en PHP — próximamente.
| Campo | Tipo | Descripción |
|---|---|---|
type * | string | |
id * | string | Slug del plan. |
attributes * | object | Plan de suscripción disponible en la plataforma. Devuelto por `GET /v1/plans` para que el usuario pueda comparar opciones y elegir un plan. |
slug * | string | Identificador único del plan (inmutable). Usado para referenciar el plan en otras peticiones (p.ej. `PUT /v1/users/me/subscription`). |
name * | string | Nombre legible del plan para mostrar en la UI. |
monthly_validation_limit * | integer | Validaciones incluidas por mes calendario. `0` indica que el plan no incluye validaciones (requiere upgrade). Valores muy altos (p.ej. 999999) representan cuota virtualmente ilimitada. |
is_default * | boolean | `true` si este plan se asigna automáticamente a nuevas cuentas. |
billing_model * | string | Modelo de facturación: `free` — sin cobro; `tiered` — precio fijo por período; `metered` — uso reportado a Stripe; `hybrid` — base más overage. |
trial_days | integer | null anulable | Días de prueba antes de iniciar el cobro. `null` cuando el plan no ofrece trial. |
included_validations | integer | null anulable | Validaciones incluidas antes de cobro por overage en planes híbridos. `null` en planes `free` y `enterprise`. |
is_public * | boolean | `true` si el plan aparece en la pricing page pública. `false` oculta el plan de self-service (p.ej. planes `admin_granted` o `enterprise`). |
stripe_product_id | string | null anulable | Identificador del Stripe Product asociado. `null` cuando el plan no está conectado a Stripe (planes gratuitos o gestionados manualmente). |
is_active * | boolean | Los planes inactivos no se muestran a los usuarios y no pueden asignarse. Solo visibles para administradores. |
sort_order * | integer | Orden de despliegue en la UI: menor valor = primero. Permite controlar la secuencia de los planes en el pricing card. |
user_count | integer | Cuenta de usuarios activos (no revocados) actualmente en este plan. |
beneficiaries_max | integer | -1 = ilimitado; >=0 limita los beneficiarios por plan. |
retry_max_retries | integer | null anulable | Tope per-plan de reintentos por validación. `null` significa heredar el default global de `config/validation_retries.php`. |
retry_max_pending_per_user | integer | null anulable | Tope per-plan de reintentos pendientes por usuario en cualquier momento. `null` significa heredar el default global. |
retry_max_dispatched_per_day | integer | null anulable | Tope per-plan de reintentos despachados por día por usuario. `null` significa heredar el default global. |
features | array | Lista de viñetas bilingüe del plan para mostrar en el pricing card. Ordenada por `sort_order` ascendente. En endpoints públicos solo se incluyen viñetas activas. |
| Código | Clase | Descripción | Cuerpo |
|---|---|---|---|
| 200 | 2xx | Listado de planes activos. | Sin cuerpo |
| 401 | 4xx | Se requiere autenticación o las credenciales son inválidas | ErrorResponse |
| Código | Clave | Detalle |
|---|---|---|
| 401 | unauthorized | Invalid or missing authentication credentials. Envelope
|