# Limpar fila async de envio direto

DELETE /message/async

Cancela toda a fila de envio `async=true` da instância e marca as mensagens pendentes como `Canceled`.

Este endpoint atua apenas nos envios diretos com `async=true`. Ele **não** afeta:
- campanhas do sender (`/sender/*`)
- mensagens já enviadas com sucesso
- mensagens em massa agendadas

Use quando houver uma fila acumulada ou quando for necessário cancelar todos
os envios assíncronos ainda não concluídos. Depois da limpeza, a instância
volta a aceitar novos envios com `async=true`.


## Autenticação

```json
[
  {
    "token": []
  }
]
```

```json
{
  "token": {
    "name": "token",
    "type": "apiKey",
    "in": "header"
  }
}
```

## Respostas

```json
{
  "200": {
    "description": "Fila async limpa com sucesso",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "response": {
              "type": "string",
              "example": "Async queue cleared"
            },
            "instanceId": {
              "type": "string",
              "description": "ID da instância"
            },
            "stats": {
              "type": "object",
              "properties": {
                "trackedJobsCleared": {
                  "type": "integer",
                  "description": "Quantidade de IDs rastreados removidos da fila em memória",
                  "example": 3
                },
                "bufferedJobsMarkedCanceled": {
                  "type": "integer",
                  "description": "Jobs em memória marcados como `Canceled`",
                  "example": 2
                },
                "drainedChannelJobs": {
                  "type": "integer",
                  "description": "Jobs removidos do canal principal da fila",
                  "example": 1
                },
                "clearedOverflowJobs": {
                  "type": "integer",
                  "description": "Jobs removidos do backlog de overflow",
                  "example": 1
                },
                "persistedQueuedCanceled": {
                  "type": "integer",
                  "format": "int64",
                  "description": "Mensagens persistidas em `Queued` que foram atualizadas para `Canceled`",
                  "example": 5
                }
              }
            }
          }
        }
      }
    }
  },
  "401": {
    "description": "Token inválido ou ausente"
  },
  "409": {
    "description": "A fila não pôde ser limpa porque a instância está em reset ou havia envio em progresso que não drenou a tempo",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "example": "async queue did not drain before reset"
            },
            "instanceId": {
              "type": "string"
            },
            "stats": {
              "type": "object",
              "additionalProperties": true
            }
          }
        }
      }
    }
  },
  "500": {
    "description": "Erro interno ao limpar a fila async",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string"
            },
            "instanceId": {
              "type": "string"
            },
            "stats": {
              "type": "object",
              "additionalProperties": true
            }
          }
        }
      }
    }
  }
}
```

## Guias relacionados

[Autenticação](/docs/authentication) · [Erros e retries](/docs/errors-and-retries) · [Server URL](/docs/server-url)
