Skip to content
Developer

Feedback Entries

Media18 EndpointsMedia / Feedback Entries

Returns a list of feedback entries (three-tier visibility).

GET/api/media/feedback_entry

Query parameters

headlinestringRequires access right: PUBLIC, LOGGED_IN, SCOPE
boardstringRequires access right: PUBLIC, LOGGED_IN, SCOPE
statusstringRequires access right: PUBLIC, LOGGED_IN, SCOPE
feedbackTypestringRequires access right: PUBLIC, LOGGED_IN, SCOPE
socialProfilestringAuthor when submitted by a logged-in person. Reuses the social profile so the pseudonymity settings a person already chose apply here too. | Requires access right: PUBLIC, LOGGED_IN, SCOPE
voteCountintegerDenormalized so lists can sort by popularity without a join. Maintained by MediaFeedbackVoteHelper; MediaFeedbackRecountCommand repairs it. | Requires access right: PUBLIC, LOGGED_IN, SCOPE
duplicateOfstringMerge target. Set together with STATUS_DUPLICATE. | Requires access right: PUBLIC, LOGGED_IN, SCOPE
createdstringRequires access right: PUBLIC, LOGGED_IN, SCOPE
updatedstringRequires access right: PUBLIC, LOGGED_IN, SCOPE
idinteger
deletedbooleanThis property is used to mark an entity as deleted / archived
moderationStatusstring
visibilityTypestring
commentCountinteger
internalPrioritystringScope-only.
guestEmailConfirmedboolean
searchStringstringtext to search for in the list
orderFieldNamestringname of the order field
orderFieldSortstringsorting modeAllowed: DESCASC
pageintegerpage of the list
pageSizeintegernumber of entries for each page
withMaxPageNumberstringreturns the number of pages available as a header if this is set

Responses

200Returns a list of MediaFeedbackEntry objectsarray<MediaFeedbackEntry>

Show fields (29)
  • author_namestring

    Display 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.

  • idinteger

    Primary key of the feedback entry. Internal ID.

  • boardMediaFeedbackBoard3

    Feedback board the entry belongs to.

    Show fields (21)
    • is_publicboolean

      True when the board itself may be served to callers without a session.

    • idinteger

      Primary key of the feedback board. Internal ID.

    • namestring

      Internal name, shown in the admin UI only.

    • public_titlestring

      Title of the board shown to the public.

    • public_descriptionstring

      Description of the board shown to the public.

    • public_keystring

      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.

    • image_urlstring

      URL of the image of the board.

    • sort_orderinteger

      Sort order of the board in lists.

    • allow_new_entriesboolean

      Members can create new entries.

    • allow_votingboolean

      Members can vote on entries.

    • allow_commentsboolean

      Members can comment on entries.

    • allow_guest_entriesboolean

      Guests can create new entries.

    • allow_guest_votesboolean

      Guests can vote on entries.

    • allow_guest_commentsboolean

      Guests can comment on entries.

    • moderation_requiredboolean

      Board-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.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • ucatsarray<UnifiedCategory32>

      Unified categories of the entity.

    • visibility_typestring

      Type of visibility of the entity.

    • arslistarray<AccessRightStorage13>

      Access rights list that controls the visibility.

  • headlinestring

    Headline of the feedback entry.

  • textstring

    Text of the feedback entry.

  • feedback_typestring

    Type of the feedback, for example idea or problem.

  • statusstring

    Status of the feedback, for example open, planned or done.

  • status_notestring

    Publicly 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_statusstring

    Moderation status, for example pending or approved.

  • moderation_reasonstring

    Reason for the moderation decision.

  • moderated_atstring (date-time)

    Time the entry was moderated.

  • social_profileMediaSocialProfile10

    Author when submitted by a logged-in person. Reuses the social profile so the pseudonymity settings a person already chose apply here too.

    Show fields (11)
    • idinteger

      Primary key of the social profile. Internal ID.

    • public_namestring

      Name shown publicly.

    • profile_picture_urlstring

      URL of the profile picture.

    • public_about_mestring

      Text about the person shown publicly.

    • global_profileboolean

      The profile is a global profile across installations.

    • name_display_typestring

      How the name is shown, for example full name or first name only.

    • show_profile_pictureboolean

      The profile picture is shown.

    • profile_picture_check_statusstring

      Pruefstatus des Profilbilds (KI-Pruefung, siehe MediaSocialProfilePictureHelper): null = nie geprueft (Pruefung aus), pending, approved, rejected. Nur ein freigegebenes Bild landet in profilePictureUrl, solange die Pruefung eingeschaltet ist.

    • createdstring (date-time)

      Point in time the entity was created.

    • updatedstring (date-time)

      Point in time the entity was last updated.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

  • guest_namestring

    Name of the guest who wrote the entry.

  • guest_emailstring

    Scope-only: never exposed to public or logged-in callers.

  • guest_email_confirmedboolean

    The e-mail address of the guest was confirmed.

  • consent_confirmedboolean

    GDPR: guest confirmed the consent text before submitting. Same field as EventMoment::$consentConfirmed.

  • attachmentsarray<Attachment10>

    Files attached to the entry.

    Show fields (25)
    • idinteger

      Primary key of the attachment. Internal ID.

    • filenamestring

      Original file name.

    • filesizestring

      Size of the file in bytes.

    • mimetypestring

      MIME type of the file.

    • createdbyusernamestring

      Name of the user who uploaded the file, as text.

    • createdstring (date-time)

      Point in time the attachment was created.

    • googleidstring

      ID of the file in Google Drive.

    • scopestring

      Scope that controls who can see the attachment.

    • ocr_document_typestring

      Document type recognized by OCR.

    • ocr_from_namestring

      Sender name recognized by OCR.

    • ocr_from_companystring

      Sender company recognized by OCR.

    • ocr_from_addressstring

      Sender address recognized by OCR.

    • ocr_from_emailstring

      Sender e-mail address recognized by OCR.

    • ocr_from_phonestring

      Sender phone number recognized by OCR.

    • ocr_to_namestring

      Recipient name recognized by OCR.

    • ocr_to_companystring

      Recipient company recognized by OCR.

    • ocr_to_addressstring

      Recipient address recognized by OCR.

    • ocr_to_emailstring

      Recipient e-mail address recognized by OCR.

    • ocr_to_phonestring

      Recipient phone number recognized by OCR.

    • ocr_summarystring

      Summary of the document created by OCR.

    • ocr_statusstring

      OCR processing status: null=not processed, pending, processing, done, error

    • ocr_errorstring

      Reason of the last failed or incomplete OCR run, null when it went through

    • ocr_processed_atstring (date-time)

      Point in time OCR processing finished.

    • virus_checkedboolean

      1 once the virus scan has passed for this file. The scan runs in the background (AttachmentVirusScanCommand), so a freshly uploaded file starts at 0 and stays there until it was really checked. An infected file never reaches 1 - it is deleted instead. UIs use this to decide whether a file may be handed to a user, so it must stay false until proven otherwise.

    • virus_checked_atstring (date-time)

      When the virus scan passed. Null while the file is still waiting.

  • vote_countinteger

    Denormalized so lists can sort by popularity without a join. Maintained by MediaFeedbackVoteHelper; MediaFeedbackRecountCommand repairs it.

  • comment_countinteger

    Number of comments on the entry.

  • duplicate_ofMediaFeedbackEntry

    Merge target. Set together with STATUS_DUPLICATE.

  • roadmap_itemsarray<MediaFeedbackRoadmapItem3>
    Show fields (21)
    • timeline_orderinteger

      Position of this item's status group on the timeline. Unknown statuses sort last instead of silently landing in the first group.

    • display_targetstring

      What the timeline should print as the date of this milestone: the free-text label if one was set, otherwise the target date.

    • linked_entry_countinteger

      Number of linked, still-visible feedback entries.

    • linked_vote_countinteger

      Summed votes of all linked entries — the demand behind this milestone.

    • idinteger

      Primary key of the roadmap item. Internal ID.

    • titlestring

      Title of the roadmap item.

    • descriptionstring

      Description of the roadmap item.

    • statusstring

      Status 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_labelstring

      Free-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_versionstring

      Version the item was released in.

    • image_urlstring

      URL of the image of the item.

    • sort_orderinteger

      Sort order of the item.

    • createdstring (date-time)

      Point in time the entity was created.

    • updatedstring (date-time)

      Point in time the entity was last updated.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • ucatsarray<UnifiedCategory32>

      Unified categories of the entity.

    • visibility_typestring

      Type of visibility of the entity.

    • arslistarray<AccessRightStorage13>

      Access rights list that controls the visibility.

  • internal_notestring

    Scope-only.

  • internal_priorityinteger

    Scope-only.

  • createdstring (date-time)

    Point in time the entity was created.

  • updatedstring (date-time)

    Point in time the entity was last updated.

  • deletedboolean

    This property is used to mark an entity as deleted / archived

  • ucatsarray<UnifiedCategory32>

    Unified categories of the entity.

    Show fields (32)
    • idinteger

      Primary key of the unified category. Internal ID.

    • category_typestring

      Type of the category, for example course or membership.

    • childrenarray<UnifiedCategory32>

      Child categories.

    • parentUnifiedCategory32

      Parent category.

    • view_orderinteger

      Sort order of the category in lists.

    • is_publicboolean

      The 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.

    • namestring

      Name of the entity.

    • addressstring

      Address as text.

    • address_streetstring

      Street of the address.

    • address_house_numberstring

      House number of the address.

    • address_street_levelstring

      Street and house number of the address.

    • address_costring

      Care-of line of the address.

    • address_citystring

      City of the address.

    • address_zipstring

      Postal code of the address.

    • address_admin_level1string

      First administrative level of the address, e.g. the federal state.

    • address_countrystring

      Country code of the address.

    • address_full_countrystring

      Full name of the country of the address.

    • address_geo_latstring

      Latitude of the address.

    • address_geo_lngstring

      Longitude of the address.

    • address_external_provider_idstring

      field to store the external provider id of the address. e.g. Google Maps PlaceID like google:ChIJVcKw5r90sEcRhdjNq6NItqE

    • main_phonestring

      Main phone number.

    • main_faxstring

      Main fax number.

    • main_emailstring

      Main e-mail address.

    • websitestring

      Website address.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • search_stringstring

      Text that the entity can be searched by.

    • short_identifierstring

      Short identifier of the entity.

    • slug_identifierstring

      Slug used in URLs of the entity.

    • image_urlstring

      URL of the image of the entity.

    • is_ui_filterboolean

      This property is used to mark an entity as a filter for the frontend

  • visibility_typestring

    Type of visibility of the entity.

  • arslistarray<AccessRightStorage13>

    Access rights list that controls the visibility.

    Show fields (12)
    • idinteger

      Primary key of the access right entry. Internal ID.

    • userUser56

      User who gets the access right. Only set for user-specific rights.

    • access_tagAccessTag

      Access tag the right applies to. Only set for rights on a tag.

    • create_mainboolean

      Create permission for main records of the access tag.

    • edit_mainboolean

      Edit permission for main records of the access tag.

    • read_mainboolean

      Read permission for main records of the access tag.

    • create_childboolean

      Create permission for child records (for example items inside a main record).

    • edit_childboolean

      Edit permission for child records (for example items inside a main record).

    • read_childboolean

      Read 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.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

Request
curl --request GET \
  --url https://your-instance.iw-erp.de/api/media/feedback_entry \
  --header 'x-iw-jwt-token: <TOKEN>'
Response 200 application/json
[
  {
    "author_name": "Beispiel",
    "id": 42,
    "text": "Text",
    "guest_name": "Beispiel",
    "guest_email": "lena.hartmann@example.org",
    "board": {
      "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
    },
    "headline": "string",
    "feedback_type": "string",
    "status": "string",
    "status_note": "string"
  }
]

Creates a feedback entry as an administrator.

POST/api/media/feedback_entry

Request body application/json

  • dataMediaFeedbackEntry2
    Show fields (17)
    • boardMediaFeedbackBoard2

      Feedback board the entry belongs to.

    • headlinestring

      Headline of the feedback entry.

    • textstring

      Text of the feedback entry.

    • feedback_typestring

      Type of the feedback, for example idea or problem.

    • statusstring

      Status of the feedback, for example open, planned or done.

    • status_notestring

      Publicly 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_statusstring

      Moderation status, for example pending or approved.

    • moderation_reasonstring

      Reason for the moderation decision.

    • social_profileMediaSocialProfile16

      Author when submitted by a logged-in person. Reuses the social profile so the pseudonymity settings a person already chose apply here too.

    • guest_namestring

      Name of the guest who wrote the entry.

    • attachmentsarray<Attachment12>

      Files attached to the entry.

    • duplicate_ofMediaFeedbackEntry2

      Merge target. Set together with STATUS_DUPLICATE.

    • roadmap_itemsarray<MediaFeedbackRoadmapItem2>
    • internal_notestring

      Scope-only.

    • internal_priorityinteger

      Scope-only.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • ucatsarray<UnifiedCategory11>

      Unified categories of the entity.

Responses

200Add a new MediaFeedbackEntryMediaFeedbackEntry

Show fields (29)
  • author_namestring

    Display 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.

  • idinteger

    Primary key of the feedback entry. Internal ID.

  • boardMediaFeedbackBoard3

    Feedback board the entry belongs to.

    Show fields (21)
    • is_publicboolean

      True when the board itself may be served to callers without a session.

    • idinteger

      Primary key of the feedback board. Internal ID.

    • namestring

      Internal name, shown in the admin UI only.

    • public_titlestring

      Title of the board shown to the public.

    • public_descriptionstring

      Description of the board shown to the public.

    • public_keystring

      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.

    • image_urlstring

      URL of the image of the board.

    • sort_orderinteger

      Sort order of the board in lists.

    • allow_new_entriesboolean

      Members can create new entries.

    • allow_votingboolean

      Members can vote on entries.

    • allow_commentsboolean

      Members can comment on entries.

    • allow_guest_entriesboolean

      Guests can create new entries.

    • allow_guest_votesboolean

      Guests can vote on entries.

    • allow_guest_commentsboolean

      Guests can comment on entries.

    • moderation_requiredboolean

      Board-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.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • ucatsarray<UnifiedCategory32>

      Unified categories of the entity.

    • visibility_typestring

      Type of visibility of the entity.

    • arslistarray<AccessRightStorage13>

      Access rights list that controls the visibility.

  • headlinestring

    Headline of the feedback entry.

  • textstring

    Text of the feedback entry.

  • feedback_typestring

    Type of the feedback, for example idea or problem.

  • statusstring

    Status of the feedback, for example open, planned or done.

  • status_notestring

    Publicly 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_statusstring

    Moderation status, for example pending or approved.

  • moderation_reasonstring

    Reason for the moderation decision.

  • moderated_atstring (date-time)

    Time the entry was moderated.

  • social_profileMediaSocialProfile10

    Author when submitted by a logged-in person. Reuses the social profile so the pseudonymity settings a person already chose apply here too.

    Show fields (11)
    • idinteger

      Primary key of the social profile. Internal ID.

    • public_namestring

      Name shown publicly.

    • profile_picture_urlstring

      URL of the profile picture.

    • public_about_mestring

      Text about the person shown publicly.

    • global_profileboolean

      The profile is a global profile across installations.

    • name_display_typestring

      How the name is shown, for example full name or first name only.

    • show_profile_pictureboolean

      The profile picture is shown.

    • profile_picture_check_statusstring

      Pruefstatus des Profilbilds (KI-Pruefung, siehe MediaSocialProfilePictureHelper): null = nie geprueft (Pruefung aus), pending, approved, rejected. Nur ein freigegebenes Bild landet in profilePictureUrl, solange die Pruefung eingeschaltet ist.

    • createdstring (date-time)

      Point in time the entity was created.

    • updatedstring (date-time)

      Point in time the entity was last updated.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

  • guest_namestring

    Name of the guest who wrote the entry.

  • guest_emailstring

    Scope-only: never exposed to public or logged-in callers.

  • guest_email_confirmedboolean

    The e-mail address of the guest was confirmed.

  • consent_confirmedboolean

    GDPR: guest confirmed the consent text before submitting. Same field as EventMoment::$consentConfirmed.

  • attachmentsarray<Attachment10>

    Files attached to the entry.

    Show fields (25)
    • idinteger

      Primary key of the attachment. Internal ID.

    • filenamestring

      Original file name.

    • filesizestring

      Size of the file in bytes.

    • mimetypestring

      MIME type of the file.

    • createdbyusernamestring

      Name of the user who uploaded the file, as text.

    • createdstring (date-time)

      Point in time the attachment was created.

    • googleidstring

      ID of the file in Google Drive.

    • scopestring

      Scope that controls who can see the attachment.

    • ocr_document_typestring

      Document type recognized by OCR.

    • ocr_from_namestring

      Sender name recognized by OCR.

    • ocr_from_companystring

      Sender company recognized by OCR.

    • ocr_from_addressstring

      Sender address recognized by OCR.

    • ocr_from_emailstring

      Sender e-mail address recognized by OCR.

    • ocr_from_phonestring

      Sender phone number recognized by OCR.

    • ocr_to_namestring

      Recipient name recognized by OCR.

    • ocr_to_companystring

      Recipient company recognized by OCR.

    • ocr_to_addressstring

      Recipient address recognized by OCR.

    • ocr_to_emailstring

      Recipient e-mail address recognized by OCR.

    • ocr_to_phonestring

      Recipient phone number recognized by OCR.

    • ocr_summarystring

      Summary of the document created by OCR.

    • ocr_statusstring

      OCR processing status: null=not processed, pending, processing, done, error

    • ocr_errorstring

      Reason of the last failed or incomplete OCR run, null when it went through

    • ocr_processed_atstring (date-time)

      Point in time OCR processing finished.

    • virus_checkedboolean

      1 once the virus scan has passed for this file. The scan runs in the background (AttachmentVirusScanCommand), so a freshly uploaded file starts at 0 and stays there until it was really checked. An infected file never reaches 1 - it is deleted instead. UIs use this to decide whether a file may be handed to a user, so it must stay false until proven otherwise.

    • virus_checked_atstring (date-time)

      When the virus scan passed. Null while the file is still waiting.

  • vote_countinteger

    Denormalized so lists can sort by popularity without a join. Maintained by MediaFeedbackVoteHelper; MediaFeedbackRecountCommand repairs it.

  • comment_countinteger

    Number of comments on the entry.

  • duplicate_ofMediaFeedbackEntry

    Merge target. Set together with STATUS_DUPLICATE.

  • roadmap_itemsarray<MediaFeedbackRoadmapItem3>
    Show fields (21)
    • timeline_orderinteger

      Position of this item's status group on the timeline. Unknown statuses sort last instead of silently landing in the first group.

    • display_targetstring

      What the timeline should print as the date of this milestone: the free-text label if one was set, otherwise the target date.

    • linked_entry_countinteger

      Number of linked, still-visible feedback entries.

    • linked_vote_countinteger

      Summed votes of all linked entries — the demand behind this milestone.

    • idinteger

      Primary key of the roadmap item. Internal ID.

    • titlestring

      Title of the roadmap item.

    • descriptionstring

      Description of the roadmap item.

    • statusstring

      Status 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_labelstring

      Free-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_versionstring

      Version the item was released in.

    • image_urlstring

      URL of the image of the item.

    • sort_orderinteger

      Sort order of the item.

    • createdstring (date-time)

      Point in time the entity was created.

    • updatedstring (date-time)

      Point in time the entity was last updated.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • ucatsarray<UnifiedCategory32>

      Unified categories of the entity.

    • visibility_typestring

      Type of visibility of the entity.

    • arslistarray<AccessRightStorage13>

      Access rights list that controls the visibility.

  • internal_notestring

    Scope-only.

  • internal_priorityinteger

    Scope-only.

  • createdstring (date-time)

    Point in time the entity was created.

  • updatedstring (date-time)

    Point in time the entity was last updated.

  • deletedboolean

    This property is used to mark an entity as deleted / archived

  • ucatsarray<UnifiedCategory32>

    Unified categories of the entity.

    Show fields (32)
    • idinteger

      Primary key of the unified category. Internal ID.

    • category_typestring

      Type of the category, for example course or membership.

    • childrenarray<UnifiedCategory32>

      Child categories.

    • parentUnifiedCategory32

      Parent category.

    • view_orderinteger

      Sort order of the category in lists.

    • is_publicboolean

      The 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.

    • namestring

      Name of the entity.

    • addressstring

      Address as text.

    • address_streetstring

      Street of the address.

    • address_house_numberstring

      House number of the address.

    • address_street_levelstring

      Street and house number of the address.

    • address_costring

      Care-of line of the address.

    • address_citystring

      City of the address.

    • address_zipstring

      Postal code of the address.

    • address_admin_level1string

      First administrative level of the address, e.g. the federal state.

    • address_countrystring

      Country code of the address.

    • address_full_countrystring

      Full name of the country of the address.

    • address_geo_latstring

      Latitude of the address.

    • address_geo_lngstring

      Longitude of the address.

    • address_external_provider_idstring

      field to store the external provider id of the address. e.g. Google Maps PlaceID like google:ChIJVcKw5r90sEcRhdjNq6NItqE

    • main_phonestring

      Main phone number.

    • main_faxstring

      Main fax number.

    • main_emailstring

      Main e-mail address.

    • websitestring

      Website address.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • search_stringstring

      Text that the entity can be searched by.

    • short_identifierstring

      Short identifier of the entity.

    • slug_identifierstring

      Slug used in URLs of the entity.

    • image_urlstring

      URL of the image of the entity.

    • is_ui_filterboolean

      This property is used to mark an entity as a filter for the frontend

  • visibility_typestring

    Type of visibility of the entity.

  • arslistarray<AccessRightStorage13>

    Access rights list that controls the visibility.

    Show fields (12)
    • idinteger

      Primary key of the access right entry. Internal ID.

    • userUser56

      User who gets the access right. Only set for user-specific rights.

    • access_tagAccessTag

      Access tag the right applies to. Only set for rights on a tag.

    • create_mainboolean

      Create permission for main records of the access tag.

    • edit_mainboolean

      Edit permission for main records of the access tag.

    • read_mainboolean

      Read permission for main records of the access tag.

    • create_childboolean

      Create permission for child records (for example items inside a main record).

    • edit_childboolean

      Edit permission for child records (for example items inside a main record).

    • read_childboolean

      Read 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.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

Request
curl --request POST \
  --url https://your-instance.iw-erp.de/api/media/feedback_entry \
  --header 'content-type: application/json' \
  --header 'x-iw-jwt-token: <TOKEN>' \
  --data '
{
  "data": {
    "text": "Text",
    "guest_name": "Beispiel",
    "board": {
      "name": "Beispiel",
      "public_title": "Beispiel",
      "public_description": "Text",
      "image_url": "https://vynst.de",
      "sort_order": 1,
      "allow_new_entries": true
    },
    "headline": "string",
    "feedback_type": "string",
    "status": "string"
  }
}
'
Response 200 application/json
{
  "author_name": "Beispiel",
  "id": 42,
  "text": "Text",
  "guest_name": "Beispiel",
  "guest_email": "lena.hartmann@example.org",
  "board": {
    "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
  },
  "headline": "string",
  "feedback_type": "string",
  "status": "string",
  "status_note": "string"
}

Returns the entries of one board, sorted and paginated.

GET/api/media/feedback_entry/feed/board/{boardIdentifier}

Path parameters

boardIdentifierrequiredstring

Query parameters

headlinestringRequires access right: PUBLIC, LOGGED_IN, SCOPE
boardstringRequires access right: PUBLIC, LOGGED_IN, SCOPE
statusstringRequires access right: PUBLIC, LOGGED_IN, SCOPE
feedbackTypestringRequires access right: PUBLIC, LOGGED_IN, SCOPE
socialProfilestringAuthor when submitted by a logged-in person. Reuses the social profile so the pseudonymity settings a person already chose apply here too. | Requires access right: PUBLIC, LOGGED_IN, SCOPE
voteCountintegerDenormalized so lists can sort by popularity without a join. Maintained by MediaFeedbackVoteHelper; MediaFeedbackRecountCommand repairs it. | Requires access right: PUBLIC, LOGGED_IN, SCOPE
duplicateOfstringMerge target. Set together with STATUS_DUPLICATE. | Requires access right: PUBLIC, LOGGED_IN, SCOPE
createdstringRequires access right: PUBLIC, LOGGED_IN, SCOPE
updatedstringRequires access right: PUBLIC, LOGGED_IN, SCOPE
idinteger
deletedbooleanThis property is used to mark an entity as deleted / archived
moderationStatusstring
visibilityTypestring
commentCountinteger
internalPrioritystringScope-only.
guestEmailConfirmedboolean
searchStringstringtext to search for in the list
orderFieldNamestringname of the order field
orderFieldSortstringsorting modeAllowed: DESCASC
pageintegerpage of the list
pageSizeintegernumber of entries for each page
withMaxPageNumberstringreturns the number of pages available as a header if this is set

Responses

200Returns the entries of one boardarray<MediaFeedbackEntry3>

Show fields (18)
  • author_namestring

    Display 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.

  • idinteger

    Primary key of the feedback entry. Internal ID.

  • boardMediaFeedbackBoard5

    Feedback board the entry belongs to.

    Show fields (18)
    • is_publicboolean

      True when the board itself may be served to callers without a session.

    • idinteger

      Primary key of the feedback board. Internal ID.

    • namestring

      Internal name, shown in the admin UI only.

    • public_titlestring

      Title of the board shown to the public.

    • public_descriptionstring

      Description of the board shown to the public.

    • public_keystring

      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.

    • image_urlstring

      URL of the image of the board.

    • sort_orderinteger

      Sort order of the board in lists.

    • allow_new_entriesboolean

      Members can create new entries.

    • allow_votingboolean

      Members can vote on entries.

    • allow_commentsboolean

      Members can comment on entries.

    • allow_guest_entriesboolean

      Guests can create new entries.

    • allow_guest_votesboolean

      Guests can vote on entries.

    • allow_guest_commentsboolean

      Guests can comment on entries.

    • moderation_requiredboolean

      Board-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.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

  • headlinestring

    Headline of the feedback entry.

  • textstring

    Text of the feedback entry.

  • feedback_typestring

    Type of the feedback, for example idea or problem.

  • statusstring

    Status of the feedback, for example open, planned or done.

  • status_notestring

    Publicly 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_statusstring

    Moderation status, for example pending or approved.

  • social_profileMediaSocialProfile10

    Author when submitted by a logged-in person. Reuses the social profile so the pseudonymity settings a person already chose apply here too.

    Show fields (11)
    • idinteger

      Primary key of the social profile. Internal ID.

    • public_namestring

      Name shown publicly.

    • profile_picture_urlstring

      URL of the profile picture.

    • public_about_mestring

      Text about the person shown publicly.

    • global_profileboolean

      The profile is a global profile across installations.

    • name_display_typestring

      How the name is shown, for example full name or first name only.

    • show_profile_pictureboolean

      The profile picture is shown.

    • profile_picture_check_statusstring

      Pruefstatus des Profilbilds (KI-Pruefung, siehe MediaSocialProfilePictureHelper): null = nie geprueft (Pruefung aus), pending, approved, rejected. Nur ein freigegebenes Bild landet in profilePictureUrl, solange die Pruefung eingeschaltet ist.

    • createdstring (date-time)

      Point in time the entity was created.

    • updatedstring (date-time)

      Point in time the entity was last updated.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

  • guest_namestring

    Name of the guest who wrote the entry.

  • attachmentsarray<Attachment10>

    Files attached to the entry.

    Show fields (25)
    • idinteger

      Primary key of the attachment. Internal ID.

    • filenamestring

      Original file name.

    • filesizestring

      Size of the file in bytes.

    • mimetypestring

      MIME type of the file.

    • createdbyusernamestring

      Name of the user who uploaded the file, as text.

    • createdstring (date-time)

      Point in time the attachment was created.

    • googleidstring

      ID of the file in Google Drive.

    • scopestring

      Scope that controls who can see the attachment.

    • ocr_document_typestring

      Document type recognized by OCR.

    • ocr_from_namestring

      Sender name recognized by OCR.

    • ocr_from_companystring

      Sender company recognized by OCR.

    • ocr_from_addressstring

      Sender address recognized by OCR.

    • ocr_from_emailstring

      Sender e-mail address recognized by OCR.

    • ocr_from_phonestring

      Sender phone number recognized by OCR.

    • ocr_to_namestring

      Recipient name recognized by OCR.

    • ocr_to_companystring

      Recipient company recognized by OCR.

    • ocr_to_addressstring

      Recipient address recognized by OCR.

    • ocr_to_emailstring

      Recipient e-mail address recognized by OCR.

    • ocr_to_phonestring

      Recipient phone number recognized by OCR.

    • ocr_summarystring

      Summary of the document created by OCR.

    • ocr_statusstring

      OCR processing status: null=not processed, pending, processing, done, error

    • ocr_errorstring

      Reason of the last failed or incomplete OCR run, null when it went through

    • ocr_processed_atstring (date-time)

      Point in time OCR processing finished.

    • virus_checkedboolean

      1 once the virus scan has passed for this file. The scan runs in the background (AttachmentVirusScanCommand), so a freshly uploaded file starts at 0 and stays there until it was really checked. An infected file never reaches 1 - it is deleted instead. UIs use this to decide whether a file may be handed to a user, so it must stay false until proven otherwise.

    • virus_checked_atstring (date-time)

      When the virus scan passed. Null while the file is still waiting.

  • vote_countinteger

    Denormalized so lists can sort by popularity without a join. Maintained by MediaFeedbackVoteHelper; MediaFeedbackRecountCommand repairs it.

  • comment_countinteger

    Number of comments on the entry.

  • duplicate_ofMediaFeedbackEntry3

    Merge 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.

  • deletedboolean

    This property is used to mark an entity as deleted / archived

Request
curl --request GET \
  --url https://your-instance.iw-erp.de/api/media/feedback_entry/feed/board/42 \
  --header 'x-iw-jwt-token: <TOKEN>'
Response 200 application/json
[
  {
    "author_name": "Beispiel",
    "id": 42,
    "text": "Text",
    "guest_name": "Beispiel",
    "board": {
      "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
    },
    "headline": "string",
    "feedback_type": "string",
    "status": "string",
    "status_note": "string",
    "moderation_status": "string"
  }
]

Returns the entries the current user submitted, including ones awaiting moderation.

GET/api/media/feedback_entry/feed/own

Query parameters

headlinestringRequires access right: PUBLIC, LOGGED_IN, SCOPE
boardstringRequires access right: PUBLIC, LOGGED_IN, SCOPE
statusstringRequires access right: PUBLIC, LOGGED_IN, SCOPE
feedbackTypestringRequires access right: PUBLIC, LOGGED_IN, SCOPE
socialProfilestringAuthor when submitted by a logged-in person. Reuses the social profile so the pseudonymity settings a person already chose apply here too. | Requires access right: PUBLIC, LOGGED_IN, SCOPE
voteCountintegerDenormalized so lists can sort by popularity without a join. Maintained by MediaFeedbackVoteHelper; MediaFeedbackRecountCommand repairs it. | Requires access right: PUBLIC, LOGGED_IN, SCOPE
duplicateOfstringMerge target. Set together with STATUS_DUPLICATE. | Requires access right: PUBLIC, LOGGED_IN, SCOPE
createdstringRequires access right: PUBLIC, LOGGED_IN, SCOPE
updatedstringRequires access right: PUBLIC, LOGGED_IN, SCOPE
idinteger
deletedbooleanThis property is used to mark an entity as deleted / archived
moderationStatusstring
visibilityTypestring
commentCountinteger
internalPrioritystringScope-only.
guestEmailConfirmedboolean
searchStringstringtext to search for in the list
orderFieldNamestringname of the order field
orderFieldSortstringsorting modeAllowed: DESCASC
pageintegerpage of the list
pageSizeintegernumber of entries for each page
withMaxPageNumberstringreturns the number of pages available as a header if this is set

Responses

200Returns the caller's own entriesarray<MediaFeedbackEntry3>

Show fields (18)
  • author_namestring

    Display 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.

  • idinteger

    Primary key of the feedback entry. Internal ID.

  • boardMediaFeedbackBoard5

    Feedback board the entry belongs to.

    Show fields (18)
    • is_publicboolean

      True when the board itself may be served to callers without a session.

    • idinteger

      Primary key of the feedback board. Internal ID.

    • namestring

      Internal name, shown in the admin UI only.

    • public_titlestring

      Title of the board shown to the public.

    • public_descriptionstring

      Description of the board shown to the public.

    • public_keystring

      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.

    • image_urlstring

      URL of the image of the board.

    • sort_orderinteger

      Sort order of the board in lists.

    • allow_new_entriesboolean

      Members can create new entries.

    • allow_votingboolean

      Members can vote on entries.

    • allow_commentsboolean

      Members can comment on entries.

    • allow_guest_entriesboolean

      Guests can create new entries.

    • allow_guest_votesboolean

      Guests can vote on entries.

    • allow_guest_commentsboolean

      Guests can comment on entries.

    • moderation_requiredboolean

      Board-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.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

  • headlinestring

    Headline of the feedback entry.

  • textstring

    Text of the feedback entry.

  • feedback_typestring

    Type of the feedback, for example idea or problem.

  • statusstring

    Status of the feedback, for example open, planned or done.

  • status_notestring

    Publicly 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_statusstring

    Moderation status, for example pending or approved.

  • social_profileMediaSocialProfile10

    Author when submitted by a logged-in person. Reuses the social profile so the pseudonymity settings a person already chose apply here too.

    Show fields (11)
    • idinteger

      Primary key of the social profile. Internal ID.

    • public_namestring

      Name shown publicly.

    • profile_picture_urlstring

      URL of the profile picture.

    • public_about_mestring

      Text about the person shown publicly.

    • global_profileboolean

      The profile is a global profile across installations.

    • name_display_typestring

      How the name is shown, for example full name or first name only.

    • show_profile_pictureboolean

      The profile picture is shown.

    • profile_picture_check_statusstring

      Pruefstatus des Profilbilds (KI-Pruefung, siehe MediaSocialProfilePictureHelper): null = nie geprueft (Pruefung aus), pending, approved, rejected. Nur ein freigegebenes Bild landet in profilePictureUrl, solange die Pruefung eingeschaltet ist.

    • createdstring (date-time)

      Point in time the entity was created.

    • updatedstring (date-time)

      Point in time the entity was last updated.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

  • guest_namestring

    Name of the guest who wrote the entry.

  • attachmentsarray<Attachment10>

    Files attached to the entry.

    Show fields (25)
    • idinteger

      Primary key of the attachment. Internal ID.

    • filenamestring

      Original file name.

    • filesizestring

      Size of the file in bytes.

    • mimetypestring

      MIME type of the file.

    • createdbyusernamestring

      Name of the user who uploaded the file, as text.

    • createdstring (date-time)

      Point in time the attachment was created.

    • googleidstring

      ID of the file in Google Drive.

    • scopestring

      Scope that controls who can see the attachment.

    • ocr_document_typestring

      Document type recognized by OCR.

    • ocr_from_namestring

      Sender name recognized by OCR.

    • ocr_from_companystring

      Sender company recognized by OCR.

    • ocr_from_addressstring

      Sender address recognized by OCR.

    • ocr_from_emailstring

      Sender e-mail address recognized by OCR.

    • ocr_from_phonestring

      Sender phone number recognized by OCR.

    • ocr_to_namestring

      Recipient name recognized by OCR.

    • ocr_to_companystring

      Recipient company recognized by OCR.

    • ocr_to_addressstring

      Recipient address recognized by OCR.

    • ocr_to_emailstring

      Recipient e-mail address recognized by OCR.

    • ocr_to_phonestring

      Recipient phone number recognized by OCR.

    • ocr_summarystring

      Summary of the document created by OCR.

    • ocr_statusstring

      OCR processing status: null=not processed, pending, processing, done, error

    • ocr_errorstring

      Reason of the last failed or incomplete OCR run, null when it went through

    • ocr_processed_atstring (date-time)

      Point in time OCR processing finished.

    • virus_checkedboolean

      1 once the virus scan has passed for this file. The scan runs in the background (AttachmentVirusScanCommand), so a freshly uploaded file starts at 0 and stays there until it was really checked. An infected file never reaches 1 - it is deleted instead. UIs use this to decide whether a file may be handed to a user, so it must stay false until proven otherwise.

    • virus_checked_atstring (date-time)

      When the virus scan passed. Null while the file is still waiting.

  • vote_countinteger

    Denormalized so lists can sort by popularity without a join. Maintained by MediaFeedbackVoteHelper; MediaFeedbackRecountCommand repairs it.

  • comment_countinteger

    Number of comments on the entry.

  • duplicate_ofMediaFeedbackEntry3

    Merge 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.

  • deletedboolean

    This property is used to mark an entity as deleted / archived

Request
curl --request GET \
  --url https://your-instance.iw-erp.de/api/media/feedback_entry/feed/own \
  --header 'x-iw-jwt-token: <TOKEN>'
Response 200 application/json
[
  {
    "author_name": "Beispiel",
    "id": 42,
    "text": "Text",
    "guest_name": "Beispiel",
    "board": {
      "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
    },
    "headline": "string",
    "feedback_type": "string",
    "status": "string",
    "status_note": "string",
    "moderation_status": "string"
  }
]

Returns a single feedback entry.

GET/api/media/feedback_entry/{identifier}

Path parameters

identifierrequiredstring

Responses

200Returns a single MediaFeedbackEntryMediaFeedbackEntry

Show fields (29)
  • author_namestring

    Display 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.

  • idinteger

    Primary key of the feedback entry. Internal ID.

  • boardMediaFeedbackBoard3

    Feedback board the entry belongs to.

    Show fields (21)
    • is_publicboolean

      True when the board itself may be served to callers without a session.

    • idinteger

      Primary key of the feedback board. Internal ID.

    • namestring

      Internal name, shown in the admin UI only.

    • public_titlestring

      Title of the board shown to the public.

    • public_descriptionstring

      Description of the board shown to the public.

    • public_keystring

      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.

    • image_urlstring

      URL of the image of the board.

    • sort_orderinteger

      Sort order of the board in lists.

    • allow_new_entriesboolean

      Members can create new entries.

    • allow_votingboolean

      Members can vote on entries.

    • allow_commentsboolean

      Members can comment on entries.

    • allow_guest_entriesboolean

      Guests can create new entries.

    • allow_guest_votesboolean

      Guests can vote on entries.

    • allow_guest_commentsboolean

      Guests can comment on entries.

    • moderation_requiredboolean

      Board-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.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • ucatsarray<UnifiedCategory32>

      Unified categories of the entity.

    • visibility_typestring

      Type of visibility of the entity.

    • arslistarray<AccessRightStorage13>

      Access rights list that controls the visibility.

  • headlinestring

    Headline of the feedback entry.

  • textstring

    Text of the feedback entry.

  • feedback_typestring

    Type of the feedback, for example idea or problem.

  • statusstring

    Status of the feedback, for example open, planned or done.

  • status_notestring

    Publicly 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_statusstring

    Moderation status, for example pending or approved.

  • moderation_reasonstring

    Reason for the moderation decision.

  • moderated_atstring (date-time)

    Time the entry was moderated.

  • social_profileMediaSocialProfile10

    Author when submitted by a logged-in person. Reuses the social profile so the pseudonymity settings a person already chose apply here too.

    Show fields (11)
    • idinteger

      Primary key of the social profile. Internal ID.

    • public_namestring

      Name shown publicly.

    • profile_picture_urlstring

      URL of the profile picture.

    • public_about_mestring

      Text about the person shown publicly.

    • global_profileboolean

      The profile is a global profile across installations.

    • name_display_typestring

      How the name is shown, for example full name or first name only.

    • show_profile_pictureboolean

      The profile picture is shown.

    • profile_picture_check_statusstring

      Pruefstatus des Profilbilds (KI-Pruefung, siehe MediaSocialProfilePictureHelper): null = nie geprueft (Pruefung aus), pending, approved, rejected. Nur ein freigegebenes Bild landet in profilePictureUrl, solange die Pruefung eingeschaltet ist.

    • createdstring (date-time)

      Point in time the entity was created.

    • updatedstring (date-time)

      Point in time the entity was last updated.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

  • guest_namestring

    Name of the guest who wrote the entry.

  • guest_emailstring

    Scope-only: never exposed to public or logged-in callers.

  • guest_email_confirmedboolean

    The e-mail address of the guest was confirmed.

  • consent_confirmedboolean

    GDPR: guest confirmed the consent text before submitting. Same field as EventMoment::$consentConfirmed.

  • attachmentsarray<Attachment10>

    Files attached to the entry.

    Show fields (25)
    • idinteger

      Primary key of the attachment. Internal ID.

    • filenamestring

      Original file name.

    • filesizestring

      Size of the file in bytes.

    • mimetypestring

      MIME type of the file.

    • createdbyusernamestring

      Name of the user who uploaded the file, as text.

    • createdstring (date-time)

      Point in time the attachment was created.

    • googleidstring

      ID of the file in Google Drive.

    • scopestring

      Scope that controls who can see the attachment.

    • ocr_document_typestring

      Document type recognized by OCR.

    • ocr_from_namestring

      Sender name recognized by OCR.

    • ocr_from_companystring

      Sender company recognized by OCR.

    • ocr_from_addressstring

      Sender address recognized by OCR.

    • ocr_from_emailstring

      Sender e-mail address recognized by OCR.

    • ocr_from_phonestring

      Sender phone number recognized by OCR.

    • ocr_to_namestring

      Recipient name recognized by OCR.

    • ocr_to_companystring

      Recipient company recognized by OCR.

    • ocr_to_addressstring

      Recipient address recognized by OCR.

    • ocr_to_emailstring

      Recipient e-mail address recognized by OCR.

    • ocr_to_phonestring

      Recipient phone number recognized by OCR.

    • ocr_summarystring

      Summary of the document created by OCR.

    • ocr_statusstring

      OCR processing status: null=not processed, pending, processing, done, error

    • ocr_errorstring

      Reason of the last failed or incomplete OCR run, null when it went through

    • ocr_processed_atstring (date-time)

      Point in time OCR processing finished.

    • virus_checkedboolean

      1 once the virus scan has passed for this file. The scan runs in the background (AttachmentVirusScanCommand), so a freshly uploaded file starts at 0 and stays there until it was really checked. An infected file never reaches 1 - it is deleted instead. UIs use this to decide whether a file may be handed to a user, so it must stay false until proven otherwise.

    • virus_checked_atstring (date-time)

      When the virus scan passed. Null while the file is still waiting.

  • vote_countinteger

    Denormalized so lists can sort by popularity without a join. Maintained by MediaFeedbackVoteHelper; MediaFeedbackRecountCommand repairs it.

  • comment_countinteger

    Number of comments on the entry.

  • duplicate_ofMediaFeedbackEntry

    Merge target. Set together with STATUS_DUPLICATE.

  • roadmap_itemsarray<MediaFeedbackRoadmapItem3>
    Show fields (21)
    • timeline_orderinteger

      Position of this item's status group on the timeline. Unknown statuses sort last instead of silently landing in the first group.

    • display_targetstring

      What the timeline should print as the date of this milestone: the free-text label if one was set, otherwise the target date.

    • linked_entry_countinteger

      Number of linked, still-visible feedback entries.

    • linked_vote_countinteger

      Summed votes of all linked entries — the demand behind this milestone.

    • idinteger

      Primary key of the roadmap item. Internal ID.

    • titlestring

      Title of the roadmap item.

    • descriptionstring

      Description of the roadmap item.

    • statusstring

      Status 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_labelstring

      Free-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_versionstring

      Version the item was released in.

    • image_urlstring

      URL of the image of the item.

    • sort_orderinteger

      Sort order of the item.

    • createdstring (date-time)

      Point in time the entity was created.

    • updatedstring (date-time)

      Point in time the entity was last updated.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • ucatsarray<UnifiedCategory32>

      Unified categories of the entity.

    • visibility_typestring

      Type of visibility of the entity.

    • arslistarray<AccessRightStorage13>

      Access rights list that controls the visibility.

  • internal_notestring

    Scope-only.

  • internal_priorityinteger

    Scope-only.

  • createdstring (date-time)

    Point in time the entity was created.

  • updatedstring (date-time)

    Point in time the entity was last updated.

  • deletedboolean

    This property is used to mark an entity as deleted / archived

  • ucatsarray<UnifiedCategory32>

    Unified categories of the entity.

    Show fields (32)
    • idinteger

      Primary key of the unified category. Internal ID.

    • category_typestring

      Type of the category, for example course or membership.

    • childrenarray<UnifiedCategory32>

      Child categories.

    • parentUnifiedCategory32

      Parent category.

    • view_orderinteger

      Sort order of the category in lists.

    • is_publicboolean

      The 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.

    • namestring

      Name of the entity.

    • addressstring

      Address as text.

    • address_streetstring

      Street of the address.

    • address_house_numberstring

      House number of the address.

    • address_street_levelstring

      Street and house number of the address.

    • address_costring

      Care-of line of the address.

    • address_citystring

      City of the address.

    • address_zipstring

      Postal code of the address.

    • address_admin_level1string

      First administrative level of the address, e.g. the federal state.

    • address_countrystring

      Country code of the address.

    • address_full_countrystring

      Full name of the country of the address.

    • address_geo_latstring

      Latitude of the address.

    • address_geo_lngstring

      Longitude of the address.

    • address_external_provider_idstring

      field to store the external provider id of the address. e.g. Google Maps PlaceID like google:ChIJVcKw5r90sEcRhdjNq6NItqE

    • main_phonestring

      Main phone number.

    • main_faxstring

      Main fax number.

    • main_emailstring

      Main e-mail address.

    • websitestring

      Website address.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • search_stringstring

      Text that the entity can be searched by.

    • short_identifierstring

      Short identifier of the entity.

    • slug_identifierstring

      Slug used in URLs of the entity.

    • image_urlstring

      URL of the image of the entity.

    • is_ui_filterboolean

      This property is used to mark an entity as a filter for the frontend

  • visibility_typestring

    Type of visibility of the entity.

  • arslistarray<AccessRightStorage13>

    Access rights list that controls the visibility.

    Show fields (12)
    • idinteger

      Primary key of the access right entry. Internal ID.

    • userUser56

      User who gets the access right. Only set for user-specific rights.

    • access_tagAccessTag

      Access tag the right applies to. Only set for rights on a tag.

    • create_mainboolean

      Create permission for main records of the access tag.

    • edit_mainboolean

      Edit permission for main records of the access tag.

    • read_mainboolean

      Read permission for main records of the access tag.

    • create_childboolean

      Create permission for child records (for example items inside a main record).

    • edit_childboolean

      Edit permission for child records (for example items inside a main record).

    • read_childboolean

      Read 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.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

Request
curl --request GET \
  --url https://your-instance.iw-erp.de/api/media/feedback_entry/42 \
  --header 'x-iw-jwt-token: <TOKEN>'
Response 200 application/json
{
  "author_name": "Beispiel",
  "id": 42,
  "text": "Text",
  "guest_name": "Beispiel",
  "guest_email": "lena.hartmann@example.org",
  "board": {
    "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
  },
  "headline": "string",
  "feedback_type": "string",
  "status": "string",
  "status_note": "string"
}

Updates a feedback entry as an administrator.

PUT/api/media/feedback_entry/{identifier}

Path parameters

identifierrequiredstring

Request body application/json

  • dataMediaFeedbackEntry2
    Show fields (17)
    • boardMediaFeedbackBoard2

      Feedback board the entry belongs to.

    • headlinestring

      Headline of the feedback entry.

    • textstring

      Text of the feedback entry.

    • feedback_typestring

      Type of the feedback, for example idea or problem.

    • statusstring

      Status of the feedback, for example open, planned or done.

    • status_notestring

      Publicly 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_statusstring

      Moderation status, for example pending or approved.

    • moderation_reasonstring

      Reason for the moderation decision.

    • social_profileMediaSocialProfile16

      Author when submitted by a logged-in person. Reuses the social profile so the pseudonymity settings a person already chose apply here too.

    • guest_namestring

      Name of the guest who wrote the entry.

    • attachmentsarray<Attachment12>

      Files attached to the entry.

    • duplicate_ofMediaFeedbackEntry2

      Merge target. Set together with STATUS_DUPLICATE.

    • roadmap_itemsarray<MediaFeedbackRoadmapItem2>
    • internal_notestring

      Scope-only.

    • internal_priorityinteger

      Scope-only.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • ucatsarray<UnifiedCategory11>

      Unified categories of the entity.

Responses

200Update a MediaFeedbackEntryMediaFeedbackEntry

Show fields (29)
  • author_namestring

    Display 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.

  • idinteger

    Primary key of the feedback entry. Internal ID.

  • boardMediaFeedbackBoard3

    Feedback board the entry belongs to.

    Show fields (21)
    • is_publicboolean

      True when the board itself may be served to callers without a session.

    • idinteger

      Primary key of the feedback board. Internal ID.

    • namestring

      Internal name, shown in the admin UI only.

    • public_titlestring

      Title of the board shown to the public.

    • public_descriptionstring

      Description of the board shown to the public.

    • public_keystring

      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.

    • image_urlstring

      URL of the image of the board.

    • sort_orderinteger

      Sort order of the board in lists.

    • allow_new_entriesboolean

      Members can create new entries.

    • allow_votingboolean

      Members can vote on entries.

    • allow_commentsboolean

      Members can comment on entries.

    • allow_guest_entriesboolean

      Guests can create new entries.

    • allow_guest_votesboolean

      Guests can vote on entries.

    • allow_guest_commentsboolean

      Guests can comment on entries.

    • moderation_requiredboolean

      Board-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.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • ucatsarray<UnifiedCategory32>

      Unified categories of the entity.

    • visibility_typestring

      Type of visibility of the entity.

    • arslistarray<AccessRightStorage13>

      Access rights list that controls the visibility.

  • headlinestring

    Headline of the feedback entry.

  • textstring

    Text of the feedback entry.

  • feedback_typestring

    Type of the feedback, for example idea or problem.

  • statusstring

    Status of the feedback, for example open, planned or done.

  • status_notestring

    Publicly 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_statusstring

    Moderation status, for example pending or approved.

  • moderation_reasonstring

    Reason for the moderation decision.

  • moderated_atstring (date-time)

    Time the entry was moderated.

  • social_profileMediaSocialProfile10

    Author when submitted by a logged-in person. Reuses the social profile so the pseudonymity settings a person already chose apply here too.

    Show fields (11)
    • idinteger

      Primary key of the social profile. Internal ID.

    • public_namestring

      Name shown publicly.

    • profile_picture_urlstring

      URL of the profile picture.

    • public_about_mestring

      Text about the person shown publicly.

    • global_profileboolean

      The profile is a global profile across installations.

    • name_display_typestring

      How the name is shown, for example full name or first name only.

    • show_profile_pictureboolean

      The profile picture is shown.

    • profile_picture_check_statusstring

      Pruefstatus des Profilbilds (KI-Pruefung, siehe MediaSocialProfilePictureHelper): null = nie geprueft (Pruefung aus), pending, approved, rejected. Nur ein freigegebenes Bild landet in profilePictureUrl, solange die Pruefung eingeschaltet ist.

    • createdstring (date-time)

      Point in time the entity was created.

    • updatedstring (date-time)

      Point in time the entity was last updated.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

  • guest_namestring

    Name of the guest who wrote the entry.

  • guest_emailstring

    Scope-only: never exposed to public or logged-in callers.

  • guest_email_confirmedboolean

    The e-mail address of the guest was confirmed.

  • consent_confirmedboolean

    GDPR: guest confirmed the consent text before submitting. Same field as EventMoment::$consentConfirmed.

  • attachmentsarray<Attachment10>

    Files attached to the entry.

    Show fields (25)
    • idinteger

      Primary key of the attachment. Internal ID.

    • filenamestring

      Original file name.

    • filesizestring

      Size of the file in bytes.

    • mimetypestring

      MIME type of the file.

    • createdbyusernamestring

      Name of the user who uploaded the file, as text.

    • createdstring (date-time)

      Point in time the attachment was created.

    • googleidstring

      ID of the file in Google Drive.

    • scopestring

      Scope that controls who can see the attachment.

    • ocr_document_typestring

      Document type recognized by OCR.

    • ocr_from_namestring

      Sender name recognized by OCR.

    • ocr_from_companystring

      Sender company recognized by OCR.

    • ocr_from_addressstring

      Sender address recognized by OCR.

    • ocr_from_emailstring

      Sender e-mail address recognized by OCR.

    • ocr_from_phonestring

      Sender phone number recognized by OCR.

    • ocr_to_namestring

      Recipient name recognized by OCR.

    • ocr_to_companystring

      Recipient company recognized by OCR.

    • ocr_to_addressstring

      Recipient address recognized by OCR.

    • ocr_to_emailstring

      Recipient e-mail address recognized by OCR.

    • ocr_to_phonestring

      Recipient phone number recognized by OCR.

    • ocr_summarystring

      Summary of the document created by OCR.

    • ocr_statusstring

      OCR processing status: null=not processed, pending, processing, done, error

    • ocr_errorstring

      Reason of the last failed or incomplete OCR run, null when it went through

    • ocr_processed_atstring (date-time)

      Point in time OCR processing finished.

    • virus_checkedboolean

      1 once the virus scan has passed for this file. The scan runs in the background (AttachmentVirusScanCommand), so a freshly uploaded file starts at 0 and stays there until it was really checked. An infected file never reaches 1 - it is deleted instead. UIs use this to decide whether a file may be handed to a user, so it must stay false until proven otherwise.

    • virus_checked_atstring (date-time)

      When the virus scan passed. Null while the file is still waiting.

  • vote_countinteger

    Denormalized so lists can sort by popularity without a join. Maintained by MediaFeedbackVoteHelper; MediaFeedbackRecountCommand repairs it.

  • comment_countinteger

    Number of comments on the entry.

  • duplicate_ofMediaFeedbackEntry

    Merge target. Set together with STATUS_DUPLICATE.

  • roadmap_itemsarray<MediaFeedbackRoadmapItem3>
    Show fields (21)
    • timeline_orderinteger

      Position of this item's status group on the timeline. Unknown statuses sort last instead of silently landing in the first group.

    • display_targetstring

      What the timeline should print as the date of this milestone: the free-text label if one was set, otherwise the target date.

    • linked_entry_countinteger

      Number of linked, still-visible feedback entries.

    • linked_vote_countinteger

      Summed votes of all linked entries — the demand behind this milestone.

    • idinteger

      Primary key of the roadmap item. Internal ID.

    • titlestring

      Title of the roadmap item.

    • descriptionstring

      Description of the roadmap item.

    • statusstring

      Status 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_labelstring

      Free-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_versionstring

      Version the item was released in.

    • image_urlstring

      URL of the image of the item.

    • sort_orderinteger

      Sort order of the item.

    • createdstring (date-time)

      Point in time the entity was created.

    • updatedstring (date-time)

      Point in time the entity was last updated.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • ucatsarray<UnifiedCategory32>

      Unified categories of the entity.

    • visibility_typestring

      Type of visibility of the entity.

    • arslistarray<AccessRightStorage13>

      Access rights list that controls the visibility.

  • internal_notestring

    Scope-only.

  • internal_priorityinteger

    Scope-only.

  • createdstring (date-time)

    Point in time the entity was created.

  • updatedstring (date-time)

    Point in time the entity was last updated.

  • deletedboolean

    This property is used to mark an entity as deleted / archived

  • ucatsarray<UnifiedCategory32>

    Unified categories of the entity.

    Show fields (32)
    • idinteger

      Primary key of the unified category. Internal ID.

    • category_typestring

      Type of the category, for example course or membership.

    • childrenarray<UnifiedCategory32>

      Child categories.

    • parentUnifiedCategory32

      Parent category.

    • view_orderinteger

      Sort order of the category in lists.

    • is_publicboolean

      The 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.

    • namestring

      Name of the entity.

    • addressstring

      Address as text.

    • address_streetstring

      Street of the address.

    • address_house_numberstring

      House number of the address.

    • address_street_levelstring

      Street and house number of the address.

    • address_costring

      Care-of line of the address.

    • address_citystring

      City of the address.

    • address_zipstring

      Postal code of the address.

    • address_admin_level1string

      First administrative level of the address, e.g. the federal state.

    • address_countrystring

      Country code of the address.

    • address_full_countrystring

      Full name of the country of the address.

    • address_geo_latstring

      Latitude of the address.

    • address_geo_lngstring

      Longitude of the address.

    • address_external_provider_idstring

      field to store the external provider id of the address. e.g. Google Maps PlaceID like google:ChIJVcKw5r90sEcRhdjNq6NItqE

    • main_phonestring

      Main phone number.

    • main_faxstring

      Main fax number.

    • main_emailstring

      Main e-mail address.

    • websitestring

      Website address.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • search_stringstring

      Text that the entity can be searched by.

    • short_identifierstring

      Short identifier of the entity.

    • slug_identifierstring

      Slug used in URLs of the entity.

    • image_urlstring

      URL of the image of the entity.

    • is_ui_filterboolean

      This property is used to mark an entity as a filter for the frontend

  • visibility_typestring

    Type of visibility of the entity.

  • arslistarray<AccessRightStorage13>

    Access rights list that controls the visibility.

    Show fields (12)
    • idinteger

      Primary key of the access right entry. Internal ID.

    • userUser56

      User who gets the access right. Only set for user-specific rights.

    • access_tagAccessTag

      Access tag the right applies to. Only set for rights on a tag.

    • create_mainboolean

      Create permission for main records of the access tag.

    • edit_mainboolean

      Edit permission for main records of the access tag.

    • read_mainboolean

      Read permission for main records of the access tag.

    • create_childboolean

      Create permission for child records (for example items inside a main record).

    • edit_childboolean

      Edit permission for child records (for example items inside a main record).

    • read_childboolean

      Read 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.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

Request
curl --request PUT \
  --url https://your-instance.iw-erp.de/api/media/feedback_entry/42 \
  --header 'content-type: application/json' \
  --header 'x-iw-jwt-token: <TOKEN>' \
  --data '
{
  "data": {
    "text": "Text",
    "guest_name": "Beispiel",
    "board": {
      "name": "Beispiel",
      "public_title": "Beispiel",
      "public_description": "Text",
      "image_url": "https://vynst.de",
      "sort_order": 1,
      "allow_new_entries": true
    },
    "headline": "string",
    "feedback_type": "string",
    "status": "string"
  }
}
'
Response 200 application/json
{
  "author_name": "Beispiel",
  "id": 42,
  "text": "Text",
  "guest_name": "Beispiel",
  "guest_email": "lena.hartmann@example.org",
  "board": {
    "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
  },
  "headline": "string",
  "feedback_type": "string",
  "status": "string",
  "status_note": "string"
}

Updates a feedback entry as an administrator.

PATCH/api/media/feedback_entry/{identifier}

Path parameters

identifierrequiredstring

Request body application/json

  • dataMediaFeedbackEntry2
    Show fields (17)
    • boardMediaFeedbackBoard2

      Feedback board the entry belongs to.

    • headlinestring

      Headline of the feedback entry.

    • textstring

      Text of the feedback entry.

    • feedback_typestring

      Type of the feedback, for example idea or problem.

    • statusstring

      Status of the feedback, for example open, planned or done.

    • status_notestring

      Publicly 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_statusstring

      Moderation status, for example pending or approved.

    • moderation_reasonstring

      Reason for the moderation decision.

    • social_profileMediaSocialProfile16

      Author when submitted by a logged-in person. Reuses the social profile so the pseudonymity settings a person already chose apply here too.

    • guest_namestring

      Name of the guest who wrote the entry.

    • attachmentsarray<Attachment12>

      Files attached to the entry.

    • duplicate_ofMediaFeedbackEntry2

      Merge target. Set together with STATUS_DUPLICATE.

    • roadmap_itemsarray<MediaFeedbackRoadmapItem2>
    • internal_notestring

      Scope-only.

    • internal_priorityinteger

      Scope-only.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • ucatsarray<UnifiedCategory11>

      Unified categories of the entity.

Responses

200Update a MediaFeedbackEntryMediaFeedbackEntry

Show fields (29)
  • author_namestring

    Display 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.

  • idinteger

    Primary key of the feedback entry. Internal ID.

  • boardMediaFeedbackBoard3

    Feedback board the entry belongs to.

    Show fields (21)
    • is_publicboolean

      True when the board itself may be served to callers without a session.

    • idinteger

      Primary key of the feedback board. Internal ID.

    • namestring

      Internal name, shown in the admin UI only.

    • public_titlestring

      Title of the board shown to the public.

    • public_descriptionstring

      Description of the board shown to the public.

    • public_keystring

      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.

    • image_urlstring

      URL of the image of the board.

    • sort_orderinteger

      Sort order of the board in lists.

    • allow_new_entriesboolean

      Members can create new entries.

    • allow_votingboolean

      Members can vote on entries.

    • allow_commentsboolean

      Members can comment on entries.

    • allow_guest_entriesboolean

      Guests can create new entries.

    • allow_guest_votesboolean

      Guests can vote on entries.

    • allow_guest_commentsboolean

      Guests can comment on entries.

    • moderation_requiredboolean

      Board-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.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • ucatsarray<UnifiedCategory32>

      Unified categories of the entity.

    • visibility_typestring

      Type of visibility of the entity.

    • arslistarray<AccessRightStorage13>

      Access rights list that controls the visibility.

  • headlinestring

    Headline of the feedback entry.

  • textstring

    Text of the feedback entry.

  • feedback_typestring

    Type of the feedback, for example idea or problem.

  • statusstring

    Status of the feedback, for example open, planned or done.

  • status_notestring

    Publicly 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_statusstring

    Moderation status, for example pending or approved.

  • moderation_reasonstring

    Reason for the moderation decision.

  • moderated_atstring (date-time)

    Time the entry was moderated.

  • social_profileMediaSocialProfile10

    Author when submitted by a logged-in person. Reuses the social profile so the pseudonymity settings a person already chose apply here too.

    Show fields (11)
    • idinteger

      Primary key of the social profile. Internal ID.

    • public_namestring

      Name shown publicly.

    • profile_picture_urlstring

      URL of the profile picture.

    • public_about_mestring

      Text about the person shown publicly.

    • global_profileboolean

      The profile is a global profile across installations.

    • name_display_typestring

      How the name is shown, for example full name or first name only.

    • show_profile_pictureboolean

      The profile picture is shown.

    • profile_picture_check_statusstring

      Pruefstatus des Profilbilds (KI-Pruefung, siehe MediaSocialProfilePictureHelper): null = nie geprueft (Pruefung aus), pending, approved, rejected. Nur ein freigegebenes Bild landet in profilePictureUrl, solange die Pruefung eingeschaltet ist.

    • createdstring (date-time)

      Point in time the entity was created.

    • updatedstring (date-time)

      Point in time the entity was last updated.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

  • guest_namestring

    Name of the guest who wrote the entry.

  • guest_emailstring

    Scope-only: never exposed to public or logged-in callers.

  • guest_email_confirmedboolean

    The e-mail address of the guest was confirmed.

  • consent_confirmedboolean

    GDPR: guest confirmed the consent text before submitting. Same field as EventMoment::$consentConfirmed.

  • attachmentsarray<Attachment10>

    Files attached to the entry.

    Show fields (25)
    • idinteger

      Primary key of the attachment. Internal ID.

    • filenamestring

      Original file name.

    • filesizestring

      Size of the file in bytes.

    • mimetypestring

      MIME type of the file.

    • createdbyusernamestring

      Name of the user who uploaded the file, as text.

    • createdstring (date-time)

      Point in time the attachment was created.

    • googleidstring

      ID of the file in Google Drive.

    • scopestring

      Scope that controls who can see the attachment.

    • ocr_document_typestring

      Document type recognized by OCR.

    • ocr_from_namestring

      Sender name recognized by OCR.

    • ocr_from_companystring

      Sender company recognized by OCR.

    • ocr_from_addressstring

      Sender address recognized by OCR.

    • ocr_from_emailstring

      Sender e-mail address recognized by OCR.

    • ocr_from_phonestring

      Sender phone number recognized by OCR.

    • ocr_to_namestring

      Recipient name recognized by OCR.

    • ocr_to_companystring

      Recipient company recognized by OCR.

    • ocr_to_addressstring

      Recipient address recognized by OCR.

    • ocr_to_emailstring

      Recipient e-mail address recognized by OCR.

    • ocr_to_phonestring

      Recipient phone number recognized by OCR.

    • ocr_summarystring

      Summary of the document created by OCR.

    • ocr_statusstring

      OCR processing status: null=not processed, pending, processing, done, error

    • ocr_errorstring

      Reason of the last failed or incomplete OCR run, null when it went through

    • ocr_processed_atstring (date-time)

      Point in time OCR processing finished.

    • virus_checkedboolean

      1 once the virus scan has passed for this file. The scan runs in the background (AttachmentVirusScanCommand), so a freshly uploaded file starts at 0 and stays there until it was really checked. An infected file never reaches 1 - it is deleted instead. UIs use this to decide whether a file may be handed to a user, so it must stay false until proven otherwise.

    • virus_checked_atstring (date-time)

      When the virus scan passed. Null while the file is still waiting.

  • vote_countinteger

    Denormalized so lists can sort by popularity without a join. Maintained by MediaFeedbackVoteHelper; MediaFeedbackRecountCommand repairs it.

  • comment_countinteger

    Number of comments on the entry.

  • duplicate_ofMediaFeedbackEntry

    Merge target. Set together with STATUS_DUPLICATE.

  • roadmap_itemsarray<MediaFeedbackRoadmapItem3>
    Show fields (21)
    • timeline_orderinteger

      Position of this item's status group on the timeline. Unknown statuses sort last instead of silently landing in the first group.

    • display_targetstring

      What the timeline should print as the date of this milestone: the free-text label if one was set, otherwise the target date.

    • linked_entry_countinteger

      Number of linked, still-visible feedback entries.

    • linked_vote_countinteger

      Summed votes of all linked entries — the demand behind this milestone.

    • idinteger

      Primary key of the roadmap item. Internal ID.

    • titlestring

      Title of the roadmap item.

    • descriptionstring

      Description of the roadmap item.

    • statusstring

      Status 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_labelstring

      Free-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_versionstring

      Version the item was released in.

    • image_urlstring

      URL of the image of the item.

    • sort_orderinteger

      Sort order of the item.

    • createdstring (date-time)

      Point in time the entity was created.

    • updatedstring (date-time)

      Point in time the entity was last updated.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • ucatsarray<UnifiedCategory32>

      Unified categories of the entity.

    • visibility_typestring

      Type of visibility of the entity.

    • arslistarray<AccessRightStorage13>

      Access rights list that controls the visibility.

  • internal_notestring

    Scope-only.

  • internal_priorityinteger

    Scope-only.

  • createdstring (date-time)

    Point in time the entity was created.

  • updatedstring (date-time)

    Point in time the entity was last updated.

  • deletedboolean

    This property is used to mark an entity as deleted / archived

  • ucatsarray<UnifiedCategory32>

    Unified categories of the entity.

    Show fields (32)
    • idinteger

      Primary key of the unified category. Internal ID.

    • category_typestring

      Type of the category, for example course or membership.

    • childrenarray<UnifiedCategory32>

      Child categories.

    • parentUnifiedCategory32

      Parent category.

    • view_orderinteger

      Sort order of the category in lists.

    • is_publicboolean

      The 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.

    • namestring

      Name of the entity.

    • addressstring

      Address as text.

    • address_streetstring

      Street of the address.

    • address_house_numberstring

      House number of the address.

    • address_street_levelstring

      Street and house number of the address.

    • address_costring

      Care-of line of the address.

    • address_citystring

      City of the address.

    • address_zipstring

      Postal code of the address.

    • address_admin_level1string

      First administrative level of the address, e.g. the federal state.

    • address_countrystring

      Country code of the address.

    • address_full_countrystring

      Full name of the country of the address.

    • address_geo_latstring

      Latitude of the address.

    • address_geo_lngstring

      Longitude of the address.

    • address_external_provider_idstring

      field to store the external provider id of the address. e.g. Google Maps PlaceID like google:ChIJVcKw5r90sEcRhdjNq6NItqE

    • main_phonestring

      Main phone number.

    • main_faxstring

      Main fax number.

    • main_emailstring

      Main e-mail address.

    • websitestring

      Website address.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • search_stringstring

      Text that the entity can be searched by.

    • short_identifierstring

      Short identifier of the entity.

    • slug_identifierstring

      Slug used in URLs of the entity.

    • image_urlstring

      URL of the image of the entity.

    • is_ui_filterboolean

      This property is used to mark an entity as a filter for the frontend

  • visibility_typestring

    Type of visibility of the entity.

  • arslistarray<AccessRightStorage13>

    Access rights list that controls the visibility.

    Show fields (12)
    • idinteger

      Primary key of the access right entry. Internal ID.

    • userUser56

      User who gets the access right. Only set for user-specific rights.

    • access_tagAccessTag

      Access tag the right applies to. Only set for rights on a tag.

    • create_mainboolean

      Create permission for main records of the access tag.

    • edit_mainboolean

      Edit permission for main records of the access tag.

    • read_mainboolean

      Read permission for main records of the access tag.

    • create_childboolean

      Create permission for child records (for example items inside a main record).

    • edit_childboolean

      Edit permission for child records (for example items inside a main record).

    • read_childboolean

      Read 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.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

Request
curl --request PATCH \
  --url https://your-instance.iw-erp.de/api/media/feedback_entry/42 \
  --header 'content-type: application/json' \
  --header 'x-iw-jwt-token: <TOKEN>' \
  --data '
{
  "data": {
    "text": "Text",
    "guest_name": "Beispiel",
    "board": {
      "name": "Beispiel",
      "public_title": "Beispiel",
      "public_description": "Text",
      "image_url": "https://vynst.de",
      "sort_order": 1,
      "allow_new_entries": true
    },
    "headline": "string",
    "feedback_type": "string",
    "status": "string"
  }
}
'
Response 200 application/json
{
  "author_name": "Beispiel",
  "id": 42,
  "text": "Text",
  "guest_name": "Beispiel",
  "guest_email": "lena.hartmann@example.org",
  "board": {
    "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
  },
  "headline": "string",
  "feedback_type": "string",
  "status": "string",
  "status_note": "string"
}

Soft-deletes a feedback entry.

DELETE/api/media/feedback_entry/{identifier}

Path parameters

identifierrequiredstring

Responses

200Delete a MediaFeedbackEntryMediaFeedbackEntry

Show fields (29)
  • author_namestring

    Display 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.

  • idinteger

    Primary key of the feedback entry. Internal ID.

  • boardMediaFeedbackBoard3

    Feedback board the entry belongs to.

    Show fields (21)
    • is_publicboolean

      True when the board itself may be served to callers without a session.

    • idinteger

      Primary key of the feedback board. Internal ID.

    • namestring

      Internal name, shown in the admin UI only.

    • public_titlestring

      Title of the board shown to the public.

    • public_descriptionstring

      Description of the board shown to the public.

    • public_keystring

      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.

    • image_urlstring

      URL of the image of the board.

    • sort_orderinteger

      Sort order of the board in lists.

    • allow_new_entriesboolean

      Members can create new entries.

    • allow_votingboolean

      Members can vote on entries.

    • allow_commentsboolean

      Members can comment on entries.

    • allow_guest_entriesboolean

      Guests can create new entries.

    • allow_guest_votesboolean

      Guests can vote on entries.

    • allow_guest_commentsboolean

      Guests can comment on entries.

    • moderation_requiredboolean

      Board-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.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • ucatsarray<UnifiedCategory32>

      Unified categories of the entity.

    • visibility_typestring

      Type of visibility of the entity.

    • arslistarray<AccessRightStorage13>

      Access rights list that controls the visibility.

  • headlinestring

    Headline of the feedback entry.

  • textstring

    Text of the feedback entry.

  • feedback_typestring

    Type of the feedback, for example idea or problem.

  • statusstring

    Status of the feedback, for example open, planned or done.

  • status_notestring

    Publicly 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_statusstring

    Moderation status, for example pending or approved.

  • moderation_reasonstring

    Reason for the moderation decision.

  • moderated_atstring (date-time)

    Time the entry was moderated.

  • social_profileMediaSocialProfile10

    Author when submitted by a logged-in person. Reuses the social profile so the pseudonymity settings a person already chose apply here too.

    Show fields (11)
    • idinteger

      Primary key of the social profile. Internal ID.

    • public_namestring

      Name shown publicly.

    • profile_picture_urlstring

      URL of the profile picture.

    • public_about_mestring

      Text about the person shown publicly.

    • global_profileboolean

      The profile is a global profile across installations.

    • name_display_typestring

      How the name is shown, for example full name or first name only.

    • show_profile_pictureboolean

      The profile picture is shown.

    • profile_picture_check_statusstring

      Pruefstatus des Profilbilds (KI-Pruefung, siehe MediaSocialProfilePictureHelper): null = nie geprueft (Pruefung aus), pending, approved, rejected. Nur ein freigegebenes Bild landet in profilePictureUrl, solange die Pruefung eingeschaltet ist.

    • createdstring (date-time)

      Point in time the entity was created.

    • updatedstring (date-time)

      Point in time the entity was last updated.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

  • guest_namestring

    Name of the guest who wrote the entry.

  • guest_emailstring

    Scope-only: never exposed to public or logged-in callers.

  • guest_email_confirmedboolean

    The e-mail address of the guest was confirmed.

  • consent_confirmedboolean

    GDPR: guest confirmed the consent text before submitting. Same field as EventMoment::$consentConfirmed.

  • attachmentsarray<Attachment10>

    Files attached to the entry.

    Show fields (25)
    • idinteger

      Primary key of the attachment. Internal ID.

    • filenamestring

      Original file name.

    • filesizestring

      Size of the file in bytes.

    • mimetypestring

      MIME type of the file.

    • createdbyusernamestring

      Name of the user who uploaded the file, as text.

    • createdstring (date-time)

      Point in time the attachment was created.

    • googleidstring

      ID of the file in Google Drive.

    • scopestring

      Scope that controls who can see the attachment.

    • ocr_document_typestring

      Document type recognized by OCR.

    • ocr_from_namestring

      Sender name recognized by OCR.

    • ocr_from_companystring

      Sender company recognized by OCR.

    • ocr_from_addressstring

      Sender address recognized by OCR.

    • ocr_from_emailstring

      Sender e-mail address recognized by OCR.

    • ocr_from_phonestring

      Sender phone number recognized by OCR.

    • ocr_to_namestring

      Recipient name recognized by OCR.

    • ocr_to_companystring

      Recipient company recognized by OCR.

    • ocr_to_addressstring

      Recipient address recognized by OCR.

    • ocr_to_emailstring

      Recipient e-mail address recognized by OCR.

    • ocr_to_phonestring

      Recipient phone number recognized by OCR.

    • ocr_summarystring

      Summary of the document created by OCR.

    • ocr_statusstring

      OCR processing status: null=not processed, pending, processing, done, error

    • ocr_errorstring

      Reason of the last failed or incomplete OCR run, null when it went through

    • ocr_processed_atstring (date-time)

      Point in time OCR processing finished.

    • virus_checkedboolean

      1 once the virus scan has passed for this file. The scan runs in the background (AttachmentVirusScanCommand), so a freshly uploaded file starts at 0 and stays there until it was really checked. An infected file never reaches 1 - it is deleted instead. UIs use this to decide whether a file may be handed to a user, so it must stay false until proven otherwise.

    • virus_checked_atstring (date-time)

      When the virus scan passed. Null while the file is still waiting.

  • vote_countinteger

    Denormalized so lists can sort by popularity without a join. Maintained by MediaFeedbackVoteHelper; MediaFeedbackRecountCommand repairs it.

  • comment_countinteger

    Number of comments on the entry.

  • duplicate_ofMediaFeedbackEntry

    Merge target. Set together with STATUS_DUPLICATE.

  • roadmap_itemsarray<MediaFeedbackRoadmapItem3>
    Show fields (21)
    • timeline_orderinteger

      Position of this item's status group on the timeline. Unknown statuses sort last instead of silently landing in the first group.

    • display_targetstring

      What the timeline should print as the date of this milestone: the free-text label if one was set, otherwise the target date.

    • linked_entry_countinteger

      Number of linked, still-visible feedback entries.

    • linked_vote_countinteger

      Summed votes of all linked entries — the demand behind this milestone.

    • idinteger

      Primary key of the roadmap item. Internal ID.

    • titlestring

      Title of the roadmap item.

    • descriptionstring

      Description of the roadmap item.

    • statusstring

      Status 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_labelstring

      Free-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_versionstring

      Version the item was released in.

    • image_urlstring

      URL of the image of the item.

    • sort_orderinteger

      Sort order of the item.

    • createdstring (date-time)

      Point in time the entity was created.

    • updatedstring (date-time)

      Point in time the entity was last updated.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • ucatsarray<UnifiedCategory32>

      Unified categories of the entity.

    • visibility_typestring

      Type of visibility of the entity.

    • arslistarray<AccessRightStorage13>

      Access rights list that controls the visibility.

  • internal_notestring

    Scope-only.

  • internal_priorityinteger

    Scope-only.

  • createdstring (date-time)

    Point in time the entity was created.

  • updatedstring (date-time)

    Point in time the entity was last updated.

  • deletedboolean

    This property is used to mark an entity as deleted / archived

  • ucatsarray<UnifiedCategory32>

    Unified categories of the entity.

    Show fields (32)
    • idinteger

      Primary key of the unified category. Internal ID.

    • category_typestring

      Type of the category, for example course or membership.

    • childrenarray<UnifiedCategory32>

      Child categories.

    • parentUnifiedCategory32

      Parent category.

    • view_orderinteger

      Sort order of the category in lists.

    • is_publicboolean

      The 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.

    • namestring

      Name of the entity.

    • addressstring

      Address as text.

    • address_streetstring

      Street of the address.

    • address_house_numberstring

      House number of the address.

    • address_street_levelstring

      Street and house number of the address.

    • address_costring

      Care-of line of the address.

    • address_citystring

      City of the address.

    • address_zipstring

      Postal code of the address.

    • address_admin_level1string

      First administrative level of the address, e.g. the federal state.

    • address_countrystring

      Country code of the address.

    • address_full_countrystring

      Full name of the country of the address.

    • address_geo_latstring

      Latitude of the address.

    • address_geo_lngstring

      Longitude of the address.

    • address_external_provider_idstring

      field to store the external provider id of the address. e.g. Google Maps PlaceID like google:ChIJVcKw5r90sEcRhdjNq6NItqE

    • main_phonestring

      Main phone number.

    • main_faxstring

      Main fax number.

    • main_emailstring

      Main e-mail address.

    • websitestring

      Website address.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • search_stringstring

      Text that the entity can be searched by.

    • short_identifierstring

      Short identifier of the entity.

    • slug_identifierstring

      Slug used in URLs of the entity.

    • image_urlstring

      URL of the image of the entity.

    • is_ui_filterboolean

      This property is used to mark an entity as a filter for the frontend

  • visibility_typestring

    Type of visibility of the entity.

  • arslistarray<AccessRightStorage13>

    Access rights list that controls the visibility.

    Show fields (12)
    • idinteger

      Primary key of the access right entry. Internal ID.

    • userUser56

      User who gets the access right. Only set for user-specific rights.

    • access_tagAccessTag

      Access tag the right applies to. Only set for rights on a tag.

    • create_mainboolean

      Create permission for main records of the access tag.

    • edit_mainboolean

      Edit permission for main records of the access tag.

    • read_mainboolean

      Read permission for main records of the access tag.

    • create_childboolean

      Create permission for child records (for example items inside a main record).

    • edit_childboolean

      Edit permission for child records (for example items inside a main record).

    • read_childboolean

      Read 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.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

Request
curl --request DELETE \
  --url https://your-instance.iw-erp.de/api/media/feedback_entry/42 \
  --header 'x-iw-jwt-token: <TOKEN>'
Response 200 application/json
{
  "author_name": "Beispiel",
  "id": 42,
  "text": "Text",
  "guest_name": "Beispiel",
  "guest_email": "lena.hartmann@example.org",
  "board": {
    "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
  },
  "headline": "string",
  "feedback_type": "string",
  "status": "string",
  "status_note": "string"
}

Creates a feedback entry as a logged-in user.

POST/api/media/feedback_entry/user

Request body application/json

  • dataMediaFeedbackEntry2
    Show fields (17)
    • boardMediaFeedbackBoard2

      Feedback board the entry belongs to.

    • headlinestring

      Headline of the feedback entry.

    • textstring

      Text of the feedback entry.

    • feedback_typestring

      Type of the feedback, for example idea or problem.

    • statusstring

      Status of the feedback, for example open, planned or done.

    • status_notestring

      Publicly 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_statusstring

      Moderation status, for example pending or approved.

    • moderation_reasonstring

      Reason for the moderation decision.

    • social_profileMediaSocialProfile16

      Author when submitted by a logged-in person. Reuses the social profile so the pseudonymity settings a person already chose apply here too.

    • guest_namestring

      Name of the guest who wrote the entry.

    • attachmentsarray<Attachment12>

      Files attached to the entry.

    • duplicate_ofMediaFeedbackEntry2

      Merge target. Set together with STATUS_DUPLICATE.

    • roadmap_itemsarray<MediaFeedbackRoadmapItem2>
    • internal_notestring

      Scope-only.

    • internal_priorityinteger

      Scope-only.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • ucatsarray<UnifiedCategory11>

      Unified categories of the entity.

Responses

200User creates a feedback entryMediaFeedbackEntry4

Show fields (13)
  • author_namestring

    Display 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.

  • idinteger

    Primary key of the feedback entry. Internal ID.

  • headlinestring

    Headline of the feedback entry.

  • textstring

    Text of the feedback entry.

  • feedback_typestring

    Type of the feedback, for example idea or problem.

  • statusstring

    Status of the feedback, for example open, planned or done.

  • status_notestring

    Publicly 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.

  • social_profileMediaSocialProfile18

    Author when submitted by a logged-in person. Reuses the social profile so the pseudonymity settings a person already chose apply here too.

  • guest_namestring

    Name of the guest who wrote the entry.

  • attachmentsarray<Attachment12>

    Files attached to the entry.

  • vote_countinteger

    Denormalized so lists can sort by popularity without a join. Maintained by MediaFeedbackVoteHelper; MediaFeedbackRecountCommand repairs it.

  • comment_countinteger

    Number of comments on the entry.

  • duplicate_ofMediaFeedbackEntry4

    Merge target. Set together with STATUS_DUPLICATE.

Request
curl --request POST \
  --url https://your-instance.iw-erp.de/api/media/feedback_entry/user \
  --header 'content-type: application/json' \
  --header 'x-iw-jwt-token: <TOKEN>' \
  --data '
{
  "data": {
    "text": "Text",
    "guest_name": "Beispiel",
    "board": {
      "name": "Beispiel",
      "public_title": "Beispiel",
      "public_description": "Text",
      "image_url": "https://vynst.de",
      "sort_order": 1,
      "allow_new_entries": true
    },
    "headline": "string",
    "feedback_type": "string",
    "status": "string"
  }
}
'
Response 200 application/json
{
  "author_name": "Beispiel",
  "id": 42,
  "text": "Text",
  "guest_name": "Beispiel",
  "headline": "string",
  "feedback_type": "string",
  "status": "string",
  "status_note": "string",
  "attachments": [
    {}
  ],
  "vote_count": 1
}

Changes the status of an entry and records it in the public history.

PUT/api/media/feedback_entry/{identifier}/status

Path parameters

identifierrequiredstring

Query parameters

statusrequiredstringNew status
statusNotestringPublicly visible reason for the change

Responses

200Change the status of a MediaFeedbackEntryMediaFeedbackEntry

Show fields (29)
  • author_namestring

    Display 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.

  • idinteger

    Primary key of the feedback entry. Internal ID.

  • boardMediaFeedbackBoard3

    Feedback board the entry belongs to.

    Show fields (21)
    • is_publicboolean

      True when the board itself may be served to callers without a session.

    • idinteger

      Primary key of the feedback board. Internal ID.

    • namestring

      Internal name, shown in the admin UI only.

    • public_titlestring

      Title of the board shown to the public.

    • public_descriptionstring

      Description of the board shown to the public.

    • public_keystring

      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.

    • image_urlstring

      URL of the image of the board.

    • sort_orderinteger

      Sort order of the board in lists.

    • allow_new_entriesboolean

      Members can create new entries.

    • allow_votingboolean

      Members can vote on entries.

    • allow_commentsboolean

      Members can comment on entries.

    • allow_guest_entriesboolean

      Guests can create new entries.

    • allow_guest_votesboolean

      Guests can vote on entries.

    • allow_guest_commentsboolean

      Guests can comment on entries.

    • moderation_requiredboolean

      Board-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.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • ucatsarray<UnifiedCategory32>

      Unified categories of the entity.

    • visibility_typestring

      Type of visibility of the entity.

    • arslistarray<AccessRightStorage13>

      Access rights list that controls the visibility.

  • headlinestring

    Headline of the feedback entry.

  • textstring

    Text of the feedback entry.

  • feedback_typestring

    Type of the feedback, for example idea or problem.

  • statusstring

    Status of the feedback, for example open, planned or done.

  • status_notestring

    Publicly 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_statusstring

    Moderation status, for example pending or approved.

  • moderation_reasonstring

    Reason for the moderation decision.

  • moderated_atstring (date-time)

    Time the entry was moderated.

  • social_profileMediaSocialProfile10

    Author when submitted by a logged-in person. Reuses the social profile so the pseudonymity settings a person already chose apply here too.

    Show fields (11)
    • idinteger

      Primary key of the social profile. Internal ID.

    • public_namestring

      Name shown publicly.

    • profile_picture_urlstring

      URL of the profile picture.

    • public_about_mestring

      Text about the person shown publicly.

    • global_profileboolean

      The profile is a global profile across installations.

    • name_display_typestring

      How the name is shown, for example full name or first name only.

    • show_profile_pictureboolean

      The profile picture is shown.

    • profile_picture_check_statusstring

      Pruefstatus des Profilbilds (KI-Pruefung, siehe MediaSocialProfilePictureHelper): null = nie geprueft (Pruefung aus), pending, approved, rejected. Nur ein freigegebenes Bild landet in profilePictureUrl, solange die Pruefung eingeschaltet ist.

    • createdstring (date-time)

      Point in time the entity was created.

    • updatedstring (date-time)

      Point in time the entity was last updated.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

  • guest_namestring

    Name of the guest who wrote the entry.

  • guest_emailstring

    Scope-only: never exposed to public or logged-in callers.

  • guest_email_confirmedboolean

    The e-mail address of the guest was confirmed.

  • consent_confirmedboolean

    GDPR: guest confirmed the consent text before submitting. Same field as EventMoment::$consentConfirmed.

  • attachmentsarray<Attachment10>

    Files attached to the entry.

    Show fields (25)
    • idinteger

      Primary key of the attachment. Internal ID.

    • filenamestring

      Original file name.

    • filesizestring

      Size of the file in bytes.

    • mimetypestring

      MIME type of the file.

    • createdbyusernamestring

      Name of the user who uploaded the file, as text.

    • createdstring (date-time)

      Point in time the attachment was created.

    • googleidstring

      ID of the file in Google Drive.

    • scopestring

      Scope that controls who can see the attachment.

    • ocr_document_typestring

      Document type recognized by OCR.

    • ocr_from_namestring

      Sender name recognized by OCR.

    • ocr_from_companystring

      Sender company recognized by OCR.

    • ocr_from_addressstring

      Sender address recognized by OCR.

    • ocr_from_emailstring

      Sender e-mail address recognized by OCR.

    • ocr_from_phonestring

      Sender phone number recognized by OCR.

    • ocr_to_namestring

      Recipient name recognized by OCR.

    • ocr_to_companystring

      Recipient company recognized by OCR.

    • ocr_to_addressstring

      Recipient address recognized by OCR.

    • ocr_to_emailstring

      Recipient e-mail address recognized by OCR.

    • ocr_to_phonestring

      Recipient phone number recognized by OCR.

    • ocr_summarystring

      Summary of the document created by OCR.

    • ocr_statusstring

      OCR processing status: null=not processed, pending, processing, done, error

    • ocr_errorstring

      Reason of the last failed or incomplete OCR run, null when it went through

    • ocr_processed_atstring (date-time)

      Point in time OCR processing finished.

    • virus_checkedboolean

      1 once the virus scan has passed for this file. The scan runs in the background (AttachmentVirusScanCommand), so a freshly uploaded file starts at 0 and stays there until it was really checked. An infected file never reaches 1 - it is deleted instead. UIs use this to decide whether a file may be handed to a user, so it must stay false until proven otherwise.

    • virus_checked_atstring (date-time)

      When the virus scan passed. Null while the file is still waiting.

  • vote_countinteger

    Denormalized so lists can sort by popularity without a join. Maintained by MediaFeedbackVoteHelper; MediaFeedbackRecountCommand repairs it.

  • comment_countinteger

    Number of comments on the entry.

  • duplicate_ofMediaFeedbackEntry

    Merge target. Set together with STATUS_DUPLICATE.

  • roadmap_itemsarray<MediaFeedbackRoadmapItem3>
    Show fields (21)
    • timeline_orderinteger

      Position of this item's status group on the timeline. Unknown statuses sort last instead of silently landing in the first group.

    • display_targetstring

      What the timeline should print as the date of this milestone: the free-text label if one was set, otherwise the target date.

    • linked_entry_countinteger

      Number of linked, still-visible feedback entries.

    • linked_vote_countinteger

      Summed votes of all linked entries — the demand behind this milestone.

    • idinteger

      Primary key of the roadmap item. Internal ID.

    • titlestring

      Title of the roadmap item.

    • descriptionstring

      Description of the roadmap item.

    • statusstring

      Status 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_labelstring

      Free-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_versionstring

      Version the item was released in.

    • image_urlstring

      URL of the image of the item.

    • sort_orderinteger

      Sort order of the item.

    • createdstring (date-time)

      Point in time the entity was created.

    • updatedstring (date-time)

      Point in time the entity was last updated.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • ucatsarray<UnifiedCategory32>

      Unified categories of the entity.

    • visibility_typestring

      Type of visibility of the entity.

    • arslistarray<AccessRightStorage13>

      Access rights list that controls the visibility.

  • internal_notestring

    Scope-only.

  • internal_priorityinteger

    Scope-only.

  • createdstring (date-time)

    Point in time the entity was created.

  • updatedstring (date-time)

    Point in time the entity was last updated.

  • deletedboolean

    This property is used to mark an entity as deleted / archived

  • ucatsarray<UnifiedCategory32>

    Unified categories of the entity.

    Show fields (32)
    • idinteger

      Primary key of the unified category. Internal ID.

    • category_typestring

      Type of the category, for example course or membership.

    • childrenarray<UnifiedCategory32>

      Child categories.

    • parentUnifiedCategory32

      Parent category.

    • view_orderinteger

      Sort order of the category in lists.

    • is_publicboolean

      The 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.

    • namestring

      Name of the entity.

    • addressstring

      Address as text.

    • address_streetstring

      Street of the address.

    • address_house_numberstring

      House number of the address.

    • address_street_levelstring

      Street and house number of the address.

    • address_costring

      Care-of line of the address.

    • address_citystring

      City of the address.

    • address_zipstring

      Postal code of the address.

    • address_admin_level1string

      First administrative level of the address, e.g. the federal state.

    • address_countrystring

      Country code of the address.

    • address_full_countrystring

      Full name of the country of the address.

    • address_geo_latstring

      Latitude of the address.

    • address_geo_lngstring

      Longitude of the address.

    • address_external_provider_idstring

      field to store the external provider id of the address. e.g. Google Maps PlaceID like google:ChIJVcKw5r90sEcRhdjNq6NItqE

    • main_phonestring

      Main phone number.

    • main_faxstring

      Main fax number.

    • main_emailstring

      Main e-mail address.

    • websitestring

      Website address.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • search_stringstring

      Text that the entity can be searched by.

    • short_identifierstring

      Short identifier of the entity.

    • slug_identifierstring

      Slug used in URLs of the entity.

    • image_urlstring

      URL of the image of the entity.

    • is_ui_filterboolean

      This property is used to mark an entity as a filter for the frontend

  • visibility_typestring

    Type of visibility of the entity.

  • arslistarray<AccessRightStorage13>

    Access rights list that controls the visibility.

    Show fields (12)
    • idinteger

      Primary key of the access right entry. Internal ID.

    • userUser56

      User who gets the access right. Only set for user-specific rights.

    • access_tagAccessTag

      Access tag the right applies to. Only set for rights on a tag.

    • create_mainboolean

      Create permission for main records of the access tag.

    • edit_mainboolean

      Edit permission for main records of the access tag.

    • read_mainboolean

      Read permission for main records of the access tag.

    • create_childboolean

      Create permission for child records (for example items inside a main record).

    • edit_childboolean

      Edit permission for child records (for example items inside a main record).

    • read_childboolean

      Read 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.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

Request
curl --request PUT \
  --url 'https://your-instance.iw-erp.de/api/media/feedback_entry/42/status?status=string' \
  --header 'x-iw-jwt-token: <TOKEN>'
Response 200 application/json
{
  "author_name": "Beispiel",
  "id": 42,
  "text": "Text",
  "guest_name": "Beispiel",
  "guest_email": "lena.hartmann@example.org",
  "board": {
    "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
  },
  "headline": "string",
  "feedback_type": "string",
  "status": "string",
  "status_note": "string"
}

Changes the status of an entry and records it in the public history.

PATCH/api/media/feedback_entry/{identifier}/status

Path parameters

identifierrequiredstring

Query parameters

statusrequiredstringNew status
statusNotestringPublicly visible reason for the change

Responses

200Change the status of a MediaFeedbackEntryMediaFeedbackEntry

Show fields (29)
  • author_namestring

    Display 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.

  • idinteger

    Primary key of the feedback entry. Internal ID.

  • boardMediaFeedbackBoard3

    Feedback board the entry belongs to.

    Show fields (21)
    • is_publicboolean

      True when the board itself may be served to callers without a session.

    • idinteger

      Primary key of the feedback board. Internal ID.

    • namestring

      Internal name, shown in the admin UI only.

    • public_titlestring

      Title of the board shown to the public.

    • public_descriptionstring

      Description of the board shown to the public.

    • public_keystring

      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.

    • image_urlstring

      URL of the image of the board.

    • sort_orderinteger

      Sort order of the board in lists.

    • allow_new_entriesboolean

      Members can create new entries.

    • allow_votingboolean

      Members can vote on entries.

    • allow_commentsboolean

      Members can comment on entries.

    • allow_guest_entriesboolean

      Guests can create new entries.

    • allow_guest_votesboolean

      Guests can vote on entries.

    • allow_guest_commentsboolean

      Guests can comment on entries.

    • moderation_requiredboolean

      Board-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.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • ucatsarray<UnifiedCategory32>

      Unified categories of the entity.

    • visibility_typestring

      Type of visibility of the entity.

    • arslistarray<AccessRightStorage13>

      Access rights list that controls the visibility.

  • headlinestring

    Headline of the feedback entry.

  • textstring

    Text of the feedback entry.

  • feedback_typestring

    Type of the feedback, for example idea or problem.

  • statusstring

    Status of the feedback, for example open, planned or done.

  • status_notestring

    Publicly 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_statusstring

    Moderation status, for example pending or approved.

  • moderation_reasonstring

    Reason for the moderation decision.

  • moderated_atstring (date-time)

    Time the entry was moderated.

  • social_profileMediaSocialProfile10

    Author when submitted by a logged-in person. Reuses the social profile so the pseudonymity settings a person already chose apply here too.

    Show fields (11)
    • idinteger

      Primary key of the social profile. Internal ID.

    • public_namestring

      Name shown publicly.

    • profile_picture_urlstring

      URL of the profile picture.

    • public_about_mestring

      Text about the person shown publicly.

    • global_profileboolean

      The profile is a global profile across installations.

    • name_display_typestring

      How the name is shown, for example full name or first name only.

    • show_profile_pictureboolean

      The profile picture is shown.

    • profile_picture_check_statusstring

      Pruefstatus des Profilbilds (KI-Pruefung, siehe MediaSocialProfilePictureHelper): null = nie geprueft (Pruefung aus), pending, approved, rejected. Nur ein freigegebenes Bild landet in profilePictureUrl, solange die Pruefung eingeschaltet ist.

    • createdstring (date-time)

      Point in time the entity was created.

    • updatedstring (date-time)

      Point in time the entity was last updated.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

  • guest_namestring

    Name of the guest who wrote the entry.

  • guest_emailstring

    Scope-only: never exposed to public or logged-in callers.

  • guest_email_confirmedboolean

    The e-mail address of the guest was confirmed.

  • consent_confirmedboolean

    GDPR: guest confirmed the consent text before submitting. Same field as EventMoment::$consentConfirmed.

  • attachmentsarray<Attachment10>

    Files attached to the entry.

    Show fields (25)
    • idinteger

      Primary key of the attachment. Internal ID.

    • filenamestring

      Original file name.

    • filesizestring

      Size of the file in bytes.

    • mimetypestring

      MIME type of the file.

    • createdbyusernamestring

      Name of the user who uploaded the file, as text.

    • createdstring (date-time)

      Point in time the attachment was created.

    • googleidstring

      ID of the file in Google Drive.

    • scopestring

      Scope that controls who can see the attachment.

    • ocr_document_typestring

      Document type recognized by OCR.

    • ocr_from_namestring

      Sender name recognized by OCR.

    • ocr_from_companystring

      Sender company recognized by OCR.

    • ocr_from_addressstring

      Sender address recognized by OCR.

    • ocr_from_emailstring

      Sender e-mail address recognized by OCR.

    • ocr_from_phonestring

      Sender phone number recognized by OCR.

    • ocr_to_namestring

      Recipient name recognized by OCR.

    • ocr_to_companystring

      Recipient company recognized by OCR.

    • ocr_to_addressstring

      Recipient address recognized by OCR.

    • ocr_to_emailstring

      Recipient e-mail address recognized by OCR.

    • ocr_to_phonestring

      Recipient phone number recognized by OCR.

    • ocr_summarystring

      Summary of the document created by OCR.

    • ocr_statusstring

      OCR processing status: null=not processed, pending, processing, done, error

    • ocr_errorstring

      Reason of the last failed or incomplete OCR run, null when it went through

    • ocr_processed_atstring (date-time)

      Point in time OCR processing finished.

    • virus_checkedboolean

      1 once the virus scan has passed for this file. The scan runs in the background (AttachmentVirusScanCommand), so a freshly uploaded file starts at 0 and stays there until it was really checked. An infected file never reaches 1 - it is deleted instead. UIs use this to decide whether a file may be handed to a user, so it must stay false until proven otherwise.

    • virus_checked_atstring (date-time)

      When the virus scan passed. Null while the file is still waiting.

  • vote_countinteger

    Denormalized so lists can sort by popularity without a join. Maintained by MediaFeedbackVoteHelper; MediaFeedbackRecountCommand repairs it.

  • comment_countinteger

    Number of comments on the entry.

  • duplicate_ofMediaFeedbackEntry

    Merge target. Set together with STATUS_DUPLICATE.

  • roadmap_itemsarray<MediaFeedbackRoadmapItem3>
    Show fields (21)
    • timeline_orderinteger

      Position of this item's status group on the timeline. Unknown statuses sort last instead of silently landing in the first group.

    • display_targetstring

      What the timeline should print as the date of this milestone: the free-text label if one was set, otherwise the target date.

    • linked_entry_countinteger

      Number of linked, still-visible feedback entries.

    • linked_vote_countinteger

      Summed votes of all linked entries — the demand behind this milestone.

    • idinteger

      Primary key of the roadmap item. Internal ID.

    • titlestring

      Title of the roadmap item.

    • descriptionstring

      Description of the roadmap item.

    • statusstring

      Status 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_labelstring

      Free-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_versionstring

      Version the item was released in.

    • image_urlstring

      URL of the image of the item.

    • sort_orderinteger

      Sort order of the item.

    • createdstring (date-time)

      Point in time the entity was created.

    • updatedstring (date-time)

      Point in time the entity was last updated.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • ucatsarray<UnifiedCategory32>

      Unified categories of the entity.

    • visibility_typestring

      Type of visibility of the entity.

    • arslistarray<AccessRightStorage13>

      Access rights list that controls the visibility.

  • internal_notestring

    Scope-only.

  • internal_priorityinteger

    Scope-only.

  • createdstring (date-time)

    Point in time the entity was created.

  • updatedstring (date-time)

    Point in time the entity was last updated.

  • deletedboolean

    This property is used to mark an entity as deleted / archived

  • ucatsarray<UnifiedCategory32>

    Unified categories of the entity.

    Show fields (32)
    • idinteger

      Primary key of the unified category. Internal ID.

    • category_typestring

      Type of the category, for example course or membership.

    • childrenarray<UnifiedCategory32>

      Child categories.

    • parentUnifiedCategory32

      Parent category.

    • view_orderinteger

      Sort order of the category in lists.

    • is_publicboolean

      The 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.

    • namestring

      Name of the entity.

    • addressstring

      Address as text.

    • address_streetstring

      Street of the address.

    • address_house_numberstring

      House number of the address.

    • address_street_levelstring

      Street and house number of the address.

    • address_costring

      Care-of line of the address.

    • address_citystring

      City of the address.

    • address_zipstring

      Postal code of the address.

    • address_admin_level1string

      First administrative level of the address, e.g. the federal state.

    • address_countrystring

      Country code of the address.

    • address_full_countrystring

      Full name of the country of the address.

    • address_geo_latstring

      Latitude of the address.

    • address_geo_lngstring

      Longitude of the address.

    • address_external_provider_idstring

      field to store the external provider id of the address. e.g. Google Maps PlaceID like google:ChIJVcKw5r90sEcRhdjNq6NItqE

    • main_phonestring

      Main phone number.

    • main_faxstring

      Main fax number.

    • main_emailstring

      Main e-mail address.

    • websitestring

      Website address.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • search_stringstring

      Text that the entity can be searched by.

    • short_identifierstring

      Short identifier of the entity.

    • slug_identifierstring

      Slug used in URLs of the entity.

    • image_urlstring

      URL of the image of the entity.

    • is_ui_filterboolean

      This property is used to mark an entity as a filter for the frontend

  • visibility_typestring

    Type of visibility of the entity.

  • arslistarray<AccessRightStorage13>

    Access rights list that controls the visibility.

    Show fields (12)
    • idinteger

      Primary key of the access right entry. Internal ID.

    • userUser56

      User who gets the access right. Only set for user-specific rights.

    • access_tagAccessTag

      Access tag the right applies to. Only set for rights on a tag.

    • create_mainboolean

      Create permission for main records of the access tag.

    • edit_mainboolean

      Edit permission for main records of the access tag.

    • read_mainboolean

      Read permission for main records of the access tag.

    • create_childboolean

      Create permission for child records (for example items inside a main record).

    • edit_childboolean

      Edit permission for child records (for example items inside a main record).

    • read_childboolean

      Read 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.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

Request
curl --request PATCH \
  --url 'https://your-instance.iw-erp.de/api/media/feedback_entry/42/status?status=string' \
  --header 'x-iw-jwt-token: <TOKEN>'
Response 200 application/json
{
  "author_name": "Beispiel",
  "id": 42,
  "text": "Text",
  "guest_name": "Beispiel",
  "guest_email": "lena.hartmann@example.org",
  "board": {
    "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
  },
  "headline": "string",
  "feedback_type": "string",
  "status": "string",
  "status_note": "string"
}

Turns an entry into a roadmap milestone and links the two.

PUT/api/media/feedback_entry/{identifier}/roadmap_item

Doing this by hand means creating a milestone, retyping the wish, finding the entry again and linking it — four steps in which the linking is the one that gets skipped, leaving a roadmap nobody can trace back to what people asked for.

The entry moves to planned in the same call, because a milestone that exists while the wish still reads "open" tells the board the opposite of what happened.

Path parameters

identifierrequiredstring

Query parameters

titlestringMilestone title, defaults to the entry headline
targetDatestringPlanned date (Y-m-d)
targetLabelstringFree-text period, wins over targetDate in the UI
roadmapItemIdentifierstringLink to this existing milestone instead of creating one

Responses

200Create a roadmap milestone from a feedback entryMediaFeedbackRoadmapItem

Show fields (22)
  • timeline_orderinteger

    Position of this item's status group on the timeline. Unknown statuses sort last instead of silently landing in the first group.

  • display_targetstring

    What the timeline should print as the date of this milestone: the free-text label if one was set, otherwise the target date.

  • linked_entry_countinteger

    Number of linked, still-visible feedback entries.

  • linked_vote_countinteger

    Summed votes of all linked entries — the demand behind this milestone.

  • idinteger

    Primary key of the roadmap item. Internal ID.

  • titlestring

    Title of the roadmap item.

  • descriptionstring

    Description of the roadmap item.

  • statusstring

    Status 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_labelstring

    Free-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_versionstring

    Version the item was released in.

  • image_urlstring

    URL of the image of the item.

  • sort_orderinteger

    Sort order of the item.

  • entriesarray<MediaFeedbackEntry5>

    Feedback entries linked to the item.

    Show fields (20)
    • author_namestring

      Display 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.

    • idinteger

      Primary key of the feedback entry. Internal ID.

    • boardMediaFeedbackBoard6

      Feedback board the entry belongs to.

    • headlinestring

      Headline of the feedback entry.

    • textstring

      Text of the feedback entry.

    • feedback_typestring

      Type of the feedback, for example idea or problem.

    • statusstring

      Status of the feedback, for example open, planned or done.

    • status_notestring

      Publicly 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_statusstring

      Moderation status, for example pending or approved.

    • social_profileMediaSocialProfile10

      Author when submitted by a logged-in person. Reuses the social profile so the pseudonymity settings a person already chose apply here too.

    • guest_namestring

      Name of the guest who wrote the entry.

    • vote_countinteger

      Denormalized so lists can sort by popularity without a join. Maintained by MediaFeedbackVoteHelper; MediaFeedbackRecountCommand repairs it.

    • comment_countinteger

      Number of comments on the entry.

    • duplicate_ofMediaFeedbackEntry5

      Merge 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.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • ucatsarray<UnifiedCategory34>

      Unified categories of the entity.

    • visibility_typestring

      Type 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.

  • deletedboolean

    This property is used to mark an entity as deleted / archived

  • ucatsarray<UnifiedCategory34>

    Unified categories of the entity.

    Show fields (32)
    • idinteger

      Primary key of the unified category. Internal ID.

    • category_typestring

      Type of the category, for example course or membership.

    • childrenarray<UnifiedCategory34>

      Child categories.

    • parentUnifiedCategory34

      Parent category.

    • view_orderinteger

      Sort order of the category in lists.

    • is_publicboolean

      The 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.

    • namestring

      Name of the entity.

    • addressstring

      Address as text.

    • address_streetstring

      Street of the address.

    • address_house_numberstring

      House number of the address.

    • address_street_levelstring

      Street and house number of the address.

    • address_costring

      Care-of line of the address.

    • address_citystring

      City of the address.

    • address_zipstring

      Postal code of the address.

    • address_admin_level1string

      First administrative level of the address, e.g. the federal state.

    • address_countrystring

      Country code of the address.

    • address_full_countrystring

      Full name of the country of the address.

    • address_geo_latstring

      Latitude of the address.

    • address_geo_lngstring

      Longitude of the address.

    • address_external_provider_idstring

      field to store the external provider id of the address. e.g. Google Maps PlaceID like google:ChIJVcKw5r90sEcRhdjNq6NItqE

    • main_phonestring

      Main phone number.

    • main_faxstring

      Main fax number.

    • main_emailstring

      Main e-mail address.

    • websitestring

      Website address.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • search_stringstring

      Text that the entity can be searched by.

    • short_identifierstring

      Short identifier of the entity.

    • slug_identifierstring

      Slug used in URLs of the entity.

    • image_urlstring

      URL of the image of the entity.

    • is_ui_filterboolean

      This property is used to mark an entity as a filter for the frontend

  • visibility_typestring

    Type of visibility of the entity.

  • arslistarray<AccessRightStorage14>

    Access rights list that controls the visibility.

    Show fields (12)
    • idinteger

      Primary key of the access right entry. Internal ID.

    • userUser57

      User who gets the access right. Only set for user-specific rights.

    • access_tagAccessTag

      Access tag the right applies to. Only set for rights on a tag.

    • create_mainboolean

      Create permission for main records of the access tag.

    • edit_mainboolean

      Edit permission for main records of the access tag.

    • read_mainboolean

      Read permission for main records of the access tag.

    • create_childboolean

      Create permission for child records (for example items inside a main record).

    • edit_childboolean

      Edit permission for child records (for example items inside a main record).

    • read_childboolean

      Read 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.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

Request
curl --request PUT \
  --url https://your-instance.iw-erp.de/api/media/feedback_entry/42/roadmap_item \
  --header 'x-iw-jwt-token: <TOKEN>'
Response 200 application/json
{
  "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"
}

Moderates several entries in one call.

PUT/api/media/feedback_entry/bulk_moderation

Working a queue means making the same obvious decision many times over; one request per entry turns that into a page reload per entry. Unknown ids are reported back rather than failing the whole call — a stale list in the client must not lose the decisions that were valid.

Query parameters

identifiersrequiredstringComma separated entry identifiers
moderationStatusrequiredstringTarget moderation status
moderationReasonstringReason shown to the author on rejection

Responses

200Moderate multiple feedback entries at onceMediaFeedbackEntry

Show fields (29)
  • author_namestring

    Display 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.

  • idinteger

    Primary key of the feedback entry. Internal ID.

  • boardMediaFeedbackBoard3

    Feedback board the entry belongs to.

    Show fields (21)
    • is_publicboolean

      True when the board itself may be served to callers without a session.

    • idinteger

      Primary key of the feedback board. Internal ID.

    • namestring

      Internal name, shown in the admin UI only.

    • public_titlestring

      Title of the board shown to the public.

    • public_descriptionstring

      Description of the board shown to the public.

    • public_keystring

      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.

    • image_urlstring

      URL of the image of the board.

    • sort_orderinteger

      Sort order of the board in lists.

    • allow_new_entriesboolean

      Members can create new entries.

    • allow_votingboolean

      Members can vote on entries.

    • allow_commentsboolean

      Members can comment on entries.

    • allow_guest_entriesboolean

      Guests can create new entries.

    • allow_guest_votesboolean

      Guests can vote on entries.

    • allow_guest_commentsboolean

      Guests can comment on entries.

    • moderation_requiredboolean

      Board-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.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • ucatsarray<UnifiedCategory32>

      Unified categories of the entity.

    • visibility_typestring

      Type of visibility of the entity.

    • arslistarray<AccessRightStorage13>

      Access rights list that controls the visibility.

  • headlinestring

    Headline of the feedback entry.

  • textstring

    Text of the feedback entry.

  • feedback_typestring

    Type of the feedback, for example idea or problem.

  • statusstring

    Status of the feedback, for example open, planned or done.

  • status_notestring

    Publicly 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_statusstring

    Moderation status, for example pending or approved.

  • moderation_reasonstring

    Reason for the moderation decision.

  • moderated_atstring (date-time)

    Time the entry was moderated.

  • social_profileMediaSocialProfile10

    Author when submitted by a logged-in person. Reuses the social profile so the pseudonymity settings a person already chose apply here too.

    Show fields (11)
    • idinteger

      Primary key of the social profile. Internal ID.

    • public_namestring

      Name shown publicly.

    • profile_picture_urlstring

      URL of the profile picture.

    • public_about_mestring

      Text about the person shown publicly.

    • global_profileboolean

      The profile is a global profile across installations.

    • name_display_typestring

      How the name is shown, for example full name or first name only.

    • show_profile_pictureboolean

      The profile picture is shown.

    • profile_picture_check_statusstring

      Pruefstatus des Profilbilds (KI-Pruefung, siehe MediaSocialProfilePictureHelper): null = nie geprueft (Pruefung aus), pending, approved, rejected. Nur ein freigegebenes Bild landet in profilePictureUrl, solange die Pruefung eingeschaltet ist.

    • createdstring (date-time)

      Point in time the entity was created.

    • updatedstring (date-time)

      Point in time the entity was last updated.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

  • guest_namestring

    Name of the guest who wrote the entry.

  • guest_emailstring

    Scope-only: never exposed to public or logged-in callers.

  • guest_email_confirmedboolean

    The e-mail address of the guest was confirmed.

  • consent_confirmedboolean

    GDPR: guest confirmed the consent text before submitting. Same field as EventMoment::$consentConfirmed.

  • attachmentsarray<Attachment10>

    Files attached to the entry.

    Show fields (25)
    • idinteger

      Primary key of the attachment. Internal ID.

    • filenamestring

      Original file name.

    • filesizestring

      Size of the file in bytes.

    • mimetypestring

      MIME type of the file.

    • createdbyusernamestring

      Name of the user who uploaded the file, as text.

    • createdstring (date-time)

      Point in time the attachment was created.

    • googleidstring

      ID of the file in Google Drive.

    • scopestring

      Scope that controls who can see the attachment.

    • ocr_document_typestring

      Document type recognized by OCR.

    • ocr_from_namestring

      Sender name recognized by OCR.

    • ocr_from_companystring

      Sender company recognized by OCR.

    • ocr_from_addressstring

      Sender address recognized by OCR.

    • ocr_from_emailstring

      Sender e-mail address recognized by OCR.

    • ocr_from_phonestring

      Sender phone number recognized by OCR.

    • ocr_to_namestring

      Recipient name recognized by OCR.

    • ocr_to_companystring

      Recipient company recognized by OCR.

    • ocr_to_addressstring

      Recipient address recognized by OCR.

    • ocr_to_emailstring

      Recipient e-mail address recognized by OCR.

    • ocr_to_phonestring

      Recipient phone number recognized by OCR.

    • ocr_summarystring

      Summary of the document created by OCR.

    • ocr_statusstring

      OCR processing status: null=not processed, pending, processing, done, error

    • ocr_errorstring

      Reason of the last failed or incomplete OCR run, null when it went through

    • ocr_processed_atstring (date-time)

      Point in time OCR processing finished.

    • virus_checkedboolean

      1 once the virus scan has passed for this file. The scan runs in the background (AttachmentVirusScanCommand), so a freshly uploaded file starts at 0 and stays there until it was really checked. An infected file never reaches 1 - it is deleted instead. UIs use this to decide whether a file may be handed to a user, so it must stay false until proven otherwise.

    • virus_checked_atstring (date-time)

      When the virus scan passed. Null while the file is still waiting.

  • vote_countinteger

    Denormalized so lists can sort by popularity without a join. Maintained by MediaFeedbackVoteHelper; MediaFeedbackRecountCommand repairs it.

  • comment_countinteger

    Number of comments on the entry.

  • duplicate_ofMediaFeedbackEntry

    Merge target. Set together with STATUS_DUPLICATE.

  • roadmap_itemsarray<MediaFeedbackRoadmapItem3>
    Show fields (21)
    • timeline_orderinteger

      Position of this item's status group on the timeline. Unknown statuses sort last instead of silently landing in the first group.

    • display_targetstring

      What the timeline should print as the date of this milestone: the free-text label if one was set, otherwise the target date.

    • linked_entry_countinteger

      Number of linked, still-visible feedback entries.

    • linked_vote_countinteger

      Summed votes of all linked entries — the demand behind this milestone.

    • idinteger

      Primary key of the roadmap item. Internal ID.

    • titlestring

      Title of the roadmap item.

    • descriptionstring

      Description of the roadmap item.

    • statusstring

      Status 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_labelstring

      Free-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_versionstring

      Version the item was released in.

    • image_urlstring

      URL of the image of the item.

    • sort_orderinteger

      Sort order of the item.

    • createdstring (date-time)

      Point in time the entity was created.

    • updatedstring (date-time)

      Point in time the entity was last updated.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • ucatsarray<UnifiedCategory32>

      Unified categories of the entity.

    • visibility_typestring

      Type of visibility of the entity.

    • arslistarray<AccessRightStorage13>

      Access rights list that controls the visibility.

  • internal_notestring

    Scope-only.

  • internal_priorityinteger

    Scope-only.

  • createdstring (date-time)

    Point in time the entity was created.

  • updatedstring (date-time)

    Point in time the entity was last updated.

  • deletedboolean

    This property is used to mark an entity as deleted / archived

  • ucatsarray<UnifiedCategory32>

    Unified categories of the entity.

    Show fields (32)
    • idinteger

      Primary key of the unified category. Internal ID.

    • category_typestring

      Type of the category, for example course or membership.

    • childrenarray<UnifiedCategory32>

      Child categories.

    • parentUnifiedCategory32

      Parent category.

    • view_orderinteger

      Sort order of the category in lists.

    • is_publicboolean

      The 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.

    • namestring

      Name of the entity.

    • addressstring

      Address as text.

    • address_streetstring

      Street of the address.

    • address_house_numberstring

      House number of the address.

    • address_street_levelstring

      Street and house number of the address.

    • address_costring

      Care-of line of the address.

    • address_citystring

      City of the address.

    • address_zipstring

      Postal code of the address.

    • address_admin_level1string

      First administrative level of the address, e.g. the federal state.

    • address_countrystring

      Country code of the address.

    • address_full_countrystring

      Full name of the country of the address.

    • address_geo_latstring

      Latitude of the address.

    • address_geo_lngstring

      Longitude of the address.

    • address_external_provider_idstring

      field to store the external provider id of the address. e.g. Google Maps PlaceID like google:ChIJVcKw5r90sEcRhdjNq6NItqE

    • main_phonestring

      Main phone number.

    • main_faxstring

      Main fax number.

    • main_emailstring

      Main e-mail address.

    • websitestring

      Website address.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • search_stringstring

      Text that the entity can be searched by.

    • short_identifierstring

      Short identifier of the entity.

    • slug_identifierstring

      Slug used in URLs of the entity.

    • image_urlstring

      URL of the image of the entity.

    • is_ui_filterboolean

      This property is used to mark an entity as a filter for the frontend

  • visibility_typestring

    Type of visibility of the entity.

  • arslistarray<AccessRightStorage13>

    Access rights list that controls the visibility.

    Show fields (12)
    • idinteger

      Primary key of the access right entry. Internal ID.

    • userUser56

      User who gets the access right. Only set for user-specific rights.

    • access_tagAccessTag

      Access tag the right applies to. Only set for rights on a tag.

    • create_mainboolean

      Create permission for main records of the access tag.

    • edit_mainboolean

      Edit permission for main records of the access tag.

    • read_mainboolean

      Read permission for main records of the access tag.

    • create_childboolean

      Create permission for child records (for example items inside a main record).

    • edit_childboolean

      Edit permission for child records (for example items inside a main record).

    • read_childboolean

      Read 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.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

Request
curl --request PUT \
  --url 'https://your-instance.iw-erp.de/api/media/feedback_entry/bulk_moderation?identifiers=string&moderationStatus=string' \
  --header 'x-iw-jwt-token: <TOKEN>'
Response 200 application/json
{
  "author_name": "Beispiel",
  "id": 42,
  "text": "Text",
  "guest_name": "Beispiel",
  "guest_email": "lena.hartmann@example.org",
  "board": {
    "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
  },
  "headline": "string",
  "feedback_type": "string",
  "status": "string",
  "status_note": "string"
}

Merges this entry into another one as a duplicate.

PUT/api/media/feedback_entry/{identifier}/merge

Path parameters

identifierrequiredstring

Query parameters

targetIdentifierrequiredstringIdentifier of the entry to merge into

Responses

200Merge a MediaFeedbackEntry into another oneMediaFeedbackEntry

Show fields (29)
  • author_namestring

    Display 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.

  • idinteger

    Primary key of the feedback entry. Internal ID.

  • boardMediaFeedbackBoard3

    Feedback board the entry belongs to.

    Show fields (21)
    • is_publicboolean

      True when the board itself may be served to callers without a session.

    • idinteger

      Primary key of the feedback board. Internal ID.

    • namestring

      Internal name, shown in the admin UI only.

    • public_titlestring

      Title of the board shown to the public.

    • public_descriptionstring

      Description of the board shown to the public.

    • public_keystring

      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.

    • image_urlstring

      URL of the image of the board.

    • sort_orderinteger

      Sort order of the board in lists.

    • allow_new_entriesboolean

      Members can create new entries.

    • allow_votingboolean

      Members can vote on entries.

    • allow_commentsboolean

      Members can comment on entries.

    • allow_guest_entriesboolean

      Guests can create new entries.

    • allow_guest_votesboolean

      Guests can vote on entries.

    • allow_guest_commentsboolean

      Guests can comment on entries.

    • moderation_requiredboolean

      Board-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.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • ucatsarray<UnifiedCategory32>

      Unified categories of the entity.

    • visibility_typestring

      Type of visibility of the entity.

    • arslistarray<AccessRightStorage13>

      Access rights list that controls the visibility.

  • headlinestring

    Headline of the feedback entry.

  • textstring

    Text of the feedback entry.

  • feedback_typestring

    Type of the feedback, for example idea or problem.

  • statusstring

    Status of the feedback, for example open, planned or done.

  • status_notestring

    Publicly 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_statusstring

    Moderation status, for example pending or approved.

  • moderation_reasonstring

    Reason for the moderation decision.

  • moderated_atstring (date-time)

    Time the entry was moderated.

  • social_profileMediaSocialProfile10

    Author when submitted by a logged-in person. Reuses the social profile so the pseudonymity settings a person already chose apply here too.

    Show fields (11)
    • idinteger

      Primary key of the social profile. Internal ID.

    • public_namestring

      Name shown publicly.

    • profile_picture_urlstring

      URL of the profile picture.

    • public_about_mestring

      Text about the person shown publicly.

    • global_profileboolean

      The profile is a global profile across installations.

    • name_display_typestring

      How the name is shown, for example full name or first name only.

    • show_profile_pictureboolean

      The profile picture is shown.

    • profile_picture_check_statusstring

      Pruefstatus des Profilbilds (KI-Pruefung, siehe MediaSocialProfilePictureHelper): null = nie geprueft (Pruefung aus), pending, approved, rejected. Nur ein freigegebenes Bild landet in profilePictureUrl, solange die Pruefung eingeschaltet ist.

    • createdstring (date-time)

      Point in time the entity was created.

    • updatedstring (date-time)

      Point in time the entity was last updated.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

  • guest_namestring

    Name of the guest who wrote the entry.

  • guest_emailstring

    Scope-only: never exposed to public or logged-in callers.

  • guest_email_confirmedboolean

    The e-mail address of the guest was confirmed.

  • consent_confirmedboolean

    GDPR: guest confirmed the consent text before submitting. Same field as EventMoment::$consentConfirmed.

  • attachmentsarray<Attachment10>

    Files attached to the entry.

    Show fields (25)
    • idinteger

      Primary key of the attachment. Internal ID.

    • filenamestring

      Original file name.

    • filesizestring

      Size of the file in bytes.

    • mimetypestring

      MIME type of the file.

    • createdbyusernamestring

      Name of the user who uploaded the file, as text.

    • createdstring (date-time)

      Point in time the attachment was created.

    • googleidstring

      ID of the file in Google Drive.

    • scopestring

      Scope that controls who can see the attachment.

    • ocr_document_typestring

      Document type recognized by OCR.

    • ocr_from_namestring

      Sender name recognized by OCR.

    • ocr_from_companystring

      Sender company recognized by OCR.

    • ocr_from_addressstring

      Sender address recognized by OCR.

    • ocr_from_emailstring

      Sender e-mail address recognized by OCR.

    • ocr_from_phonestring

      Sender phone number recognized by OCR.

    • ocr_to_namestring

      Recipient name recognized by OCR.

    • ocr_to_companystring

      Recipient company recognized by OCR.

    • ocr_to_addressstring

      Recipient address recognized by OCR.

    • ocr_to_emailstring

      Recipient e-mail address recognized by OCR.

    • ocr_to_phonestring

      Recipient phone number recognized by OCR.

    • ocr_summarystring

      Summary of the document created by OCR.

    • ocr_statusstring

      OCR processing status: null=not processed, pending, processing, done, error

    • ocr_errorstring

      Reason of the last failed or incomplete OCR run, null when it went through

    • ocr_processed_atstring (date-time)

      Point in time OCR processing finished.

    • virus_checkedboolean

      1 once the virus scan has passed for this file. The scan runs in the background (AttachmentVirusScanCommand), so a freshly uploaded file starts at 0 and stays there until it was really checked. An infected file never reaches 1 - it is deleted instead. UIs use this to decide whether a file may be handed to a user, so it must stay false until proven otherwise.

    • virus_checked_atstring (date-time)

      When the virus scan passed. Null while the file is still waiting.

  • vote_countinteger

    Denormalized so lists can sort by popularity without a join. Maintained by MediaFeedbackVoteHelper; MediaFeedbackRecountCommand repairs it.

  • comment_countinteger

    Number of comments on the entry.

  • duplicate_ofMediaFeedbackEntry

    Merge target. Set together with STATUS_DUPLICATE.

  • roadmap_itemsarray<MediaFeedbackRoadmapItem3>
    Show fields (21)
    • timeline_orderinteger

      Position of this item's status group on the timeline. Unknown statuses sort last instead of silently landing in the first group.

    • display_targetstring

      What the timeline should print as the date of this milestone: the free-text label if one was set, otherwise the target date.

    • linked_entry_countinteger

      Number of linked, still-visible feedback entries.

    • linked_vote_countinteger

      Summed votes of all linked entries — the demand behind this milestone.

    • idinteger

      Primary key of the roadmap item. Internal ID.

    • titlestring

      Title of the roadmap item.

    • descriptionstring

      Description of the roadmap item.

    • statusstring

      Status 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_labelstring

      Free-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_versionstring

      Version the item was released in.

    • image_urlstring

      URL of the image of the item.

    • sort_orderinteger

      Sort order of the item.

    • createdstring (date-time)

      Point in time the entity was created.

    • updatedstring (date-time)

      Point in time the entity was last updated.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • ucatsarray<UnifiedCategory32>

      Unified categories of the entity.

    • visibility_typestring

      Type of visibility of the entity.

    • arslistarray<AccessRightStorage13>

      Access rights list that controls the visibility.

  • internal_notestring

    Scope-only.

  • internal_priorityinteger

    Scope-only.

  • createdstring (date-time)

    Point in time the entity was created.

  • updatedstring (date-time)

    Point in time the entity was last updated.

  • deletedboolean

    This property is used to mark an entity as deleted / archived

  • ucatsarray<UnifiedCategory32>

    Unified categories of the entity.

    Show fields (32)
    • idinteger

      Primary key of the unified category. Internal ID.

    • category_typestring

      Type of the category, for example course or membership.

    • childrenarray<UnifiedCategory32>

      Child categories.

    • parentUnifiedCategory32

      Parent category.

    • view_orderinteger

      Sort order of the category in lists.

    • is_publicboolean

      The 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.

    • namestring

      Name of the entity.

    • addressstring

      Address as text.

    • address_streetstring

      Street of the address.

    • address_house_numberstring

      House number of the address.

    • address_street_levelstring

      Street and house number of the address.

    • address_costring

      Care-of line of the address.

    • address_citystring

      City of the address.

    • address_zipstring

      Postal code of the address.

    • address_admin_level1string

      First administrative level of the address, e.g. the federal state.

    • address_countrystring

      Country code of the address.

    • address_full_countrystring

      Full name of the country of the address.

    • address_geo_latstring

      Latitude of the address.

    • address_geo_lngstring

      Longitude of the address.

    • address_external_provider_idstring

      field to store the external provider id of the address. e.g. Google Maps PlaceID like google:ChIJVcKw5r90sEcRhdjNq6NItqE

    • main_phonestring

      Main phone number.

    • main_faxstring

      Main fax number.

    • main_emailstring

      Main e-mail address.

    • websitestring

      Website address.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • search_stringstring

      Text that the entity can be searched by.

    • short_identifierstring

      Short identifier of the entity.

    • slug_identifierstring

      Slug used in URLs of the entity.

    • image_urlstring

      URL of the image of the entity.

    • is_ui_filterboolean

      This property is used to mark an entity as a filter for the frontend

  • visibility_typestring

    Type of visibility of the entity.

  • arslistarray<AccessRightStorage13>

    Access rights list that controls the visibility.

    Show fields (12)
    • idinteger

      Primary key of the access right entry. Internal ID.

    • userUser56

      User who gets the access right. Only set for user-specific rights.

    • access_tagAccessTag

      Access tag the right applies to. Only set for rights on a tag.

    • create_mainboolean

      Create permission for main records of the access tag.

    • edit_mainboolean

      Edit permission for main records of the access tag.

    • read_mainboolean

      Read permission for main records of the access tag.

    • create_childboolean

      Create permission for child records (for example items inside a main record).

    • edit_childboolean

      Edit permission for child records (for example items inside a main record).

    • read_childboolean

      Read 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.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

Request
curl --request PUT \
  --url 'https://your-instance.iw-erp.de/api/media/feedback_entry/42/merge?targetIdentifier=42' \
  --header 'x-iw-jwt-token: <TOKEN>'
Response 200 application/json
{
  "author_name": "Beispiel",
  "id": 42,
  "text": "Text",
  "guest_name": "Beispiel",
  "guest_email": "lena.hartmann@example.org",
  "board": {
    "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
  },
  "headline": "string",
  "feedback_type": "string",
  "status": "string",
  "status_note": "string"
}

Merges this entry into another one as a duplicate.

PATCH/api/media/feedback_entry/{identifier}/merge

Path parameters

identifierrequiredstring

Query parameters

targetIdentifierrequiredstringIdentifier of the entry to merge into

Responses

200Merge a MediaFeedbackEntry into another oneMediaFeedbackEntry

Show fields (29)
  • author_namestring

    Display 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.

  • idinteger

    Primary key of the feedback entry. Internal ID.

  • boardMediaFeedbackBoard3

    Feedback board the entry belongs to.

    Show fields (21)
    • is_publicboolean

      True when the board itself may be served to callers without a session.

    • idinteger

      Primary key of the feedback board. Internal ID.

    • namestring

      Internal name, shown in the admin UI only.

    • public_titlestring

      Title of the board shown to the public.

    • public_descriptionstring

      Description of the board shown to the public.

    • public_keystring

      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.

    • image_urlstring

      URL of the image of the board.

    • sort_orderinteger

      Sort order of the board in lists.

    • allow_new_entriesboolean

      Members can create new entries.

    • allow_votingboolean

      Members can vote on entries.

    • allow_commentsboolean

      Members can comment on entries.

    • allow_guest_entriesboolean

      Guests can create new entries.

    • allow_guest_votesboolean

      Guests can vote on entries.

    • allow_guest_commentsboolean

      Guests can comment on entries.

    • moderation_requiredboolean

      Board-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.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • ucatsarray<UnifiedCategory32>

      Unified categories of the entity.

    • visibility_typestring

      Type of visibility of the entity.

    • arslistarray<AccessRightStorage13>

      Access rights list that controls the visibility.

  • headlinestring

    Headline of the feedback entry.

  • textstring

    Text of the feedback entry.

  • feedback_typestring

    Type of the feedback, for example idea or problem.

  • statusstring

    Status of the feedback, for example open, planned or done.

  • status_notestring

    Publicly 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_statusstring

    Moderation status, for example pending or approved.

  • moderation_reasonstring

    Reason for the moderation decision.

  • moderated_atstring (date-time)

    Time the entry was moderated.

  • social_profileMediaSocialProfile10

    Author when submitted by a logged-in person. Reuses the social profile so the pseudonymity settings a person already chose apply here too.

    Show fields (11)
    • idinteger

      Primary key of the social profile. Internal ID.

    • public_namestring

      Name shown publicly.

    • profile_picture_urlstring

      URL of the profile picture.

    • public_about_mestring

      Text about the person shown publicly.

    • global_profileboolean

      The profile is a global profile across installations.

    • name_display_typestring

      How the name is shown, for example full name or first name only.

    • show_profile_pictureboolean

      The profile picture is shown.

    • profile_picture_check_statusstring

      Pruefstatus des Profilbilds (KI-Pruefung, siehe MediaSocialProfilePictureHelper): null = nie geprueft (Pruefung aus), pending, approved, rejected. Nur ein freigegebenes Bild landet in profilePictureUrl, solange die Pruefung eingeschaltet ist.

    • createdstring (date-time)

      Point in time the entity was created.

    • updatedstring (date-time)

      Point in time the entity was last updated.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

  • guest_namestring

    Name of the guest who wrote the entry.

  • guest_emailstring

    Scope-only: never exposed to public or logged-in callers.

  • guest_email_confirmedboolean

    The e-mail address of the guest was confirmed.

  • consent_confirmedboolean

    GDPR: guest confirmed the consent text before submitting. Same field as EventMoment::$consentConfirmed.

  • attachmentsarray<Attachment10>

    Files attached to the entry.

    Show fields (25)
    • idinteger

      Primary key of the attachment. Internal ID.

    • filenamestring

      Original file name.

    • filesizestring

      Size of the file in bytes.

    • mimetypestring

      MIME type of the file.

    • createdbyusernamestring

      Name of the user who uploaded the file, as text.

    • createdstring (date-time)

      Point in time the attachment was created.

    • googleidstring

      ID of the file in Google Drive.

    • scopestring

      Scope that controls who can see the attachment.

    • ocr_document_typestring

      Document type recognized by OCR.

    • ocr_from_namestring

      Sender name recognized by OCR.

    • ocr_from_companystring

      Sender company recognized by OCR.

    • ocr_from_addressstring

      Sender address recognized by OCR.

    • ocr_from_emailstring

      Sender e-mail address recognized by OCR.

    • ocr_from_phonestring

      Sender phone number recognized by OCR.

    • ocr_to_namestring

      Recipient name recognized by OCR.

    • ocr_to_companystring

      Recipient company recognized by OCR.

    • ocr_to_addressstring

      Recipient address recognized by OCR.

    • ocr_to_emailstring

      Recipient e-mail address recognized by OCR.

    • ocr_to_phonestring

      Recipient phone number recognized by OCR.

    • ocr_summarystring

      Summary of the document created by OCR.

    • ocr_statusstring

      OCR processing status: null=not processed, pending, processing, done, error

    • ocr_errorstring

      Reason of the last failed or incomplete OCR run, null when it went through

    • ocr_processed_atstring (date-time)

      Point in time OCR processing finished.

    • virus_checkedboolean

      1 once the virus scan has passed for this file. The scan runs in the background (AttachmentVirusScanCommand), so a freshly uploaded file starts at 0 and stays there until it was really checked. An infected file never reaches 1 - it is deleted instead. UIs use this to decide whether a file may be handed to a user, so it must stay false until proven otherwise.

    • virus_checked_atstring (date-time)

      When the virus scan passed. Null while the file is still waiting.

  • vote_countinteger

    Denormalized so lists can sort by popularity without a join. Maintained by MediaFeedbackVoteHelper; MediaFeedbackRecountCommand repairs it.

  • comment_countinteger

    Number of comments on the entry.

  • duplicate_ofMediaFeedbackEntry

    Merge target. Set together with STATUS_DUPLICATE.

  • roadmap_itemsarray<MediaFeedbackRoadmapItem3>
    Show fields (21)
    • timeline_orderinteger

      Position of this item's status group on the timeline. Unknown statuses sort last instead of silently landing in the first group.

    • display_targetstring

      What the timeline should print as the date of this milestone: the free-text label if one was set, otherwise the target date.

    • linked_entry_countinteger

      Number of linked, still-visible feedback entries.

    • linked_vote_countinteger

      Summed votes of all linked entries — the demand behind this milestone.

    • idinteger

      Primary key of the roadmap item. Internal ID.

    • titlestring

      Title of the roadmap item.

    • descriptionstring

      Description of the roadmap item.

    • statusstring

      Status 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_labelstring

      Free-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_versionstring

      Version the item was released in.

    • image_urlstring

      URL of the image of the item.

    • sort_orderinteger

      Sort order of the item.

    • createdstring (date-time)

      Point in time the entity was created.

    • updatedstring (date-time)

      Point in time the entity was last updated.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • ucatsarray<UnifiedCategory32>

      Unified categories of the entity.

    • visibility_typestring

      Type of visibility of the entity.

    • arslistarray<AccessRightStorage13>

      Access rights list that controls the visibility.

  • internal_notestring

    Scope-only.

  • internal_priorityinteger

    Scope-only.

  • createdstring (date-time)

    Point in time the entity was created.

  • updatedstring (date-time)

    Point in time the entity was last updated.

  • deletedboolean

    This property is used to mark an entity as deleted / archived

  • ucatsarray<UnifiedCategory32>

    Unified categories of the entity.

    Show fields (32)
    • idinteger

      Primary key of the unified category. Internal ID.

    • category_typestring

      Type of the category, for example course or membership.

    • childrenarray<UnifiedCategory32>

      Child categories.

    • parentUnifiedCategory32

      Parent category.

    • view_orderinteger

      Sort order of the category in lists.

    • is_publicboolean

      The 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.

    • namestring

      Name of the entity.

    • addressstring

      Address as text.

    • address_streetstring

      Street of the address.

    • address_house_numberstring

      House number of the address.

    • address_street_levelstring

      Street and house number of the address.

    • address_costring

      Care-of line of the address.

    • address_citystring

      City of the address.

    • address_zipstring

      Postal code of the address.

    • address_admin_level1string

      First administrative level of the address, e.g. the federal state.

    • address_countrystring

      Country code of the address.

    • address_full_countrystring

      Full name of the country of the address.

    • address_geo_latstring

      Latitude of the address.

    • address_geo_lngstring

      Longitude of the address.

    • address_external_provider_idstring

      field to store the external provider id of the address. e.g. Google Maps PlaceID like google:ChIJVcKw5r90sEcRhdjNq6NItqE

    • main_phonestring

      Main phone number.

    • main_faxstring

      Main fax number.

    • main_emailstring

      Main e-mail address.

    • websitestring

      Website address.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • search_stringstring

      Text that the entity can be searched by.

    • short_identifierstring

      Short identifier of the entity.

    • slug_identifierstring

      Slug used in URLs of the entity.

    • image_urlstring

      URL of the image of the entity.

    • is_ui_filterboolean

      This property is used to mark an entity as a filter for the frontend

  • visibility_typestring

    Type of visibility of the entity.

  • arslistarray<AccessRightStorage13>

    Access rights list that controls the visibility.

    Show fields (12)
    • idinteger

      Primary key of the access right entry. Internal ID.

    • userUser56

      User who gets the access right. Only set for user-specific rights.

    • access_tagAccessTag

      Access tag the right applies to. Only set for rights on a tag.

    • create_mainboolean

      Create permission for main records of the access tag.

    • edit_mainboolean

      Edit permission for main records of the access tag.

    • read_mainboolean

      Read permission for main records of the access tag.

    • create_childboolean

      Create permission for child records (for example items inside a main record).

    • edit_childboolean

      Edit permission for child records (for example items inside a main record).

    • read_childboolean

      Read 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.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

Request
curl --request PATCH \
  --url 'https://your-instance.iw-erp.de/api/media/feedback_entry/42/merge?targetIdentifier=42' \
  --header 'x-iw-jwt-token: <TOKEN>'
Response 200 application/json
{
  "author_name": "Beispiel",
  "id": 42,
  "text": "Text",
  "guest_name": "Beispiel",
  "guest_email": "lena.hartmann@example.org",
  "board": {
    "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
  },
  "headline": "string",
  "feedback_type": "string",
  "status": "string",
  "status_note": "string"
}

Updates the caller's own feedback entry.

PUT/api/media/feedback_entry/user/{identifier}

Path parameters

identifierrequiredstring

Request body application/json

  • dataMediaFeedbackEntry2
    Show fields (17)
    • boardMediaFeedbackBoard2

      Feedback board the entry belongs to.

    • headlinestring

      Headline of the feedback entry.

    • textstring

      Text of the feedback entry.

    • feedback_typestring

      Type of the feedback, for example idea or problem.

    • statusstring

      Status of the feedback, for example open, planned or done.

    • status_notestring

      Publicly 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_statusstring

      Moderation status, for example pending or approved.

    • moderation_reasonstring

      Reason for the moderation decision.

    • social_profileMediaSocialProfile16

      Author when submitted by a logged-in person. Reuses the social profile so the pseudonymity settings a person already chose apply here too.

    • guest_namestring

      Name of the guest who wrote the entry.

    • attachmentsarray<Attachment12>

      Files attached to the entry.

    • duplicate_ofMediaFeedbackEntry2

      Merge target. Set together with STATUS_DUPLICATE.

    • roadmap_itemsarray<MediaFeedbackRoadmapItem2>
    • internal_notestring

      Scope-only.

    • internal_priorityinteger

      Scope-only.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • ucatsarray<UnifiedCategory11>

      Unified categories of the entity.

Responses

200User updates their own feedback entryMediaFeedbackEntry4

Show fields (13)
  • author_namestring

    Display 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.

  • idinteger

    Primary key of the feedback entry. Internal ID.

  • headlinestring

    Headline of the feedback entry.

  • textstring

    Text of the feedback entry.

  • feedback_typestring

    Type of the feedback, for example idea or problem.

  • statusstring

    Status of the feedback, for example open, planned or done.

  • status_notestring

    Publicly 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.

  • social_profileMediaSocialProfile18

    Author when submitted by a logged-in person. Reuses the social profile so the pseudonymity settings a person already chose apply here too.

  • guest_namestring

    Name of the guest who wrote the entry.

  • attachmentsarray<Attachment12>

    Files attached to the entry.

  • vote_countinteger

    Denormalized so lists can sort by popularity without a join. Maintained by MediaFeedbackVoteHelper; MediaFeedbackRecountCommand repairs it.

  • comment_countinteger

    Number of comments on the entry.

  • duplicate_ofMediaFeedbackEntry4

    Merge target. Set together with STATUS_DUPLICATE.

Request
curl --request PUT \
  --url https://your-instance.iw-erp.de/api/media/feedback_entry/user/42 \
  --header 'content-type: application/json' \
  --header 'x-iw-jwt-token: <TOKEN>' \
  --data '
{
  "data": {
    "text": "Text",
    "guest_name": "Beispiel",
    "board": {
      "name": "Beispiel",
      "public_title": "Beispiel",
      "public_description": "Text",
      "image_url": "https://vynst.de",
      "sort_order": 1,
      "allow_new_entries": true
    },
    "headline": "string",
    "feedback_type": "string",
    "status": "string"
  }
}
'
Response 200 application/json
{
  "author_name": "Beispiel",
  "id": 42,
  "text": "Text",
  "guest_name": "Beispiel",
  "headline": "string",
  "feedback_type": "string",
  "status": "string",
  "status_note": "string",
  "attachments": [
    {}
  ],
  "vote_count": 1
}

Updates the caller's own feedback entry.

PATCH/api/media/feedback_entry/user/{identifier}

Path parameters

identifierrequiredstring

Request body application/json

  • dataMediaFeedbackEntry2
    Show fields (17)
    • boardMediaFeedbackBoard2

      Feedback board the entry belongs to.

    • headlinestring

      Headline of the feedback entry.

    • textstring

      Text of the feedback entry.

    • feedback_typestring

      Type of the feedback, for example idea or problem.

    • statusstring

      Status of the feedback, for example open, planned or done.

    • status_notestring

      Publicly 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_statusstring

      Moderation status, for example pending or approved.

    • moderation_reasonstring

      Reason for the moderation decision.

    • social_profileMediaSocialProfile16

      Author when submitted by a logged-in person. Reuses the social profile so the pseudonymity settings a person already chose apply here too.

    • guest_namestring

      Name of the guest who wrote the entry.

    • attachmentsarray<Attachment12>

      Files attached to the entry.

    • duplicate_ofMediaFeedbackEntry2

      Merge target. Set together with STATUS_DUPLICATE.

    • roadmap_itemsarray<MediaFeedbackRoadmapItem2>
    • internal_notestring

      Scope-only.

    • internal_priorityinteger

      Scope-only.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • ucatsarray<UnifiedCategory11>

      Unified categories of the entity.

Responses

200User updates their own feedback entryMediaFeedbackEntry4

Show fields (13)
  • author_namestring

    Display 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.

  • idinteger

    Primary key of the feedback entry. Internal ID.

  • headlinestring

    Headline of the feedback entry.

  • textstring

    Text of the feedback entry.

  • feedback_typestring

    Type of the feedback, for example idea or problem.

  • statusstring

    Status of the feedback, for example open, planned or done.

  • status_notestring

    Publicly 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.

  • social_profileMediaSocialProfile18

    Author when submitted by a logged-in person. Reuses the social profile so the pseudonymity settings a person already chose apply here too.

  • guest_namestring

    Name of the guest who wrote the entry.

  • attachmentsarray<Attachment12>

    Files attached to the entry.

  • vote_countinteger

    Denormalized so lists can sort by popularity without a join. Maintained by MediaFeedbackVoteHelper; MediaFeedbackRecountCommand repairs it.

  • comment_countinteger

    Number of comments on the entry.

  • duplicate_ofMediaFeedbackEntry4

    Merge target. Set together with STATUS_DUPLICATE.

Request
curl --request PATCH \
  --url https://your-instance.iw-erp.de/api/media/feedback_entry/user/42 \
  --header 'content-type: application/json' \
  --header 'x-iw-jwt-token: <TOKEN>' \
  --data '
{
  "data": {
    "text": "Text",
    "guest_name": "Beispiel",
    "board": {
      "name": "Beispiel",
      "public_title": "Beispiel",
      "public_description": "Text",
      "image_url": "https://vynst.de",
      "sort_order": 1,
      "allow_new_entries": true
    },
    "headline": "string",
    "feedback_type": "string",
    "status": "string"
  }
}
'
Response 200 application/json
{
  "author_name": "Beispiel",
  "id": 42,
  "text": "Text",
  "guest_name": "Beispiel",
  "headline": "string",
  "feedback_type": "string",
  "status": "string",
  "status_note": "string",
  "attachments": [
    {}
  ],
  "vote_count": 1
}

Soft-deletes the caller's own feedback entry.

DELETE/api/media/feedback_entry/user/{identifier}

Path parameters

identifierrequiredstring

Responses

200User deletes their own feedback entryMediaFeedbackEntry4

Show fields (13)
  • author_namestring

    Display 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.

  • idinteger

    Primary key of the feedback entry. Internal ID.

  • headlinestring

    Headline of the feedback entry.

  • textstring

    Text of the feedback entry.

  • feedback_typestring

    Type of the feedback, for example idea or problem.

  • statusstring

    Status of the feedback, for example open, planned or done.

  • status_notestring

    Publicly 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.

  • social_profileMediaSocialProfile18

    Author when submitted by a logged-in person. Reuses the social profile so the pseudonymity settings a person already chose apply here too.

  • guest_namestring

    Name of the guest who wrote the entry.

  • attachmentsarray<Attachment12>

    Files attached to the entry.

  • vote_countinteger

    Denormalized so lists can sort by popularity without a join. Maintained by MediaFeedbackVoteHelper; MediaFeedbackRecountCommand repairs it.

  • comment_countinteger

    Number of comments on the entry.

  • duplicate_ofMediaFeedbackEntry4

    Merge target. Set together with STATUS_DUPLICATE.

Request
curl --request DELETE \
  --url https://your-instance.iw-erp.de/api/media/feedback_entry/user/42 \
  --header 'x-iw-jwt-token: <TOKEN>'
Response 200 application/json
{
  "author_name": "Beispiel",
  "id": 42,
  "text": "Text",
  "guest_name": "Beispiel",
  "headline": "string",
  "feedback_type": "string",
  "status": "string",
  "status_note": "string",
  "attachments": [
    {}
  ],
  "vote_count": 1
}