devtools

pfSense-pkg-RESTAPI – Add REST & GraphQL control to your firewall

Easily expose pfSense functions via REST or GraphQL, letting devops teams automate networking tasks without custom scripting. Ideal for founders managing secure infrastructure.

From the repo · “The missing REST and GraphQL API package for pfSense”

intermediate⏱ 1-2 hours💵 Free (self-hosted)
857 stars+1★ this week138 forksPHPGuide quality 8/10 · reviewed Oct 17Updated 10/22/2026100% free · open source
What it is

Lets you create custom interfaces with REST or GraphQL APIs on your pfSense network.

Real use case example

"A network administrator... creates a custom API endpoint on pfSense to receive updates from their weather monitoring system. They then configure a automation to post the updates to their Slack channel. This way, they can monitor weather updates without having to constantly check the system."

Best insideSelf-hostedAny AI Client
When to use it
  • •When automating firewall rule updates
  • •For integrating pfSense with other infrastructure tools via API
  • •To streamline network configuration management across multiple sites
Ready-to-paste prompt
curl -X GET 'http://your-pfsense-ip/apis/v1/firewall/rules' -H 'Authorization: Bearer your_api_key_here'
Heads up: Ensure your pfSense version is compatible with the RESTAPI package, as outlined in the GitHub README, to avoid installation or functionality issues.
Saves to your device
Use with Claude
New

Skip the builder — one click puts this in Claude, Cursor, Antigravity and more.

🛠️ Technical setup

Expect 20–40 minutes in a terminal — or let your AI agent drive it.

Try it instantly — no install
Claude Code
mkdir -p ~/.claude/skills/pfsense-pkg-restapi && curl -fsSL https://workflowstacks.com/api/skills/pfsense-pkg-restapi/claude-skill -o ~/.claude/skills/pfsense-pkg-restapi/SKILL.md
Open in another AI app

Opens the app with this repo with the prompt ready to go — no copy-paste needed.

Connect the whole catalog (MCP)
claude mcp add --transport http workflowstacks https://workflowstacks.com/api/mcp

Adds a WorkflowStacks connector to Claude Code: search and load any skill here by chatting.

How pfSense-pkg-RESTAPI – Add REST & GraphQL control to your firewall works
Codeflow
Free to inspect

PfSense-pkg-RESTAPI – Add REST & GraphQL control to your firewall is a medium PHP project (~6.9k lines across 11 code files). Expect some technical setup — comfortable with a terminal, or ask a developer. Last commit this month, Apache-2.0 license, has a test suite.

Size
Medium codebase
~6.9k lines · 11 code files · 58 min skim
Setup
Some technical setup
Comfortable with a terminal? 20–40 min. Otherwise ask a dev.
Runs on
PHP
No API keys detected
PHP 100%
Where to start reading
  1. 1
    README.md
    Start here — what it does and how to install it
  2. 2
    AGENTS.md
    The instructions the AI actually follows
  3. 3
    composer.json
    Dependencies and the commands it exposes
  4. 4
    pfSense-pkg-RESTAPI/files/usr/local/pkg/RESTAPI/.resources/cache/README.md
    Inside pfSense-pkg-RESTAPI/ — the main logic begins here
What's in each folder
pfSense-pkg-RESTAPI/Core code — the actual logic821 files
docs/Documentation25 files
tools/Helper scripts4 files
.github/CI / automation (GitHub Actions)21 files
READMEHas testsDocumentedCI checksApache-2.0 licenseUpdated this month
Quick Actions
Details
Creator
pfrest
Language
PHP
Category
devtools
Published
1/21/2020

Are you the creator of this tool? and earn 85% of every sale.

Show it off in your README:

Featured on WorkflowStacks
[![Featured on WorkflowStacks](https://workflowstacks.com/api/badge/pfsense-pkg-restapi.svg)](https://workflowstacks.com/skills/pfsense-pkg-restapi?utm_source=github&utm_medium=badge)
🔥 Hot this week, in your inbox
Skills like this, every Monday.

The five fastest-growing open-source AI skills, ranked by GitHub star growth. One email a week, unsubscribe anytime.

Do this with a working workflow

Pages we wrote and tested that put a skill like this to work — importable n8n templates, outcome guides and Claude Desktop configs.