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

# Excluir canal

> Exclua permanentemente um canal via API

## Conceituação

Remove permanentemente um canal e todos os seus dados. A exclusão é irreversível — o canal é fisicamente removido do sistema.

<Warning>
  Este endpoint requer a role **ENTERPRISE** na sua conta.
</Warning>

### Condições para exclusão

A exclusão só é permitida quando o canal não possui assinatura ativa. A tabela abaixo descreve o comportamento por status:

| Status                      | Exclusão permitida | Observação                                                  |
| --------------------------- | ------------------ | ----------------------------------------------------------- |
| Trial                       | Sim                | —                                                           |
| Pendente                    | Sim                | Se houver fatura aberta, ela será cancelada automaticamente |
| Pago                        | Não                | O canal deve ser cancelado antes de ser excluído            |
| Em processo de cancelamento | Não                | O canal deve ser cancelado antes de ser excluído            |
| Cancelado                   | Sim                | —                                                           |

<Warning>
  A exclusão é permanente e irreversível. Para excluir um canal com assinatura ativa, primeiro cancele a assinatura via [Cancelar assinatura](/channels/cancel-subscription) e aguarde o status `CANCELED`.
</Warning>

<Note>
  O `channelId` é obtido através do endpoint [Criar canal](/channels/create-channel).
</Note>


## OpenAPI

````yaml pt/channels/openapi-delete.json DELETE /v1/channels/{channelId}
openapi: 3.1.0
info:
  title: 'Hub Message - Parceiro: Excluir Canal'
  version: 1.0.0
servers:
  - url: https://api.hubmessage.io
security:
  - bearerAuth: []
paths:
  /v1/channels/{channelId}:
    delete:
      tags:
        - Parceiros
      summary: Excluir canal (Parceiro)
      description: >-
        Remove permanentemente um canal e todos os seus dados. A exclusão só é
        permitida quando o canal não possui assinatura ativa (status `CANCELED`,
        `TRIAL` ou `PENDING`). Requer role ENTERPRISE.
      operationId: partnerDeleteChannel
      parameters:
        - name: channelId
          in: path
          required: true
          description: ID do canal (obtido via Criar canal)
          schema:
            type: string
            example: 019E4C54B1B375A28970B605CA9B03C3
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeleteRequest'
            examples:
              withReason:
                summary: Com motivo de exclusão
                value:
                  cancelReason: Cliente encerrou a empresa
              withoutReason:
                summary: Sem motivo (body omitido)
                value: {}
      responses:
        '204':
          description: Canal excluído com sucesso. Nenhum conteúdo retornado.
        '400':
          description: Autorização inválida ou ausente
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error: 400
                message: Authorization invalid
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          description: Canal não encontrado
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error: 404
                message: Instance not found
        '422':
          description: Regra de negócio violada
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                enterpriseRequired:
                  summary: Conta sem role ENTERPRISE
                  value:
                    error: 422
                    message: Channel deletion requires ENTERPRISE role
                channelConnected:
                  summary: Canal ainda conectado
                  value:
                    error: 422
                    message: INSTANCE_STILL_CONNECTED
                activeSubscription:
                  summary: Canal com assinatura ativa (PAID ou CANCELLATION_PROCESS)
                  value:
                    error: 422
                    message: INSTANCE_HAS_ACTIVE_SUBSCRIPTION
        '502':
          description: Falha na integração com o serviço 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 da exclusão (opcional, mas recomendado para auditoria)
          example: Cliente encerrou a empresa
    Error:
      type: object
      properties:
        error:
          type: integer
        message:
          type: string
  responses:
    Unauthorized:
      description: Token inválido ou ausente.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: 401
            message: Unauthorized
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Secret Key gerada no painel de Segurança do Hub Message

````