Skip to content
Developer

General meeting

CRM20 EndpointsCRM / General meeting

All general meetings, newest start first.

GET/api/crm/general_meeting

Query parameters

idstring
namestring
statestring
meetingTypestring
startstring
endstring
invitedAtstring
deletedbooleanThis property is used to mark an entity as deleted / archived | Default value: false
createdstring
updatedstring
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 GeneralMeeting objectsarray<GeneralMeeting>

Show fields (18)
  • idinteger

    Primary key of the general meeting. Internal ID.

  • namestring

    Name of the general meeting.

  • agendastring

    Agenda (Tagesordnung) as plain text, one item per line.

  • meeting_typestring

    Type of the meeting, for example ordinary or extraordinary.

  • statestring

    State of the meeting, for example planned, running or closed.

  • startstring (date-time)

    Start of the meeting.

  • endstring (date-time)

    End of the meeting.

  • locationstring

    Location of the meeting.

  • online_urlstring

    Link of the video conference for online and hybrid meetings.

  • invited_atstring (date-time)

    Time the invitations were sent.

  • invitation_lateboolean

    True when the invitation went out after the notice period and the office confirmed it.

  • started_atstring (date-time)

    Time the meeting started.

  • closed_atstring (date-time)

    Time the meeting was closed.

  • minutesstring

    Minutes of the meeting.

  • minutes_finalized_atstring (date-time)

    Time the minutes were finalized.

  • 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/crm/general_meeting \
  --header 'x-iw-jwt-token: <TOKEN>'
Response 200 application/json
[
  {
    "id": 42,
    "name": "Beispiel",
    "online_url": "https://vynst.de",
    "agenda": "string",
    "meeting_type": "string",
    "state": "string",
    "start": "2026-10-15T09:30:00+02:00",
    "end": "2026-10-15T09:30:00+02:00",
    "location": "string",
    "invited_at": "2026-10-15T09:30:00+02:00"
  }
]

Creates a new crm general meeting entry.

POST/api/crm/general_meeting

Request body application/json

  • namestring
  • agendastring
  • meeting_typestring

    PRESENCE, ONLINE, HYBRID

  • startstring (date-time)
  • endstring (date-time)
  • locationstring
  • online_urlstring

Responses

200The new GeneralMeetingGeneralMeeting

Show fields (18)
  • idinteger

    Primary key of the general meeting. Internal ID.

  • namestring

    Name of the general meeting.

  • agendastring

    Agenda (Tagesordnung) as plain text, one item per line.

  • meeting_typestring

    Type of the meeting, for example ordinary or extraordinary.

  • statestring

    State of the meeting, for example planned, running or closed.

  • startstring (date-time)

    Start of the meeting.

  • endstring (date-time)

    End of the meeting.

  • locationstring

    Location of the meeting.

  • online_urlstring

    Link of the video conference for online and hybrid meetings.

  • invited_atstring (date-time)

    Time the invitations were sent.

  • invitation_lateboolean

    True when the invitation went out after the notice period and the office confirmed it.

  • started_atstring (date-time)

    Time the meeting started.

  • closed_atstring (date-time)

    Time the meeting was closed.

  • minutesstring

    Minutes of the meeting.

  • minutes_finalized_atstring (date-time)

    Time the minutes were finalized.

  • 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/crm/general_meeting \
  --header 'content-type: application/json' \
  --header 'x-iw-jwt-token: <TOKEN>' \
  --data '
{
  "name": "Beispiel",
  "online_url": "https://vynst.de",
  "agenda": "string",
  "meeting_type": "string",
  "start": "2026-10-15T09:30:00+02:00",
  "end": "2026-10-15T09:30:00+02:00"
}
'
Response 200 application/json
{
  "id": 42,
  "name": "Beispiel",
  "online_url": "https://vynst.de",
  "agenda": "string",
  "meeting_type": "string",
  "state": "string",
  "start": "2026-10-15T09:30:00+02:00",
  "end": "2026-10-15T09:30:00+02:00",
  "location": "string",
  "invited_at": "2026-10-15T09:30:00+02:00"
}

Returns a single crm general meeting entry.

GET/api/crm/general_meeting/{id}

Path parameters

idrequiredstring

Responses

200Returns a single GeneralMeeting with statisticsGeneralMeeting

Show fields (18)
  • idinteger

    Primary key of the general meeting. Internal ID.

  • namestring

    Name of the general meeting.

  • agendastring

    Agenda (Tagesordnung) as plain text, one item per line.

  • meeting_typestring

    Type of the meeting, for example ordinary or extraordinary.

  • statestring

    State of the meeting, for example planned, running or closed.

  • startstring (date-time)

    Start of the meeting.

  • endstring (date-time)

    End of the meeting.

  • locationstring

    Location of the meeting.

  • online_urlstring

    Link of the video conference for online and hybrid meetings.

  • invited_atstring (date-time)

    Time the invitations were sent.

  • invitation_lateboolean

    True when the invitation went out after the notice period and the office confirmed it.

  • started_atstring (date-time)

    Time the meeting started.

  • closed_atstring (date-time)

    Time the meeting was closed.

  • minutesstring

    Minutes of the meeting.

  • minutes_finalized_atstring (date-time)

    Time the minutes were finalized.

  • 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/crm/general_meeting/42 \
  --header 'x-iw-jwt-token: <TOKEN>'
Response 200 application/json
{
  "id": 42,
  "name": "Beispiel",
  "online_url": "https://vynst.de",
  "agenda": "string",
  "meeting_type": "string",
  "state": "string",
  "start": "2026-10-15T09:30:00+02:00",
  "end": "2026-10-15T09:30:00+02:00",
  "location": "string",
  "invited_at": "2026-10-15T09:30:00+02:00"
}

Meeting data while open; the minutes until they are finalized.

PUT/api/crm/general_meeting/{id}

Path parameters

idrequiredstring

Request body application/json

  • namestring
  • agendastring
  • meeting_typestring
  • startstring (date-time)
  • endstring (date-time)
  • locationstring
  • online_urlstring
  • minutesstring

Responses

200The changed GeneralMeetingGeneralMeeting

Show fields (18)
  • idinteger

    Primary key of the general meeting. Internal ID.

  • namestring

    Name of the general meeting.

  • agendastring

    Agenda (Tagesordnung) as plain text, one item per line.

  • meeting_typestring

    Type of the meeting, for example ordinary or extraordinary.

  • statestring

    State of the meeting, for example planned, running or closed.

  • startstring (date-time)

    Start of the meeting.

  • endstring (date-time)

    End of the meeting.

  • locationstring

    Location of the meeting.

  • online_urlstring

    Link of the video conference for online and hybrid meetings.

  • invited_atstring (date-time)

    Time the invitations were sent.

  • invitation_lateboolean

    True when the invitation went out after the notice period and the office confirmed it.

  • started_atstring (date-time)

    Time the meeting started.

  • closed_atstring (date-time)

    Time the meeting was closed.

  • minutesstring

    Minutes of the meeting.

  • minutes_finalized_atstring (date-time)

    Time the minutes were finalized.

  • 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/crm/general_meeting/42 \
  --header 'content-type: application/json' \
  --header 'x-iw-jwt-token: <TOKEN>' \
  --data '
{
  "name": "Beispiel",
  "online_url": "https://vynst.de",
  "agenda": "string",
  "meeting_type": "string",
  "start": "2026-10-15T09:30:00+02:00",
  "end": "2026-10-15T09:30:00+02:00"
}
'
Response 200 application/json
{
  "id": 42,
  "name": "Beispiel",
  "online_url": "https://vynst.de",
  "agenda": "string",
  "meeting_type": "string",
  "state": "string",
  "start": "2026-10-15T09:30:00+02:00",
  "end": "2026-10-15T09:30:00+02:00",
  "location": "string",
  "invited_at": "2026-10-15T09:30:00+02:00"
}

Meeting data while open; the minutes until they are finalized.

PATCH/api/crm/general_meeting/{id}

Path parameters

idrequiredstring

Request body application/json

  • namestring
  • agendastring
  • meeting_typestring
  • startstring (date-time)
  • endstring (date-time)
  • locationstring
  • online_urlstring
  • minutesstring

Responses

200The changed GeneralMeetingGeneralMeeting

Show fields (18)
  • idinteger

    Primary key of the general meeting. Internal ID.

  • namestring

    Name of the general meeting.

  • agendastring

    Agenda (Tagesordnung) as plain text, one item per line.

  • meeting_typestring

    Type of the meeting, for example ordinary or extraordinary.

  • statestring

    State of the meeting, for example planned, running or closed.

  • startstring (date-time)

    Start of the meeting.

  • endstring (date-time)

    End of the meeting.

  • locationstring

    Location of the meeting.

  • online_urlstring

    Link of the video conference for online and hybrid meetings.

  • invited_atstring (date-time)

    Time the invitations were sent.

  • invitation_lateboolean

    True when the invitation went out after the notice period and the office confirmed it.

  • started_atstring (date-time)

    Time the meeting started.

  • closed_atstring (date-time)

    Time the meeting was closed.

  • minutesstring

    Minutes of the meeting.

  • minutes_finalized_atstring (date-time)

    Time the minutes were finalized.

  • 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/crm/general_meeting/42 \
  --header 'content-type: application/json' \
  --header 'x-iw-jwt-token: <TOKEN>' \
  --data '
{
  "name": "Beispiel",
  "online_url": "https://vynst.de",
  "agenda": "string",
  "meeting_type": "string",
  "start": "2026-10-15T09:30:00+02:00",
  "end": "2026-10-15T09:30:00+02:00"
}
'
Response 200 application/json
{
  "id": 42,
  "name": "Beispiel",
  "online_url": "https://vynst.de",
  "agenda": "string",
  "meeting_type": "string",
  "state": "string",
  "start": "2026-10-15T09:30:00+02:00",
  "end": "2026-10-15T09:30:00+02:00",
  "location": "string",
  "invited_at": "2026-10-15T09:30:00+02:00"
}

Marks the meeting as deleted. A running meeting has to be closed or cancelled first.

DELETE/api/crm/general_meeting/{id}

Path parameters

idrequiredstring

Responses

200The deleted GeneralMeeting

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

invite (body force=true confirms an invitation after the notice period), start, close, cancel, generate_participants (members on the meeting day), generate_minutes, finalize_minutes.

POST/api/crm/general_meeting/{id}/{action}

Path parameters

idrequiredstring
actionrequiredstring

Request body application/json

  • forceboolean

Responses

200meeting (GeneralMeeting) and result (counts of the action)

Request
curl --request POST \
  --url https://your-instance.iw-erp.de/api/crm/general_meeting/42/42 \
  --header 'content-type: application/json' \
  --header 'x-iw-jwt-token: <TOKEN>' \
  --data '{"force":true}'

Participants of a meeting (meeting=<id>), by name.

GET/api/crm/general_meeting_participant

Query parameters

idstring
meetingstring
personstring
votingRightstring
votingRightReasonstringNO_VOTE_* when the person has no voting right, null otherwise.
votingRightManualstringThe office set the voting right by hand; a recalculation keeps it.
responsestring
attendancestring
invitedAtstring
createdstring
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 GeneralMeetingParticipant objectsarray<GeneralMeetingParticipant>

Show fields (12)
  • meeting_idinteger
  • idinteger

    Primary key of the meeting participant. Internal ID.

  • voting_rightboolean

    The participant has a voting right.

  • voting_right_reasonstring

    NO_VOTE_* when the person has no voting right, null otherwise.

  • voting_right_manualboolean

    The office set the voting right by hand; a recalculation keeps it.

  • invited_atstring (date-time)

    Time the participant was invited.

  • responsestring

    Response to the invitation, for example accepted or declined.

  • responded_atstring (date-time)

    Time the response was given.

  • attendancestring

    Attendance of the participant, for example present or excused.

  • checked_in_atstring (date-time)

    Time the participant checked in.

  • createdstring (date-time)

    Point in time the entity was created.

  • updatedstring (date-time)

    Point in time the entity was last updated.

Request
curl --request GET \
  --url https://your-instance.iw-erp.de/api/crm/general_meeting_participant \
  --header 'x-iw-jwt-token: <TOKEN>'
Response 200 application/json
[
  {
    "id": 42,
    "meeting_id": 42,
    "voting_right": true,
    "voting_right_reason": "string",
    "voting_right_manual": true,
    "invited_at": "2026-10-15T09:30:00+02:00",
    "response": "string",
    "responded_at": "2026-10-15T09:30:00+02:00",
    "attendance": "string",
    "checked_in_at": "2026-10-15T09:30:00+02:00"
  }
]

Adds one person; without voting_right it is calculated from the settings.

POST/api/crm/general_meeting_participant

Request body application/json

  • meetinginteger
  • personinteger
  • voting_rightboolean

Responses

200The participantGeneralMeetingParticipant

Show fields (12)
  • meeting_idinteger
  • idinteger

    Primary key of the meeting participant. Internal ID.

  • voting_rightboolean

    The participant has a voting right.

  • voting_right_reasonstring

    NO_VOTE_* when the person has no voting right, null otherwise.

  • voting_right_manualboolean

    The office set the voting right by hand; a recalculation keeps it.

  • invited_atstring (date-time)

    Time the participant was invited.

  • responsestring

    Response to the invitation, for example accepted or declined.

  • responded_atstring (date-time)

    Time the response was given.

  • attendancestring

    Attendance of the participant, for example present or excused.

  • checked_in_atstring (date-time)

    Time the participant checked in.

  • createdstring (date-time)

    Point in time the entity was created.

  • updatedstring (date-time)

    Point in time the entity was last updated.

Request
curl --request POST \
  --url https://your-instance.iw-erp.de/api/crm/general_meeting_participant \
  --header 'content-type: application/json' \
  --header 'x-iw-jwt-token: <TOKEN>' \
  --data '
{
  "meeting": 1,
  "person": 1,
  "voting_right": true
}
'
Response 200 application/json
{
  "id": 42,
  "meeting_id": 42,
  "voting_right": true,
  "voting_right_reason": "string",
  "voting_right_manual": true,
  "invited_at": "2026-10-15T09:30:00+02:00",
  "response": "string",
  "responded_at": "2026-10-15T09:30:00+02:00",
  "attendance": "string",
  "checked_in_at": "2026-10-15T09:30:00+02:00"
}

voting_right (true/false by hand, null = calculated again), attendance (ABSENT, ONSITE, ONLINE), response.

PUT/api/crm/general_meeting_participant/{id}

Path parameters

idrequiredstring

Request body application/json

  • voting_rightboolean
  • attendancestring
  • responsestring

Responses

200The participantGeneralMeetingParticipant

Show fields (12)
  • meeting_idinteger
  • idinteger

    Primary key of the meeting participant. Internal ID.

  • voting_rightboolean

    The participant has a voting right.

  • voting_right_reasonstring

    NO_VOTE_* when the person has no voting right, null otherwise.

  • voting_right_manualboolean

    The office set the voting right by hand; a recalculation keeps it.

  • invited_atstring (date-time)

    Time the participant was invited.

  • responsestring

    Response to the invitation, for example accepted or declined.

  • responded_atstring (date-time)

    Time the response was given.

  • attendancestring

    Attendance of the participant, for example present or excused.

  • checked_in_atstring (date-time)

    Time the participant checked in.

  • createdstring (date-time)

    Point in time the entity was created.

  • updatedstring (date-time)

    Point in time the entity was last updated.

Request
curl --request PUT \
  --url https://your-instance.iw-erp.de/api/crm/general_meeting_participant/42 \
  --header 'content-type: application/json' \
  --header 'x-iw-jwt-token: <TOKEN>' \
  --data '
{
  "voting_right": true,
  "attendance": "string",
  "response": "string"
}
'
Response 200 application/json
{
  "id": 42,
  "meeting_id": 42,
  "voting_right": true,
  "voting_right_reason": "string",
  "voting_right_manual": true,
  "invited_at": "2026-10-15T09:30:00+02:00",
  "response": "string",
  "responded_at": "2026-10-15T09:30:00+02:00",
  "attendance": "string",
  "checked_in_at": "2026-10-15T09:30:00+02:00"
}

voting_right (true/false by hand, null = calculated again), attendance (ABSENT, ONSITE, ONLINE), response.

PATCH/api/crm/general_meeting_participant/{id}

Path parameters

idrequiredstring

Request body application/json

  • voting_rightboolean
  • attendancestring
  • responsestring

Responses

200The participantGeneralMeetingParticipant

Show fields (12)
  • meeting_idinteger
  • idinteger

    Primary key of the meeting participant. Internal ID.

  • voting_rightboolean

    The participant has a voting right.

  • voting_right_reasonstring

    NO_VOTE_* when the person has no voting right, null otherwise.

  • voting_right_manualboolean

    The office set the voting right by hand; a recalculation keeps it.

  • invited_atstring (date-time)

    Time the participant was invited.

  • responsestring

    Response to the invitation, for example accepted or declined.

  • responded_atstring (date-time)

    Time the response was given.

  • attendancestring

    Attendance of the participant, for example present or excused.

  • checked_in_atstring (date-time)

    Time the participant checked in.

  • createdstring (date-time)

    Point in time the entity was created.

  • updatedstring (date-time)

    Point in time the entity was last updated.

Request
curl --request PATCH \
  --url https://your-instance.iw-erp.de/api/crm/general_meeting_participant/42 \
  --header 'content-type: application/json' \
  --header 'x-iw-jwt-token: <TOKEN>' \
  --data '
{
  "voting_right": true,
  "attendance": "string",
  "response": "string"
}
'
Response 200 application/json
{
  "id": 42,
  "meeting_id": 42,
  "voting_right": true,
  "voting_right_reason": "string",
  "voting_right_manual": true,
  "invited_at": "2026-10-15T09:30:00+02:00",
  "response": "string",
  "responded_at": "2026-10-15T09:30:00+02:00",
  "attendance": "string",
  "checked_in_at": "2026-10-15T09:30:00+02:00"
}

Removes a participant.

DELETE/api/crm/general_meeting_participant/{id}

Path parameters

idrequiredstring

Responses

200removed

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

Motions of a meeting (meeting=<id>), by position.

GET/api/crm/general_meeting_motion

Query parameters

idstring
meetingstring
statestring
votingModestring
majoritystring
resultstring
positionstring
deletedbooleanThis property is used to mark an entity as deleted / archived | Default value: false
createdstring
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 GeneralMeetingMotion objectsarray<GeneralMeetingMotion>

Show fields (22)
  • meeting_idinteger
  • ballot_countinteger

    Ballots cast through the app so far; set by the controller, never the choices of an open vote.

  • idinteger

    Primary key of the motion. Internal ID.

  • positioninteger

    Position of the motion in the agenda.

  • titlestring

    Title of the motion.

  • descriptionstring

    Text of the motion.

  • voting_modestring

    Voting mode, for example open or secret.

  • majoritystring

    Majority needed to accept the motion, for example simple or two-thirds.

  • statestring

    State of the motion, for example open, voting or closed.

  • opened_atstring (date-time)

    Time the voting was opened.

  • closed_atstring (date-time)

    Time the voting was closed.

  • manual_yesinteger

    Votes counted on site (show of hands), added to the app votes when closing.

  • manual_nointeger

    Number of manual no votes.

  • manual_abstaininteger

    Number of manual abstentions.

  • yes_countinteger

    Final counts (app + manual), set when closing.

  • no_countinteger

    Number of no votes.

  • abstain_countinteger

    Number of abstentions.

  • present_voting_countinteger

    Entitled voters present when closing; the base of an ABSOLUTE majority.

  • resultstring

    Result of the vote, for example accepted or rejected.

  • 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/crm/general_meeting_motion \
  --header 'x-iw-jwt-token: <TOKEN>'
Response 200 application/json
[
  {
    "id": 42,
    "title": "Beispiel",
    "description": "Text",
    "meeting_id": 42,
    "ballot_count": 1,
    "position": 1,
    "voting_mode": "string",
    "majority": "string",
    "state": "string",
    "opened_at": "2026-10-15T09:30:00+02:00"
  }
]

Creates a motion.

POST/api/crm/general_meeting_motion

Request body application/json

  • meetinginteger
  • titlestring
  • descriptionstring
  • voting_modestring

    OPEN, SECRET

  • majoritystring

    SIMPLE, TWO_THIRDS, THREE_QUARTERS, ABSOLUTE

  • positioninteger

Responses

200The new motionGeneralMeetingMotion

Show fields (22)
  • meeting_idinteger
  • ballot_countinteger

    Ballots cast through the app so far; set by the controller, never the choices of an open vote.

  • idinteger

    Primary key of the motion. Internal ID.

  • positioninteger

    Position of the motion in the agenda.

  • titlestring

    Title of the motion.

  • descriptionstring

    Text of the motion.

  • voting_modestring

    Voting mode, for example open or secret.

  • majoritystring

    Majority needed to accept the motion, for example simple or two-thirds.

  • statestring

    State of the motion, for example open, voting or closed.

  • opened_atstring (date-time)

    Time the voting was opened.

  • closed_atstring (date-time)

    Time the voting was closed.

  • manual_yesinteger

    Votes counted on site (show of hands), added to the app votes when closing.

  • manual_nointeger

    Number of manual no votes.

  • manual_abstaininteger

    Number of manual abstentions.

  • yes_countinteger

    Final counts (app + manual), set when closing.

  • no_countinteger

    Number of no votes.

  • abstain_countinteger

    Number of abstentions.

  • present_voting_countinteger

    Entitled voters present when closing; the base of an ABSOLUTE majority.

  • resultstring

    Result of the vote, for example accepted or rejected.

  • 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/crm/general_meeting_motion \
  --header 'content-type: application/json' \
  --header 'x-iw-jwt-token: <TOKEN>' \
  --data '
{
  "title": "Beispiel",
  "description": "Text",
  "meeting": 1,
  "voting_mode": "string",
  "majority": "string",
  "position": 1
}
'
Response 200 application/json
{
  "id": 42,
  "title": "Beispiel",
  "description": "Text",
  "meeting_id": 42,
  "ballot_count": 1,
  "position": 1,
  "voting_mode": "string",
  "majority": "string",
  "state": "string",
  "opened_at": "2026-10-15T09:30:00+02:00"
}

Returns a motion.

GET/api/crm/general_meeting_motion/{id}

Path parameters

idrequiredstring

Responses

200Returns a single GeneralMeetingMotionGeneralMeetingMotion

Show fields (22)
  • meeting_idinteger
  • ballot_countinteger

    Ballots cast through the app so far; set by the controller, never the choices of an open vote.

  • idinteger

    Primary key of the motion. Internal ID.

  • positioninteger

    Position of the motion in the agenda.

  • titlestring

    Title of the motion.

  • descriptionstring

    Text of the motion.

  • voting_modestring

    Voting mode, for example open or secret.

  • majoritystring

    Majority needed to accept the motion, for example simple or two-thirds.

  • statestring

    State of the motion, for example open, voting or closed.

  • opened_atstring (date-time)

    Time the voting was opened.

  • closed_atstring (date-time)

    Time the voting was closed.

  • manual_yesinteger

    Votes counted on site (show of hands), added to the app votes when closing.

  • manual_nointeger

    Number of manual no votes.

  • manual_abstaininteger

    Number of manual abstentions.

  • yes_countinteger

    Final counts (app + manual), set when closing.

  • no_countinteger

    Number of no votes.

  • abstain_countinteger

    Number of abstentions.

  • present_voting_countinteger

    Entitled voters present when closing; the base of an ABSOLUTE majority.

  • resultstring

    Result of the vote, for example accepted or rejected.

  • 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/crm/general_meeting_motion/42 \
  --header 'x-iw-jwt-token: <TOKEN>'
Response 200 application/json
{
  "id": 42,
  "title": "Beispiel",
  "description": "Text",
  "meeting_id": 42,
  "ballot_count": 1,
  "position": 1,
  "voting_mode": "string",
  "majority": "string",
  "state": "string",
  "opened_at": "2026-10-15T09:30:00+02:00"
}

Updates a motion.

PUT/api/crm/general_meeting_motion/{id}

Path parameters

idrequiredstring

Request body application/json

  • titlestring
  • descriptionstring
  • voting_modestring
  • majoritystring
  • positioninteger

Responses

200The changed motionGeneralMeetingMotion

Show fields (22)
  • meeting_idinteger
  • ballot_countinteger

    Ballots cast through the app so far; set by the controller, never the choices of an open vote.

  • idinteger

    Primary key of the motion. Internal ID.

  • positioninteger

    Position of the motion in the agenda.

  • titlestring

    Title of the motion.

  • descriptionstring

    Text of the motion.

  • voting_modestring

    Voting mode, for example open or secret.

  • majoritystring

    Majority needed to accept the motion, for example simple or two-thirds.

  • statestring

    State of the motion, for example open, voting or closed.

  • opened_atstring (date-time)

    Time the voting was opened.

  • closed_atstring (date-time)

    Time the voting was closed.

  • manual_yesinteger

    Votes counted on site (show of hands), added to the app votes when closing.

  • manual_nointeger

    Number of manual no votes.

  • manual_abstaininteger

    Number of manual abstentions.

  • yes_countinteger

    Final counts (app + manual), set when closing.

  • no_countinteger

    Number of no votes.

  • abstain_countinteger

    Number of abstentions.

  • present_voting_countinteger

    Entitled voters present when closing; the base of an ABSOLUTE majority.

  • resultstring

    Result of the vote, for example accepted or rejected.

  • 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/crm/general_meeting_motion/42 \
  --header 'content-type: application/json' \
  --header 'x-iw-jwt-token: <TOKEN>' \
  --data '
{
  "title": "Beispiel",
  "description": "Text",
  "voting_mode": "string",
  "majority": "string",
  "position": 1
}
'
Response 200 application/json
{
  "id": 42,
  "title": "Beispiel",
  "description": "Text",
  "meeting_id": 42,
  "ballot_count": 1,
  "position": 1,
  "voting_mode": "string",
  "majority": "string",
  "state": "string",
  "opened_at": "2026-10-15T09:30:00+02:00"
}

Updates a motion.

PATCH/api/crm/general_meeting_motion/{id}

Path parameters

idrequiredstring

Request body application/json

  • titlestring
  • descriptionstring
  • voting_modestring
  • majoritystring
  • positioninteger

Responses

200The changed motionGeneralMeetingMotion

Show fields (22)
  • meeting_idinteger
  • ballot_countinteger

    Ballots cast through the app so far; set by the controller, never the choices of an open vote.

  • idinteger

    Primary key of the motion. Internal ID.

  • positioninteger

    Position of the motion in the agenda.

  • titlestring

    Title of the motion.

  • descriptionstring

    Text of the motion.

  • voting_modestring

    Voting mode, for example open or secret.

  • majoritystring

    Majority needed to accept the motion, for example simple or two-thirds.

  • statestring

    State of the motion, for example open, voting or closed.

  • opened_atstring (date-time)

    Time the voting was opened.

  • closed_atstring (date-time)

    Time the voting was closed.

  • manual_yesinteger

    Votes counted on site (show of hands), added to the app votes when closing.

  • manual_nointeger

    Number of manual no votes.

  • manual_abstaininteger

    Number of manual abstentions.

  • yes_countinteger

    Final counts (app + manual), set when closing.

  • no_countinteger

    Number of no votes.

  • abstain_countinteger

    Number of abstentions.

  • present_voting_countinteger

    Entitled voters present when closing; the base of an ABSOLUTE majority.

  • resultstring

    Result of the vote, for example accepted or rejected.

  • 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/crm/general_meeting_motion/42 \
  --header 'content-type: application/json' \
  --header 'x-iw-jwt-token: <TOKEN>' \
  --data '
{
  "title": "Beispiel",
  "description": "Text",
  "voting_mode": "string",
  "majority": "string",
  "position": 1
}
'
Response 200 application/json
{
  "id": 42,
  "title": "Beispiel",
  "description": "Text",
  "meeting_id": 42,
  "ballot_count": 1,
  "position": 1,
  "voting_mode": "string",
  "majority": "string",
  "state": "string",
  "opened_at": "2026-10-15T09:30:00+02:00"
}

Deletes a motion.

DELETE/api/crm/general_meeting_motion/{id}

Path parameters

idrequiredstring

Responses

200The deleted motion

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

The votes by name of an open (not secret) motion; a secret motion answers an empty list.

GET/api/crm/general_meeting_motion/{id}/votes

Path parameters

idrequiredstring

Responses

200List of {choice, person_minimal}

Request
curl --request GET \
  --url https://your-instance.iw-erp.de/api/crm/general_meeting_motion/42/votes \
  --header 'x-iw-jwt-token: <TOKEN>'

open (start the vote; the meeting has to run), close (body manual_yes, manual_no, manual_abstain: votes counted on site, added to the app votes).

POST/api/crm/general_meeting_motion/{id}/{action}

Path parameters

idrequiredstring
actionrequiredstring

Request body application/json

  • manual_yesinteger
  • manual_nointeger
  • manual_abstaininteger

Responses

200The motion after the actionGeneralMeetingMotion

Show fields (22)
  • meeting_idinteger
  • ballot_countinteger

    Ballots cast through the app so far; set by the controller, never the choices of an open vote.

  • idinteger

    Primary key of the motion. Internal ID.

  • positioninteger

    Position of the motion in the agenda.

  • titlestring

    Title of the motion.

  • descriptionstring

    Text of the motion.

  • voting_modestring

    Voting mode, for example open or secret.

  • majoritystring

    Majority needed to accept the motion, for example simple or two-thirds.

  • statestring

    State of the motion, for example open, voting or closed.

  • opened_atstring (date-time)

    Time the voting was opened.

  • closed_atstring (date-time)

    Time the voting was closed.

  • manual_yesinteger

    Votes counted on site (show of hands), added to the app votes when closing.

  • manual_nointeger

    Number of manual no votes.

  • manual_abstaininteger

    Number of manual abstentions.

  • yes_countinteger

    Final counts (app + manual), set when closing.

  • no_countinteger

    Number of no votes.

  • abstain_countinteger

    Number of abstentions.

  • present_voting_countinteger

    Entitled voters present when closing; the base of an ABSOLUTE majority.

  • resultstring

    Result of the vote, for example accepted or rejected.

  • 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/crm/general_meeting_motion/42/42 \
  --header 'content-type: application/json' \
  --header 'x-iw-jwt-token: <TOKEN>' \
  --data '
{
  "manual_yes": 1,
  "manual_no": 1,
  "manual_abstain": 1
}
'
Response 200 application/json
{
  "id": 42,
  "title": "Beispiel",
  "description": "Text",
  "meeting_id": 42,
  "ballot_count": 1,
  "position": 1,
  "voting_mode": "string",
  "majority": "string",
  "state": "string",
  "opened_at": "2026-10-15T09:30:00+02:00"
}