Reactivar una suscripción cancelada
Tu clave API privada (comienza con pvk_)
In: header
Tu ID de organización
In: header
Path Parameters
uuidRestart the billing-cycle counter at zero. Defaults to false, which keeps the cycles already billed — relevant only on plans with a cycle limit.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://api.venflow.app/v1/subscriptions/497f6eca-6276-4993-bfeb-53cbbbba6f08/reactivate" \ -H "Content-Type: application/json" \ -d '{ "reset_billing_cycles": false }'{
"billing_cycles": 0,
"billing_cycles_completed": 0.1,
"cancel_at_period_end": true,
"collection_mode": "engine",
"created": 0.1,
"current_period_end": 0.1,
"current_period_start": 0.1,
"customer": "string",
"discount": {
"amount_off": 0,
"duration": "once",
"duration_periods": 0,
"id": "string",
"name": "string",
"percent_off": 0,
"remaining_periods": 0
},
"id": "string",
"livemode": true,
"metadata": {
"property1": "string",
"property2": "string"
},
"object": "subscription",
"plan": "string",
"scheduled_start_date": "string",
"status": "string",
"trial_end": 0,
"trial_start": 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"
}{
"code": "not_found",
"details": {},
"message": "string"
}Crear un cobro POST
Crea una solicitud de cobro sobre una suscripción de cobro por API (`collection_mode` externo): tú decides cuándo y cuánto se cobra, y Venflow ejecuta el débito contra la domiciliación que el cliente ya autorizó. Requiere el header `Idempotency-Key`. Repetir la llamada con la misma clave devuelve la solicitud original, sin generar un segundo débito. Sin `amount` se cobra el precio actual del plan; sin `charge_date` el cobro se ejecuta en la próxima corrida del motor (hoy). La respuesta confirma únicamente que la solicitud quedó creada o programada: los bancos son asíncronos, así que el resultado (pagado o rechazado) llega después por webhook. `currency` define en qué moneda va `amount`. Con `USD` (predeterminado) es un monto neto en dólares, igual que el precio del plan: el IVA se calcula encima y los bolívares se obtienen a la tasa BCV del día del cobro. Con `VES` es el débito exacto en bolívares de ese día, con el equivalente en dólares de la factura derivado a esa misma tasa; en ese caso `amount` es obligatorio, porque el plan no tiene precio en bolívares. `retry_policy` define qué pasa si el banco rechaza el débito. Con `none` (predeterminado) es un solo intento: la solicitud queda `failed` y reintentar es tu decisión (una solicitud nueva). Con `automatic` la factura entra a la cola de reintentos de Venflow con los reintentos y los días que tu organización tiene configurados, y la solicitud se resuelve una sola vez al final.
Deshacer una cancelación programada POST
Revierte una cancelación programada con `POST /v1/subscriptions/{id}/cancel`. - La suscripción vuelve a `active` y `cancel_at_period_end` queda en `false`, así que el próximo ciclo se cobra con normalidad. - Responde 400 si la suscripción no tiene una cancelación programada. Una suscripción **ya cancelada** no se deshace por aquí: se revive con `POST /v1/subscriptions/{id}/reactivate`. Revierte una cancelación agendada al final del período: la suscripción vuelve a estar activa y el próximo ciclo se cobra con normalidad. Una suscripción ya cancelada no se deshace por aquí, se revive con el endpoint de reactivación.