pfSense Firewall Aliases API

Manage firewall aliases.

OpenAPI Specification

pfsense-firewall-aliases-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: pfSense REST API (pfSense-pkg-RESTAPI) Authentication Firewall Aliases API
  description: 'Community-maintained REST and GraphQL API package for pfSense CE and

    pfSense Plus that exposes 200+ endpoints under /api/v2 for firewall,

    interface, service, user, and system management. Authentication supports

    HTTP Basic, X-API-Key header, and JWT bearer tokens obtained from

    POST /api/v2/auth/jwt.


    Only a representative subset of the pfSense REST API surface

    (auth, firewall aliases, firewall rules, diagnostics) is modeled here.

    See the documentation linked under externalDocs for the full catalog.

    '
  version: 2.0.0
  contact:
    name: pfSense REST API documentation
    url: https://pfrest.org/
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
servers:
- url: https://{pfSenseHost}/api/v2
  description: pfSense host running pfSense-pkg-RESTAPI.
  variables:
    pfSenseHost:
      default: pfsense.local
      description: Hostname or IP of the pfSense instance.
security:
- basicAuth: []
- apiKeyAuth: []
- bearerAuth: []
tags:
- name: Firewall Aliases
  description: Manage firewall aliases.
paths:
  /firewall/aliases:
    get:
      tags:
      - Firewall Aliases
      summary: List firewall aliases
      operationId: listFirewallAliases
      parameters:
      - $ref: '#/components/parameters/Limit'
      - $ref: '#/components/parameters/Offset'
      - $ref: '#/components/parameters/SortBy'
      - $ref: '#/components/parameters/SortOrder'
      responses:
        '200':
          description: Array of firewall aliases.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/FirewallAlias'
  /firewall/alias:
    get:
      tags:
      - Firewall Aliases
      summary: Get a single firewall alias
      operationId: getFirewallAlias
      parameters:
      - in: query
        name: id
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: A firewall alias.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/FirewallAlias'
    post:
      tags:
      - Firewall Aliases
      summary: Create a firewall alias
      operationId: createFirewallAlias
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FirewallAlias'
      responses:
        '200':
          description: Firewall alias created.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/FirewallAlias'
    patch:
      tags:
      - Firewall Aliases
      summary: Update a firewall alias
      operationId: patchFirewallAlias
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FirewallAlias'
      responses:
        '200':
          description: Firewall alias updated.
    delete:
      tags:
      - Firewall Aliases
      summary: Delete a firewall alias
      operationId: deleteFirewallAlias
      parameters:
      - in: query
        name: id
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Firewall alias deleted.
components:
  parameters:
    Limit:
      in: query
      name: limit
      schema:
        type: integer
        default: 0
      description: Maximum number of results.
    SortBy:
      in: query
      name: sort_by
      schema:
        type: string
      description: Field name to sort by.
    Offset:
      in: query
      name: offset
      schema:
        type: integer
        default: 0
      description: Skip the first N results.
    SortOrder:
      in: query
      name: sort_order
      schema:
        type: string
        enum:
        - SORT_ASC
        - SORT_DESC
  schemas:
    FirewallAlias:
      type: object
      properties:
        id:
          type: integer
        name:
          type: string
        type:
          type: string
          enum:
          - host
          - network
          - port
          - url
          - url_ports
          - urltable
          - urltable_ports
        descr:
          type: string
        address:
          type: array
          items:
            type: string
        detail:
          type: array
          items:
            type: string
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: 'HTTP Basic auth with a pfSense local database username and password.

        '
    apiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
      description: 'API key generated through the webConfigurator or API endpoints. Keys

        inherit the permissions of the user that issued them.

        '
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: 'JWT bearer token obtained from POST /api/v2/auth/jwt. Tokens default

        to one hour of validity.

        '
externalDocs:
  description: pfSense-pkg-RESTAPI documentation
  url: https://pfrest.org/