---
title: "Límites del plan: usado contra incluido, con los complementos que los amplían"
method: GET
path: "/billing/limits"
tags: ["Billing"]
---

# Límites del plan: usado contra incluido, con los complementos que los amplían

`GET /billing/limits`

## Request

- Base URL: `https://api.met.meteor.com.co/api/v1`
- URL: `https://api.met.meteor.com.co/api/v1/billing/limits`
- Auth: one of:
  - `bearer` (a scheme the document does not define)
  - HTTP bearer

Cada límite del plan del workspace —miembros, contactos, tareas al día, tareas por minuto, peticiones de API al día, números de WhatsApp y cuentas de Meta— con lo usado, lo incluido, lo que suman los complementos y el tope que se aplica hoy. `enforcement` dice qué pasa al llegar: `hard` bloquea, `soft` avisa antes y al llegar frena solo una parte, `queue` hace esperar lo que pasa del tope al minuto siguiente, `none` solo mide. Cada recurso trae los complementos que lo amplían y cuántas unidades ya tienes. Consúltalo antes de una carga grande.

## Response `200`

- object: Sobre en el que viaja toda respuesta correcta de la API. El recurso está en `data`. Los SDKs oficiales lo desenvuelven por ti; un cliente hecho a mano tiene que leer `.data`.
  - `success` true, required: Siempre `true` en una respuesta 2xx.
  - `data` PlanLimitsResponseDto, required
    - `object` 'plan_limits', required
    - `plan` PlanLimitsPlanDto, required
      - `name` string, required
      - `price_monthly_usd` number, required
      - `slug` string, required
    - `resources` PlanLimitResourceDto[], required
      - `addons` PlanLimitAddonDto[], required: Complementos activos del catálogo que amplían este recurso.
        - `grants` number, required: Cuánto suma cada unidad al límite del recurso.
        - `id` number, required: Lo que pide `POST /billing/checkout/addon` como `addon_id`.
        - `name` string, required
        - `owned_quantity` number, required: Unidades activas que ya tiene el workspace. `0` = no lo tiene.
        - `price_usd` number, required: Precio por unidad, en USD (mensual si el complemento es recurrente).
        - `slug` string, required
      - `enforcement` 'hard' | 'soft' | 'queue' | 'none', required: Qué pasa al llegar al tope. `hard`: se bloquea la acción que lo superaría (en las peticiones de API, todas menos enviar WhatsApp con `channels:send`, que cuenta pero no se frena). `soft`: se avisa antes de llegar y al llegar se frena solo una parte (en las tareas del día, lo que arranca solo; lo que entra por los canales sigue). `queue`: lo que pasa del tope espera su turno del minuto siguiente, y a los 10 minutos de espera se rechaza. `none`: hoy no se aplica, solo se mide.
      - `extra` number, required: Lo que suman los complementos comprados.
      - `included` number, nullable, required: Lo que trae el plan. `null` = el plan no tiene tope en este recurso.
      - `key` 'members' | 'contacts' | 'automation_tasks_daily' | 'automation_tasks_per_minute' | 'api_requests_daily' | 'wa_numbers' | 'meta_accounts' | 'call_minutes_monthly' | 'social_accounts', required
      - `label` string, required: Nombre para mostrar, en español.
      - `limit` number, nullable, required: El tope que se aplica hoy. `null` cuando `unlimited`. Es el mismo número que usa el freno correspondiente, no una suma hecha para mostrar.
      - `period` 'minute' | 'day' | 'month', nullable, required: Ventana en la que se cuenta el consumo. `day` y `month` se reinician a las 00:00 UTC; `null` = no se reinicia (miembros, contactos, cuentas). `minute`: el tope es por minuto y `used` es el minuto con más consumo de las últimas 24 horas (`resets_at` va en `null`).
      - `resets_at` string, nullable, required: Próximo reinicio del consumo (ISO, UTC). `null` si `period` es `null` o `minute`.
      - `unlimited` boolean, required
      - `used` number, required

## Other responses

- `400`: La request no es válida: un campo no pasa validación, falta un parámetro requerido o el recurso no admite la transición solicitada.
- `401`: API key ausente, inválida, revocada o expirada — o el workspace está bloqueado.
- `403`: La key está autenticada pero no puede ejecutar esta operación: scope faltante, capacidad deshabilitada, modo test restringido o recurso fuera de su cartera.
- `404`: El recurso no existe o no está disponible dentro del alcance de la key. No revela la existencia de recursos de otros tenants.
- `429`: Se superó el límite por minuto de la key o la cuota del plan. Respeta `Retry-After`; el SDK ya reintenta solo.
- `500`: Error del servidor o del Met que ejecutaba. El SDK reintenta los 5xx con backoff.

---

[API](https://skmtc.dev/meteor/apis/met-public-api.md) · [All operations](https://skmtc.dev/meteor/apis/met-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/meteor/apis/met-public-api/revisions/fc6d3aad75de?raw)
