PHPackages                             lindemannrock/craft-formie-rest-api - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Authentication &amp; Authorization](/categories/authentication)
4. /
5. lindemannrock/craft-formie-rest-api

ActiveCraft-plugin[Authentication &amp; Authorization](/categories/authentication)

lindemannrock/craft-formie-rest-api
===================================

REST and GraphQL API for Formie - Provides API endpoints for accessing Formie forms and submissions

3.3.0(1mo ago)090proprietaryPHPPHP ^8.2CI passing

Since Sep 15Pushed 1mo ago1 watchersCompare

[ Source](https://github.com/LindemannRock/craft-formie-rest-api)[ Packagist](https://packagist.org/packages/lindemannrock/craft-formie-rest-api)[ RSS](/packages/lindemannrock-craft-formie-rest-api/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (10)Dependencies (18)Versions (16)Used By (0)

Formie REST &amp; GraphQL API Plugin
====================================

[](#formie-rest--graphql-api-plugin)

[![Latest Version](https://camo.githubusercontent.com/16155c3f14bf342bb9fa764c9902a40ceb8820a4019a10067e9967062c454910/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6c696e64656d616e6e726f636b2f63726166742d666f726d69652d726573742d6170692e737667)](https://packagist.org/packages/lindemannrock/craft-formie-rest-api)[![Craft CMS](https://camo.githubusercontent.com/c176c7ad994b4d577c758871323311a223477bd0cd427c40a8472fd0cad04992/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4372616674253230434d532d352e302b2d6f72616e67652e737667)](https://craftcms.com/)[![Formie](https://camo.githubusercontent.com/29b31abd3a720b332edc5b3ffe9c13a5e8e17fdd133ebf676003713d455f0727/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f466f726d69652d332e302b2d707572706c652e737667)](https://verbb.io/craft-plugins/formie)[![PHP](https://camo.githubusercontent.com/5fe05c705bf034839bda7651781e4d0a9d42f4a840478ca5e343873a0361bb89/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d382e322b2d626c75652e737667)](https://php.net/)[![License](https://camo.githubusercontent.com/2ad1002f9fc4aba5e65d0da594be491dfa52aeee7c2644a71ac1b51e1a7ef820/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f6c696e64656d616e6e726f636b2f63726166742d666f726d69652d726573742d6170692e737667)](LICENSE)

A comprehensive API plugin for Craft CMS that provides both REST and GraphQL access to Formie forms and submissions data. This plugin enables external systems (like SAP) to retrieve form data through authenticated endpoints using their preferred API style.

License
-------

[](#license)

This is a commercial plugin licensed under the [Craft License](https://craftcms.github.io/license/). It will be available on the [Craft Plugin Store](https://plugins.craftcms.com) soon. See [LICENSE.md](LICENSE.md) for details.

⚠️ Pre-Release
--------------

[](#️-pre-release)

This plugin is in active development and not yet available on the Craft Plugin Store. Features and APIs may change before the initial public release.

Requirements
------------

[](#requirements)

- Craft CMS 5.0 or greater
- PHP 8.2 or greater
- Formie 3.0 or greater

Overview
--------

[](#overview)

The Formie REST API plugin provides:

- **REST API**: Custom RESTful endpoints for forms and submissions
- **GraphQL API**: Full access to Formie's native GraphQL schema
- **Dual Authentication**: API key (REST) and token-based (GraphQL) authentication
- **Flexible Querying**: Simple REST calls or powerful GraphQL queries
- **Complete Documentation**: Examples for both API styles
- **Test Endpoints**: Development-friendly test endpoints

Quick Comparison: REST vs GraphQL
---------------------------------

[](#quick-comparison-rest-vs-graphql)

FeatureREST APIGraphQL API**Best For**Simple integrations, fixed data needsComplex queries, flexible data needs**Authentication**X-API-Key headerBearer token**Data Format**Fixed JSON structureRequest exactly what you need**Learning Curve**Familiar to most developersRequires GraphQL knowledge**Endpoints**Multiple endpointsSingle endpoint**Over/Under-fetching**May get too much/little dataGet exactly what you needInstallation
------------

[](#installation)

### Via Composer

[](#via-composer)

```
cd /path/to/project
```

```
composer require lindemannrock/craft-formie-rest-api
```

```
./craft plugin/install formie-rest-api
```

### Using DDEV

[](#using-ddev)

```
cd /path/to/project
```

```
ddev composer require lindemannrock/craft-formie-rest-api
```

```
ddev craft plugin/install formie-rest-api
```

### Via Control Panel

[](#via-control-panel)

In the Control Panel, go to Settings → Plugins and click "Install" for Formie REST API.

Environment Configuration
-------------------------

[](#environment-configuration)

Add API keys to your `.env` file:

```
# Primary API key with full access
FORMIE_API_KEY="your_primary_api_key_here"

# Limited access key (read forms only)
FORMIE_API_KEY_LIMITED="your_limited_api_key_here"

# Development test key (dev mode only)
FORMIE_API_KEY_TEST="your_test_api_key_here"
```

Authentication
--------------

[](#authentication)

### REST API Authentication

[](#rest-api-authentication)

Include API key in request headers:

```
curl -H "X-API-Key: your-api-key-here" https://yoursite.com/api/v1/formie/forms
```

### GraphQL Authentication

[](#graphql-authentication)

Create a token in **GraphQL → Tokens** and use Bearer authentication:

```
curl -H "Authorization: Bearer YOUR_GRAPHQL_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{"query": "{ formieForm(handle: \"contact\") { title } }"}' \
     https://yoursite.com/api
```

REST API Endpoints
------------------

[](#rest-api-endpoints)

### Production Endpoints

[](#production-endpoints)

MethodEndpointDescriptionGET`/api/v1/formie/forms`List all formsGET`/api/v1/formie/forms/{id}`Get form by IDGET`/api/v1/formie/forms/{handle}`Get form by handleGET`/api/v1/formie/submissions`List submissionsGET`/api/v1/formie/submissions/{id}`Get submission details### Test Endpoints (Development)

[](#test-endpoints-development)

MethodEndpointDescriptionGET`/api/test/formie/forms`Test forms endpointGET`/api/test/formie/submissions`Test submissions endpointGET`/api/test/formie/auth`Test authenticationGET`/api/test/graphql/info`GraphQL API informationGET`/api/test/graphql/examples`Example GraphQL queriesExample Usage
-------------

[](#example-usage)

### REST API Examples

[](#rest-api-examples)

```
# List all forms
curl -H "X-API-Key: your-api-key" \
     https://yoursite.com/api/v1/formie/forms

# Get specific form by handle
curl -H "X-API-Key: your-api-key" \
     https://yoursite.com/api/v1/formie/forms/contactForm

# Get form submissions
curl -H "X-API-Key: your-api-key" \
     "https://yoursite.com/api/v1/formie/submissions?form=contactForm&limit=10"
```

### GraphQL Examples

[](#graphql-examples)

See [GRAPHQL\_EXAMPLES.md](GRAPHQL_EXAMPLES.md) for comprehensive GraphQL usage examples.

```
# Basic form query
curl -H "Authorization: Bearer YOUR_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{"query": "{ formieForm(handle: \"contact\") { id title fields { handle name } } }"}' \
     https://yoursite.com/api
```

API Documentation
-----------------

[](#api-documentation)

- **[API\_TEST\_GUIDE.md](API_TEST_GUIDE.md)** - Complete REST API testing guide
- **[GRAPHQL\_EXAMPLES.md](GRAPHQL_EXAMPLES.md)** - GraphQL query examples and patterns
- **[.env.example](.env.example)** - Environment variable configuration

API Key Permissions
-------------------

[](#api-key-permissions)

Key TypePermissionsRate Limit**Primary**Read forms, Read submissions1000/hour**Limited**Read forms only100/hour**Test**Full access (dev mode only)UnlimitedSecurity Features
-----------------

[](#security-features)

- API key validation
- Rate limiting per key type
- IP address logging
- Request validation
- CORS support
- Development mode restrictions

Plugin Settings
---------------

[](#plugin-settings)

Navigate to **Settings → Plugins → Formie REST API** for:

- Plugin information
- Available endpoints overview
- Documentation links

Support
-------

[](#support)

- **Documentation**:
- **Issues**:
- **Email**:

License
-------

[](#license-1)

This plugin is licensed under the [Craft License](https://craftcms.github.io/license/). See [LICENSE.md](LICENSE.md) for details.

---

Developed by [LindemannRock](https://lindemannrock.com)

Built for use with [Formie](https://verbb.io/craft-plugins/formie) by Verbb

###  Health Score

44

—

FairBetter than 92% of packages

Maintenance92

Actively maintained with recent releases

Popularity11

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity56

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~15 days

Recently: every ~28 days

Total

14

Last Release

41d ago

Major Versions

1.0.4 → 3.0.02025-10-20

### Community

Maintainers

![](https://www.gravatar.com/avatar/88c830ac26a6d6b575430b14695a81810dc436a5d5be138e5ec28a367a314cae?d=identicon)[bhlindemann](/maintainers/bhlindemann)

---

Top Contributors

[![bhlindemann](https://avatars.githubusercontent.com/u/81223527?v=4)](https://github.com/bhlindemann "bhlindemann (54 commits)")

---

Tags

api-integrationauthenticationcraft-cmscraft-cms-pluginform-dataformiegraphqloauthrest-apiapigraphqlcmsREST APICraftcraftcmscraft-pluginformie

### Embed Badge

![Health badge](/badges/lindemannrock-craft-formie-rest-api/health.svg)

```
[![Health](https://phpackages.com/badges/lindemannrock-craft-formie-rest-api/health.svg)](https://phpackages.com/packages/lindemannrock-craft-formie-rest-api)
```

###  Alternatives

[verbb/formie

The most user-friendly forms plugin for Craft.

101372.9k40](/packages/verbb-formie)[jamesedmonston/graphql-authentication

GraphQL authentication for your headless Craft CMS applications.

2917.0k](/packages/jamesedmonston-graphql-authentication)[matt-west/craft-recaptcha

Integrate Google’s reCAPTCHA into your forms.

1959.9k1](/packages/matt-west-craft-recaptcha)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
