Contents
On this page
List Feedback - Plugixa FAQ
GET /plugixa-faq/v1/feedback
List the votes and comments visitors left, one page at a time.
Any signed-in user with the plugixa_faq_manage capability or WordPress’s edit_posts (Contributors and up, by default). Needs Plugixa FAQ Pro: the free build does not register this route, so it answers 404 there.
Note. Each row includes the voter’s IP address, browser user agent and session id. Grant
plugixa_faq_managedeliberately, and treat the data as personal data.
Request
GET https://your-site.example/wp-json/plugixa-faq/v1/feedback?filter[is_helpful]=0&filter[has_comment]=yes
Query parameters
| Name | Type | Default | Description |
|---|---|---|---|
search |
string |
Text found in the comment or the FAQ question. Same as filter[search]. |
|
filter[is_helpful] |
integer |
1 helpful votes only, 0 not-helpful votes only. |
|
filter[faq_id] |
integer |
Votes on this FAQ only. | |
filter[date_from] |
string |
On or after this day, YYYY-MM-DD. |
|
filter[date_to] |
string |
On or before this day, YYYY-MM-DD. |
|
filter[has_comment] |
string |
yes with a comment, any other value without. |
Plus the list parameters every paged list accepts. orderby accepts id, faq_id, is_helpful and created_at.
Responses
200 OK. data.items is one page of votes.
{
"success": true,
"message": "",
"data": {
"items": [
{
"id": "311",
"faq_id": "42",
"is_helpful": "0",
"feedback_text": "The delivery times for islands are missing.",
"user_id": null,
"user_ip": "203.0.113.24",
"user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)",
"session_id": "6f1c2a7e-8b3d-4e2f-9a61-0c5d7e3b9f42",
"created_at": "2026-11-12 09:30:00",
"question": "How long does shipping take?",
"user_name": null
}
],
"total": 1,
"limit": 20,
"offset": 0
}
}
| Field | Type | Meaning |
|---|---|---|
data.items[].is_helpful |
string |
"1" helpful, "0" not helpful |
data.items[].feedback_text |
string|null |
The comment |
data.items[].user_id |
string|null |
The voter, when signed in |
data.items[].user_name |
string|null |
The voter’s display name |
data.items[].user_ip |
string |
The voter’s IP address |
data.items[].question |
string|null |
The FAQ, null if it was deleted |
data.total |
integer |
Votes matching the filters, before paging |
This list answers limit and offset instead of a state object.
Errors
Plus the errors every endpoint can return.
Examples
curl -sg "https://your-site.example/wp-json/plugixa-faq/v1/feedback?filter[is_helpful]=0&filter[has_comment]=yes" \
-u "admin:$WP_APP_PASSWORD"
<?php
$query = http_build_query([
'filter[is_helpful]' => '0',
'filter[has_comment]' => 'yes',
]);
$ch = curl_init('https://your-site.example/wp-json/plugixa-faq/v1/feedback?' . $query);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_USERPWD => 'admin:' . getenv('WP_APP_PASSWORD'),
]);
$response = json_decode(curl_exec($ch), true);
curl_close($ch);
const query = new URLSearchParams({ 'filter[is_helpful]': '0', 'filter[has_comment]': 'yes' });
const response = await fetch(`https://your-site.example/wp-json/plugixa-faq/v1/feedback?${query}`, {
headers: {
'Authorization': 'Basic ' + btoa(`admin:${process.env.WP_APP_PASSWORD}`),
},
});
const { data } = await response.json();
Quick Links
Share