billing
GET /v1/trials/eligibility
Can this organization start a trial on this plan, and on what terms?
Autenticación
Envía una clave de API como token de portador. Este endpoint no especifica un permiso concreto en la especificación, así que otorga a tu clave los mínimos privilegios necesarios y comprueba la respuesta en lugar de dar por sentado.
Donde va el ID de tu organización
Este endpoint acepta org_id como parámetro de consulta. Omítelo y la llamada abarcará todo tu subárbol de inquilinos; envíalo para acotar la llamada a una sola organización.
El id de tu organización se encuentra en la pantalla de claves de API en tu panel de control, junto a la propia clave. Es el mismo id en cada llamada que realices.
Pruébalo
Reemplaza cualquier elemento entre corchetes angulares por tus propios valores, y el marcador de posición key con una clave de tu panel de control.
curl -X GET https://api.zinndigital.com/v1/trials/eligibility?plan_code=<plan_code> \
-H "Authorization: Bearer zdk_live_…"¿Has iniciado sesión? La consola de la API en tu panel de control rellena el ID de tu organización real y tu propia clave, y ejecuta la solicitud contra la API en vivo para que puedas ver la respuesta real. Abre este endpoint en la consola de la API
Detalles
Lets a CTA be honest **before** it is clicked. Without it the only way to learn that a plan has no trial, or that this organization has already had one, is to press the button and read a 422 — which is how a "Start free trial" button that cannot start a free trial stays on a pricing page for months. `reason` distinguishes the cases deliberately: "this plan has no trial" and "you have already had yours" lead a customer to do completely different things, and a bare `eligible: false` would collapse them into one shrug.
Parámetros
| Nombre | Tipo | Obligatorio | ¿Qué es esto? |
|---|---|---|---|
plan_code (query) | string | Sí | — |
org_id (query) | string | No | — |
Respuesta
| Nombre | Tipo | Obligatorio | ¿Qué es esto? |
|---|---|---|---|
plan_code | string | Sí | — |
eligible | boolean | Sí | — |
duration_days | integer | No | — |
max_sites | integer | No | — |
requires_card | boolean | No | — |
reason | string<, no_trial_on_plan, no_billing_org, already_used> | Sí | Empty when eligible. |
upgrade | TrialUpgradeOffer | No | The plan the customer asked about, priced in their currency, so a refusal ends in a decision rather than a dead end. ⚖️ Owner instruction 2026-08-19: *"if they try to start a ne… |
Errores que este endpoint puede devolver
401 · 403