# Network Lists

Uma network list é um conjunto nomeado de endereços IP e intervalos CIDR, de Autonomous System Numbers (ASNs) ou de países. Uma regra de [firewall](/pt-br/documentacao/plataforma/firewall/) compara o endereço do cliente de uma requisição com a lista por meio do critério *Network*, que [Network Shield](/pt-br/documentacao/plataforma/firewall/#network-shield) disponibiliza no firewall. Criar uma lista não exige um firewall, e uma lista não corresponde a nenhuma requisição até que uma regra em um firewall vinculado a um [workload](/pt-br/documentacao/plataforma/workloads/) a referencie.

---

## Campos da network list

Uma network list carrega quatro campos que uma requisição define e quatro que a plataforma define e retorna. Uma criação e um `PUT` precisam enviar `name`, `type` e `items`, enquanto um `PATCH` envia apenas os campos que altera.

| Campo           | Rótulo no Console                                 | Tipo                                                         | Obrigatório     | Padrão | Descrição                                                                                                            |
| --------------- | ------------------------------------------------- | ------------------------------------------------------------ | --------------- | ------ | -------------------------------------------------------------------------------------------------------------------- |
| `name`          | **Name**                                          | string, de 1 a 250 caracteres                                | Sim             | —      | O nome da lista. É a opção que o dropdown **Select a Network** de uma regra mostra, e pode mudar a qualquer momento. |
| `type`          | *ASN*, *IP/CIDR* ou *Countries*                   | string: `ip_cidr`, `asn` ou `countries`                      | Sim             | —      | Define o que são os itens. Tipos de lista traz o formato de item de cada tipo. Azion Console pré-seleciona *ASN*.    |
| `items`         | **List**, ou **Countries** em uma lista de países | array de 1 a 20.000 strings, cada uma com 1 a 250 caracteres | Sim             | —      | As entradas que uma regra verifica. Duplicatas exatas são removidas, e o restante é armazenado na ordem de envio.    |
| `active`        | Nenhum                                            | boolean                                                      | Não             | `true` | Se uma regra pode referenciar a lista. Azion Console não tem controle para esse campo.                               |
| `id`            | Nenhum                                            | integer                                                      | Somente leitura | —      | O identificador que uma regra carrega como argumento de `${network}`.                                                |
| `last_editor`   | **Last Editor**                                   | string                                                       | Somente leitura | —      | O e-mail da conta que alterou a lista pela última vez, ou `Azion` em uma lista mantida pela Azion.                   |
| `last_modified` | **Last Modified**                                 | date-time                                                    | Somente leitura | —      | Quando a lista foi alterada pela última vez.                                                                         |
| `created_at`    | Nenhum                                            | date-time                                                    | Somente leitura | —      | Quando a lista foi criada. É `null` em uma lista mantida pela Azion.                                                 |

O `type` nunca muda depois da criação. Uma atualização que envia outro tipo é recusada com `22002`, mesmo quando os itens são válidos para o novo tipo, e Azion Console bloqueia o tipo com a tag `The type cannot be changed after the network list is created`. Para comparar outro tipo de entrada, crie uma lista desse tipo.

Definir `active` como `false` nunca pausa uma regra que usa a lista. Uma lista que uma regra referencia não pode receber `false` (`22003`), e uma regra não pode referenciar uma lista com `false` (`25031`). Para que uma lista deixe de corresponder a requisições, altere ou exclua as regras que a referenciam.

Uma resposta também carrega `version_id`, `version_state`, `is_versioned` e `version`, que uma requisição não define.

Uma lista pode ser referenciada por várias regras em vários firewalls. Alterar os itens muda o resultado da comparação em cada uma dessas regras, sem novo deploy. A API grava a mudança na hora, e ela chega ao tráfego à medida que se propaga. Para saber quanto tempo isso leva, consulte [Correspondência de listas](/pt-br/documentacao/plataforma/firewall/network-shield/correspondencia-de-listas/).

## Tipos de lista

O `type` de uma lista define o formato de cada item nela. Cada tipo tem um valor na API e um rótulo no Console.

| Tipo        | Rótulo no Console | Formato do item                                                                                                   | Exemplo                                                                              | Anotações                                                          |
| ----------- | ----------------- | ----------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------ |
| `ip_cidr`   | *IP/CIDR*         | Um endereço IPv4 ou IPv6, com ou sem comprimento de prefixo.                                                      | `192.0.2.10`, `198.51.100.0/24`, `2001:db8::/32`                                     | Uma data de expiração e um comentário, conforme Anotações de item. |
| `asn`       | *ASN*             | Um Autonomous System Number, apenas dígitos. `AS64496` é recusado com `22011`.                                    | `64496`, do intervalo reservado para documentação. O ASN da própria Azion é `52580`. | Nenhuma. Um item com anotação é recusado com `22011`.              |
| `countries` | *Countries*       | Um código de país ISO 3166-1 alpha-2 com duas letras maiúsculas. `br`, `Brazil` e `XX` são recusados com `22015`. | `BR`                                                                                 | Nenhuma. Um item com anotação é recusado com `22015`.              |

No Azion Console, o campo **List** recebe uma entrada por linha para *IP/CIDR* e *ASN*. Ele aceita prefixos IPv4 de `/0` a `/32` e prefixos IPv6 até `/128` e, segundo o texto de ajuda, também aceita um ASN escrito como `AS13335`. O campo verifica cada linha antes de salvar e nomeia cada uma que recusa, com mensagens como `--LT must be a valid UTC date and time in the format YYYY-MM-DDTHH:MM:SSZ`, `add a space before --LT` e `the --LT date must be in the future`. O campo **Countries** é uma seleção múltipla por nome de país, e Azion Console envia o código de duas letras de cada país selecionado.

## Anotações de item

Um item `ip_cidr` pode carregar uma data de expiração, um comentário ou os dois, depois do endereço. Itens `asn` e `countries` não aceitam nenhum deles. Um item com anotação segue esta sintaxe:

```text
<ip-or-cidr>[ --LTYYYY-MM-DDTHH:MM:SSZ][ #comment]
```

A plataforma aceita estes itens e os armazena exatamente como foram enviados:

```text
192.0.2.1 #comment
192.0.2.2 --LT2030-01-01T00:00:00Z
192.0.2.5/32 --LT2030-01-01T00:00:00Z #both
2001:db8::1 --LT2030-01-01T00:00:00Z
192.0.2.9 #a comment with spaces
```

| Parte             | Sintaxe                                                 | Restrições                                                                                                                                                                                                               |
| ----------------- | ------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Data de expiração | `--LT` e uma data e hora em UTC, `YYYY-MM-DDTHH:MM:SSZ` | Um espaço antes de `--LT`, o marcador em maiúsculas, segundos inteiros e um `Z` no final. Uma data sem hora ou com frações de segundo é recusada com `22007`, e um `--lt` em minúsculas torna o item inválido (`22005`). |
| Comentário        | `#` e qualquer texto                                    | Por último na linha, depois da data de expiração quando o item carrega os dois. `--LT` não pode aparecer dentro de um comentário. Uma linha que começa com `#` é um item inválido (`22005`), e não uma linha desativada. |

As anotações contam para os 250 caracteres que um item comporta. Sempre que uma requisição grava `items`, em uma criação ou em uma atualização, a plataforma processa os itens antes de armazená-los:

- Duplicatas exatas são removidas sem aviso. Notações equivalentes não são duplicatas, então `192.0.2.80` e `192.0.2.80/32` são mantidos.
- Um item cuja data de expiração já passou é descartado sem aviso. Quando todos os itens estão expirados, a gravação é recusada com `22019`.
- Os itens restantes são armazenados como foram enviados, com as anotações, na ordem de envio.

A plataforma não remove um item quando a data de expiração dele passa depois da gravação. O item continua armazenado e continua correspondendo a requisições até que uma gravação posterior de `items`, ou `azion update network-list --remove-item`, o remova. Para saber como uma data de expiração chega ao tráfego, consulte [Correspondência de listas](/pt-br/documentacao/plataforma/firewall/network-shield/correspondencia-de-listas/).

## Listas mantidas pela Azion

A Azion mantém listas que uma regra de qualquer conta pode referenciar e que nenhuma conta pode alterar. A página **Network Lists** no Azion Console e `GET /v4/workspace/network_lists` retornam essas listas ao lado das listas que você cria.

| ID  | Nome                      | Tipo      | Mantida por |
| --- | ------------------------- | --------- | ----------- |
| `2` | `Azion IP Tor Exit Nodes` | `ip_cidr` | Azion       |

A lista `2` contém os endereços IP de exit nodes do Tor, e a Azion a fornece a todas as contas. O `last_editor` dela mostra `Azion`, e o `last_modified` muda quando a Azion atualiza os itens. Uma regra a referencia como qualquer lista que você cria, com `2` como argumento de `${network}`. Para ver uma regra que a usa, consulte [Bloqueie exit nodes do Tor](/pt-br/documentacao/guias/seguranca-de-aplicacoes/bots-e-rede/bloquear-redes-tor/).

Qualquer gravação em uma lista mantida pela Azion é recusada com `22004`, mesmo uma gravação que não altera nada.

Contas com [Origin Shield](/pt-br/documentacao/plataforma/connectors/#origin-shield) também recebem a lista `Azion Origin Shield`, que contém os prefixos IPv4 e IPv6 que a infraestrutura da Azion usa para se conectar às origens. A página do Origin Shield documenta essa lista e como a Azion anuncia as atualizações dela.

## O critério Network

Uma regra de firewall referencia uma network list por meio do critério `${network}`. A tabela lista a variável, os dois operadores, o argumento e a configuração de firewall que o critério exige:

| Parte     | API                                                       | Azion Console                                        | O que faz                                                                                                                                                                                                                                                                                                                       |
| --------- | --------------------------------------------------------- | ---------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Variável  | `${network}`                                              | *Network*                                            | Compara o endereço do cliente que enviou a requisição, ou o ASN ou o país desse endereço, com a lista.                                                                                                                                                                                                                          |
| Operador  | `is_in_list`                                              | *matches*                                            | É verdadeiro quando o cliente está na lista.                                                                                                                                                                                                                                                                                    |
| Operador  | `is_not_in_list`                                          | *does not match*                                     | É verdadeiro quando o cliente não está na lista.                                                                                                                                                                                                                                                                                |
| Argumento | O `id` da lista, como inteiro JSON                        | O nome da lista, escolhido em **Select a Network**   | Identifica a lista. Um `id` enviado como string é recusado com `25042`.                                                                                                                                                                                                                                                         |
| Requisito | `modules.network_protection.enabled` definido como `true` | **Main Settings** > **Modules** > **Network Shield** | O firewall precisa estar com Network Shield ativado, e um firewall novo vem com ele ativado por padrão. Caso contrário, a regra é recusada com `25047`, e Azion Console mostra a variável como *Network - required Network Shield*. Apenas a variável exige Network Shield; os comportamentos que uma regra executa não exigem. |

Uma lista funciona como blocklist com *matches* e *Deny (403 Forbidden)*, e como allowlist com *does not match* e o mesmo behavior. Em um corpo de requisição para `/v4/workspace/firewalls/{firewall_id}/request_rules`, o critério é uma entrada de um bloco `criteria`:

```json
{
  "name": "Deny listed addresses",
  "active": true,
  "criteria": [
    [
      { "variable": "${network}", "conditional": "if", "operator": "is_in_list", "argument": <network-list-id> }
    ]
  ],
  "behaviors": [ { "type": "deny" } ]
}
```

Para conhecer os outros critérios que uma regra pode encadear com `${network}` e os comportamentos que uma regra executa quando corresponde, consulte [Rules Engine para Firewall](/pt-br/documentacao/plataforma/firewall/rules-engine/#criterios). Para conhecer a janela de contagem e a chave de um rate limit, consulte [Set Rate Limit](/pt-br/documentacao/plataforma/firewall/rules-engine/#set-rate-limit).

---

## API

Toda operação fica sob `https://api.azion.com/v4` e carrega um token de [Personal Tokens](/pt-br/documentacao/fundamentos/personal-tokens/) em um header `Authorization: Token [TOKEN VALUE]`. Uma requisição com corpo também envia `Content-Type: application/json`. Para mais informações, consulte [Primeiros passos com a API da Azion](/pt-br/documentacao/devtools/api/).

| Método   | Path                                            | O que faz                                                                                                               |
| -------- | ----------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- |
| `GET`    | `/v4/workspace/network_lists`                   | Lista as network lists da conta, incluindo as listas mantidas pela Azion, sem os `items`. Responde `200`.               |
| `POST`   | `/v4/workspace/network_lists`                   | Cria uma lista. Responde `201` com um `state` igual a `executed`.                                                       |
| `GET`    | `/v4/workspace/network_lists/{network_list_id}` | Retorna uma lista com os `items`. Responde `200` sem a chave `state`.                                                   |
| `PUT`    | `/v4/workspace/network_lists/{network_list_id}` | Substitui uma lista e exige `name`, `type` e `items`. Responde `200`.                                                   |
| `PATCH`  | `/v4/workspace/network_lists/{network_list_id}` | Altera os campos que envia. Responde `200`.                                                                             |
| `DELETE` | `/v4/workspace/network_lists/{network_list_id}` | Exclui uma lista. Responde `200` com um `state` `executed`, ou `400` com `22018` enquanto uma regra referencia a lista. |

Um `PATCH` que envia `items` substitui o array inteiro em vez de acrescentar itens a ele, então uma atualização envia todos os itens que a lista mantém. Para adicionar ou remover itens avulsos sem reenviar a lista, use `--add-item` e `--remove-item` na Azion CLI.

`GET /v4/workspace/network_lists` aceita estes parâmetros de query, e a resposta carrega `count`, `total_pages`, `page`, `page_size`, `next`, `previous` e `results`:

| Parâmetro                                  | O que faz                                                                                                                 |
| ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------- |
| `id`                                       | Filtra por id. Aceita valores separados por vírgula.                                                                      |
| `name`                                     | Filtra por nome, com correspondência parcial que não diferencia maiúsculas de minúsculas.                                 |
| `last_editor`                              | Filtra pelo último editor, com correspondência parcial que não diferencia maiúsculas de minúsculas.                       |
| `last_modified__gte`, `last_modified__lte` | Filtra por uma data de última alteração igual ou posterior, ou igual ou anterior, ao valor.                               |
| `list_type__in`                            | Filtra por tipo. Aceita valores separados por vírgula. O parâmetro mantém o nome `list_type`, embora o campo seja `type`. |
| `search`                                   | Filtra por um termo de busca.                                                                                             |
| `ordering`                                 | Indica o campo que ordena os resultados.                                                                                  |
| `fields`                                   | Indica os campos a retornar, separados por vírgula.                                                                       |
| `page`                                     | Seleciona uma página de resultados.                                                                                       |
| `page_size`                                | Define quantas listas vêm por página, de 1 a 100. O padrão é 10.                                                          |

`GET /v4/workspace/network_lists/{network_list_id}` também aceita `fields`. Em uma lista `ip_cidr`, `ipv4=true` retorna apenas os itens IPv4 e `ipv6=true`, apenas os itens IPv6.

Esta requisição cria uma lista `ip_cidr` e envia `192.0.2.10` duas vezes:

```bash
curl -X POST https://api.azion.com/v4/workspace/network_lists \
  -H "Authorization: Token [TOKEN VALUE]" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{"name":"Blocked addresses","type":"ip_cidr","items":["192.0.2.10","198.51.100.0/24","2001:db8::/32","192.0.2.10"]}'
```

A resposta carrega `201`, e o endereço repetido fica armazenado uma única vez:

```json
{
  "state": "executed",
  "data": {
    "id": <network-list-id>,
    "name": "Blocked addresses",
    "type": "ip_cidr",
    "items": ["192.0.2.10", "198.51.100.0/24", "2001:db8::/32"],
    "last_editor": "<your-email>",
    "last_modified": "2026-01-01T12:00:00.000000Z",
    "created_at": "2026-01-01T12:00:00.000000Z",
    "active": true,
    "version_id": null,
    "version_state": null,
    "is_versioned": false,
    "version": null
  }
}
```

## Azion CLI

[Azion CLI](/pt-br/documentacao/devtools/cli/) gerencia network lists com o substantivo `network-list`. A tabela lista as flags da Azion CLI 4.23.0.

| Comando                       | O que faz                        | Flags principais                                                                              |
| ----------------------------- | -------------------------------- | --------------------------------------------------------------------------------------------- |
| `azion create network-list`   | Cria uma lista.                  | `--name`, `--type`, `--items`, `--active`, `--file`                                           |
| `azion list network-list`     | Lista as network lists da conta. | `--details`, `--filter`, `--order-by`, `--page` (padrão `1`), `--page-size` (padrão `50`)     |
| `azion describe network-list` | Retorna uma lista.               | `--network-list-id`, `--format json`                                                          |
| `azion update network-list`   | Altera uma lista.                | `--network-list-id`, `--name`, `--items`, `--add-item`, `--remove-item`, `--active`, `--file` |
| `azion delete network-list`   | Exclui uma lista.                | `--network-list-id`                                                                           |

`--type` aceita `asn`, `countries` ou `ip_cidr`, e `--items`, `--add-item` e `--remove-item` aceitam valores separados por vírgula. `--items` substitui todos os itens, como faz um `PATCH`, enquanto `--add-item` e `--remove-item` leem a lista primeiro e alteram apenas os itens que indicam. `--remove-item` só encontra um item escrito exatamente como está armazenado, incluindo a data de expiração `--LT` e o comentário `#`. Com apenas o endereço de um item com anotação, ele não altera nada e ainda assim imprime `Updated Network List with ID <network-list-id>`. `--file` aceita um arquivo JSON com os campos descritos em Campos da network list. `azion update network-list` também aceita `--type`, que a API recusa com `22002` porque um tipo nunca muda.

A flag de id é `--network-list-id`, e `--id` é recusada como flag desconhecida. Sem `--items` nem `--file`, `azion create network-list` pede os itens e falha quando nenhum terminal responde, então um script sempre passa uma das duas. `azion list network-list --format json` imprime as colunas da tabela, e não os registros. A ajuda de `azion describe network-list` lista uma flag `--with-code`, que o comando recusa como desconhecida.

Uma criação pela linha de comando imprime o id criado:

```bash
azion create network-list --name "Blocked countries" --type countries --items "BR,US"
```

```text
Created Network List with ID <network-list-id>
```

Adicionar um item a uma lista existente mantém os itens que já estão nela:

```bash
azion update network-list --network-list-id <network-list-id> --add-item "192.0.2.72"
```

```text
Updated Network List with ID <network-list-id>
```

Uma exclusão imprime `Network List <network-list-id> was successfully deleted`. Quando a API recusa um comando, a CLI imprime o detalhe retornado pela API. Excluir uma lista em uso imprime `Error: Failed to delete Network List: ["You can not delete the network list in use by Edge Firewall(s)."]`.

## Outras interfaces

Estas interfaces também gerenciam ou leem network lists, e cada uma é documentada na própria página.

| Interface   | O que cobre                                                                                                          | Referência                                                                                 |
| ----------- | -------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------ |
| Terraform   | O recurso `azion_network_list`.                                                                                      | [Recursos de segurança do Terraform](/pt-br/documentacao/devtools/terraform/security/)     |
| Azion Lib   | A entrada `networkList` de uma configuração.                                                                         | [Configuração da Azion Lib](/pt-br/documentacao/devtools/azion-lib/config/)                |
| Azion IaC   | A entrada `networkList` de `azion.config.js`.                                                                        | [Azion IaC](/pt-br/documentacao/devtools/cli/azion-config-js/)                             |
| Runtime API | `Azion.networkList.contains()`, que verifica se uma lista contém um endereço, a partir de uma função em um firewall. | [Interface Network List](/pt-br/documentacao/devtools/runtime/api-reference/network-list/) |

Uma regra com o critério *Network* compara uma lista sem código. Uma função em um firewall chama `Azion.networkList.contains()` quando a comparação alimenta uma lógica própria, e a chamada retorna `true` quando o endereço está na lista.

## Permissões

Duas permissões de equipe controlam as network lists:

| Permissão              | Concede                                                                                  |
| ---------------------- | ---------------------------------------------------------------------------------------- |
| **View Network Lists** | Visualizar network lists, sem criar, alterar ou excluir.                                 |
| **Edit Network Lists** | Visualizar, criar, alterar e excluir network lists. Também exige **View Network Lists**. |

O firewall cujas regras referenciam uma lista tem o próprio par, **View Firewall** e **Edit Firewall**. Para mais informações, consulte [Teams Permissions](/pt-br/documentacao/fundamentos/teams-permissions/).

---

## Erros

Uma requisição recusada retorna um array `errors`. Cada entrada carrega um `code`, um `title`, um `detail`, o `status` e um ponteiro `source` que indica o campo. Um erro de item acrescenta `meta.index` e `meta.value`, e indica apenas o primeiro item inválido. Este corpo responde a uma criação cujos itens são `192.0.2.1`, `abc` e `198.51.100.300`, e aponta apenas `abc`:

```json
{
  "errors": [
    {
      "code": "22005",
      "title": "Invalid IP CIDR",
      "detail": "IP CIDR is invalid.",
      "status": "400",
      "source": { "pointer": "/data/items" },
      "meta": { "index": 1, "value": "abc" }
    }
  ]
}
```

`meta.index` conta os itens que restam depois que os itens expirados são descartados, então ele pode ser menor que a posição do item na requisição. Todos os erros da tabela a seguir respondem `400`, exceto `10004`, que responde `404`.

| Código  | Título                                            | Causa                                                                                                                                                                                              | Correção                                                                                                                                                                                                                                                          |
| ------- | ------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `10004` | Not Found                                         | O id da lista não existe na conta, ou a lista foi excluída.                                                                                                                                        | Leia os ids com `GET /v4/workspace/network_lists`.                                                                                                                                                                                                                |
| `10039` | Invalid Choice                                    | Um `type` diferente de `ip_cidr`, `asn` ou `countries`, como `geo`. Em uma regra, a variável escrita como `$(network)`.                                                                            | Envie um dos três tipos e escreva a variável como `${network}`.                                                                                                                                                                                                   |
| `10046` | Max Length                                        | Um `name` ou um item com mais de 250 caracteres, incluindo as anotações.                                                                                                                           | Encurte o valor que o ponteiro `source` indica.                                                                                                                                                                                                                   |
| `10049` | Min Length List Field                             | Um array `items` vazio.                                                                                                                                                                            | Envie pelo menos um item.                                                                                                                                                                                                                                         |
| `10059` | Required Field                                    | Um campo obrigatório ausente, como `type` em uma criação ou `type` e `items` em um `PUT`. Um corpo que usa os nomes da v3 `list_type` e `ip_list` recebe o erro duas vezes, para `type` e `items`. | Envie `name`, `type` e `items`.                                                                                                                                                                                                                                   |
| `10065` | List Field Max Length                             | Mais de 20.000 itens.                                                                                                                                                                              | Envie 20.000 itens ou menos.                                                                                                                                                                                                                                      |
| `10097` | Invalid Page Size                                 | Um `page_size` acima de 100, ou `0`, na operação de listagem. A mensagem admite 0, e a API o recusa.                                                                                               | Peça de 1 a 100 listas por página.                                                                                                                                                                                                                                |
| `22002` | Cannot Change Network List Type                   | Uma atualização que envia um `type` diferente do tipo da lista. O `detail` diz `You can not change the network list type.`                                                                         | Crie uma lista do tipo de que você precisa e aponte as regras para ela.                                                                                                                                                                                           |
| `22003` | Cannot Disable Network List In Use                | `active: false` em uma lista que uma regra referencia. O `detail` diz `You can not disable the network list in use by Edge Firewall(s).`                                                           | Altere ou exclua as regras que referenciam a lista.                                                                                                                                                                                                               |
| `22004` | Cannot Change Global Network List                 | Qualquer gravação em uma lista mantida pela Azion, mesmo uma que não altera nada. O `detail` diz `You can not change a global network list.`                                                       | Referencie a lista como ela está, ou crie uma lista própria.                                                                                                                                                                                                      |
| `22005` | Invalid IP CIDR                                   | Um item `ip_cidr` que não é um endereço ou intervalo IPv4 ou IPv6, incluindo uma linha que começa com `#` e um `--lt` em minúsculas.                                                               | Corrija o item que `meta.index` e `meta.value` indicam.                                                                                                                                                                                                           |
| `22007` | Due Date Invalid Format                           | Uma data de expiração sem hora, ou com frações de segundo. O `detail` diz `Due date with invalid format, needs to start with --LT and end with Z.`                                                 | Escreva a data como `--LTYYYY-MM-DDTHH:MM:SSZ`.                                                                                                                                                                                                                   |
| `22011` | Invalid ASN Number                                | Um item `asn` que não tem apenas dígitos, como `abc`, `AS64496` ou um item com comentário. O `detail` diz `This ASN Number is not valid.`                                                          | Envie apenas o número.                                                                                                                                                                                                                                            |
| `22015` | Invalid Country                                   | Um item `countries` que não tem duas letras maiúsculas ISO 3166-1 alpha-2, como `br`, `Brazil` ou `XX`, ou um item com data de expiração. O `detail` diz `This country is not valid.`              | Envie apenas o código de duas letras.                                                                                                                                                                                                                             |
| `22018` | Cannot Delete In Use Network List                 | Um `DELETE` em uma lista que uma regra referencia. O `detail`, `You can not delete the network list in use by Edge Firewall(s).`, não indica o firewall nem as regras.                             | Exclua as regras que referenciam a lista, ou aponte-as para outra lista, e depois exclua a lista de novo. A verificação deixa de bloquear assim que a exclusão da regra é aceita: uma exclusão de lista foi aceita 3 segundos depois da última exclusão de regra. |
| `22019` | All Network Items Are Expired                     | Todos os itens carregam uma data de expiração que já passou. O `detail` diz `All items in the network items are past their expiration date.`                                                       | Envie pelo menos um item sem data de expiração ou com uma data futura.                                                                                                                                                                                            |
| `24005` | Cannot Disable Firewall Network Protection Module | Desativar Network Shield em um firewall que tem regras `${network}`. O `detail` lista os ids das regras.                                                                                           | Exclua ou altere as regras que o `detail` indica e depois desative Network Shield.                                                                                                                                                                                |
| `25030` | Entity Not Found                                  | Um argumento de `${network}` que indica uma lista que a conta não tem.                                                                                                                             | Envie o id de uma lista da conta.                                                                                                                                                                                                                                 |
| `25031` | Entity Not Active                                 | Um argumento de `${network}` que indica uma lista com `active: false`.                                                                                                                             | Defina o `active` da lista como `true` e depois crie a regra.                                                                                                                                                                                                     |
| `25039` | Invalid Operator                                  | `matches`, o rótulo do Console, enviado como operador de `${network}`.                                                                                                                             | Envie `is_in_list` ou `is_not_in_list`.                                                                                                                                                                                                                           |
| `25042` | Invalid Operator Argument Type                    | Um argumento de `${network}` enviado como string JSON.                                                                                                                                             | Envie o id da lista como inteiro JSON.                                                                                                                                                                                                                            |
| `25047` | Missing Required Modules                          | Uma regra `${network}` em um firewall com Network Shield desativado.                                                                                                                               | Ative Network Shield no firewall e depois crie a regra.                                                                                                                                                                                                           |

## Limites

Uma network list comporta de 1 a 20.000 itens de até 250 caracteres cada, com um nome de 1 a 250 caracteres, e uma requisição de listagem retorna até 100 listas por página. Para conhecer cada limite e o que acontece quando ele é ultrapassado, consulte [Limites de Firewall](/pt-br/documentacao/plataforma/firewall/limites/#network-shield).

---

## Recursos relacionados

- [Correspondência de listas](/pt-br/documentacao/plataforma/firewall/network-shield/correspondencia-de-listas.md): Como uma regra compara o endereço de um cliente com uma lista, e quanto tempo uma alteração em uma lista leva para chegar ao tráfego.
- [Primeiros passos com Network Shield](/pt-br/documentacao/plataforma/firewall/network-shield/primeiros-passos.md): A primeira lista e a regra que bloqueia os endereços dela, da criação até uma requisição recusada.
- [Bloqueie requisições por IP, ASN ou país](/pt-br/documentacao/guias/seguranca-de-aplicacoes/bots-e-rede/blocklists-enderecos-ip-edge.md): O procedimento que monta uma blocklist ou uma allowlist e a aplica a um firewall.
- [Solucionar problemas de Firewall](/pt-br/documentacao/plataforma/firewall/solucao-de-problemas.md#network-shield): O que verificar quando uma lista não bloqueia um cliente, ou bloqueia um que não deveria.
