---
title: "Get firewall details"
method: GET
path: "/project/{project_id}/location/{location}/firewall/{firewall_reference}"
tags: ["Firewall"]
---

# Get firewall details

`GET /project/{project_id}/location/{location}/firewall/{firewall_reference}`

## Response `200`

A Firewall (detailed)

- object
  - `description` string, required — Description of the firewall
  - `firewall_rules` FirewallRule[], required — List of firewall rules
    - `cidr` string, required — CIDR of the firewall rule
    - `id` string, required — ID of the firewall rule
    - `port_range` string, required — Port range of the firewall rule
    - `protocol` 'tcp' | 'udp', required — Protocol of the firewall rule (tcp or udp)
    - `description` string, required — Description of the firewall rule
  - `id` string, required — ID of the firewall
  - `location` string, required — Location of the firewall
  - `name` string, required — Name of the firewall
  - `private_subnets` PrivateSubnet[], required — List of private subnets
    - `firewalls` Firewall[], required
      - `description` string, required — Description of the firewall
      - `firewall_rules` FirewallRule[], required — List of firewall rules
        - `cidr` string, required — CIDR of the firewall rule
        - `id` string, required — ID of the firewall rule
        - `port_range` string, required — Port range of the firewall rule
        - `protocol` 'tcp' | 'udp', required — Protocol of the firewall rule (tcp or udp)
        - `description` string, required — Description of the firewall rule
      - `id` string, required — ID of the firewall
      - `location` string, required — Location of the firewall
      - `name` string, required — Name of the firewall
    - `id` string, required — ID of the subnet
    - `location` string, required — Location of the subnet
    - `name` string, required — Name of the subnet
    - `net4` string, required — IPv4 CIDR of the subnet
    - `net6` string, required — IPv6 CIDR of the subnet
    - `nics` Nic[], required — List of NICs
      - `id` string, required — ID of the NIC
      - `name` string, required — Name of the NIC
      - `private_ipv4` string, ipv4, required — Private IPv4 address
      - `private_ipv6` string, ipv6, required — Private IPv6 address
      - `vm_name` string, nullable, required — Name of the VM
    - `state` string, required — State of the subnet

## Other responses

- `default` — An error response

## Changes

- **2026-07-06** `ddf6e87ed1be` — 1 breaking, 8 info
  - the `allOf[subschema #2]/private_subnets/items/` response's property type/format changed from `string`/`` to `object`/`` for status `200`
  - added the required property `allOf[subschema #2]/private_subnets/items/firewalls` to the response with the `200` status
  - added the required property `allOf[subschema #2]/private_subnets/items/id` to the response with the `200` status
  - added the required property `allOf[subschema #2]/private_subnets/items/location` to the response with the `200` status
  - …5 more
- **2026-05-21** `65eaca27bbb7` — 1 info
  - added the required property `allOf[#/components/schemas/Firewall]/firewall_rules/items/protocol` to the response with the `200` status
- **2025-10-25** `d81708f425bb` — 1 info
  - added the required property `allOf[#/components/schemas/Firewall]/firewall_rules/items/description` to the response with the `200` status

[Change history](https://skmtc.dev/ubicloud/apis/clover-api/changes/project/:project_id/location/:location/firewall/:firewall_reference/get.md)

---

[API](https://skmtc.dev/ubicloud/apis/clover-api.md) · [All operations](https://skmtc.dev/ubicloud/apis/clover-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/ubicloud/clover-api/revisions/ae229e5ccaee/schema)
