---
title: "List All Firewalls"
method: GET
path: "/v2/firewalls"
tags: ["DigitalOcean-public.v2-new_Firewalls"]
---

# List All Firewalls

`GET /v2/firewalls`

To list all of the firewalls available on your account, send a GET request to `/v2/firewalls`.

## Query parameters

- `per_page` integer
- `page` integer

## Response `200`

To list all of the firewalls available on your account, send a GET request to `/v2/firewalls`.<br><br>Firewalls responses will include only the resources that you are granted to see. Ensure that your API token includes all necessary `<resource>:read` permissions for requested firewall.

- object
  - `firewalls` Firewall[]
    - `id` string — A unique ID that can be used to identify and reference a firewall.
    - `status` 'waiting' | 'succeeded' | 'failed' — A status string indicating the current state of the firewall. This can be "waiting", "succeeded", or "failed".
    - `created_at` string, date-time — A time value given in ISO8601 combined date and time format that represents when the firewall was created.
    - `pending_changes` object[] — An array of objects each containing the fields "droplet_id", "removing", and "status". It is provided to detail exactly which Droplets are having their security policies updated. When empty, all changes have been successfully applied.
      - `droplet_id` integer
      - `removing` boolean
      - `status` string
    - `name` string — A human-readable name for a firewall. The name must begin with an alphanumeric character. Subsequent characters must either be alphanumeric characters, a period (.), or a dash (-).
    - `droplet_ids` integer[], nullable — An array containing the IDs of the Droplets assigned to the firewall. <br><br>Requires `droplet:read` scope.
    - `tags` string[], nullable — An array containing the names of the Tags assigned to the firewall. <br><br>Requires `tag:read` scope.
    - `inbound_rules` object[], nullable
      - `protocol` 'tcp' | 'udp' | 'icmp', required — The type of traffic to be allowed. This may be one of `tcp`, `udp`, or `icmp`.
      - `ports` string, required — The ports on which traffic will be allowed specified as a string containing a single port, a range (e.g. "8000-9000"), or "0" when all ports are open for a protocol. For ICMP rules this parameter will always return "0".
      - `sources` object, required — An object specifying locations from which inbound traffic will be accepted.
        - `addresses` string[] — An array of strings containing the IPv4 addresses, IPv6 addresses, IPv4 CIDRs, and/or IPv6 CIDRs to which the firewall will allow traffic.
        - `droplet_ids` integer[] — An array containing the IDs of the Droplets to which the firewall will allow traffic.
        - `load_balancer_uids` string[] — An array containing the IDs of the load balancers to which the firewall will allow traffic.
        - `kubernetes_ids` string[] — An array containing the IDs of the Kubernetes clusters to which the firewall will allow traffic.
        - `tags` string[], nullable — An array containing the names of Tags corresponding to groups of Droplets to which the firewall will allow traffic.
    - `outbound_rules` object[], nullable
      - `protocol` 'tcp' | 'udp' | 'icmp', required — The type of traffic to be allowed. This may be one of `tcp`, `udp`, or `icmp`.
      - `ports` string, required — The ports on which traffic will be allowed specified as a string containing a single port, a range (e.g. "8000-9000"), or "0" when all ports are open for a protocol. For ICMP rules this parameter will always return "0".
      - `destinations` object, required — An object specifying locations to which outbound traffic that will be allowed.
        - `addresses` string[] — An array of strings containing the IPv4 addresses, IPv6 addresses, IPv4 CIDRs, and/or IPv6 CIDRs to which the firewall will allow traffic.
        - `droplet_ids` integer[] — An array containing the IDs of the Droplets to which the firewall will allow traffic.
        - `load_balancer_uids` string[] — An array containing the IDs of the load balancers to which the firewall will allow traffic.
        - `kubernetes_ids` string[] — An array containing the IDs of the Kubernetes clusters to which the firewall will allow traffic.
        - `tags` string[], nullable — An array containing the names of Tags corresponding to groups of Droplets to which the firewall will allow traffic.
  - `links` PageLinks
    - `pages` union
      - ForwardLinks
        - `last` string — URI of the last page of the results.
        - `next` string — URI of the next page of the results.
      - BackwardLinks
        - `first` string — URI of the first page of the results.
        - `prev` string — URI of the previous page of the results.
      - unknown
  - `meta` object, required — Information about the response itself.
    - `total` integer, required — Number of objects returned by the request.

## Other responses

- `401` — Authentication failed due to invalid credentials.
- `429` — The API rate limit has been exceeded.
- `500` — There was a server error.
- `default` — There was an unexpected error.

---

[API](https://skmtc.net/digitalocean/apis/digitalocean-api.md) · [All operations](https://skmtc.net/digitalocean/apis/digitalocean-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/digitalocean/digitalocean-api/revisions/cb3bf9b21459/schema)
