PHPackages                             writecrow/rest\_feedback\_endpoint - 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. [API Development](/categories/api)
4. /
5. writecrow/rest\_feedback\_endpoint

ActiveDrupal-module[API Development](/categories/api)

writecrow/rest\_feedback\_endpoint
==================================

REST endpoint for receiving a POST request

1.1.0(3y ago)081GPL-2.0+PHP

Since Oct 4Pushed 1y ago4 watchersCompare

[ Source](https://github.com/writecrow/rest_feedback_endpoint)[ Packagist](https://packagist.org/packages/writecrow/rest_feedback_endpoint)[ Docs](https://github.com/writecrow/rest_feedback_endpoint)[ RSS](/packages/writecrow-rest-feedback-endpoint/feed)WikiDiscussions main Synced today

READMEChangelog (4)Dependencies (1)Versions (10)Used By (0)

Feedback Endpoint
-----------------

[](#feedback-endpoint)

This module provides a REST resource endpoint for receiving a POST request and sending an email with the content provided. The example in this module demonstrates feedback form content, but the `SubmitIssue` endpoint can serve as a model for other types of endpoints.

Recommended setup
-----------------

[](#recommended-setup)

1. Use the `simple_oauth` module
2. Enable Drupal core's `rest_ui` module.
3. Go to `/admin/config/services/rest` and enable the "Submit an issue" endpoint:
    - Granularity: Resource
    - Method: POST
    - Accepted request formats: json, xml
    - Authentication providers: oauth2
4. Set permission for which role(s) may access the endpoint at `/admin/people/permissions#module-rest`
5. Ensure that your endpoint can be reached by configuring your `services.yml` file:

```
cors.config:
  enabled: true
  # Specify allowed headers, like 'x-allowed-header'.
  allowedHeaders: ['x-csrf-token','authorization','content-type','accept','origin','x-requested-with', 'access-control-allow-origin','x-allowed-header']
  # Specify allowed request methods, specify ['*'] to allow all possible ones.
  allowedMethods: ['GET', 'POST']
  # Configure requests allowed from specific origins (ideally, limit this to the expected origins)
  allowedOrigins: ['*']
  # Sets the Access-Control-Expose-Headers header.
  exposedHeaders: false
  # Sets the Access-Control-Max-Age header.
  maxAge: false
  # Sets the Access-Control-Allow-Credentials header.
  supportsCredentials: false

```

If replicating the original demonstration `SubmitIssue`, pay close attention to the annotation, which defines the route, and must follow an idiosyncratic format to work with POST requests (see ):

```
 * @RestResource(
 *   id = "feedback_endpoint_bug_report",
 *   label = @Translation("Submit an issue"),
 *   uri_paths = {
 *    "canonical" = "/submit-issue",
 *    "create" = "/submit-issue"
 *   }
 * )

```

###  Health Score

31

—

LowBetter than 65% of packages

Maintenance34

Infrequent updates — may be unmaintained

Popularity9

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity61

Established project with proven stability

 Bus Factor1

Top contributor holds 86.7% 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 ~126 days

Recently: every ~173 days

Total

9

Last Release

1135d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/4305692?v=4)[Mark Fullmer](/maintainers/markfullmer)[@markfullmer](https://github.com/markfullmer)

![](https://avatars.githubusercontent.com/u/27739911?v=4)[Corpus &amp; Repository of Writing (Crow)](/maintainers/writecrow)[@writecrow](https://github.com/writecrow)

---

Top Contributors

[![markfullmer](https://avatars.githubusercontent.com/u/4305692?v=4)](https://github.com/markfullmer "markfullmer (13 commits)")[![jmf3658](https://avatars.githubusercontent.com/u/34824280?v=4)](https://github.com/jmf3658 "jmf3658 (2 commits)")

---

Tags

drupalrestdrupal

### Embed Badge

![Health badge](/badges/writecrow-rest-feedback-endpoint/health.svg)

```
[![Health](https://phpackages.com/badges/writecrow-rest-feedback-endpoint/health.svg)](https://phpackages.com/packages/writecrow-rest-feedback-endpoint)
```

###  Alternatives

[helsingborg-stad/municipio

A bootstrap theme for creating municipality sites.

4028.6k10](/packages/helsingborg-stad-municipio)[october/rain

October Rain Library

1601.7M103](/packages/october-rain)[pressbooks/pressbooks

Pressbooks is an open source book publishing tool built on a WordPress multisite platform. Pressbooks outputs books in multiple formats, including PDF, EPUB, web, and a variety of XML flavours, using a theming/templating system, driven by CSS.

45844.8k1](/packages/pressbooks-pressbooks)[mediawiki/maps

Adds various mapping features to MediaWiki

85155.1k3](/packages/mediawiki-maps)[civicrm/civicrm-drupal-8

Open source constituent relationship management for non-profits, NGOs and advocacy organizations.

20256.6k4](/packages/civicrm-civicrm-drupal-8)[altis/core

Core module for Altis

19233.0k4](/packages/altis-core)

PHPackages © 2026

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