> ## Documentation Index
> Fetch the complete documentation index at: https://developer.omni.z-api.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Suscribir canal

> Añade un canal a la suscripción existente una vez completado el pago en el panel

export const projectName = 'Omni Z-API';

export const EnterpriseText = ({lang = 'pt'}) => ({
  pt: <>Este endpoint requer a role <strong>ENTERPRISE</strong> na sua conta.</>,
  en: <>This endpoint requires the <strong>ENTERPRISE</strong> role on your account.</>,
  es: <>Este endpoint requiere el rol <strong>ENTERPRISE</strong> en tu cuenta.</>
})[lang];

## Conceptos

Vincula un canal a la suscripción activa de Stripe de la cuenta. El canal se **añade automáticamente** a la suscripción existente y se incluye en la próxima factura un cargo proporcional al periodo que queda del ciclo.

<Note>
  El pago lo realiza previamente el usuario en el panel de {projectName}. Este endpoint debe llamarse una vez completado el checkout en el panel, para activar el canal mediante la API.
</Note>

<Warning>
  <EnterpriseText lang="es" />
</Warning>

Ejemplo de respuesta:

```json theme={null}
{
  "type": "SUBSCRIPTION_UPDATED",
  "message": "Canal activo. Se incluirá un cargo proporcional en la próxima factura."
}
```

<Note>
  El `channelId` se obtiene a través del endpoint [Crear canal](/es/channels/create-channel).
</Note>


## OpenAPI

````yaml es/channels/openapi-subscribe.json GET /v1/channels/{channelId}/subscribe
openapi: 3.1.0
info:
  title: Omni Z-API - Suscribir canal
  version: 1.0.0
servers:
  - url: https://api.omni.z-api.io
security:
  - bearerAuth: []
paths:
  /v1/channels/{channelId}/subscribe:
    get:
      tags:
        - Canales
      summary: Suscribir canal (ENTERPRISE)
      description: >-
        Vincula el canal a la suscripción activa de Stripe de la cuenta. El
        canal se añade automáticamente a la suscripción existente y en la
        próxima factura se incluye un cargo proporcional al periodo restante. El
        usuario debe haber completado el pago previamente en el panel de Omni
        Z-API. Requiere el rol **ENTERPRISE**.
      operationId: subscribeChannel
      parameters:
        - name: channelId
          in: path
          required: true
          description: ID del canal (obtenido con Crear canal)
          schema:
            type: string
            example: 019E4C54B1B375A28970B605CA9B03C3
      responses:
        '200':
          description: Canal vinculado a la suscripción correctamente
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscribeResponse'
              example:
                type: SUBSCRIPTION_UPDATED
                message: >-
                  Canal activo. Se incluirá un cargo proporcional en la próxima
                  factura.
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          description: Canal no encontrado
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error: 404
                message: Channel not found
        '422':
          description: >-
            Regla de negocio incumplida. Posibles causas:


            - `ENTERPRISE role required`: la cuenta no tiene el rol ENTERPRISE

            - `CREDIT_LIMIT_EXCEEDED`: se ha alcanzado el límite de crédito de
            la cuenta

            - `SUBSCRIPTION_TERMINATED`: la suscripción ha finalizado y no se
            pueden añadir canales
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                enterpriseRequired:
                  summary: Cuenta sin el rol ENTERPRISE
                  value:
                    error: 422
                    message: This action requires ENTERPRISE role
                creditLimit:
                  summary: Límite de crédito alcanzado
                  value:
                    error: 422
                    message: CREDIT_LIMIT_EXCEEDED
                terminated:
                  summary: Suscripción finalizada
                  value:
                    error: 422
                    message: SUBSCRIPTION_TERMINATED
components:
  schemas:
    SubscribeResponse:
      type: object
      properties:
        type:
          type: string
          enum:
            - SUBSCRIPTION_UPDATED
          description: Indica que el canal se añadió correctamente a la suscripción
          example: SUBSCRIPTION_UPDATED
        message:
          type: string
          description: Mensaje informativo para mostrar al usuario
          example: >-
            Canal activo. Se incluirá un cargo proporcional en la próxima
            factura.
    Error:
      type: object
      properties:
        error:
          type: integer
        message:
          type: string
  responses:
    Unauthorized:
      description: Token no válido o ausente.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: 401
            message: Unauthorized
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Secret Key generada en el panel de Seguridad de Omni Z-API

````