Skip to content
Developer

CustomerChatroom

Chat and notifications8 EndpointsChat / CustomerChatroom

Returns a list of all Chatrooms

GET/api/cp/chat/chatroom

Query parameters

namestring_LIST, LOGGED_IN_LIST, C1, C2
createdstring_LIST, LOGGED_IN_LIST, C1, C2
companystring_LIST, LOGGED_IN_LIST, C1, C2
eventstring_LIST, LOGGED_IN_LIST, C1, C2
deletedbooleanThis property is used to mark an entity as deleted / archived | _LIST, C1
trustLevelstringBerechnete Vertrauensstufe, siehe TRUST_LEVEL_*. Nur lesend nach aussen; gesetzt wird sie ausschliesslich vom ChatroomTrustLevelHelper. | _LIST, C1
handoverAtstringSeit wann die KI sich aus dem Raum zurueckgezogen hat. Solange das gesetzt ist, antwortet kein Profil-Bot mehr; der Raum wartet auf das Team. Gesetzt und geloescht nur vom ChatbotHandoverHelper. | _LIST, C1
personstringDie Person, deren persoenlicher Assistenten-Raum das hier ist. Genau eine Person plus Bot - die Logik dazu folgt, das Feld steht schon. | _LIST, C1
mediaQuestionnaireAnswerstring_LIST, C1
idstringRequires access right: C1, C2
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 all Chatroomsarray<Chatroom2>

Show fields (11)
  • unread_countinteger
  • is_unreadboolean
  • member_managedboolean

    Event- und freie Gruppenraeume verwalten Mitglieder bzw. Raum-Admins mit (verlassen, aufnehmen); Support-, Assistenten- und Fragebogen-Raeume nur die Verwaltung. Die Apps blenden danach die Raum-Optionen ein.

  • idinteger

    Primary key of the chat room. Internal ID.

  • notification_tokenstring

    Token used for notifications of the chat room.

  • trust_levelstring

    Berechnete Vertrauensstufe, siehe TRUST_LEVEL_*. Nur lesend nach aussen; gesetzt wird sie ausschliesslich vom ChatroomTrustLevelHelper.

  • member_started_typestring

    Von Mitgliedern gestartet (Paket D): "direct" (1:1, chatroom_member_direct_enabled) oder "group" (Gruppe eines Trainers, chatroom_trainer_groups_enabled); null fuer alle anderen Raeume.

  • handover_atstring (date-time)

    Seit wann die KI sich aus dem Raum zurueckgezogen hat. Solange das gesetzt ist, antwortet kein Profil-Bot mehr; der Raum wartet auf das Team. Gesetzt und geloescht nur vom ChatbotHandoverHelper.

  • handover_reasonstring

    Siehe HANDOVER_REASON_*.

  • namestring

    Name of the entity.

  • image_urlstring

    URL of the image of the entity.

Request
curl --request GET \
  --url https://your-instance.iw-erp.de/api/cp/chat/chatroom \
  --header 'x-iw-jwt-token: <TOKEN>'
Response 200 application/json
[
  {
    "id": 42,
    "name": "Beispiel",
    "image_url": "https://vynst.de",
    "unread_count": 1,
    "is_unread": true,
    "member_managed": true,
    "notification_token": "string",
    "trust_level": "string",
    "member_started_type": "string",
    "handover_at": "2026-10-15T09:30:00+02:00"
  }
]

Returns a single Chatroom entry.

GET/api/cp/chat/chatroom/{identifier}

Path parameters

identifierrequiredstring

Responses

200Return single ChatroomChatroom

Show fields (12)
  • unread_countinteger
  • is_unreadboolean
  • member_managedboolean

    Event- und freie Gruppenraeume verwalten Mitglieder bzw. Raum-Admins mit (verlassen, aufnehmen); Support-, Assistenten- und Fragebogen-Raeume nur die Verwaltung. Die Apps blenden danach die Raum-Optionen ein.

  • is_support_roomboolean

    Ist das der Haushalts-Chat mit dem Verein (Support-Chat)? Die Kunden-Apps sehen die Firma nicht und zeigen damit den Hinweis auf die Buerozeiten (chatroom_support_office_hours_enabled).

  • idinteger

    Primary key of the chat room. Internal ID.

  • notification_tokenstring

    Token used for notifications of the chat room.

  • trust_levelstring

    Berechnete Vertrauensstufe, siehe TRUST_LEVEL_*. Nur lesend nach aussen; gesetzt wird sie ausschliesslich vom ChatroomTrustLevelHelper.

  • member_started_typestring

    Von Mitgliedern gestartet (Paket D): "direct" (1:1, chatroom_member_direct_enabled) oder "group" (Gruppe eines Trainers, chatroom_trainer_groups_enabled); null fuer alle anderen Raeume.

  • handover_atstring (date-time)

    Seit wann die KI sich aus dem Raum zurueckgezogen hat. Solange das gesetzt ist, antwortet kein Profil-Bot mehr; der Raum wartet auf das Team. Gesetzt und geloescht nur vom ChatbotHandoverHelper.

  • handover_reasonstring

    Siehe HANDOVER_REASON_*.

  • namestring

    Name of the entity.

  • image_urlstring

    URL of the image of the entity.

Request
curl --request GET \
  --url https://your-instance.iw-erp.de/api/cp/chat/chatroom/42 \
  --header 'x-iw-jwt-token: <TOKEN>'
Response 200 application/json
{
  "id": 42,
  "name": "Beispiel",
  "image_url": "https://vynst.de",
  "unread_count": 1,
  "is_unread": true,
  "member_managed": true,
  "is_support_room": true,
  "notification_token": "string",
  "trust_level": "string",
  "member_started_type": "string"
}

Leave a chatroom

DELETE/api/cp/chat/chatroom/{identifier}/participant

Event and group rooms only, not support rooms; trainers stay in their event chat. The event sync does not add the person again. Requires chatroom_member_leave_enabled.

Path parameters

identifierrequiredstring

Responses

200Left

Request
curl --request DELETE \
  --url https://your-instance.iw-erp.de/api/cp/chat/chatroom/42/participant \
  --header 'x-iw-jwt-token: <TOKEN>'

Own notification level of a chatroom

GET/api/cp/chat/chatroom/{identifier}/notifications

Returns level (all | mentions | none), muted_until and the effective level right now. Requires chatroom_mute_enabled.

Path parameters

identifierrequiredstring

Responses

200Notification level

Request
curl --request GET \
  --url https://your-instance.iw-erp.de/api/cp/chat/chatroom/42/notifications \
  --header 'x-iw-jwt-token: <TOKEN>'

Set the own notification level of a chatroom

PUT/api/cp/chat/chatroom/{identifier}/notifications

Body: level (all | mentions | none) and optionally muted_hours (1-720) or muted_until (ISO date) to mute the room completely for a while; neither clears the pause. Requires chatroom_mute_enabled (sonst 8618).

Path parameters

identifierrequiredstring

Request body application/json

  • levelstring

    Allowed: all mentions none

  • muted_hoursinteger
  • muted_untilstring (date-time)

Responses

200Notification level

Request
curl --request PUT \
  --url https://your-instance.iw-erp.de/api/cp/chat/chatroom/42/notifications \
  --header 'content-type: application/json' \
  --header 'x-iw-jwt-token: <TOKEN>' \
  --data '
{
  "level": "all",
  "muted_hours": 1,
  "muted_until": "2026-10-15T09:30:00+02:00"
}
'

Set the own notification level of a chatroom

PATCH/api/cp/chat/chatroom/{identifier}/notifications

Body: level (all | mentions | none) and optionally muted_hours (1-720) or muted_until (ISO date) to mute the room completely for a while; neither clears the pause. Requires chatroom_mute_enabled (sonst 8618).

Path parameters

identifierrequiredstring

Request body application/json

  • levelstring

    Allowed: all mentions none

  • muted_hoursinteger
  • muted_untilstring (date-time)

Responses

200Notification level

Request
curl --request PATCH \
  --url https://your-instance.iw-erp.de/api/cp/chat/chatroom/42/notifications \
  --header 'content-type: application/json' \
  --header 'x-iw-jwt-token: <TOKEN>' \
  --data '
{
  "level": "all",
  "muted_hours": 1,
  "muted_until": "2026-10-15T09:30:00+02:00"
}
'
Request
curl --request GET \
  --url https://your-instance.iw-erp.de/api/cp/chat/support_hours \
  --header 'x-iw-jwt-token: <TOKEN>'
Response 200 application/json
{
  "text": "Text",
  "enabled": true,
  "open": true
}
Request
curl --request GET \
  --url https://your-instance.iw-erp.de/api/cp/chat/my_messages/export \
  --header 'x-iw-jwt-token: <TOKEN>'