Actualizar una suscripción
Tu clave API privada (comienza con pvk_)
In: header
Tu ID de organización
In: header
Path Parameters
uuidKey-value pairs for storing your own information on this subscription. They are
merged into what is already stored: keys you do not mention are kept. Send a key with a null value to delete that key, or {} to delete them all. At most 50 keys; keys up to 40 characters, values up to 500, and 27000 characters across all keys and values. Do not store sensitive data here: it is not encrypted and is returned on reads.
Four key names are reserved by Venflow and rejected: checkoutMode, subscriptionId, obInvoiceId and billing_cycles; use a different name, such as externalId.
billingCycles is written by Venflow on subscriptions whose plan has installments, and is read-only. It is kept on every update, including {}, and does not count toward the limits. You may send it back unchanged, for example when you send the whole object you read; sending a different value, or null, is rejected with an error.
properties <= 50Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X PATCH "https://api.venflow.app/v1/subscriptions/497f6eca-6276-4993-bfeb-53cbbbba6f08" \ -H "Content-Type: application/json" \ -d '{}'{
"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"
}Obtener una single Suscripción by Por ID GET
Obtiene una suscripción por su ID, incluyendo el descuento aplicado y los ciclos que le quedan.
Cancelar una suscripción POST
Cancela una suscripción al final del período en curso, igual que el panel de Venflow. - La suscripción pasa a `cancelling` y el campo `cancel_at_period_end` de la respuesta queda en `true`: el cliente conserva el acceso hasta que cierre el período, y ahí se cancela sola. No se genera un cobro nuevo. - `cancel_mode` es opcional y hoy solo acepta `period_end`, que es también el valor por defecto. La cancelación inmediata todavía no está disponible: si envías otro valor, responde 400. - Cancelar una suscripción ya cancelada no falla: la respuesta devuelve el estado actual. - Para revertir una cancelación programada usa `POST /v1/subscriptions/{id}/undo-cancel`; para revivir una ya cancelada, `POST /v1/subscriptions/{id}/reactivate`. - **No dispara el webhook `SUBSCRIPTION_CANCELLED_EVENT` al llamarlo.** Ese evento se emite cuando el sistema cancela la suscripción, lo que incluye la llegada del fin del período de una cancelación programada. Si tu integración necesita reaccionar en el momento de la llamada, hazlo en tu propio código. Programa la cancelación al final del período en curso, igual que el panel de Venflow: la suscripción se cancela sola al cerrar el ciclo y el cliente conserva el acceso hasta entonces. Se revierte con el endpoint de deshacer cancelación.