> ## 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.

# Eliminar canal

> Elimina permanentemente un canal mediante la 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

Elimina permanentemente un canal y todos sus datos. El borrado es irreversible: el canal se elimina físicamente del sistema.

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

### Condiciones para eliminar

Solo se permite eliminar el canal cuando no tiene una suscripción activa. La siguiente tabla describe el comportamiento según el estado:

| Estado                    | ¿Se permite eliminar? | Observación                                              |
| ------------------------- | --------------------- | -------------------------------------------------------- |
| Prueba                    | Sí                    | —                                                        |
| Pendiente                 | Sí                    | Si hay una factura abierta, se cancelará automáticamente |
| Pagado                    | No                    | El canal debe cancelarse antes de eliminarlo             |
| En proceso de cancelación | No                    | El canal debe cancelarse antes de eliminarlo             |
| Cancelado                 | Sí                    | —                                                        |

<Warning>
  El borrado es permanente e irreversible. Para eliminar un canal con suscripción activa, primero cancela la suscripción con [Cancelar suscripción](/es/channels/cancel-subscription) y espera a que el estado sea `CANCELED`.
</Warning>

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


## OpenAPI

````yaml es/channels/openapi-delete.json DELETE /v1/channels/{channelId}
openapi: 3.1.0
info:
  title: 'Omni Z-API - Partner: eliminar canal'
  version: 1.0.0
servers:
  - url: https://api.omni.z-api.io
security:
  - bearerAuth: []
paths:
  /v1/channels/{channelId}:
    delete:
      tags:
        - Partners
      summary: Eliminar canal (Partner)
      description: >-
        Elimina permanentemente un canal y todos sus datos. Solo se permite el
        borrado cuando el canal no tiene una suscripción activa (estado
        `CANCELED`, `TRIAL` o `PENDING`). Requiere el rol ENTERPRISE.
      operationId: partnerDeleteChannel
      parameters:
        - name: channelId
          in: path
          required: true
          description: ID del canal (obtenido con Crear canal)
          schema:
            type: string
            example: 019E4C54B1B375A28970B605CA9B03C3
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeleteRequest'
            examples:
              withReason:
                summary: Con motivo de eliminación
                value:
                  cancelReason: El cliente cerró la empresa
              withoutReason:
                summary: Sin motivo (body omitido)
                value: {}
      responses:
        '204':
          description: Canal eliminado correctamente. No se devuelve contenido.
        '400':
          description: Autorización no válida o ausente
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error: 400
                message: Authorization invalid
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          description: Canal no encontrado
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error: 404
                message: Instance not found
        '422':
          description: Regla de negocio incumplida
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                enterpriseRequired:
                  summary: Cuenta sin el rol ENTERPRISE
                  value:
                    error: 422
                    message: Channel deletion requires ENTERPRISE role
                channelConnected:
                  summary: El canal sigue conectado
                  value:
                    error: 422
                    message: INSTANCE_STILL_CONNECTED
                activeSubscription:
                  summary: Canal con suscripción activa (PAID o CANCELLATION_PROCESS)
                  value:
                    error: 422
                    message: INSTANCE_HAS_ACTIVE_SUBSCRIPTION
        '502':
          description: Fallo en la integración con el servicio interno
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error: 502
                message: Hermitage deleteChannel failed
components:
  schemas:
    DeleteRequest:
      type: object
      properties:
        cancelReason:
          type: string
          description: >-
            Motivo de la eliminación (opcional, pero recomendado con fines de
            auditoría)
          example: El cliente cerró la empresa
    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

````