Feedback Boards
Returns a list of feedback boards (three-tier visibility).
GET/api/media/feedback_board
Query parameters
publicKeystring | Stable key for the public URL and widget embedding. Server-assigned, never accepted from API input — omitted from the oaInput groups on purpose. Changing it would break every page that already embeds this board. | Requires access right: PUBLIC, LOGGED_IN, SCOPE |
sortOrderstring | Requires access right: PUBLIC, LOGGED_IN, SCOPE |
idinteger | |
deletedboolean | This property is used to mark an entity as deleted / archived |
namestring | Internal name, shown in the admin UI only. |
visibilityTypestring | |
allowNewEntriesboolean | |
allowVotingboolean | |
allowCommentsboolean | |
allowGuestEntriesboolean | |
allowGuestVotesboolean | |
allowGuestCommentsboolean | |
createdstring | |
updatedstring | |
searchStringstring | text to search for in the list |
orderFieldNamestring | name of the order field |
orderFieldSortstring | sorting modeAllowed: DESCASC |
pageinteger | page of the list |
pageSizeinteger | number of entries for each page |
withMaxPageNumberstring | returns the number of pages available as a header if this is set |
Responses
200Returns a list of MediaFeedbackBoard objectsarray<MediaFeedbackBoard>
Show fields (21)
is_publicbooleanTrue when the board itself may be served to callers without a session.
idintegerPrimary key of the feedback board. Internal ID.
namestringInternal name, shown in the admin UI only.
public_titlestringTitle of the board shown to the public.
public_descriptionstringDescription of the board shown to the public.
public_keystringStable key for the public URL and widget embedding. Server-assigned, never accepted from API input — omitted from the oaInput groups on purpose. Changing it would break every page that already embeds this board.
image_urlstringURL of the image of the board.
sort_orderintegerSort order of the board in lists.
allow_new_entriesbooleanMembers can create new entries.
allow_votingbooleanMembers can vote on entries.
allow_commentsbooleanMembers can comment on entries.
allow_guest_entriesbooleanGuests can create new entries.
allow_guest_votesbooleanGuests can vote on entries.
allow_guest_commentsbooleanGuests can comment on entries.
moderation_requiredbooleanBoard-level override of the global moderation setting. Null means "use the global setting" — that is why this is nullable and not a plain bool.
createdstring (date-time)Point in time the entity was created.
updatedstring (date-time)Point in time the entity was last updated.
deletedbooleanThis property is used to mark an entity as deleted / archived
ucatsarray<UnifiedCategory30>Unified categories of the entity.
Show fields (32)
idintegerPrimary key of the unified category. Internal ID.
category_typestringType of the category, for example course or membership.
childrenarray<UnifiedCategory30>Child categories.
parentUnifiedCategory30Parent category.
view_orderintegerSort order of the category in lists.
is_publicbooleanThe category is shown publicly.
createdstring (date-time)Point in time the entity was created.
updatedstring (date-time)Point in time the entity was last updated.
namestringName of the entity.
addressstringAddress as text.
address_streetstringStreet of the address.
address_house_numberstringHouse number of the address.
address_street_levelstringStreet and house number of the address.
address_costringCare-of line of the address.
address_citystringCity of the address.
address_zipstringPostal code of the address.
address_admin_level1stringFirst administrative level of the address, e.g. the federal state.
address_countrystringCountry code of the address.
address_full_countrystringFull name of the country of the address.
address_geo_latstringLatitude of the address.
address_geo_lngstringLongitude of the address.
address_external_provider_idstringfield to store the external provider id of the address. e.g. Google Maps PlaceID like google:ChIJVcKw5r90sEcRhdjNq6NItqE
main_phonestringMain phone number.
main_faxstringMain fax number.
main_emailstringMain e-mail address.
websitestringWebsite address.
deletedbooleanThis property is used to mark an entity as deleted / archived
search_stringstringText that the entity can be searched by.
short_identifierstringShort identifier of the entity.
slug_identifierstringSlug used in URLs of the entity.
image_urlstringURL of the image of the entity.
is_ui_filterbooleanThis property is used to mark an entity as a filter for the frontend
visibility_typestringType of visibility of the entity.
arslistarray<AccessRightStorage12>Access rights list that controls the visibility.
Show fields (12)
idintegerPrimary key of the access right entry. Internal ID.
userUser55User who gets the access right. Only set for user-specific rights.
access_tagAccessTagAccess tag the right applies to. Only set for rights on a tag.
create_mainbooleanCreate permission for main records of the access tag.
edit_mainbooleanEdit permission for main records of the access tag.
read_mainbooleanRead permission for main records of the access tag.
create_childbooleanCreate permission for child records (for example items inside a main record).
edit_childbooleanEdit permission for child records (for example items inside a main record).
read_childbooleanRead permission for child records (for example items inside a main record).
createdstring (date-time)Point in time the entity was created.
updatedstring (date-time)Point in time the entity was last updated.
deletedbooleanThis property is used to mark an entity as deleted / archived
curl --request GET \
--url https://your-instance.iw-erp.de/api/media/feedback_board \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'GET', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://your-instance.iw-erp.de/api/media/feedback_board', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://your-instance.iw-erp.de/api/media/feedback_board"
headers = {"x-iw-jwt-token": "<TOKEN>"}
response = requests.get(url, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('GET', 'https://your-instance.iw-erp.de/api/media/feedback_board', [
'headers' => [
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Get,
RequestUri = new Uri("https://your-instance.iw-erp.de/api/media/feedback_board"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://your-instance.iw-erp.de/api/media/feedback_board")
.get()
.addHeader("x-iw-jwt-token", "<TOKEN>")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://your-instance.iw-erp.de/api/media/feedback_board"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart with the iw_erp_api package
import 'package:iw_erp_api/clients/media_feedback_board_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
IwApiState().host = 'your-instance.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await MediaFeedbackBoardController.getAll();
if (result.success) {
print(result.data);
}[
{
"id": 42,
"name": "Beispiel",
"public_title": "Beispiel",
"public_description": "Text",
"image_url": "https://vynst.de",
"is_public": true,
"public_key": "string",
"sort_order": 1,
"allow_new_entries": true,
"allow_voting": true
}
]Creates a feedback board.
POST/api/media/feedback_board
Request body application/json
dataMediaFeedbackBoard2Show fields (14)
namestringInternal name, shown in the admin UI only.
public_titlestringTitle of the board shown to the public.
public_descriptionstringDescription of the board shown to the public.
image_urlstringURL of the image of the board.
sort_orderintegerSort order of the board in lists.
allow_new_entriesbooleanMembers can create new entries.
allow_votingbooleanMembers can vote on entries.
allow_commentsbooleanMembers can comment on entries.
allow_guest_entriesbooleanGuests can create new entries.
allow_guest_votesbooleanGuests can vote on entries.
allow_guest_commentsbooleanGuests can comment on entries.
moderation_requiredbooleanBoard-level override of the global moderation setting. Null means "use the global setting" — that is why this is nullable and not a plain bool.
deletedbooleanThis property is used to mark an entity as deleted / archived
ucatsarray<UnifiedCategory11>Unified categories of the entity.
Responses
200Add a new MediaFeedbackBoardMediaFeedbackBoard
Show fields (21)
is_publicbooleanTrue when the board itself may be served to callers without a session.
idintegerPrimary key of the feedback board. Internal ID.
namestringInternal name, shown in the admin UI only.
public_titlestringTitle of the board shown to the public.
public_descriptionstringDescription of the board shown to the public.
public_keystringStable key for the public URL and widget embedding. Server-assigned, never accepted from API input — omitted from the oaInput groups on purpose. Changing it would break every page that already embeds this board.
image_urlstringURL of the image of the board.
sort_orderintegerSort order of the board in lists.
allow_new_entriesbooleanMembers can create new entries.
allow_votingbooleanMembers can vote on entries.
allow_commentsbooleanMembers can comment on entries.
allow_guest_entriesbooleanGuests can create new entries.
allow_guest_votesbooleanGuests can vote on entries.
allow_guest_commentsbooleanGuests can comment on entries.
moderation_requiredbooleanBoard-level override of the global moderation setting. Null means "use the global setting" — that is why this is nullable and not a plain bool.
createdstring (date-time)Point in time the entity was created.
updatedstring (date-time)Point in time the entity was last updated.
deletedbooleanThis property is used to mark an entity as deleted / archived
ucatsarray<UnifiedCategory30>Unified categories of the entity.
Show fields (32)
idintegerPrimary key of the unified category. Internal ID.
category_typestringType of the category, for example course or membership.
childrenarray<UnifiedCategory30>Child categories.
parentUnifiedCategory30Parent category.
view_orderintegerSort order of the category in lists.
is_publicbooleanThe category is shown publicly.
createdstring (date-time)Point in time the entity was created.
updatedstring (date-time)Point in time the entity was last updated.
namestringName of the entity.
addressstringAddress as text.
address_streetstringStreet of the address.
address_house_numberstringHouse number of the address.
address_street_levelstringStreet and house number of the address.
address_costringCare-of line of the address.
address_citystringCity of the address.
address_zipstringPostal code of the address.
address_admin_level1stringFirst administrative level of the address, e.g. the federal state.
address_countrystringCountry code of the address.
address_full_countrystringFull name of the country of the address.
address_geo_latstringLatitude of the address.
address_geo_lngstringLongitude of the address.
address_external_provider_idstringfield to store the external provider id of the address. e.g. Google Maps PlaceID like google:ChIJVcKw5r90sEcRhdjNq6NItqE
main_phonestringMain phone number.
main_faxstringMain fax number.
main_emailstringMain e-mail address.
websitestringWebsite address.
deletedbooleanThis property is used to mark an entity as deleted / archived
search_stringstringText that the entity can be searched by.
short_identifierstringShort identifier of the entity.
slug_identifierstringSlug used in URLs of the entity.
image_urlstringURL of the image of the entity.
is_ui_filterbooleanThis property is used to mark an entity as a filter for the frontend
visibility_typestringType of visibility of the entity.
arslistarray<AccessRightStorage12>Access rights list that controls the visibility.
Show fields (12)
idintegerPrimary key of the access right entry. Internal ID.
userUser55User who gets the access right. Only set for user-specific rights.
access_tagAccessTagAccess tag the right applies to. Only set for rights on a tag.
create_mainbooleanCreate permission for main records of the access tag.
edit_mainbooleanEdit permission for main records of the access tag.
read_mainbooleanRead permission for main records of the access tag.
create_childbooleanCreate permission for child records (for example items inside a main record).
edit_childbooleanEdit permission for child records (for example items inside a main record).
read_childbooleanRead permission for child records (for example items inside a main record).
createdstring (date-time)Point in time the entity was created.
updatedstring (date-time)Point in time the entity was last updated.
deletedbooleanThis property is used to mark an entity as deleted / archived
curl --request POST \
--url https://your-instance.iw-erp.de/api/media/feedback_board \
--header 'content-type: application/json' \
--header 'x-iw-jwt-token: <TOKEN>' \
--data '
{
"data": {
"name": "Beispiel",
"public_title": "Beispiel",
"public_description": "Text",
"image_url": "https://vynst.de",
"sort_order": 1,
"allow_new_entries": true
}
}
'const options = {
method: 'POST',
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: JSON.stringify({
data: {
name: 'Beispiel',
public_title: 'Beispiel',
public_description: 'Text',
image_url: 'https://vynst.de',
sort_order: 1,
allow_new_entries: true
}
})
};
fetch('https://your-instance.iw-erp.de/api/media/feedback_board', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://your-instance.iw-erp.de/api/media/feedback_board"
payload = { "data": {
"name": "Beispiel",
"public_title": "Beispiel",
"public_description": "Text",
"image_url": "https://vynst.de",
"sort_order": 1,
"allow_new_entries": True
} }
headers = {
"x-iw-jwt-token": "<TOKEN>",
"content-type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('POST', 'https://your-instance.iw-erp.de/api/media/feedback_board', [
'body' => '{"data":{"name":"Beispiel","public_title":"Beispiel","public_description":"Text","image_url":"https://vynst.de","sort_order":1,"allow_new_entries":true}}',
'headers' => [
'content-type' => 'application/json',
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Post,
RequestUri = new Uri("https://your-instance.iw-erp.de/api/media/feedback_board"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
Content = new StringContent("{\"data\":{\"name\":\"Beispiel\",\"public_title\":\"Beispiel\",\"public_description\":\"Text\",\"image_url\":\"https://vynst.de\",\"sort_order\":1,\"allow_new_entries\":true}}")
{
Headers =
{
ContentType = new MediaTypeHeaderValue("application/json")
}
}
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\"data\":{\"name\":\"Beispiel\",\"public_title\":\"Beispiel\",\"public_description\":\"Text\",\"image_url\":\"https://vynst.de\",\"sort_order\":1,\"allow_new_entries\":true}}");
Request request = new Request.Builder()
.url("https://your-instance.iw-erp.de/api/media/feedback_board")
.post(body)
.addHeader("x-iw-jwt-token", "<TOKEN>")
.addHeader("content-type", "application/json")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://your-instance.iw-erp.de/api/media/feedback_board"
payload := strings.NewReader("{\"data\":{\"name\":\"Beispiel\",\"public_title\":\"Beispiel\",\"public_description\":\"Text\",\"image_url\":\"https://vynst.de\",\"sort_order\":1,\"allow_new_entries\":true}}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
req.Header.Add("content-type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart with the iw_erp_api package
import 'package:iw_erp_api/clients/media_feedback_board_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
import 'package:iw_erp_api/model/media_feedback_board.dart';
IwApiState().host = 'your-instance.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await MediaFeedbackBoardController.post(MediaFeedbackBoard.fromJson({
"name": "Beispiel",
"public_title": "Beispiel",
"public_description": "Text",
"image_url": "https://vynst.de",
"sort_order": 1,
"allow_new_entries": true
}));
if (result.success) {
print(result.data);
}{
"id": 42,
"name": "Beispiel",
"public_title": "Beispiel",
"public_description": "Text",
"image_url": "https://vynst.de",
"is_public": true,
"public_key": "string",
"sort_order": 1,
"allow_new_entries": true,
"allow_voting": true
}Returns a single feedback board.
GET/api/media/feedback_board/{identifier}
Path parameters
identifierrequiredstring |
Responses
200Returns a single MediaFeedbackBoardMediaFeedbackBoard
Show fields (21)
is_publicbooleanTrue when the board itself may be served to callers without a session.
idintegerPrimary key of the feedback board. Internal ID.
namestringInternal name, shown in the admin UI only.
public_titlestringTitle of the board shown to the public.
public_descriptionstringDescription of the board shown to the public.
public_keystringStable key for the public URL and widget embedding. Server-assigned, never accepted from API input — omitted from the oaInput groups on purpose. Changing it would break every page that already embeds this board.
image_urlstringURL of the image of the board.
sort_orderintegerSort order of the board in lists.
allow_new_entriesbooleanMembers can create new entries.
allow_votingbooleanMembers can vote on entries.
allow_commentsbooleanMembers can comment on entries.
allow_guest_entriesbooleanGuests can create new entries.
allow_guest_votesbooleanGuests can vote on entries.
allow_guest_commentsbooleanGuests can comment on entries.
moderation_requiredbooleanBoard-level override of the global moderation setting. Null means "use the global setting" — that is why this is nullable and not a plain bool.
createdstring (date-time)Point in time the entity was created.
updatedstring (date-time)Point in time the entity was last updated.
deletedbooleanThis property is used to mark an entity as deleted / archived
ucatsarray<UnifiedCategory30>Unified categories of the entity.
Show fields (32)
idintegerPrimary key of the unified category. Internal ID.
category_typestringType of the category, for example course or membership.
childrenarray<UnifiedCategory30>Child categories.
parentUnifiedCategory30Parent category.
view_orderintegerSort order of the category in lists.
is_publicbooleanThe category is shown publicly.
createdstring (date-time)Point in time the entity was created.
updatedstring (date-time)Point in time the entity was last updated.
namestringName of the entity.
addressstringAddress as text.
address_streetstringStreet of the address.
address_house_numberstringHouse number of the address.
address_street_levelstringStreet and house number of the address.
address_costringCare-of line of the address.
address_citystringCity of the address.
address_zipstringPostal code of the address.
address_admin_level1stringFirst administrative level of the address, e.g. the federal state.
address_countrystringCountry code of the address.
address_full_countrystringFull name of the country of the address.
address_geo_latstringLatitude of the address.
address_geo_lngstringLongitude of the address.
address_external_provider_idstringfield to store the external provider id of the address. e.g. Google Maps PlaceID like google:ChIJVcKw5r90sEcRhdjNq6NItqE
main_phonestringMain phone number.
main_faxstringMain fax number.
main_emailstringMain e-mail address.
websitestringWebsite address.
deletedbooleanThis property is used to mark an entity as deleted / archived
search_stringstringText that the entity can be searched by.
short_identifierstringShort identifier of the entity.
slug_identifierstringSlug used in URLs of the entity.
image_urlstringURL of the image of the entity.
is_ui_filterbooleanThis property is used to mark an entity as a filter for the frontend
visibility_typestringType of visibility of the entity.
arslistarray<AccessRightStorage12>Access rights list that controls the visibility.
Show fields (12)
idintegerPrimary key of the access right entry. Internal ID.
userUser55User who gets the access right. Only set for user-specific rights.
access_tagAccessTagAccess tag the right applies to. Only set for rights on a tag.
create_mainbooleanCreate permission for main records of the access tag.
edit_mainbooleanEdit permission for main records of the access tag.
read_mainbooleanRead permission for main records of the access tag.
create_childbooleanCreate permission for child records (for example items inside a main record).
edit_childbooleanEdit permission for child records (for example items inside a main record).
read_childbooleanRead permission for child records (for example items inside a main record).
createdstring (date-time)Point in time the entity was created.
updatedstring (date-time)Point in time the entity was last updated.
deletedbooleanThis property is used to mark an entity as deleted / archived
curl --request GET \
--url https://your-instance.iw-erp.de/api/media/feedback_board/42 \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'GET', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://your-instance.iw-erp.de/api/media/feedback_board/42', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://your-instance.iw-erp.de/api/media/feedback_board/42"
headers = {"x-iw-jwt-token": "<TOKEN>"}
response = requests.get(url, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('GET', 'https://your-instance.iw-erp.de/api/media/feedback_board/42', [
'headers' => [
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Get,
RequestUri = new Uri("https://your-instance.iw-erp.de/api/media/feedback_board/42"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://your-instance.iw-erp.de/api/media/feedback_board/42")
.get()
.addHeader("x-iw-jwt-token", "<TOKEN>")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://your-instance.iw-erp.de/api/media/feedback_board/42"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart with the iw_erp_api package
import 'package:iw_erp_api/clients/media_feedback_board_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
IwApiState().host = 'your-instance.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await MediaFeedbackBoardController.get('42');
if (result.success) {
print(result.data);
}{
"id": 42,
"name": "Beispiel",
"public_title": "Beispiel",
"public_description": "Text",
"image_url": "https://vynst.de",
"is_public": true,
"public_key": "string",
"sort_order": 1,
"allow_new_entries": true,
"allow_voting": true
}Updates a feedback board.
PUT/api/media/feedback_board/{identifier}
Path parameters
identifierrequiredstring |
Request body application/json
dataMediaFeedbackBoard2Show fields (14)
namestringInternal name, shown in the admin UI only.
public_titlestringTitle of the board shown to the public.
public_descriptionstringDescription of the board shown to the public.
image_urlstringURL of the image of the board.
sort_orderintegerSort order of the board in lists.
allow_new_entriesbooleanMembers can create new entries.
allow_votingbooleanMembers can vote on entries.
allow_commentsbooleanMembers can comment on entries.
allow_guest_entriesbooleanGuests can create new entries.
allow_guest_votesbooleanGuests can vote on entries.
allow_guest_commentsbooleanGuests can comment on entries.
moderation_requiredbooleanBoard-level override of the global moderation setting. Null means "use the global setting" — that is why this is nullable and not a plain bool.
deletedbooleanThis property is used to mark an entity as deleted / archived
ucatsarray<UnifiedCategory11>Unified categories of the entity.
Responses
200Update a MediaFeedbackBoardMediaFeedbackBoard
Show fields (21)
is_publicbooleanTrue when the board itself may be served to callers without a session.
idintegerPrimary key of the feedback board. Internal ID.
namestringInternal name, shown in the admin UI only.
public_titlestringTitle of the board shown to the public.
public_descriptionstringDescription of the board shown to the public.
public_keystringStable key for the public URL and widget embedding. Server-assigned, never accepted from API input — omitted from the oaInput groups on purpose. Changing it would break every page that already embeds this board.
image_urlstringURL of the image of the board.
sort_orderintegerSort order of the board in lists.
allow_new_entriesbooleanMembers can create new entries.
allow_votingbooleanMembers can vote on entries.
allow_commentsbooleanMembers can comment on entries.
allow_guest_entriesbooleanGuests can create new entries.
allow_guest_votesbooleanGuests can vote on entries.
allow_guest_commentsbooleanGuests can comment on entries.
moderation_requiredbooleanBoard-level override of the global moderation setting. Null means "use the global setting" — that is why this is nullable and not a plain bool.
createdstring (date-time)Point in time the entity was created.
updatedstring (date-time)Point in time the entity was last updated.
deletedbooleanThis property is used to mark an entity as deleted / archived
ucatsarray<UnifiedCategory30>Unified categories of the entity.
Show fields (32)
idintegerPrimary key of the unified category. Internal ID.
category_typestringType of the category, for example course or membership.
childrenarray<UnifiedCategory30>Child categories.
parentUnifiedCategory30Parent category.
view_orderintegerSort order of the category in lists.
is_publicbooleanThe category is shown publicly.
createdstring (date-time)Point in time the entity was created.
updatedstring (date-time)Point in time the entity was last updated.
namestringName of the entity.
addressstringAddress as text.
address_streetstringStreet of the address.
address_house_numberstringHouse number of the address.
address_street_levelstringStreet and house number of the address.
address_costringCare-of line of the address.
address_citystringCity of the address.
address_zipstringPostal code of the address.
address_admin_level1stringFirst administrative level of the address, e.g. the federal state.
address_countrystringCountry code of the address.
address_full_countrystringFull name of the country of the address.
address_geo_latstringLatitude of the address.
address_geo_lngstringLongitude of the address.
address_external_provider_idstringfield to store the external provider id of the address. e.g. Google Maps PlaceID like google:ChIJVcKw5r90sEcRhdjNq6NItqE
main_phonestringMain phone number.
main_faxstringMain fax number.
main_emailstringMain e-mail address.
websitestringWebsite address.
deletedbooleanThis property is used to mark an entity as deleted / archived
search_stringstringText that the entity can be searched by.
short_identifierstringShort identifier of the entity.
slug_identifierstringSlug used in URLs of the entity.
image_urlstringURL of the image of the entity.
is_ui_filterbooleanThis property is used to mark an entity as a filter for the frontend
visibility_typestringType of visibility of the entity.
arslistarray<AccessRightStorage12>Access rights list that controls the visibility.
Show fields (12)
idintegerPrimary key of the access right entry. Internal ID.
userUser55User who gets the access right. Only set for user-specific rights.
access_tagAccessTagAccess tag the right applies to. Only set for rights on a tag.
create_mainbooleanCreate permission for main records of the access tag.
edit_mainbooleanEdit permission for main records of the access tag.
read_mainbooleanRead permission for main records of the access tag.
create_childbooleanCreate permission for child records (for example items inside a main record).
edit_childbooleanEdit permission for child records (for example items inside a main record).
read_childbooleanRead permission for child records (for example items inside a main record).
createdstring (date-time)Point in time the entity was created.
updatedstring (date-time)Point in time the entity was last updated.
deletedbooleanThis property is used to mark an entity as deleted / archived
curl --request PUT \
--url https://your-instance.iw-erp.de/api/media/feedback_board/42 \
--header 'content-type: application/json' \
--header 'x-iw-jwt-token: <TOKEN>' \
--data '
{
"data": {
"name": "Beispiel",
"public_title": "Beispiel",
"public_description": "Text",
"image_url": "https://vynst.de",
"sort_order": 1,
"allow_new_entries": true
}
}
'const options = {
method: 'PUT',
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: JSON.stringify({
data: {
name: 'Beispiel',
public_title: 'Beispiel',
public_description: 'Text',
image_url: 'https://vynst.de',
sort_order: 1,
allow_new_entries: true
}
})
};
fetch('https://your-instance.iw-erp.de/api/media/feedback_board/42', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://your-instance.iw-erp.de/api/media/feedback_board/42"
payload = { "data": {
"name": "Beispiel",
"public_title": "Beispiel",
"public_description": "Text",
"image_url": "https://vynst.de",
"sort_order": 1,
"allow_new_entries": True
} }
headers = {
"x-iw-jwt-token": "<TOKEN>",
"content-type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('PUT', 'https://your-instance.iw-erp.de/api/media/feedback_board/42', [
'body' => '{"data":{"name":"Beispiel","public_title":"Beispiel","public_description":"Text","image_url":"https://vynst.de","sort_order":1,"allow_new_entries":true}}',
'headers' => [
'content-type' => 'application/json',
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Put,
RequestUri = new Uri("https://your-instance.iw-erp.de/api/media/feedback_board/42"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
Content = new StringContent("{\"data\":{\"name\":\"Beispiel\",\"public_title\":\"Beispiel\",\"public_description\":\"Text\",\"image_url\":\"https://vynst.de\",\"sort_order\":1,\"allow_new_entries\":true}}")
{
Headers =
{
ContentType = new MediaTypeHeaderValue("application/json")
}
}
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\"data\":{\"name\":\"Beispiel\",\"public_title\":\"Beispiel\",\"public_description\":\"Text\",\"image_url\":\"https://vynst.de\",\"sort_order\":1,\"allow_new_entries\":true}}");
Request request = new Request.Builder()
.url("https://your-instance.iw-erp.de/api/media/feedback_board/42")
.put(body)
.addHeader("x-iw-jwt-token", "<TOKEN>")
.addHeader("content-type", "application/json")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://your-instance.iw-erp.de/api/media/feedback_board/42"
payload := strings.NewReader("{\"data\":{\"name\":\"Beispiel\",\"public_title\":\"Beispiel\",\"public_description\":\"Text\",\"image_url\":\"https://vynst.de\",\"sort_order\":1,\"allow_new_entries\":true}}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
req.Header.Add("content-type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart with package:http (no controller in the iw_erp_api package)
import 'dart:convert';
import 'package:http/http.dart' as http;
final response = await http.put(
Uri.parse('https://your-instance.iw-erp.de/api/media/feedback_board/42'),
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: jsonEncode({
"data": {
"name": "Beispiel",
"public_title": "Beispiel",
"public_description": "Text",
"image_url": "https://vynst.de",
"sort_order": 1,
"allow_new_entries": true
}
}),
);
print(response.body);{
"id": 42,
"name": "Beispiel",
"public_title": "Beispiel",
"public_description": "Text",
"image_url": "https://vynst.de",
"is_public": true,
"public_key": "string",
"sort_order": 1,
"allow_new_entries": true,
"allow_voting": true
}Updates a feedback board.
PATCH/api/media/feedback_board/{identifier}
Path parameters
identifierrequiredstring |
Request body application/json
dataMediaFeedbackBoard2Show fields (14)
namestringInternal name, shown in the admin UI only.
public_titlestringTitle of the board shown to the public.
public_descriptionstringDescription of the board shown to the public.
image_urlstringURL of the image of the board.
sort_orderintegerSort order of the board in lists.
allow_new_entriesbooleanMembers can create new entries.
allow_votingbooleanMembers can vote on entries.
allow_commentsbooleanMembers can comment on entries.
allow_guest_entriesbooleanGuests can create new entries.
allow_guest_votesbooleanGuests can vote on entries.
allow_guest_commentsbooleanGuests can comment on entries.
moderation_requiredbooleanBoard-level override of the global moderation setting. Null means "use the global setting" — that is why this is nullable and not a plain bool.
deletedbooleanThis property is used to mark an entity as deleted / archived
ucatsarray<UnifiedCategory11>Unified categories of the entity.
Responses
200Update a MediaFeedbackBoardMediaFeedbackBoard
Show fields (21)
is_publicbooleanTrue when the board itself may be served to callers without a session.
idintegerPrimary key of the feedback board. Internal ID.
namestringInternal name, shown in the admin UI only.
public_titlestringTitle of the board shown to the public.
public_descriptionstringDescription of the board shown to the public.
public_keystringStable key for the public URL and widget embedding. Server-assigned, never accepted from API input — omitted from the oaInput groups on purpose. Changing it would break every page that already embeds this board.
image_urlstringURL of the image of the board.
sort_orderintegerSort order of the board in lists.
allow_new_entriesbooleanMembers can create new entries.
allow_votingbooleanMembers can vote on entries.
allow_commentsbooleanMembers can comment on entries.
allow_guest_entriesbooleanGuests can create new entries.
allow_guest_votesbooleanGuests can vote on entries.
allow_guest_commentsbooleanGuests can comment on entries.
moderation_requiredbooleanBoard-level override of the global moderation setting. Null means "use the global setting" — that is why this is nullable and not a plain bool.
createdstring (date-time)Point in time the entity was created.
updatedstring (date-time)Point in time the entity was last updated.
deletedbooleanThis property is used to mark an entity as deleted / archived
ucatsarray<UnifiedCategory30>Unified categories of the entity.
Show fields (32)
idintegerPrimary key of the unified category. Internal ID.
category_typestringType of the category, for example course or membership.
childrenarray<UnifiedCategory30>Child categories.
parentUnifiedCategory30Parent category.
view_orderintegerSort order of the category in lists.
is_publicbooleanThe category is shown publicly.
createdstring (date-time)Point in time the entity was created.
updatedstring (date-time)Point in time the entity was last updated.
namestringName of the entity.
addressstringAddress as text.
address_streetstringStreet of the address.
address_house_numberstringHouse number of the address.
address_street_levelstringStreet and house number of the address.
address_costringCare-of line of the address.
address_citystringCity of the address.
address_zipstringPostal code of the address.
address_admin_level1stringFirst administrative level of the address, e.g. the federal state.
address_countrystringCountry code of the address.
address_full_countrystringFull name of the country of the address.
address_geo_latstringLatitude of the address.
address_geo_lngstringLongitude of the address.
address_external_provider_idstringfield to store the external provider id of the address. e.g. Google Maps PlaceID like google:ChIJVcKw5r90sEcRhdjNq6NItqE
main_phonestringMain phone number.
main_faxstringMain fax number.
main_emailstringMain e-mail address.
websitestringWebsite address.
deletedbooleanThis property is used to mark an entity as deleted / archived
search_stringstringText that the entity can be searched by.
short_identifierstringShort identifier of the entity.
slug_identifierstringSlug used in URLs of the entity.
image_urlstringURL of the image of the entity.
is_ui_filterbooleanThis property is used to mark an entity as a filter for the frontend
visibility_typestringType of visibility of the entity.
arslistarray<AccessRightStorage12>Access rights list that controls the visibility.
Show fields (12)
idintegerPrimary key of the access right entry. Internal ID.
userUser55User who gets the access right. Only set for user-specific rights.
access_tagAccessTagAccess tag the right applies to. Only set for rights on a tag.
create_mainbooleanCreate permission for main records of the access tag.
edit_mainbooleanEdit permission for main records of the access tag.
read_mainbooleanRead permission for main records of the access tag.
create_childbooleanCreate permission for child records (for example items inside a main record).
edit_childbooleanEdit permission for child records (for example items inside a main record).
read_childbooleanRead permission for child records (for example items inside a main record).
createdstring (date-time)Point in time the entity was created.
updatedstring (date-time)Point in time the entity was last updated.
deletedbooleanThis property is used to mark an entity as deleted / archived
curl --request PATCH \
--url https://your-instance.iw-erp.de/api/media/feedback_board/42 \
--header 'content-type: application/json' \
--header 'x-iw-jwt-token: <TOKEN>' \
--data '
{
"data": {
"name": "Beispiel",
"public_title": "Beispiel",
"public_description": "Text",
"image_url": "https://vynst.de",
"sort_order": 1,
"allow_new_entries": true
}
}
'const options = {
method: 'PATCH',
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: JSON.stringify({
data: {
name: 'Beispiel',
public_title: 'Beispiel',
public_description: 'Text',
image_url: 'https://vynst.de',
sort_order: 1,
allow_new_entries: true
}
})
};
fetch('https://your-instance.iw-erp.de/api/media/feedback_board/42', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://your-instance.iw-erp.de/api/media/feedback_board/42"
payload = { "data": {
"name": "Beispiel",
"public_title": "Beispiel",
"public_description": "Text",
"image_url": "https://vynst.de",
"sort_order": 1,
"allow_new_entries": True
} }
headers = {
"x-iw-jwt-token": "<TOKEN>",
"content-type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('PATCH', 'https://your-instance.iw-erp.de/api/media/feedback_board/42', [
'body' => '{"data":{"name":"Beispiel","public_title":"Beispiel","public_description":"Text","image_url":"https://vynst.de","sort_order":1,"allow_new_entries":true}}',
'headers' => [
'content-type' => 'application/json',
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Patch,
RequestUri = new Uri("https://your-instance.iw-erp.de/api/media/feedback_board/42"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
Content = new StringContent("{\"data\":{\"name\":\"Beispiel\",\"public_title\":\"Beispiel\",\"public_description\":\"Text\",\"image_url\":\"https://vynst.de\",\"sort_order\":1,\"allow_new_entries\":true}}")
{
Headers =
{
ContentType = new MediaTypeHeaderValue("application/json")
}
}
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\"data\":{\"name\":\"Beispiel\",\"public_title\":\"Beispiel\",\"public_description\":\"Text\",\"image_url\":\"https://vynst.de\",\"sort_order\":1,\"allow_new_entries\":true}}");
Request request = new Request.Builder()
.url("https://your-instance.iw-erp.de/api/media/feedback_board/42")
.patch(body)
.addHeader("x-iw-jwt-token", "<TOKEN>")
.addHeader("content-type", "application/json")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://your-instance.iw-erp.de/api/media/feedback_board/42"
payload := strings.NewReader("{\"data\":{\"name\":\"Beispiel\",\"public_title\":\"Beispiel\",\"public_description\":\"Text\",\"image_url\":\"https://vynst.de\",\"sort_order\":1,\"allow_new_entries\":true}}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
req.Header.Add("content-type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart with package:http (no controller in the iw_erp_api package)
import 'dart:convert';
import 'package:http/http.dart' as http;
final response = await http.patch(
Uri.parse('https://your-instance.iw-erp.de/api/media/feedback_board/42'),
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: jsonEncode({
"data": {
"name": "Beispiel",
"public_title": "Beispiel",
"public_description": "Text",
"image_url": "https://vynst.de",
"sort_order": 1,
"allow_new_entries": true
}
}),
);
print(response.body);{
"id": 42,
"name": "Beispiel",
"public_title": "Beispiel",
"public_description": "Text",
"image_url": "https://vynst.de",
"is_public": true,
"public_key": "string",
"sort_order": 1,
"allow_new_entries": true,
"allow_voting": true
}Soft-deletes a feedback board.
DELETE/api/media/feedback_board/{identifier}
Path parameters
identifierrequiredstring |
Responses
200Delete a MediaFeedbackBoardMediaFeedbackBoard
Show fields (21)
is_publicbooleanTrue when the board itself may be served to callers without a session.
idintegerPrimary key of the feedback board. Internal ID.
namestringInternal name, shown in the admin UI only.
public_titlestringTitle of the board shown to the public.
public_descriptionstringDescription of the board shown to the public.
public_keystringStable key for the public URL and widget embedding. Server-assigned, never accepted from API input — omitted from the oaInput groups on purpose. Changing it would break every page that already embeds this board.
image_urlstringURL of the image of the board.
sort_orderintegerSort order of the board in lists.
allow_new_entriesbooleanMembers can create new entries.
allow_votingbooleanMembers can vote on entries.
allow_commentsbooleanMembers can comment on entries.
allow_guest_entriesbooleanGuests can create new entries.
allow_guest_votesbooleanGuests can vote on entries.
allow_guest_commentsbooleanGuests can comment on entries.
moderation_requiredbooleanBoard-level override of the global moderation setting. Null means "use the global setting" — that is why this is nullable and not a plain bool.
createdstring (date-time)Point in time the entity was created.
updatedstring (date-time)Point in time the entity was last updated.
deletedbooleanThis property is used to mark an entity as deleted / archived
ucatsarray<UnifiedCategory30>Unified categories of the entity.
Show fields (32)
idintegerPrimary key of the unified category. Internal ID.
category_typestringType of the category, for example course or membership.
childrenarray<UnifiedCategory30>Child categories.
parentUnifiedCategory30Parent category.
view_orderintegerSort order of the category in lists.
is_publicbooleanThe category is shown publicly.
createdstring (date-time)Point in time the entity was created.
updatedstring (date-time)Point in time the entity was last updated.
namestringName of the entity.
addressstringAddress as text.
address_streetstringStreet of the address.
address_house_numberstringHouse number of the address.
address_street_levelstringStreet and house number of the address.
address_costringCare-of line of the address.
address_citystringCity of the address.
address_zipstringPostal code of the address.
address_admin_level1stringFirst administrative level of the address, e.g. the federal state.
address_countrystringCountry code of the address.
address_full_countrystringFull name of the country of the address.
address_geo_latstringLatitude of the address.
address_geo_lngstringLongitude of the address.
address_external_provider_idstringfield to store the external provider id of the address. e.g. Google Maps PlaceID like google:ChIJVcKw5r90sEcRhdjNq6NItqE
main_phonestringMain phone number.
main_faxstringMain fax number.
main_emailstringMain e-mail address.
websitestringWebsite address.
deletedbooleanThis property is used to mark an entity as deleted / archived
search_stringstringText that the entity can be searched by.
short_identifierstringShort identifier of the entity.
slug_identifierstringSlug used in URLs of the entity.
image_urlstringURL of the image of the entity.
is_ui_filterbooleanThis property is used to mark an entity as a filter for the frontend
visibility_typestringType of visibility of the entity.
arslistarray<AccessRightStorage12>Access rights list that controls the visibility.
Show fields (12)
idintegerPrimary key of the access right entry. Internal ID.
userUser55User who gets the access right. Only set for user-specific rights.
access_tagAccessTagAccess tag the right applies to. Only set for rights on a tag.
create_mainbooleanCreate permission for main records of the access tag.
edit_mainbooleanEdit permission for main records of the access tag.
read_mainbooleanRead permission for main records of the access tag.
create_childbooleanCreate permission for child records (for example items inside a main record).
edit_childbooleanEdit permission for child records (for example items inside a main record).
read_childbooleanRead permission for child records (for example items inside a main record).
createdstring (date-time)Point in time the entity was created.
updatedstring (date-time)Point in time the entity was last updated.
deletedbooleanThis property is used to mark an entity as deleted / archived
curl --request DELETE \
--url https://your-instance.iw-erp.de/api/media/feedback_board/42 \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'DELETE', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://your-instance.iw-erp.de/api/media/feedback_board/42', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://your-instance.iw-erp.de/api/media/feedback_board/42"
headers = {"x-iw-jwt-token": "<TOKEN>"}
response = requests.delete(url, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('DELETE', 'https://your-instance.iw-erp.de/api/media/feedback_board/42', [
'headers' => [
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Delete,
RequestUri = new Uri("https://your-instance.iw-erp.de/api/media/feedback_board/42"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://your-instance.iw-erp.de/api/media/feedback_board/42")
.delete(null)
.addHeader("x-iw-jwt-token", "<TOKEN>")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://your-instance.iw-erp.de/api/media/feedback_board/42"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart with the iw_erp_api package
import 'package:iw_erp_api/clients/media_feedback_board_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
IwApiState().host = 'your-instance.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await MediaFeedbackBoardController.delete('42');
if (result.success) {
print(result.data);
}{
"id": 42,
"name": "Beispiel",
"public_title": "Beispiel",
"public_description": "Text",
"image_url": "https://vynst.de",
"is_public": true,
"public_key": "string",
"sort_order": 1,
"allow_new_entries": true,
"allow_voting": true
}