Feedback Roadmap
Returns the roadmap timeline, ordered by status group and target date.
GET/api/media/feedback_roadmap_item
Query parameters
statusstring | Requires access right: PUBLIC, LOGGED_IN, SCOPE |
targetDatestring | Requires access right: PUBLIC, LOGGED_IN, SCOPE |
releasedAtstring | 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 |
titlestring | |
visibilityTypestring | |
startDatestring | |
releaseVersionstring | |
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 the roadmap timelinearray<MediaFeedbackRoadmapItem>
Show fields (22)
timeline_orderintegerPosition of this item's status group on the timeline. Unknown statuses sort last instead of silently landing in the first group.
display_targetstringWhat the timeline should print as the date of this milestone: the free-text label if one was set, otherwise the target date.
linked_entry_countintegerNumber of linked, still-visible feedback entries.
linked_vote_countintegerSummed votes of all linked entries — the demand behind this milestone.
idintegerPrimary key of the roadmap item. Internal ID.
titlestringTitle of the roadmap item.
descriptionstringDescription of the roadmap item.
statusstringStatus of the item, for example planned, in progress or released.
start_datestring (date-time)Planned start date.
target_datestring (date-time)Planned release date.
target_labelstringFree-text period ("Q3 2026") for when a concrete date should not be promised. Shown instead of targetDate when set.
released_atstring (date-time)Time the item was released.
release_versionstringVersion the item was released in.
image_urlstringURL of the image of the item.
sort_orderintegerSort order of the item.
entriesarray<MediaFeedbackEntry5>Feedback entries linked to the item.
Show fields (20)
author_namestringDisplay name of the author, honouring the pseudonymity the person chose on their social profile. Falls back to the guest name, then to a neutral label — never to an email address.
idintegerPrimary key of the feedback entry. Internal ID.
boardMediaFeedbackBoard6Feedback board the entry belongs to.
headlinestringHeadline of the feedback entry.
textstringText of the feedback entry.
feedback_typestringType of the feedback, for example idea or problem.
statusstringStatus of the feedback, for example open, planned or done.
status_notestringPublicly visible reason for the current status. A declined wish without a reason is worse than no board at all, so this is exposed to every access tier.
moderation_statusstringModeration status, for example pending or approved.
social_profileMediaSocialProfile10Author when submitted by a logged-in person. Reuses the social profile so the pseudonymity settings a person already chose apply here too.
guest_namestringName of the guest who wrote the entry.
vote_countintegerDenormalized so lists can sort by popularity without a join. Maintained by MediaFeedbackVoteHelper; MediaFeedbackRecountCommand repairs it.
comment_countintegerNumber of comments on the entry.
duplicate_ofMediaFeedbackEntry5Merge target. Set together with STATUS_DUPLICATE.
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<UnifiedCategory34>Unified categories of the entity.
visibility_typestringType of visibility of the entity.
arslistarray<AccessRightStorage14>Access rights list that controls the visibility.
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<UnifiedCategory34>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<UnifiedCategory34>Child categories.
parentUnifiedCategory34Parent 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<AccessRightStorage14>Access rights list that controls the visibility.
Show fields (12)
idintegerPrimary key of the access right entry. Internal ID.
userUser57User 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_roadmap_item \
--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_roadmap_item', 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_roadmap_item"
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_roadmap_item', [
'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_roadmap_item"),
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_roadmap_item")
.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_roadmap_item"
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_roadmap_item_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 MediaFeedbackRoadmapItemController.getAll();
if (result.success) {
print(result.data);
}[
{
"id": 42,
"title": "Beispiel",
"description": "Text",
"image_url": "https://vynst.de",
"timeline_order": 1,
"display_target": "string",
"linked_entry_count": 1,
"linked_vote_count": 1,
"status": "string",
"start_date": "2026-10-15T09:30:00+02:00"
}
]Creates a roadmap milestone.
POST/api/media/feedback_roadmap_item
Request body application/json
dataMediaFeedbackRoadmapItem2Show fields (12)
titlestringTitle of the roadmap item.
descriptionstringDescription of the roadmap item.
statusstringStatus of the item, for example planned, in progress or released.
start_datestring (date-time)Planned start date.
target_datestring (date-time)Planned release date.
target_labelstringFree-text period ("Q3 2026") for when a concrete date should not be promised. Shown instead of targetDate when set.
released_atstring (date-time)Time the item was released.
release_versionstringVersion the item was released in.
image_urlstringURL of the image of the item.
sort_orderintegerSort order of the item.
deletedbooleanThis property is used to mark an entity as deleted / archived
ucatsarray<UnifiedCategory11>Unified categories of the entity.
Responses
200Add a new MediaFeedbackRoadmapItemMediaFeedbackRoadmapItem
Show fields (22)
timeline_orderintegerPosition of this item's status group on the timeline. Unknown statuses sort last instead of silently landing in the first group.
display_targetstringWhat the timeline should print as the date of this milestone: the free-text label if one was set, otherwise the target date.
linked_entry_countintegerNumber of linked, still-visible feedback entries.
linked_vote_countintegerSummed votes of all linked entries — the demand behind this milestone.
idintegerPrimary key of the roadmap item. Internal ID.
titlestringTitle of the roadmap item.
descriptionstringDescription of the roadmap item.
statusstringStatus of the item, for example planned, in progress or released.
start_datestring (date-time)Planned start date.
target_datestring (date-time)Planned release date.
target_labelstringFree-text period ("Q3 2026") for when a concrete date should not be promised. Shown instead of targetDate when set.
released_atstring (date-time)Time the item was released.
release_versionstringVersion the item was released in.
image_urlstringURL of the image of the item.
sort_orderintegerSort order of the item.
entriesarray<MediaFeedbackEntry5>Feedback entries linked to the item.
Show fields (20)
author_namestringDisplay name of the author, honouring the pseudonymity the person chose on their social profile. Falls back to the guest name, then to a neutral label — never to an email address.
idintegerPrimary key of the feedback entry. Internal ID.
boardMediaFeedbackBoard6Feedback board the entry belongs to.
headlinestringHeadline of the feedback entry.
textstringText of the feedback entry.
feedback_typestringType of the feedback, for example idea or problem.
statusstringStatus of the feedback, for example open, planned or done.
status_notestringPublicly visible reason for the current status. A declined wish without a reason is worse than no board at all, so this is exposed to every access tier.
moderation_statusstringModeration status, for example pending or approved.
social_profileMediaSocialProfile10Author when submitted by a logged-in person. Reuses the social profile so the pseudonymity settings a person already chose apply here too.
guest_namestringName of the guest who wrote the entry.
vote_countintegerDenormalized so lists can sort by popularity without a join. Maintained by MediaFeedbackVoteHelper; MediaFeedbackRecountCommand repairs it.
comment_countintegerNumber of comments on the entry.
duplicate_ofMediaFeedbackEntry5Merge target. Set together with STATUS_DUPLICATE.
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<UnifiedCategory34>Unified categories of the entity.
visibility_typestringType of visibility of the entity.
arslistarray<AccessRightStorage14>Access rights list that controls the visibility.
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<UnifiedCategory34>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<UnifiedCategory34>Child categories.
parentUnifiedCategory34Parent 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<AccessRightStorage14>Access rights list that controls the visibility.
Show fields (12)
idintegerPrimary key of the access right entry. Internal ID.
userUser57User 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_roadmap_item \
--header 'content-type: application/json' \
--header 'x-iw-jwt-token: <TOKEN>' \
--data '
{
"data": {
"title": "Beispiel",
"description": "Text",
"image_url": "https://vynst.de",
"status": "string",
"start_date": "2026-10-15T09:30:00+02:00",
"target_date": "2026-10-15T09:30:00+02:00"
}
}
'const options = {
method: 'POST',
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: JSON.stringify({
data: {
title: 'Beispiel',
description: 'Text',
image_url: 'https://vynst.de',
status: 'string',
start_date: '2026-10-15T09:30:00+02:00',
target_date: '2026-10-15T09:30:00+02:00'
}
})
};
fetch('https://your-instance.iw-erp.de/api/media/feedback_roadmap_item', 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_roadmap_item"
payload = { "data": {
"title": "Beispiel",
"description": "Text",
"image_url": "https://vynst.de",
"status": "string",
"start_date": "2026-10-15T09:30:00+02:00",
"target_date": "2026-10-15T09:30:00+02:00"
} }
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_roadmap_item', [
'body' => '{"data":{"title":"Beispiel","description":"Text","image_url":"https://vynst.de","status":"string","start_date":"2026-10-15T09:30:00+02:00","target_date":"2026-10-15T09:30:00+02:00"}}',
'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_roadmap_item"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
Content = new StringContent("{\"data\":{\"title\":\"Beispiel\",\"description\":\"Text\",\"image_url\":\"https://vynst.de\",\"status\":\"string\",\"start_date\":\"2026-10-15T09:30:00+02:00\",\"target_date\":\"2026-10-15T09:30:00+02:00\"}}")
{
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\":{\"title\":\"Beispiel\",\"description\":\"Text\",\"image_url\":\"https://vynst.de\",\"status\":\"string\",\"start_date\":\"2026-10-15T09:30:00+02:00\",\"target_date\":\"2026-10-15T09:30:00+02:00\"}}");
Request request = new Request.Builder()
.url("https://your-instance.iw-erp.de/api/media/feedback_roadmap_item")
.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_roadmap_item"
payload := strings.NewReader("{\"data\":{\"title\":\"Beispiel\",\"description\":\"Text\",\"image_url\":\"https://vynst.de\",\"status\":\"string\",\"start_date\":\"2026-10-15T09:30:00+02:00\",\"target_date\":\"2026-10-15T09:30:00+02:00\"}}")
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_roadmap_item_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
import 'package:iw_erp_api/model/media_feedback_roadmap_item.dart';
IwApiState().host = 'your-instance.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await MediaFeedbackRoadmapItemController.post(MediaFeedbackRoadmapItem.fromJson({
"title": "Beispiel",
"description": "Text",
"image_url": "https://vynst.de",
"status": "string",
"start_date": "2026-10-15T09:30:00+02:00",
"target_date": "2026-10-15T09:30:00+02:00"
}));
if (result.success) {
print(result.data);
}{
"id": 42,
"title": "Beispiel",
"description": "Text",
"image_url": "https://vynst.de",
"timeline_order": 1,
"display_target": "string",
"linked_entry_count": 1,
"linked_vote_count": 1,
"status": "string",
"start_date": "2026-10-15T09:30:00+02:00"
}Returns a single roadmap milestone.
GET/api/media/feedback_roadmap_item/{identifier}
Path parameters
identifierrequiredstring |
Responses
200Returns a single MediaFeedbackRoadmapItemMediaFeedbackRoadmapItem
Show fields (22)
timeline_orderintegerPosition of this item's status group on the timeline. Unknown statuses sort last instead of silently landing in the first group.
display_targetstringWhat the timeline should print as the date of this milestone: the free-text label if one was set, otherwise the target date.
linked_entry_countintegerNumber of linked, still-visible feedback entries.
linked_vote_countintegerSummed votes of all linked entries — the demand behind this milestone.
idintegerPrimary key of the roadmap item. Internal ID.
titlestringTitle of the roadmap item.
descriptionstringDescription of the roadmap item.
statusstringStatus of the item, for example planned, in progress or released.
start_datestring (date-time)Planned start date.
target_datestring (date-time)Planned release date.
target_labelstringFree-text period ("Q3 2026") for when a concrete date should not be promised. Shown instead of targetDate when set.
released_atstring (date-time)Time the item was released.
release_versionstringVersion the item was released in.
image_urlstringURL of the image of the item.
sort_orderintegerSort order of the item.
entriesarray<MediaFeedbackEntry5>Feedback entries linked to the item.
Show fields (20)
author_namestringDisplay name of the author, honouring the pseudonymity the person chose on their social profile. Falls back to the guest name, then to a neutral label — never to an email address.
idintegerPrimary key of the feedback entry. Internal ID.
boardMediaFeedbackBoard6Feedback board the entry belongs to.
headlinestringHeadline of the feedback entry.
textstringText of the feedback entry.
feedback_typestringType of the feedback, for example idea or problem.
statusstringStatus of the feedback, for example open, planned or done.
status_notestringPublicly visible reason for the current status. A declined wish without a reason is worse than no board at all, so this is exposed to every access tier.
moderation_statusstringModeration status, for example pending or approved.
social_profileMediaSocialProfile10Author when submitted by a logged-in person. Reuses the social profile so the pseudonymity settings a person already chose apply here too.
guest_namestringName of the guest who wrote the entry.
vote_countintegerDenormalized so lists can sort by popularity without a join. Maintained by MediaFeedbackVoteHelper; MediaFeedbackRecountCommand repairs it.
comment_countintegerNumber of comments on the entry.
duplicate_ofMediaFeedbackEntry5Merge target. Set together with STATUS_DUPLICATE.
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<UnifiedCategory34>Unified categories of the entity.
visibility_typestringType of visibility of the entity.
arslistarray<AccessRightStorage14>Access rights list that controls the visibility.
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<UnifiedCategory34>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<UnifiedCategory34>Child categories.
parentUnifiedCategory34Parent 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<AccessRightStorage14>Access rights list that controls the visibility.
Show fields (12)
idintegerPrimary key of the access right entry. Internal ID.
userUser57User 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_roadmap_item/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_roadmap_item/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_roadmap_item/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_roadmap_item/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_roadmap_item/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_roadmap_item/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_roadmap_item/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_roadmap_item_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 MediaFeedbackRoadmapItemController.get('42');
if (result.success) {
print(result.data);
}{
"id": 42,
"title": "Beispiel",
"description": "Text",
"image_url": "https://vynst.de",
"timeline_order": 1,
"display_target": "string",
"linked_entry_count": 1,
"linked_vote_count": 1,
"status": "string",
"start_date": "2026-10-15T09:30:00+02:00"
}Updates a roadmap milestone.
PUT/api/media/feedback_roadmap_item/{identifier}
Setting the status to done stamps releasedAt if it is still empty, so "shipped" and "when" cannot drift apart through a forgotten field.
Path parameters
identifierrequiredstring |
Request body application/json
dataMediaFeedbackRoadmapItem2Show fields (12)
titlestringTitle of the roadmap item.
descriptionstringDescription of the roadmap item.
statusstringStatus of the item, for example planned, in progress or released.
start_datestring (date-time)Planned start date.
target_datestring (date-time)Planned release date.
target_labelstringFree-text period ("Q3 2026") for when a concrete date should not be promised. Shown instead of targetDate when set.
released_atstring (date-time)Time the item was released.
release_versionstringVersion the item was released in.
image_urlstringURL of the image of the item.
sort_orderintegerSort order of the item.
deletedbooleanThis property is used to mark an entity as deleted / archived
ucatsarray<UnifiedCategory11>Unified categories of the entity.
Responses
200Update a MediaFeedbackRoadmapItemMediaFeedbackRoadmapItem
Show fields (22)
timeline_orderintegerPosition of this item's status group on the timeline. Unknown statuses sort last instead of silently landing in the first group.
display_targetstringWhat the timeline should print as the date of this milestone: the free-text label if one was set, otherwise the target date.
linked_entry_countintegerNumber of linked, still-visible feedback entries.
linked_vote_countintegerSummed votes of all linked entries — the demand behind this milestone.
idintegerPrimary key of the roadmap item. Internal ID.
titlestringTitle of the roadmap item.
descriptionstringDescription of the roadmap item.
statusstringStatus of the item, for example planned, in progress or released.
start_datestring (date-time)Planned start date.
target_datestring (date-time)Planned release date.
target_labelstringFree-text period ("Q3 2026") for when a concrete date should not be promised. Shown instead of targetDate when set.
released_atstring (date-time)Time the item was released.
release_versionstringVersion the item was released in.
image_urlstringURL of the image of the item.
sort_orderintegerSort order of the item.
entriesarray<MediaFeedbackEntry5>Feedback entries linked to the item.
Show fields (20)
author_namestringDisplay name of the author, honouring the pseudonymity the person chose on their social profile. Falls back to the guest name, then to a neutral label — never to an email address.
idintegerPrimary key of the feedback entry. Internal ID.
boardMediaFeedbackBoard6Feedback board the entry belongs to.
headlinestringHeadline of the feedback entry.
textstringText of the feedback entry.
feedback_typestringType of the feedback, for example idea or problem.
statusstringStatus of the feedback, for example open, planned or done.
status_notestringPublicly visible reason for the current status. A declined wish without a reason is worse than no board at all, so this is exposed to every access tier.
moderation_statusstringModeration status, for example pending or approved.
social_profileMediaSocialProfile10Author when submitted by a logged-in person. Reuses the social profile so the pseudonymity settings a person already chose apply here too.
guest_namestringName of the guest who wrote the entry.
vote_countintegerDenormalized so lists can sort by popularity without a join. Maintained by MediaFeedbackVoteHelper; MediaFeedbackRecountCommand repairs it.
comment_countintegerNumber of comments on the entry.
duplicate_ofMediaFeedbackEntry5Merge target. Set together with STATUS_DUPLICATE.
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<UnifiedCategory34>Unified categories of the entity.
visibility_typestringType of visibility of the entity.
arslistarray<AccessRightStorage14>Access rights list that controls the visibility.
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<UnifiedCategory34>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<UnifiedCategory34>Child categories.
parentUnifiedCategory34Parent 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<AccessRightStorage14>Access rights list that controls the visibility.
Show fields (12)
idintegerPrimary key of the access right entry. Internal ID.
userUser57User 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_roadmap_item/42 \
--header 'content-type: application/json' \
--header 'x-iw-jwt-token: <TOKEN>' \
--data '
{
"data": {
"title": "Beispiel",
"description": "Text",
"image_url": "https://vynst.de",
"status": "string",
"start_date": "2026-10-15T09:30:00+02:00",
"target_date": "2026-10-15T09:30:00+02:00"
}
}
'const options = {
method: 'PUT',
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: JSON.stringify({
data: {
title: 'Beispiel',
description: 'Text',
image_url: 'https://vynst.de',
status: 'string',
start_date: '2026-10-15T09:30:00+02:00',
target_date: '2026-10-15T09:30:00+02:00'
}
})
};
fetch('https://your-instance.iw-erp.de/api/media/feedback_roadmap_item/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_roadmap_item/42"
payload = { "data": {
"title": "Beispiel",
"description": "Text",
"image_url": "https://vynst.de",
"status": "string",
"start_date": "2026-10-15T09:30:00+02:00",
"target_date": "2026-10-15T09:30:00+02:00"
} }
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_roadmap_item/42', [
'body' => '{"data":{"title":"Beispiel","description":"Text","image_url":"https://vynst.de","status":"string","start_date":"2026-10-15T09:30:00+02:00","target_date":"2026-10-15T09:30:00+02:00"}}',
'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_roadmap_item/42"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
Content = new StringContent("{\"data\":{\"title\":\"Beispiel\",\"description\":\"Text\",\"image_url\":\"https://vynst.de\",\"status\":\"string\",\"start_date\":\"2026-10-15T09:30:00+02:00\",\"target_date\":\"2026-10-15T09:30:00+02:00\"}}")
{
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\":{\"title\":\"Beispiel\",\"description\":\"Text\",\"image_url\":\"https://vynst.de\",\"status\":\"string\",\"start_date\":\"2026-10-15T09:30:00+02:00\",\"target_date\":\"2026-10-15T09:30:00+02:00\"}}");
Request request = new Request.Builder()
.url("https://your-instance.iw-erp.de/api/media/feedback_roadmap_item/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_roadmap_item/42"
payload := strings.NewReader("{\"data\":{\"title\":\"Beispiel\",\"description\":\"Text\",\"image_url\":\"https://vynst.de\",\"status\":\"string\",\"start_date\":\"2026-10-15T09:30:00+02:00\",\"target_date\":\"2026-10-15T09:30:00+02:00\"}}")
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_roadmap_item/42'),
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: jsonEncode({
"data": {
"title": "Beispiel",
"description": "Text",
"image_url": "https://vynst.de",
"status": "string",
"start_date": "2026-10-15T09:30:00+02:00",
"target_date": "2026-10-15T09:30:00+02:00"
}
}),
);
print(response.body);{
"id": 42,
"title": "Beispiel",
"description": "Text",
"image_url": "https://vynst.de",
"timeline_order": 1,
"display_target": "string",
"linked_entry_count": 1,
"linked_vote_count": 1,
"status": "string",
"start_date": "2026-10-15T09:30:00+02:00"
}Updates a roadmap milestone.
PATCH/api/media/feedback_roadmap_item/{identifier}
Setting the status to done stamps releasedAt if it is still empty, so "shipped" and "when" cannot drift apart through a forgotten field.
Path parameters
identifierrequiredstring |
Request body application/json
dataMediaFeedbackRoadmapItem2Show fields (12)
titlestringTitle of the roadmap item.
descriptionstringDescription of the roadmap item.
statusstringStatus of the item, for example planned, in progress or released.
start_datestring (date-time)Planned start date.
target_datestring (date-time)Planned release date.
target_labelstringFree-text period ("Q3 2026") for when a concrete date should not be promised. Shown instead of targetDate when set.
released_atstring (date-time)Time the item was released.
release_versionstringVersion the item was released in.
image_urlstringURL of the image of the item.
sort_orderintegerSort order of the item.
deletedbooleanThis property is used to mark an entity as deleted / archived
ucatsarray<UnifiedCategory11>Unified categories of the entity.
Responses
200Update a MediaFeedbackRoadmapItemMediaFeedbackRoadmapItem
Show fields (22)
timeline_orderintegerPosition of this item's status group on the timeline. Unknown statuses sort last instead of silently landing in the first group.
display_targetstringWhat the timeline should print as the date of this milestone: the free-text label if one was set, otherwise the target date.
linked_entry_countintegerNumber of linked, still-visible feedback entries.
linked_vote_countintegerSummed votes of all linked entries — the demand behind this milestone.
idintegerPrimary key of the roadmap item. Internal ID.
titlestringTitle of the roadmap item.
descriptionstringDescription of the roadmap item.
statusstringStatus of the item, for example planned, in progress or released.
start_datestring (date-time)Planned start date.
target_datestring (date-time)Planned release date.
target_labelstringFree-text period ("Q3 2026") for when a concrete date should not be promised. Shown instead of targetDate when set.
released_atstring (date-time)Time the item was released.
release_versionstringVersion the item was released in.
image_urlstringURL of the image of the item.
sort_orderintegerSort order of the item.
entriesarray<MediaFeedbackEntry5>Feedback entries linked to the item.
Show fields (20)
author_namestringDisplay name of the author, honouring the pseudonymity the person chose on their social profile. Falls back to the guest name, then to a neutral label — never to an email address.
idintegerPrimary key of the feedback entry. Internal ID.
boardMediaFeedbackBoard6Feedback board the entry belongs to.
headlinestringHeadline of the feedback entry.
textstringText of the feedback entry.
feedback_typestringType of the feedback, for example idea or problem.
statusstringStatus of the feedback, for example open, planned or done.
status_notestringPublicly visible reason for the current status. A declined wish without a reason is worse than no board at all, so this is exposed to every access tier.
moderation_statusstringModeration status, for example pending or approved.
social_profileMediaSocialProfile10Author when submitted by a logged-in person. Reuses the social profile so the pseudonymity settings a person already chose apply here too.
guest_namestringName of the guest who wrote the entry.
vote_countintegerDenormalized so lists can sort by popularity without a join. Maintained by MediaFeedbackVoteHelper; MediaFeedbackRecountCommand repairs it.
comment_countintegerNumber of comments on the entry.
duplicate_ofMediaFeedbackEntry5Merge target. Set together with STATUS_DUPLICATE.
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<UnifiedCategory34>Unified categories of the entity.
visibility_typestringType of visibility of the entity.
arslistarray<AccessRightStorage14>Access rights list that controls the visibility.
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<UnifiedCategory34>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<UnifiedCategory34>Child categories.
parentUnifiedCategory34Parent 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<AccessRightStorage14>Access rights list that controls the visibility.
Show fields (12)
idintegerPrimary key of the access right entry. Internal ID.
userUser57User 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_roadmap_item/42 \
--header 'content-type: application/json' \
--header 'x-iw-jwt-token: <TOKEN>' \
--data '
{
"data": {
"title": "Beispiel",
"description": "Text",
"image_url": "https://vynst.de",
"status": "string",
"start_date": "2026-10-15T09:30:00+02:00",
"target_date": "2026-10-15T09:30:00+02:00"
}
}
'const options = {
method: 'PATCH',
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: JSON.stringify({
data: {
title: 'Beispiel',
description: 'Text',
image_url: 'https://vynst.de',
status: 'string',
start_date: '2026-10-15T09:30:00+02:00',
target_date: '2026-10-15T09:30:00+02:00'
}
})
};
fetch('https://your-instance.iw-erp.de/api/media/feedback_roadmap_item/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_roadmap_item/42"
payload = { "data": {
"title": "Beispiel",
"description": "Text",
"image_url": "https://vynst.de",
"status": "string",
"start_date": "2026-10-15T09:30:00+02:00",
"target_date": "2026-10-15T09:30:00+02:00"
} }
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_roadmap_item/42', [
'body' => '{"data":{"title":"Beispiel","description":"Text","image_url":"https://vynst.de","status":"string","start_date":"2026-10-15T09:30:00+02:00","target_date":"2026-10-15T09:30:00+02:00"}}',
'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_roadmap_item/42"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
Content = new StringContent("{\"data\":{\"title\":\"Beispiel\",\"description\":\"Text\",\"image_url\":\"https://vynst.de\",\"status\":\"string\",\"start_date\":\"2026-10-15T09:30:00+02:00\",\"target_date\":\"2026-10-15T09:30:00+02:00\"}}")
{
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\":{\"title\":\"Beispiel\",\"description\":\"Text\",\"image_url\":\"https://vynst.de\",\"status\":\"string\",\"start_date\":\"2026-10-15T09:30:00+02:00\",\"target_date\":\"2026-10-15T09:30:00+02:00\"}}");
Request request = new Request.Builder()
.url("https://your-instance.iw-erp.de/api/media/feedback_roadmap_item/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_roadmap_item/42"
payload := strings.NewReader("{\"data\":{\"title\":\"Beispiel\",\"description\":\"Text\",\"image_url\":\"https://vynst.de\",\"status\":\"string\",\"start_date\":\"2026-10-15T09:30:00+02:00\",\"target_date\":\"2026-10-15T09:30:00+02:00\"}}")
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_roadmap_item/42'),
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: jsonEncode({
"data": {
"title": "Beispiel",
"description": "Text",
"image_url": "https://vynst.de",
"status": "string",
"start_date": "2026-10-15T09:30:00+02:00",
"target_date": "2026-10-15T09:30:00+02:00"
}
}),
);
print(response.body);{
"id": 42,
"title": "Beispiel",
"description": "Text",
"image_url": "https://vynst.de",
"timeline_order": 1,
"display_target": "string",
"linked_entry_count": 1,
"linked_vote_count": 1,
"status": "string",
"start_date": "2026-10-15T09:30:00+02:00"
}Soft-deletes a roadmap milestone.
DELETE/api/media/feedback_roadmap_item/{identifier}
Path parameters
identifierrequiredstring |
Responses
200Delete a MediaFeedbackRoadmapItemMediaFeedbackRoadmapItem
Show fields (22)
timeline_orderintegerPosition of this item's status group on the timeline. Unknown statuses sort last instead of silently landing in the first group.
display_targetstringWhat the timeline should print as the date of this milestone: the free-text label if one was set, otherwise the target date.
linked_entry_countintegerNumber of linked, still-visible feedback entries.
linked_vote_countintegerSummed votes of all linked entries — the demand behind this milestone.
idintegerPrimary key of the roadmap item. Internal ID.
titlestringTitle of the roadmap item.
descriptionstringDescription of the roadmap item.
statusstringStatus of the item, for example planned, in progress or released.
start_datestring (date-time)Planned start date.
target_datestring (date-time)Planned release date.
target_labelstringFree-text period ("Q3 2026") for when a concrete date should not be promised. Shown instead of targetDate when set.
released_atstring (date-time)Time the item was released.
release_versionstringVersion the item was released in.
image_urlstringURL of the image of the item.
sort_orderintegerSort order of the item.
entriesarray<MediaFeedbackEntry5>Feedback entries linked to the item.
Show fields (20)
author_namestringDisplay name of the author, honouring the pseudonymity the person chose on their social profile. Falls back to the guest name, then to a neutral label — never to an email address.
idintegerPrimary key of the feedback entry. Internal ID.
boardMediaFeedbackBoard6Feedback board the entry belongs to.
headlinestringHeadline of the feedback entry.
textstringText of the feedback entry.
feedback_typestringType of the feedback, for example idea or problem.
statusstringStatus of the feedback, for example open, planned or done.
status_notestringPublicly visible reason for the current status. A declined wish without a reason is worse than no board at all, so this is exposed to every access tier.
moderation_statusstringModeration status, for example pending or approved.
social_profileMediaSocialProfile10Author when submitted by a logged-in person. Reuses the social profile so the pseudonymity settings a person already chose apply here too.
guest_namestringName of the guest who wrote the entry.
vote_countintegerDenormalized so lists can sort by popularity without a join. Maintained by MediaFeedbackVoteHelper; MediaFeedbackRecountCommand repairs it.
comment_countintegerNumber of comments on the entry.
duplicate_ofMediaFeedbackEntry5Merge target. Set together with STATUS_DUPLICATE.
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<UnifiedCategory34>Unified categories of the entity.
visibility_typestringType of visibility of the entity.
arslistarray<AccessRightStorage14>Access rights list that controls the visibility.
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<UnifiedCategory34>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<UnifiedCategory34>Child categories.
parentUnifiedCategory34Parent 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<AccessRightStorage14>Access rights list that controls the visibility.
Show fields (12)
idintegerPrimary key of the access right entry. Internal ID.
userUser57User 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_roadmap_item/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_roadmap_item/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_roadmap_item/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_roadmap_item/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_roadmap_item/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_roadmap_item/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_roadmap_item/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_roadmap_item_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 MediaFeedbackRoadmapItemController.delete('42');
if (result.success) {
print(result.data);
}{
"id": 42,
"title": "Beispiel",
"description": "Text",
"image_url": "https://vynst.de",
"timeline_order": 1,
"display_target": "string",
"linked_entry_count": 1,
"linked_vote_count": 1,
"status": "string",
"start_date": "2026-10-15T09:30:00+02:00"
}Marks every entry linked to this milestone as complete.
PUT/api/media/feedback_roadmap_item/{identifier}/complete_entries
Deliberately a separate, explicit call rather than a side effect of setting the milestone to done: it notifies every author and writes public history, and that is not something a status edit should trigger by surprise.
Path parameters
identifierrequiredstring |
Query parameters
statusNotestring | Publicly visible note applied to every linked entry |
Responses
200Complete all entries linked to a roadmap itemMediaFeedbackRoadmapItem
Show fields (22)
timeline_orderintegerPosition of this item's status group on the timeline. Unknown statuses sort last instead of silently landing in the first group.
display_targetstringWhat the timeline should print as the date of this milestone: the free-text label if one was set, otherwise the target date.
linked_entry_countintegerNumber of linked, still-visible feedback entries.
linked_vote_countintegerSummed votes of all linked entries — the demand behind this milestone.
idintegerPrimary key of the roadmap item. Internal ID.
titlestringTitle of the roadmap item.
descriptionstringDescription of the roadmap item.
statusstringStatus of the item, for example planned, in progress or released.
start_datestring (date-time)Planned start date.
target_datestring (date-time)Planned release date.
target_labelstringFree-text period ("Q3 2026") for when a concrete date should not be promised. Shown instead of targetDate when set.
released_atstring (date-time)Time the item was released.
release_versionstringVersion the item was released in.
image_urlstringURL of the image of the item.
sort_orderintegerSort order of the item.
entriesarray<MediaFeedbackEntry5>Feedback entries linked to the item.
Show fields (20)
author_namestringDisplay name of the author, honouring the pseudonymity the person chose on their social profile. Falls back to the guest name, then to a neutral label — never to an email address.
idintegerPrimary key of the feedback entry. Internal ID.
boardMediaFeedbackBoard6Feedback board the entry belongs to.
headlinestringHeadline of the feedback entry.
textstringText of the feedback entry.
feedback_typestringType of the feedback, for example idea or problem.
statusstringStatus of the feedback, for example open, planned or done.
status_notestringPublicly visible reason for the current status. A declined wish without a reason is worse than no board at all, so this is exposed to every access tier.
moderation_statusstringModeration status, for example pending or approved.
social_profileMediaSocialProfile10Author when submitted by a logged-in person. Reuses the social profile so the pseudonymity settings a person already chose apply here too.
guest_namestringName of the guest who wrote the entry.
vote_countintegerDenormalized so lists can sort by popularity without a join. Maintained by MediaFeedbackVoteHelper; MediaFeedbackRecountCommand repairs it.
comment_countintegerNumber of comments on the entry.
duplicate_ofMediaFeedbackEntry5Merge target. Set together with STATUS_DUPLICATE.
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<UnifiedCategory34>Unified categories of the entity.
visibility_typestringType of visibility of the entity.
arslistarray<AccessRightStorage14>Access rights list that controls the visibility.
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<UnifiedCategory34>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<UnifiedCategory34>Child categories.
parentUnifiedCategory34Parent 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<AccessRightStorage14>Access rights list that controls the visibility.
Show fields (12)
idintegerPrimary key of the access right entry. Internal ID.
userUser57User 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_roadmap_item/42/complete_entries \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'PUT', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://your-instance.iw-erp.de/api/media/feedback_roadmap_item/42/complete_entries', 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_roadmap_item/42/complete_entries"
headers = {"x-iw-jwt-token": "<TOKEN>"}
response = requests.put(url, 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_roadmap_item/42/complete_entries', [
'headers' => [
'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_roadmap_item/42/complete_entries"),
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_roadmap_item/42/complete_entries")
.put(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_roadmap_item/42/complete_entries"
req, _ := http.NewRequest("PUT", 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_roadmap_item_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 MediaFeedbackRoadmapItemController.completeLinkedEntries('42');
if (result.success) {
print(result.data);
}{
"id": 42,
"title": "Beispiel",
"description": "Text",
"image_url": "https://vynst.de",
"timeline_order": 1,
"display_target": "string",
"linked_entry_count": 1,
"linked_vote_count": 1,
"status": "string",
"start_date": "2026-10-15T09:30:00+02:00"
}Marks every entry linked to this milestone as complete.
PATCH/api/media/feedback_roadmap_item/{identifier}/complete_entries
Deliberately a separate, explicit call rather than a side effect of setting the milestone to done: it notifies every author and writes public history, and that is not something a status edit should trigger by surprise.
Path parameters
identifierrequiredstring |
Query parameters
statusNotestring | Publicly visible note applied to every linked entry |
Responses
200Complete all entries linked to a roadmap itemMediaFeedbackRoadmapItem
Show fields (22)
timeline_orderintegerPosition of this item's status group on the timeline. Unknown statuses sort last instead of silently landing in the first group.
display_targetstringWhat the timeline should print as the date of this milestone: the free-text label if one was set, otherwise the target date.
linked_entry_countintegerNumber of linked, still-visible feedback entries.
linked_vote_countintegerSummed votes of all linked entries — the demand behind this milestone.
idintegerPrimary key of the roadmap item. Internal ID.
titlestringTitle of the roadmap item.
descriptionstringDescription of the roadmap item.
statusstringStatus of the item, for example planned, in progress or released.
start_datestring (date-time)Planned start date.
target_datestring (date-time)Planned release date.
target_labelstringFree-text period ("Q3 2026") for when a concrete date should not be promised. Shown instead of targetDate when set.
released_atstring (date-time)Time the item was released.
release_versionstringVersion the item was released in.
image_urlstringURL of the image of the item.
sort_orderintegerSort order of the item.
entriesarray<MediaFeedbackEntry5>Feedback entries linked to the item.
Show fields (20)
author_namestringDisplay name of the author, honouring the pseudonymity the person chose on their social profile. Falls back to the guest name, then to a neutral label — never to an email address.
idintegerPrimary key of the feedback entry. Internal ID.
boardMediaFeedbackBoard6Feedback board the entry belongs to.
headlinestringHeadline of the feedback entry.
textstringText of the feedback entry.
feedback_typestringType of the feedback, for example idea or problem.
statusstringStatus of the feedback, for example open, planned or done.
status_notestringPublicly visible reason for the current status. A declined wish without a reason is worse than no board at all, so this is exposed to every access tier.
moderation_statusstringModeration status, for example pending or approved.
social_profileMediaSocialProfile10Author when submitted by a logged-in person. Reuses the social profile so the pseudonymity settings a person already chose apply here too.
guest_namestringName of the guest who wrote the entry.
vote_countintegerDenormalized so lists can sort by popularity without a join. Maintained by MediaFeedbackVoteHelper; MediaFeedbackRecountCommand repairs it.
comment_countintegerNumber of comments on the entry.
duplicate_ofMediaFeedbackEntry5Merge target. Set together with STATUS_DUPLICATE.
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<UnifiedCategory34>Unified categories of the entity.
visibility_typestringType of visibility of the entity.
arslistarray<AccessRightStorage14>Access rights list that controls the visibility.
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<UnifiedCategory34>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<UnifiedCategory34>Child categories.
parentUnifiedCategory34Parent 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<AccessRightStorage14>Access rights list that controls the visibility.
Show fields (12)
idintegerPrimary key of the access right entry. Internal ID.
userUser57User 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_roadmap_item/42/complete_entries \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'PATCH', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://your-instance.iw-erp.de/api/media/feedback_roadmap_item/42/complete_entries', 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_roadmap_item/42/complete_entries"
headers = {"x-iw-jwt-token": "<TOKEN>"}
response = requests.patch(url, 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_roadmap_item/42/complete_entries', [
'headers' => [
'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_roadmap_item/42/complete_entries"),
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_roadmap_item/42/complete_entries")
.patch(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_roadmap_item/42/complete_entries"
req, _ := http.NewRequest("PATCH", 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 package:http (no controller in the iw_erp_api package)
import 'package:http/http.dart' as http;
final response = await http.patch(
Uri.parse('https://your-instance.iw-erp.de/api/media/feedback_roadmap_item/42/complete_entries'),
headers: {'x-iw-jwt-token': '<TOKEN>'},
);
print(response.body);{
"id": 42,
"title": "Beispiel",
"description": "Text",
"image_url": "https://vynst.de",
"timeline_order": 1,
"display_target": "string",
"linked_entry_count": 1,
"linked_vote_count": 1,
"status": "string",
"start_date": "2026-10-15T09:30:00+02:00"
}