---
title: "Suelta el patrocinio de la empresa activa"
method: POST
path: "/tenants/current/emancipar"
tags: ["cuenta"]
---

# Suelta el patrocinio de la empresa activa

`POST /tenants/current/emancipar`

## Request

- Base URL: `https://contadeo.com/api`
- URL: `https://contadeo.com/api/tenants/current/emancipar`
- Auth: HTTP bearer

Rompe el vinculo `patrocinador_tenant_id`: la empresa deja de emitir con el plan de otra cuenta, deja de sumar a su `consumo_pool` y deja de figurar en su cupo repartido. Contratar plan propio da independencia de cupo mientras el plan siga vigente; esto la da de forma definitiva (un plan propio vencido devolvia la empresa al pool). Idempotente: si ya estaba suelta responde 200 con `cambio: false`. Rol owner en la empresa activa.

## Request body

- object
  - `aceptaPerderCupoCompartido` boolean: Obligatorio si el plan propio efectivo es free: al soltar el patrocinio la empresa pasa a su propio cupo (10/mes, tipos 01 y 04) en el acto.

## Response `200`

Empresa emancipada (o ya lo estaba)

- object
  - `tenantId` string, uuid
  - `patrocinada` boolean: false siempre tras la operacion
  - `cambio` boolean: false = ya estaba suelta
  - `usoPlan` UsoPlan: El plan que RIGE la emision y su consumo. En regimen pool (empresa patrocinada en free) plan/limiteComprobantes/usadosEsteMes/tiposPermitidos son los del PATROCINADOR (lo mismo que corta la emision); lo contratado por esta empresa va en `propio`. modulosPermitidos y limiteUsuarios son SIEMPRE del plan propio. En régimen oem el contrato del partner gobierna la emisión; no se calcula excedente retail para la cuenta.
    - `regimen` 'propio' | 'pool' | 'oem': Que gobierna hoy la emision de esta empresa.
    - `plan` string
    - `limiteComprobantes` integer, nullable
    - `usadosEsteMes` integer
    - `limiteUsuarios` integer, nullable
    - `usuarios` integer
    - `planExpiraAt` string, nullable
    - `tiposPermitidos` string[]
    - `usadosPruebasEsteMes` integer: Emitidos en Pruebas este mes; no consumen cupo (tope blando aparte).
    - `excedenteEsteMes` integer: Comprobantes por encima del cupo incluido. 0 si el plan propio no se paga (free corta duro; el cobro por pool no existe).
    - `excedenteCentavos` integer: Costo del excedente con la tarifa por tramos vigente. Se mide, todavia no se cobra.
    - `modulosPermitidos` string[]: Modulos del plan, mas los de sus complementos vigentes, mas los concedidos a la cuenta (`tenants.modulos_extra`).
    - `pool` object: Presente si ESTA empresa consume del cupo compartido de su patrocinador.
      - `patrocinadorTenantId` string, uuid
      - `patrocinadorNombre` string
      - `plan` string: Plan que RIGE la emision de esta empresa (el del patrocinador).
      - `usados` integer: `consumo_pool` del mes: lo gastado por todo el pool.
      - `limite` integer, nullable
      - `corteDuro` boolean: El plan que rige no se paga: al llegar al cupo se corta en seco.
    - `poolPropio` object: Presente si ESTA empresa patrocina a otras Y quien pregunta es owner/admin: desglose de su cupo.
      - `usados` integer
      - `limite` integer, nullable
      - `empresas` object[]: Solo las patrocinadas que quien pregunta ADMINISTRA (tiene membership en ellas).
        - `tenantId` string, uuid
        - `nombre` string
        - `usados` integer
        - `independiente` boolean: Ya tiene plan propio de pago: no consume el cupo compartido.
      - `otras` object: Agregado de lo que gasta este cupo y quien pregunta ya NO administra: el cupo es suyo y tiene que poder cuadrarlo, pero esos nombres no le pertenecen.
        - `empresas` integer
        - `usados` integer
    - `propio` object: Lo contratado por ESTA empresa; en regimen propio coincide con el nivel superior.
      - `plan` string
      - `limiteComprobantes` integer, nullable
      - `usadosEsteMes` integer: Emitidos en Produccion por esta empresa (su contador propio).
      - `planExpiraAt` string, nullable
      - `corteDuro` boolean: Su plan no tiene precio: corta en seco, no acumula excedente.
      - `complementos` string[]: Complementos vigentes de ESTA empresa; vacio con el plan free.
    - `complementos` string[]: Complementos VIGENTES de esta empresa. Vacio si el plan propio efectivo es free: el complemento vence con el plan. No se hereda del patrocinador, como los modulos.
    - `oem` object: Presente cuando la emisión es gestionada por contrato OEM. Producción sin corte por volumen mientras esté activa; pruebas conserva el tope por cuenta. El consumo comercial facturable sigue en el corte del partner.
      - `nombre` string, required
      - `activa` boolean, required

## Other responses

- `400`: Su plan propio es free y falta `aceptaPerderCupoCompartido`
- `403`: Sin rol owner en la empresa activa, o token de OAuth/MCP
- `404`: Tenant no encontrado

---

[API](https://skmtc.dev/contadeo/apis/api-de-contadeo.md) · [All operations](https://skmtc.dev/contadeo/apis/api-de-contadeo/llms.txt) · [OpenAPI document](https://skmtc.dev/contadeo/apis/api-de-contadeo/revisions/461bbb9a74ce?raw)
