GET https://api.veriko.mx/v1/plans

Listar planes activos con viñetas bilingües

Audiencia
public
Autenticación
API key

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.

Petición
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.

Respuesta 200 ListPlansItem — Listado de planes activos.
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ódigos de respuesta GET /v1/plans
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
Errores de GET /v1/plans
Código Clave Detalle
401 unauthorized

Invalid or missing authentication credentials.

Envelope
meta.request_id
c4d5e6f7a8b9