Venflow API
V1Planes

Crear un Plan

POST
/v1/plans
Api-Key<token>

Tu clave API privada (comienza con pvk_)

In: header

Organization<token>

Tu ID de organización

In: header

active?boolean

Si el plan está activo

apply_discount_to_additional_items?boolean

Si el descuento también aplica sobre los items adicionales

billing_cycles?integer

Número de cuotas: cuántos ciclos se cobra la suscripción antes de cancelarse sola. Entero de 1 a 999; omitir para cobrar sin límite. Solo para planes recurrentes: enviarlo en un plan one_time devuelve 400

Rangevalue <= 999
description?string

Descripción del plan

Length1 <= length <= 1000
external_id?string

Identificador externo para integración con otros sistemas

Lengthlength <= 255
frequency?string
Value in"hourly" | "daily" | "weekly" | "biweekly" | "monthly" | "quarterly" | "semiannual" | "annual"
is_taxes_included?boolean

Si los impuestos están incluidos en el precio

meter_id?string

ID del medidor — requerido para planes metered

namestring

Nombre del plan

Length1 <= length <= 255
price?number

Precio en dólares (no centavos). Requerido para planes licensed; omitir para planes metered (su precio vive en usage_unit_amount/usage_tiers)

Formatdouble
Range0 <= value
product_id?string

ID del producto al que está asociado este plan

Formatuuid
trial_days?integer

Días de prueba gratis antes del primer cobro. Entero de 0 a 365; 0 significa sin prueba. Solo para planes recurrentes: enviarlo en un plan one_time devuelve 400

Range0 <= value <= 365
type?string

Tipo de plan: recurrente o pago único

Value in"one_time" | "recurring"
usage_pricing_model?string

Modelo de precio por uso — requerido para planes metered

Value in"per_unit" | "tiered" | "volume"
usage_tiers?

Escalones de precio — requeridos para tiered/volume; el último debe tener up_to = null

usage_type?string

Tipo de uso: licensed (precio fijo) o metered (facturado por consumo del medidor)

Value in"licensed" | "metered"
usage_unit_amount?number

Tarifa por unidad en dólares — requerida para per_unit

Formatdouble

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://api.venflow.app/v1/plans" \  -H "Content-Type: application/json" \  -d '{    "name": "Plan Básico",    "price": 29.99,    "frequency": "monthly",    "description": "Acceso completo a todas las funciones"  }'
{
  "active": true,
  "apply_discount_to_additional_items": true,
  "billing_cycles": 0,
  "created": 0.1,
  "description": "string",
  "external_id": "string",
  "frequency": "hourly",
  "id": "string",
  "is_taxes_included": true,
  "livemode": true,
  "meter_id": "string",
  "name": "string",
  "object": "plan",
  "price": 0,
  "product_id": "string",
  "trial_days": 0,
  "type": "recurring",
  "updated": 0.1,
  "usage_pricing_model": "per_unit",
  "usage_tiers": [
    {
      "unit_amount": 0.1,
      "up_to": 0
    }
  ],
  "usage_type": "licensed",
  "usage_unit_amount": 0
}
{
  "code": "not_found",
  "details": {},
  "message": "string"
}
{
  "code": "not_found",
  "details": {},
  "message": "string"
}
{
  "code": "not_found",
  "details": {},
  "message": "string"
}
{
  "code": "not_found",
  "details": {},
  "message": "string"
}
{
  "code": "not_found",
  "details": {},
  "message": "string"
}