openapi: 3.1.0 info: title: pfSense REST API (pfSense-pkg-RESTAPI) Authentication Firewall Apply 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 Apply description: Apply pending firewall changes. paths: /firewall/apply: post: tags: - Firewall Apply summary: Apply pending firewall changes operationId: applyFirewall responses: '200': description: Pending firewall changes applied. components: 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/