Skip to main content
POST
Descongelar una membresía

Authorizations

Authorization
string
header
required

Clave del negocio. sk es una clave completa (todo lo que el rol de quien la creó puede dar) y rk una restringida a los permisos que se eligieron al crearla. Solo se usa desde un servidor: un pedido desde un navegador se rechaza con browser_not_allowed.

Scopes

memberships:write

Asignar, cancelar, congelar y descongelar membresías.

Headers

Craqui-Version
string

Versión de la API para este pedido (YYYY-MM-DD). Si no la mandas, se usa la versión fijada en la clave cuando se creó.

Pattern: ^\d{4}-\d{2}-\d{2}$
Example:

"2026-12-01"

Idempotency-Key
string

Obligatorio en todo pedido que crea o cambia algo, salvo con dry_run=true. Un valor único por operación (por ejemplo un UUID). Si repites el pedido con la misma clave y el mismo cuerpo dentro de 24 horas, recibes la misma respuesta (con el header Idempotent-Replayed: true) sin que se repita el efecto, también la misma respuesta de error: para intentar de nuevo algo que se rechazó, usa una clave nueva. Con un dry_run=true la clave se ignora y no se guarda: el pedido real puede usar la misma. Pasadas las 24 horas, repetir una reserva con la misma clave y el mismo cuerpo sigue devolviendo la reserva que se hizo (como está ahora), y la misma clave con otro cuerpo responde idempotency_key_reused.

Required string length: 1 - 255

Path Parameters

id
string
required

El id de la membresía (mem_…). Id de una membresía de un cliente.

Pattern: ^mem_[0-7][0-9a-hjkmnp-tv-z]{25}$
Example:

"mem_01j1q27t44qvr6v2s50cv4rbvq"

Query Parameters

dry_run
boolean

true para ver qué pasaría sin hacerlo: Craqui evalúa el pedido con las mismas reglas que el real y responde 200 con un objeto preview, sin escribir nada ni avisarle a nadie. Cuenta para el límite de escrituras. false (o sin el parámetro) hace el pedido real. Es el único parámetro de consulta de una escritura.

Body

application/json

Sin campos.

Response

La membresía como quedó, o con dry_run=true la vista previa (object dice cuál).

La membresía como quedó, con lo que pasó con su período.

id
string
required

Id de una membresía de un cliente.

Pattern: ^mem_[0-7][0-9a-hjkmnp-tv-z]{25}$
Example:

"mem_01j1q27t44qvr6v2s50cv4rbvq"

object
string
required
Allowed value: "membership"
livemode
boolean
required

false si el objeto es de tu estudio de prueba (claves crq_test_); true con claves crq_live_.

client_id
string | null
required

El cliente. null si la membresía es de alguien que no es cliente del estudio.

Pattern: ^cli_[0-7][0-9a-hjkmnp-tv-z]{25}$
Example:

"cli_01jatfha5h4nkg77c3wfrvd3cw"

membership_plan_id
string
required

Id de un plan de membresía.

Pattern: ^mpl_[0-7][0-9a-hjkmnp-tv-z]{25}$
Example:

"mpl_01jt05nvk11xa1zm1pwve2qj7r"

status
enum<string>
required

active, paused (congelada), suspended, pending_payment, cancelled o expired. La lista puede crecer: trata un valor que no conoces como una membresía que no da créditos.

Available options:
active,
paused,
suspended,
pending_payment,
cancelled,
expired
current_period_start
string<date-time>
required

Instante en RFC 3339 con el offset del negocio en ese momento.

Example:

"2026-12-02T19:00:00-03:00"

current_period_end
string<date-time>
required

Instante en RFC 3339 con el offset del negocio en ese momento.

Example:

"2026-12-02T19:00:00-03:00"

renews_at
string<date-time> | null
required

Cuándo se renueva sola: el fin del período actual si la membresía está active y su plan se renueva solo; si no, null.

Example:

"2026-12-02T19:00:00-03:00"

next_credit_date
string<date> | null
required

La fecha local en que recibe los próximos créditos; null si no hay una prevista.

Pattern: ^\d{4}-\d{2}-\d{2}$
Example:

"2026-12-02"

started_at
string<date-time>
required

Instante en RFC 3339 con el offset del negocio en ese momento.

Example:

"2026-12-02T19:00:00-03:00"

cancelled_at
string<date-time> | null
required

Instante en RFC 3339 con el offset del negocio en ese momento.

Example:

"2026-12-02T19:00:00-03:00"

suspension_reason
string | null
required

Por qué se suspendió, como texto; null si no está suspendida.

discount
object | null
required

El descuento que tiene la membresía; null si no tiene.

active_freeze_id
string | null
required

El congelamiento en curso o programado; null si no hay. El detalle está en GET /v1/memberships/{id}/freezes.

Pattern: ^frz_[0-7][0-9a-hjkmnp-tv-z]{25}$
Example:

"frz_01jtk6e3z2vm9ych2cc7kadyja"

created_at
string<date-time>
required

Instante en RFC 3339 con el offset del negocio en ese momento.

Example:

"2026-12-02T19:00:00-03:00"

updated_at
string<date-time>
required

Instante en RFC 3339 con el offset del negocio en ese momento.

Example:

"2026-12-02T19:00:00-03:00"

period_renewed
boolean
required

true si la vuelta cayó después del fin del período y se abrió uno nuevo, con sus créditos.

renewal_fee_id
string | null
required

La cuota del período nuevo (fee_…), si el plan cobra; null si no se abrió uno o no cobra.

Pattern: ^fee_[0-7][0-9a-hjkmnp-tv-z]{25}$
Example:

"fee_01jxycdc0zf2nxw7n2azer6wqp"