BaseEventInvitation
Returns a list of BaseEventInvitation objects
GET/api/event/base_event_invitation
Query parameters
idinteger | Requires access right: LOGGED_IN_EXPLICIT, SCOPE |
readboolean | Requires access right: LOGGED_IN_EXPLICIT, SCOPE |
baseEventstring | Requires access right: LOGGED_IN_EXPLICIT, SCOPE |
companystring | |
personstring | |
searchStringstring | text to search for in the list |
orderFieldNamestring | name of the order field |
orderFieldSortstring | sorting modeAllowed: DESCASC |
pageinteger | page of the list |
pageSizeinteger | number of entries for each page |
withMaxPageNumberstring | returns the number of pages available as a header if this is set |
Responses
200Returns a list of BaseEventInvitation objectsarray<BaseEventInvitation>
Show fields (10)
baseEventBaseEvent15Show fields (47)
ticketSeatingPlanIdintegerId of the seating plan, also for the public and the customer serialization.
bib_numbers_enabledbooleantiming_enabledbooleanidintegerPrimary key of the event. Internal ID.
public_subtitlestringSubtitle shown in the public event listing.
event_typestringType of the event, for example course, trip or tournament.
event_people_limitintegermaximum number of people that can attend the event
event_people_min_limitintegerminimum number of people that must attend the event
hide_event_people_limitbooleana setting to hide the event people limit in the frontend ui
has_wait_listbooleanThe event has a waiting list once it is full.
wait_list_confirmation_requiredbooleanParticipants from the waiting list must confirm their place.
trial_enabledbooleanTrial sessions (Schnuppern) are offered for this event. Off by default: the event has to opt in, the rule comes from trialPolicy, the event's category or the default rule.
can_sign_up_for_main_eventbooleanParticipants may sign up for the main event.
only_sign_up_for_main_eventbooleanParticipants may only sign up for the main event, not for sub-events.
start_timestring (date-time)Start of the event.
end_timestring (date-time)End of the event.
require_addressbooleanParticipants must enter an address when signing up.
require_contactbooleanParticipants must enter contact details when signing up.
require_billingbooleanParticipants must enter billing details when signing up.
allow_direct_billingbooleanrequire_direct_billingbooleanallow_budget_sign_upbooleanrequire_agebooleanParticipants must enter their age when signing up.
require_grade_levelbooleanParticipants must enter their school grade level when signing up.
require_free_note_field_idsstringIDs of the free note fields that participants must fill in.
generate_new_bookingsbooleanBookings are generated automatically for the event schedule.
generate_new_bookings_v2booleanBookings are generated with the second version of the schedule generator.
generate_ignore_sys_calendarbooleanGenerated bookings ignore the holidays of the system calendar.
generate_hour_startstring (date-time)Start time of the day for generated bookings.
generate_hour_endstring (date-time)End time of the day for generated bookings.
generate_day_of_weekintegerWeekday for generated bookings.
bitmask_days_of_weekintegerThis is a bitmask value of the days of the week the event occurs on
bitmask_hours_startintegerThis is a bitmask value of the hours an event starts on
summarized_date_timesstringThis is a string with the days and hours an event starts on
customer_detail_ctastringCall-to-action text shown in the customer app on the event detail page.
customer_badgestringBadge text shown on the event in the customer app.
bib_number_modestringVergabeart der Startnummern: OFF, MANUAL, AUTOMATIC oder BATCH. Greift nur, wenn der Event-Typ Startnummern hat (enableBibNumbers).
timing_gun_startstring (date-time)Startschuss; ohne Wert gilt startTime.
timing_public_livebooleanLive timing results are public.
timing_gps_trackingbooleanGPS tracking of participants is enabled for timing.
timing_self_check_inbooleanParticipants can check in themselves for timing.
ticket_sales_enabledbooleanTicketverkauf statt Anmeldung: Teilnehmer kaufen Tickets (Ticketarten = Event-Preise mit Kontingent und Verkaufszeitraum), jedes Ticket bekommt einen Code für den Check-in. Greift nur mit der Einstellung event_ticket_sales_enabled.
ticket_max_per_orderintegerHöchstzahl Tickets je Bestellung; ohne Wert gilt event_ticket_max_per_order_default.
ticket_personalizedbooleanPersonalisierte Tickets: jedes Ticket braucht den Namen des Teilnehmers. Sonst laufen alle Tickets einer Bestellung auf den Namen des Käufers.
ticket_seatingbooleanPlatzwahl beim Ticketverkauf: jedes Ticket bekommt einen freien Platz aus dem Saalplan des Raums (BaseBookable::ticketSeatingPlan); die Ticketart kann auf eine Zone (ticketSeatZone) beschränkt sein. Greift nur mit der Einstellung event_ticket_seating_enabled.
namestringName of the entity.
image_urlstringURL of the image of the entity.
idintegerPrimary key of the invitation. Internal ID.
readbooleanThe invitation was read.
tokenstringPublic token of the invitation. Used in the invitation link instead of the ID.
first_namestringFirst name of the invited person.
last_namestringLast name of the invited person.
genderstringGender of the invited person.
birthdaystring (date-time)Birthday of the invited person.
messagestringMessage sent with the invitation.
reply_messagestringReply message of the invited person.
curl --request GET \
--url https://your-instance.iw-erp.de/api/event/base_event_invitation \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'GET', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://your-instance.iw-erp.de/api/event/base_event_invitation', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://your-instance.iw-erp.de/api/event/base_event_invitation"
headers = {"x-iw-jwt-token": "<TOKEN>"}
response = requests.get(url, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('GET', 'https://your-instance.iw-erp.de/api/event/base_event_invitation', [
'headers' => [
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Get,
RequestUri = new Uri("https://your-instance.iw-erp.de/api/event/base_event_invitation"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://your-instance.iw-erp.de/api/event/base_event_invitation")
.get()
.addHeader("x-iw-jwt-token", "<TOKEN>")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://your-instance.iw-erp.de/api/event/base_event_invitation"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart with the iw_erp_api package
import 'package:iw_erp_api/clients/event_base_event_invitation_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
IwApiState().host = 'your-instance.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await EventBaseEventInvitationController.getAll();
if (result.success) {
print(result.data);
}[
{
"id": 42,
"first_name": "Lena",
"last_name": "Hartmann",
"baseEvent": {
"id": 42,
"name": "Beispiel",
"image_url": "https://vynst.de",
"ticketSeatingPlanId": 42,
"bib_numbers_enabled": true,
"timing_enabled": true,
"public_subtitle": "string",
"event_type": "string",
"event_people_limit": 1,
"event_people_min_limit": 1
},
"read": true,
"token": "string",
"gender": "string",
"birthday": "2026-10-15T09:30:00+02:00",
"message": "string",
"reply_message": "string"
}
]Add a new BaseEventInvitation
POST/api/event/base_event_invitation
Request body application/json
dataBaseEventInvitation2Show fields (7)
idintegerPrimary key of the invitation. Internal ID.
readbooleanThe invitation was read.
messagestringMessage sent with the invitation.
reply_messagestringReply message of the invited person.
companyCRMCompany27Company the entity belongs to.
personCRMPerson53Person the entity belongs to.
base_eventBaseEvent16Event the entity belongs to.
Responses
200Add a new BaseEventInvitationBaseEventInvitation3
Show fields (17)
companyCRMCompany28Show fields (6)
idintegerPrimary key of the company. Internal ID.
company_namestringLegal name of the company.
main_phonestringMain phone number.
main_faxstringMain fax number.
main_emailstringMain e-mail address.
websitestringWebsite address.
personCRMPerson54Show fields (5)
idintegerPrimary key of the person. Internal ID.
first_namestringFirst name of the person.
last_namestringLast name of the person.
avatar_tokenstringToken of the avatar image.
orderintegerPosition of the entity in the order.
baseEventBaseEvent17Show fields (51)
ticketSeatingPlanIdintegerId of the seating plan, also for the public and the customer serialization.
bib_numbers_enabledbooleantiming_enabledbooleanidintegerPrimary key of the event. Internal ID.
public_subtitlestringSubtitle shown in the public event listing.
event_typestringType of the event, for example course, trip or tournament.
event_people_limitintegermaximum number of people that can attend the event
event_people_min_limitintegerminimum number of people that must attend the event
hide_event_people_limitbooleana setting to hide the event people limit in the frontend ui
has_wait_listbooleanThe event has a waiting list once it is full.
wait_list_confirmation_requiredbooleanParticipants from the waiting list must confirm their place.
trial_enabledbooleanTrial sessions (Schnuppern) are offered for this event. Off by default: the event has to opt in, the rule comes from trialPolicy, the event's category or the default rule.
can_sign_up_for_main_eventbooleanParticipants may sign up for the main event.
only_sign_up_for_main_eventbooleanParticipants may only sign up for the main event, not for sub-events.
start_timestring (date-time)Start of the event.
end_timestring (date-time)End of the event.
require_addressbooleanParticipants must enter an address when signing up.
require_contactbooleanParticipants must enter contact details when signing up.
require_billingbooleanParticipants must enter billing details when signing up.
allow_direct_billingbooleanrequire_direct_billingbooleanallow_budget_sign_upbooleanrequire_agebooleanParticipants must enter their age when signing up.
require_grade_levelbooleanParticipants must enter their school grade level when signing up.
require_free_note_field_idsstringIDs of the free note fields that participants must fill in.
generate_new_bookingsbooleanBookings are generated automatically for the event schedule.
generate_new_bookings_v2booleanBookings are generated with the second version of the schedule generator.
generate_ignore_sys_calendarbooleanGenerated bookings ignore the holidays of the system calendar.
generate_hour_startstring (date-time)Start time of the day for generated bookings.
generate_hour_endstring (date-time)End time of the day for generated bookings.
generate_day_of_weekintegerWeekday for generated bookings.
bitmask_days_of_weekintegerThis is a bitmask value of the days of the week the event occurs on
bitmask_hours_startintegerThis is a bitmask value of the hours an event starts on
summarized_date_timesstringThis is a string with the days and hours an event starts on
customer_detail_ctastringCall-to-action text shown in the customer app on the event detail page.
customer_badgestringBadge text shown on the event in the customer app.
bib_number_modestringVergabeart der Startnummern: OFF, MANUAL, AUTOMATIC oder BATCH. Greift nur, wenn der Event-Typ Startnummern hat (enableBibNumbers).
timing_gun_startstring (date-time)Startschuss; ohne Wert gilt startTime.
timing_public_livebooleanLive timing results are public.
timing_gps_trackingbooleanGPS tracking of participants is enabled for timing.
timing_self_check_inbooleanParticipants can check in themselves for timing.
ticket_sales_enabledbooleanTicketverkauf statt Anmeldung: Teilnehmer kaufen Tickets (Ticketarten = Event-Preise mit Kontingent und Verkaufszeitraum), jedes Ticket bekommt einen Code für den Check-in. Greift nur mit der Einstellung event_ticket_sales_enabled.
ticket_max_per_orderintegerHöchstzahl Tickets je Bestellung; ohne Wert gilt event_ticket_max_per_order_default.
ticket_personalizedbooleanPersonalisierte Tickets: jedes Ticket braucht den Namen des Teilnehmers. Sonst laufen alle Tickets einer Bestellung auf den Namen des Käufers.
ticket_seatingbooleanPlatzwahl beim Ticketverkauf: jedes Ticket bekommt einen freien Platz aus dem Saalplan des Raums (BaseBookable::ticketSeatingPlan); die Ticketart kann auf eine Zone (ticketSeatZone) beschränkt sein. Greift nur mit der Einstellung event_ticket_seating_enabled.
main_phonestringMain phone number.
main_faxstringMain fax number.
main_emailstringMain e-mail address.
websitestringWebsite address.
namestringName of the entity.
image_urlstringURL of the image of the entity.
idintegerPrimary key of the invitation. Internal ID.
readbooleanThe invitation was read.
tokenstringPublic token of the invitation. Used in the invitation link instead of the ID.
first_namestringFirst name of the invited person.
last_namestringLast name of the invited person.
genderstringGender of the invited person.
birthdaystring (date-time)Birthday of the invited person.
messagestringMessage sent with the invitation.
reply_messagestringReply message of the invited person.
main_phonestringMain phone number.
main_faxstringMain fax number.
main_emailstringMain e-mail address.
websitestringWebsite address.
orderintegerPosition of the entity in the order.
curl --request POST \
--url https://your-instance.iw-erp.de/api/event/base_event_invitation \
--header 'content-type: application/json' \
--header 'x-iw-jwt-token: <TOKEN>' \
--data '
{
"data": {
"id": 42,
"read": true,
"message": "string",
"reply_message": "string"
}
}
'const options = {
method: 'POST',
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: JSON.stringify({data: {id: 42, read: true, message: 'string', reply_message: 'string'}})
};
fetch('https://your-instance.iw-erp.de/api/event/base_event_invitation', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://your-instance.iw-erp.de/api/event/base_event_invitation"
payload = { "data": {
"id": 42,
"read": True,
"message": "string",
"reply_message": "string"
} }
headers = {
"x-iw-jwt-token": "<TOKEN>",
"content-type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('POST', 'https://your-instance.iw-erp.de/api/event/base_event_invitation', [
'body' => '{"data":{"id":42,"read":true,"message":"string","reply_message":"string"}}',
'headers' => [
'content-type' => 'application/json',
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Post,
RequestUri = new Uri("https://your-instance.iw-erp.de/api/event/base_event_invitation"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
Content = new StringContent("{\"data\":{\"id\":42,\"read\":true,\"message\":\"string\",\"reply_message\":\"string\"}}")
{
Headers =
{
ContentType = new MediaTypeHeaderValue("application/json")
}
}
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\"data\":{\"id\":42,\"read\":true,\"message\":\"string\",\"reply_message\":\"string\"}}");
Request request = new Request.Builder()
.url("https://your-instance.iw-erp.de/api/event/base_event_invitation")
.post(body)
.addHeader("x-iw-jwt-token", "<TOKEN>")
.addHeader("content-type", "application/json")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://your-instance.iw-erp.de/api/event/base_event_invitation"
payload := strings.NewReader("{\"data\":{\"id\":42,\"read\":true,\"message\":\"string\",\"reply_message\":\"string\"}}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
req.Header.Add("content-type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart with the iw_erp_api package
import 'package:iw_erp_api/clients/event_base_event_invitation_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
import 'package:iw_erp_api/model/event_base_event_invitation.dart';
IwApiState().host = 'your-instance.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await EventBaseEventInvitationController.post(EventBaseEventInvitation.fromJson({
"id": 42,
"read": true,
"message": "string",
"reply_message": "string"
}));
if (result.success) {
print(result.data);
}{
"id": 42,
"first_name": "Lena",
"last_name": "Hartmann",
"main_phone": "+49 511 123456",
"main_email": "lena.hartmann@example.org",
"company": {
"id": 42,
"company_name": "Beispiel",
"main_phone": "+49 511 123456",
"main_email": "lena.hartmann@example.org",
"main_fax": "string",
"website": "string"
},
"person": {
"id": 42,
"first_name": "Lena",
"last_name": "Hartmann",
"avatar_token": "string",
"order": 1
},
"baseEvent": {
"id": 42,
"main_phone": "+49 511 123456",
"main_email": "lena.hartmann@example.org",
"name": "Beispiel",
"image_url": "https://vynst.de",
"ticketSeatingPlanId": 42,
"bib_numbers_enabled": true,
"timing_enabled": true,
"public_subtitle": "string",
"event_type": "string"
},
"read": true,
"token": "string"
}Returns a single BaseEventInvitation with the given id
GET/api/event/base_event_invitation/{identifier}
Path parameters
identifierrequiredstring |
Responses
200Returns a single BaseEventInvitation with the given idBaseEventInvitation
Show fields (10)
baseEventBaseEvent15Show fields (47)
ticketSeatingPlanIdintegerId of the seating plan, also for the public and the customer serialization.
bib_numbers_enabledbooleantiming_enabledbooleanidintegerPrimary key of the event. Internal ID.
public_subtitlestringSubtitle shown in the public event listing.
event_typestringType of the event, for example course, trip or tournament.
event_people_limitintegermaximum number of people that can attend the event
event_people_min_limitintegerminimum number of people that must attend the event
hide_event_people_limitbooleana setting to hide the event people limit in the frontend ui
has_wait_listbooleanThe event has a waiting list once it is full.
wait_list_confirmation_requiredbooleanParticipants from the waiting list must confirm their place.
trial_enabledbooleanTrial sessions (Schnuppern) are offered for this event. Off by default: the event has to opt in, the rule comes from trialPolicy, the event's category or the default rule.
can_sign_up_for_main_eventbooleanParticipants may sign up for the main event.
only_sign_up_for_main_eventbooleanParticipants may only sign up for the main event, not for sub-events.
start_timestring (date-time)Start of the event.
end_timestring (date-time)End of the event.
require_addressbooleanParticipants must enter an address when signing up.
require_contactbooleanParticipants must enter contact details when signing up.
require_billingbooleanParticipants must enter billing details when signing up.
allow_direct_billingbooleanrequire_direct_billingbooleanallow_budget_sign_upbooleanrequire_agebooleanParticipants must enter their age when signing up.
require_grade_levelbooleanParticipants must enter their school grade level when signing up.
require_free_note_field_idsstringIDs of the free note fields that participants must fill in.
generate_new_bookingsbooleanBookings are generated automatically for the event schedule.
generate_new_bookings_v2booleanBookings are generated with the second version of the schedule generator.
generate_ignore_sys_calendarbooleanGenerated bookings ignore the holidays of the system calendar.
generate_hour_startstring (date-time)Start time of the day for generated bookings.
generate_hour_endstring (date-time)End time of the day for generated bookings.
generate_day_of_weekintegerWeekday for generated bookings.
bitmask_days_of_weekintegerThis is a bitmask value of the days of the week the event occurs on
bitmask_hours_startintegerThis is a bitmask value of the hours an event starts on
summarized_date_timesstringThis is a string with the days and hours an event starts on
customer_detail_ctastringCall-to-action text shown in the customer app on the event detail page.
customer_badgestringBadge text shown on the event in the customer app.
bib_number_modestringVergabeart der Startnummern: OFF, MANUAL, AUTOMATIC oder BATCH. Greift nur, wenn der Event-Typ Startnummern hat (enableBibNumbers).
timing_gun_startstring (date-time)Startschuss; ohne Wert gilt startTime.
timing_public_livebooleanLive timing results are public.
timing_gps_trackingbooleanGPS tracking of participants is enabled for timing.
timing_self_check_inbooleanParticipants can check in themselves for timing.
ticket_sales_enabledbooleanTicketverkauf statt Anmeldung: Teilnehmer kaufen Tickets (Ticketarten = Event-Preise mit Kontingent und Verkaufszeitraum), jedes Ticket bekommt einen Code für den Check-in. Greift nur mit der Einstellung event_ticket_sales_enabled.
ticket_max_per_orderintegerHöchstzahl Tickets je Bestellung; ohne Wert gilt event_ticket_max_per_order_default.
ticket_personalizedbooleanPersonalisierte Tickets: jedes Ticket braucht den Namen des Teilnehmers. Sonst laufen alle Tickets einer Bestellung auf den Namen des Käufers.
ticket_seatingbooleanPlatzwahl beim Ticketverkauf: jedes Ticket bekommt einen freien Platz aus dem Saalplan des Raums (BaseBookable::ticketSeatingPlan); die Ticketart kann auf eine Zone (ticketSeatZone) beschränkt sein. Greift nur mit der Einstellung event_ticket_seating_enabled.
namestringName of the entity.
image_urlstringURL of the image of the entity.
idintegerPrimary key of the invitation. Internal ID.
readbooleanThe invitation was read.
tokenstringPublic token of the invitation. Used in the invitation link instead of the ID.
first_namestringFirst name of the invited person.
last_namestringLast name of the invited person.
genderstringGender of the invited person.
birthdaystring (date-time)Birthday of the invited person.
messagestringMessage sent with the invitation.
reply_messagestringReply message of the invited person.
curl --request GET \
--url https://your-instance.iw-erp.de/api/event/base_event_invitation/42 \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'GET', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://your-instance.iw-erp.de/api/event/base_event_invitation/42', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://your-instance.iw-erp.de/api/event/base_event_invitation/42"
headers = {"x-iw-jwt-token": "<TOKEN>"}
response = requests.get(url, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('GET', 'https://your-instance.iw-erp.de/api/event/base_event_invitation/42', [
'headers' => [
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Get,
RequestUri = new Uri("https://your-instance.iw-erp.de/api/event/base_event_invitation/42"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://your-instance.iw-erp.de/api/event/base_event_invitation/42")
.get()
.addHeader("x-iw-jwt-token", "<TOKEN>")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://your-instance.iw-erp.de/api/event/base_event_invitation/42"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart with the iw_erp_api package
import 'package:iw_erp_api/clients/event_base_event_invitation_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
IwApiState().host = 'your-instance.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await EventBaseEventInvitationController.get('42');
if (result.success) {
print(result.data);
}{
"id": 42,
"first_name": "Lena",
"last_name": "Hartmann",
"baseEvent": {
"id": 42,
"name": "Beispiel",
"image_url": "https://vynst.de",
"ticketSeatingPlanId": 42,
"bib_numbers_enabled": true,
"timing_enabled": true,
"public_subtitle": "string",
"event_type": "string",
"event_people_limit": 1,
"event_people_min_limit": 1
},
"read": true,
"token": "string",
"gender": "string",
"birthday": "2026-10-15T09:30:00+02:00",
"message": "string",
"reply_message": "string"
}Update a BaseEventInvitation
PUT/api/event/base_event_invitation/{identifier}
Path parameters
identifierrequiredstring |
Request body application/json
dataBaseEventInvitation2Show fields (7)
idintegerPrimary key of the invitation. Internal ID.
readbooleanThe invitation was read.
messagestringMessage sent with the invitation.
reply_messagestringReply message of the invited person.
companyCRMCompany27Company the entity belongs to.
personCRMPerson53Person the entity belongs to.
base_eventBaseEvent16Event the entity belongs to.
Responses
200Update a BaseEventInvitationBaseEventInvitation3
Show fields (17)
companyCRMCompany28Show fields (6)
idintegerPrimary key of the company. Internal ID.
company_namestringLegal name of the company.
main_phonestringMain phone number.
main_faxstringMain fax number.
main_emailstringMain e-mail address.
websitestringWebsite address.
personCRMPerson54Show fields (5)
idintegerPrimary key of the person. Internal ID.
first_namestringFirst name of the person.
last_namestringLast name of the person.
avatar_tokenstringToken of the avatar image.
orderintegerPosition of the entity in the order.
baseEventBaseEvent17Show fields (51)
ticketSeatingPlanIdintegerId of the seating plan, also for the public and the customer serialization.
bib_numbers_enabledbooleantiming_enabledbooleanidintegerPrimary key of the event. Internal ID.
public_subtitlestringSubtitle shown in the public event listing.
event_typestringType of the event, for example course, trip or tournament.
event_people_limitintegermaximum number of people that can attend the event
event_people_min_limitintegerminimum number of people that must attend the event
hide_event_people_limitbooleana setting to hide the event people limit in the frontend ui
has_wait_listbooleanThe event has a waiting list once it is full.
wait_list_confirmation_requiredbooleanParticipants from the waiting list must confirm their place.
trial_enabledbooleanTrial sessions (Schnuppern) are offered for this event. Off by default: the event has to opt in, the rule comes from trialPolicy, the event's category or the default rule.
can_sign_up_for_main_eventbooleanParticipants may sign up for the main event.
only_sign_up_for_main_eventbooleanParticipants may only sign up for the main event, not for sub-events.
start_timestring (date-time)Start of the event.
end_timestring (date-time)End of the event.
require_addressbooleanParticipants must enter an address when signing up.
require_contactbooleanParticipants must enter contact details when signing up.
require_billingbooleanParticipants must enter billing details when signing up.
allow_direct_billingbooleanrequire_direct_billingbooleanallow_budget_sign_upbooleanrequire_agebooleanParticipants must enter their age when signing up.
require_grade_levelbooleanParticipants must enter their school grade level when signing up.
require_free_note_field_idsstringIDs of the free note fields that participants must fill in.
generate_new_bookingsbooleanBookings are generated automatically for the event schedule.
generate_new_bookings_v2booleanBookings are generated with the second version of the schedule generator.
generate_ignore_sys_calendarbooleanGenerated bookings ignore the holidays of the system calendar.
generate_hour_startstring (date-time)Start time of the day for generated bookings.
generate_hour_endstring (date-time)End time of the day for generated bookings.
generate_day_of_weekintegerWeekday for generated bookings.
bitmask_days_of_weekintegerThis is a bitmask value of the days of the week the event occurs on
bitmask_hours_startintegerThis is a bitmask value of the hours an event starts on
summarized_date_timesstringThis is a string with the days and hours an event starts on
customer_detail_ctastringCall-to-action text shown in the customer app on the event detail page.
customer_badgestringBadge text shown on the event in the customer app.
bib_number_modestringVergabeart der Startnummern: OFF, MANUAL, AUTOMATIC oder BATCH. Greift nur, wenn der Event-Typ Startnummern hat (enableBibNumbers).
timing_gun_startstring (date-time)Startschuss; ohne Wert gilt startTime.
timing_public_livebooleanLive timing results are public.
timing_gps_trackingbooleanGPS tracking of participants is enabled for timing.
timing_self_check_inbooleanParticipants can check in themselves for timing.
ticket_sales_enabledbooleanTicketverkauf statt Anmeldung: Teilnehmer kaufen Tickets (Ticketarten = Event-Preise mit Kontingent und Verkaufszeitraum), jedes Ticket bekommt einen Code für den Check-in. Greift nur mit der Einstellung event_ticket_sales_enabled.
ticket_max_per_orderintegerHöchstzahl Tickets je Bestellung; ohne Wert gilt event_ticket_max_per_order_default.
ticket_personalizedbooleanPersonalisierte Tickets: jedes Ticket braucht den Namen des Teilnehmers. Sonst laufen alle Tickets einer Bestellung auf den Namen des Käufers.
ticket_seatingbooleanPlatzwahl beim Ticketverkauf: jedes Ticket bekommt einen freien Platz aus dem Saalplan des Raums (BaseBookable::ticketSeatingPlan); die Ticketart kann auf eine Zone (ticketSeatZone) beschränkt sein. Greift nur mit der Einstellung event_ticket_seating_enabled.
main_phonestringMain phone number.
main_faxstringMain fax number.
main_emailstringMain e-mail address.
websitestringWebsite address.
namestringName of the entity.
image_urlstringURL of the image of the entity.
idintegerPrimary key of the invitation. Internal ID.
readbooleanThe invitation was read.
tokenstringPublic token of the invitation. Used in the invitation link instead of the ID.
first_namestringFirst name of the invited person.
last_namestringLast name of the invited person.
genderstringGender of the invited person.
birthdaystring (date-time)Birthday of the invited person.
messagestringMessage sent with the invitation.
reply_messagestringReply message of the invited person.
main_phonestringMain phone number.
main_faxstringMain fax number.
main_emailstringMain e-mail address.
websitestringWebsite address.
orderintegerPosition of the entity in the order.
curl --request PUT \
--url https://your-instance.iw-erp.de/api/event/base_event_invitation/42 \
--header 'content-type: application/json' \
--header 'x-iw-jwt-token: <TOKEN>' \
--data '
{
"data": {
"id": 42,
"read": true,
"message": "string",
"reply_message": "string"
}
}
'const options = {
method: 'PUT',
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: JSON.stringify({data: {id: 42, read: true, message: 'string', reply_message: 'string'}})
};
fetch('https://your-instance.iw-erp.de/api/event/base_event_invitation/42', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://your-instance.iw-erp.de/api/event/base_event_invitation/42"
payload = { "data": {
"id": 42,
"read": True,
"message": "string",
"reply_message": "string"
} }
headers = {
"x-iw-jwt-token": "<TOKEN>",
"content-type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('PUT', 'https://your-instance.iw-erp.de/api/event/base_event_invitation/42', [
'body' => '{"data":{"id":42,"read":true,"message":"string","reply_message":"string"}}',
'headers' => [
'content-type' => 'application/json',
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Put,
RequestUri = new Uri("https://your-instance.iw-erp.de/api/event/base_event_invitation/42"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
Content = new StringContent("{\"data\":{\"id\":42,\"read\":true,\"message\":\"string\",\"reply_message\":\"string\"}}")
{
Headers =
{
ContentType = new MediaTypeHeaderValue("application/json")
}
}
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\"data\":{\"id\":42,\"read\":true,\"message\":\"string\",\"reply_message\":\"string\"}}");
Request request = new Request.Builder()
.url("https://your-instance.iw-erp.de/api/event/base_event_invitation/42")
.put(body)
.addHeader("x-iw-jwt-token", "<TOKEN>")
.addHeader("content-type", "application/json")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://your-instance.iw-erp.de/api/event/base_event_invitation/42"
payload := strings.NewReader("{\"data\":{\"id\":42,\"read\":true,\"message\":\"string\",\"reply_message\":\"string\"}}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
req.Header.Add("content-type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart with the iw_erp_api package
import 'package:iw_erp_api/clients/event_base_event_invitation_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
import 'package:iw_erp_api/model/event_base_event_invitation.dart';
IwApiState().host = 'your-instance.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await EventBaseEventInvitationController.put(EventBaseEventInvitation.fromJson({
"id": 42,
"read": true,
"message": "string",
"reply_message": "string"
}));
if (result.success) {
print(result.data);
}{
"id": 42,
"first_name": "Lena",
"last_name": "Hartmann",
"main_phone": "+49 511 123456",
"main_email": "lena.hartmann@example.org",
"company": {
"id": 42,
"company_name": "Beispiel",
"main_phone": "+49 511 123456",
"main_email": "lena.hartmann@example.org",
"main_fax": "string",
"website": "string"
},
"person": {
"id": 42,
"first_name": "Lena",
"last_name": "Hartmann",
"avatar_token": "string",
"order": 1
},
"baseEvent": {
"id": 42,
"main_phone": "+49 511 123456",
"main_email": "lena.hartmann@example.org",
"name": "Beispiel",
"image_url": "https://vynst.de",
"ticketSeatingPlanId": 42,
"bib_numbers_enabled": true,
"timing_enabled": true,
"public_subtitle": "string",
"event_type": "string"
},
"read": true,
"token": "string"
}Update a BaseEventInvitation
PATCH/api/event/base_event_invitation/{identifier}
Path parameters
identifierrequiredstring |
Request body application/json
dataBaseEventInvitation2Show fields (7)
idintegerPrimary key of the invitation. Internal ID.
readbooleanThe invitation was read.
messagestringMessage sent with the invitation.
reply_messagestringReply message of the invited person.
companyCRMCompany27Company the entity belongs to.
personCRMPerson53Person the entity belongs to.
base_eventBaseEvent16Event the entity belongs to.
Responses
200Update a BaseEventInvitationBaseEventInvitation3
Show fields (17)
companyCRMCompany28Show fields (6)
idintegerPrimary key of the company. Internal ID.
company_namestringLegal name of the company.
main_phonestringMain phone number.
main_faxstringMain fax number.
main_emailstringMain e-mail address.
websitestringWebsite address.
personCRMPerson54Show fields (5)
idintegerPrimary key of the person. Internal ID.
first_namestringFirst name of the person.
last_namestringLast name of the person.
avatar_tokenstringToken of the avatar image.
orderintegerPosition of the entity in the order.
baseEventBaseEvent17Show fields (51)
ticketSeatingPlanIdintegerId of the seating plan, also for the public and the customer serialization.
bib_numbers_enabledbooleantiming_enabledbooleanidintegerPrimary key of the event. Internal ID.
public_subtitlestringSubtitle shown in the public event listing.
event_typestringType of the event, for example course, trip or tournament.
event_people_limitintegermaximum number of people that can attend the event
event_people_min_limitintegerminimum number of people that must attend the event
hide_event_people_limitbooleana setting to hide the event people limit in the frontend ui
has_wait_listbooleanThe event has a waiting list once it is full.
wait_list_confirmation_requiredbooleanParticipants from the waiting list must confirm their place.
trial_enabledbooleanTrial sessions (Schnuppern) are offered for this event. Off by default: the event has to opt in, the rule comes from trialPolicy, the event's category or the default rule.
can_sign_up_for_main_eventbooleanParticipants may sign up for the main event.
only_sign_up_for_main_eventbooleanParticipants may only sign up for the main event, not for sub-events.
start_timestring (date-time)Start of the event.
end_timestring (date-time)End of the event.
require_addressbooleanParticipants must enter an address when signing up.
require_contactbooleanParticipants must enter contact details when signing up.
require_billingbooleanParticipants must enter billing details when signing up.
allow_direct_billingbooleanrequire_direct_billingbooleanallow_budget_sign_upbooleanrequire_agebooleanParticipants must enter their age when signing up.
require_grade_levelbooleanParticipants must enter their school grade level when signing up.
require_free_note_field_idsstringIDs of the free note fields that participants must fill in.
generate_new_bookingsbooleanBookings are generated automatically for the event schedule.
generate_new_bookings_v2booleanBookings are generated with the second version of the schedule generator.
generate_ignore_sys_calendarbooleanGenerated bookings ignore the holidays of the system calendar.
generate_hour_startstring (date-time)Start time of the day for generated bookings.
generate_hour_endstring (date-time)End time of the day for generated bookings.
generate_day_of_weekintegerWeekday for generated bookings.
bitmask_days_of_weekintegerThis is a bitmask value of the days of the week the event occurs on
bitmask_hours_startintegerThis is a bitmask value of the hours an event starts on
summarized_date_timesstringThis is a string with the days and hours an event starts on
customer_detail_ctastringCall-to-action text shown in the customer app on the event detail page.
customer_badgestringBadge text shown on the event in the customer app.
bib_number_modestringVergabeart der Startnummern: OFF, MANUAL, AUTOMATIC oder BATCH. Greift nur, wenn der Event-Typ Startnummern hat (enableBibNumbers).
timing_gun_startstring (date-time)Startschuss; ohne Wert gilt startTime.
timing_public_livebooleanLive timing results are public.
timing_gps_trackingbooleanGPS tracking of participants is enabled for timing.
timing_self_check_inbooleanParticipants can check in themselves for timing.
ticket_sales_enabledbooleanTicketverkauf statt Anmeldung: Teilnehmer kaufen Tickets (Ticketarten = Event-Preise mit Kontingent und Verkaufszeitraum), jedes Ticket bekommt einen Code für den Check-in. Greift nur mit der Einstellung event_ticket_sales_enabled.
ticket_max_per_orderintegerHöchstzahl Tickets je Bestellung; ohne Wert gilt event_ticket_max_per_order_default.
ticket_personalizedbooleanPersonalisierte Tickets: jedes Ticket braucht den Namen des Teilnehmers. Sonst laufen alle Tickets einer Bestellung auf den Namen des Käufers.
ticket_seatingbooleanPlatzwahl beim Ticketverkauf: jedes Ticket bekommt einen freien Platz aus dem Saalplan des Raums (BaseBookable::ticketSeatingPlan); die Ticketart kann auf eine Zone (ticketSeatZone) beschränkt sein. Greift nur mit der Einstellung event_ticket_seating_enabled.
main_phonestringMain phone number.
main_faxstringMain fax number.
main_emailstringMain e-mail address.
websitestringWebsite address.
namestringName of the entity.
image_urlstringURL of the image of the entity.
idintegerPrimary key of the invitation. Internal ID.
readbooleanThe invitation was read.
tokenstringPublic token of the invitation. Used in the invitation link instead of the ID.
first_namestringFirst name of the invited person.
last_namestringLast name of the invited person.
genderstringGender of the invited person.
birthdaystring (date-time)Birthday of the invited person.
messagestringMessage sent with the invitation.
reply_messagestringReply message of the invited person.
main_phonestringMain phone number.
main_faxstringMain fax number.
main_emailstringMain e-mail address.
websitestringWebsite address.
orderintegerPosition of the entity in the order.
curl --request PATCH \
--url https://your-instance.iw-erp.de/api/event/base_event_invitation/42 \
--header 'content-type: application/json' \
--header 'x-iw-jwt-token: <TOKEN>' \
--data '
{
"data": {
"id": 42,
"read": true,
"message": "string",
"reply_message": "string"
}
}
'const options = {
method: 'PATCH',
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: JSON.stringify({data: {id: 42, read: true, message: 'string', reply_message: 'string'}})
};
fetch('https://your-instance.iw-erp.de/api/event/base_event_invitation/42', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://your-instance.iw-erp.de/api/event/base_event_invitation/42"
payload = { "data": {
"id": 42,
"read": True,
"message": "string",
"reply_message": "string"
} }
headers = {
"x-iw-jwt-token": "<TOKEN>",
"content-type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('PATCH', 'https://your-instance.iw-erp.de/api/event/base_event_invitation/42', [
'body' => '{"data":{"id":42,"read":true,"message":"string","reply_message":"string"}}',
'headers' => [
'content-type' => 'application/json',
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Patch,
RequestUri = new Uri("https://your-instance.iw-erp.de/api/event/base_event_invitation/42"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
Content = new StringContent("{\"data\":{\"id\":42,\"read\":true,\"message\":\"string\",\"reply_message\":\"string\"}}")
{
Headers =
{
ContentType = new MediaTypeHeaderValue("application/json")
}
}
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\"data\":{\"id\":42,\"read\":true,\"message\":\"string\",\"reply_message\":\"string\"}}");
Request request = new Request.Builder()
.url("https://your-instance.iw-erp.de/api/event/base_event_invitation/42")
.patch(body)
.addHeader("x-iw-jwt-token", "<TOKEN>")
.addHeader("content-type", "application/json")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://your-instance.iw-erp.de/api/event/base_event_invitation/42"
payload := strings.NewReader("{\"data\":{\"id\":42,\"read\":true,\"message\":\"string\",\"reply_message\":\"string\"}}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
req.Header.Add("content-type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart with package:http (no controller in the iw_erp_api package)
import 'dart:convert';
import 'package:http/http.dart' as http;
final response = await http.patch(
Uri.parse('https://your-instance.iw-erp.de/api/event/base_event_invitation/42'),
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: jsonEncode({
"data": {
"id": 42,
"read": true,
"message": "string",
"reply_message": "string"
}
}),
);
print(response.body);{
"id": 42,
"first_name": "Lena",
"last_name": "Hartmann",
"main_phone": "+49 511 123456",
"main_email": "lena.hartmann@example.org",
"company": {
"id": 42,
"company_name": "Beispiel",
"main_phone": "+49 511 123456",
"main_email": "lena.hartmann@example.org",
"main_fax": "string",
"website": "string"
},
"person": {
"id": 42,
"first_name": "Lena",
"last_name": "Hartmann",
"avatar_token": "string",
"order": 1
},
"baseEvent": {
"id": 42,
"main_phone": "+49 511 123456",
"main_email": "lena.hartmann@example.org",
"name": "Beispiel",
"image_url": "https://vynst.de",
"ticketSeatingPlanId": 42,
"bib_numbers_enabled": true,
"timing_enabled": true,
"public_subtitle": "string",
"event_type": "string"
},
"read": true,
"token": "string"
}Deletes a single BaseEventInvitation
DELETE/api/event/base_event_invitation/{identifier}
Path parameters
identifierrequiredstring |
Responses
200Deletes a single BaseEventInvitationBaseEventInvitation3
Show fields (17)
companyCRMCompany28Show fields (6)
idintegerPrimary key of the company. Internal ID.
company_namestringLegal name of the company.
main_phonestringMain phone number.
main_faxstringMain fax number.
main_emailstringMain e-mail address.
websitestringWebsite address.
personCRMPerson54Show fields (5)
idintegerPrimary key of the person. Internal ID.
first_namestringFirst name of the person.
last_namestringLast name of the person.
avatar_tokenstringToken of the avatar image.
orderintegerPosition of the entity in the order.
baseEventBaseEvent17Show fields (51)
ticketSeatingPlanIdintegerId of the seating plan, also for the public and the customer serialization.
bib_numbers_enabledbooleantiming_enabledbooleanidintegerPrimary key of the event. Internal ID.
public_subtitlestringSubtitle shown in the public event listing.
event_typestringType of the event, for example course, trip or tournament.
event_people_limitintegermaximum number of people that can attend the event
event_people_min_limitintegerminimum number of people that must attend the event
hide_event_people_limitbooleana setting to hide the event people limit in the frontend ui
has_wait_listbooleanThe event has a waiting list once it is full.
wait_list_confirmation_requiredbooleanParticipants from the waiting list must confirm their place.
trial_enabledbooleanTrial sessions (Schnuppern) are offered for this event. Off by default: the event has to opt in, the rule comes from trialPolicy, the event's category or the default rule.
can_sign_up_for_main_eventbooleanParticipants may sign up for the main event.
only_sign_up_for_main_eventbooleanParticipants may only sign up for the main event, not for sub-events.
start_timestring (date-time)Start of the event.
end_timestring (date-time)End of the event.
require_addressbooleanParticipants must enter an address when signing up.
require_contactbooleanParticipants must enter contact details when signing up.
require_billingbooleanParticipants must enter billing details when signing up.
allow_direct_billingbooleanrequire_direct_billingbooleanallow_budget_sign_upbooleanrequire_agebooleanParticipants must enter their age when signing up.
require_grade_levelbooleanParticipants must enter their school grade level when signing up.
require_free_note_field_idsstringIDs of the free note fields that participants must fill in.
generate_new_bookingsbooleanBookings are generated automatically for the event schedule.
generate_new_bookings_v2booleanBookings are generated with the second version of the schedule generator.
generate_ignore_sys_calendarbooleanGenerated bookings ignore the holidays of the system calendar.
generate_hour_startstring (date-time)Start time of the day for generated bookings.
generate_hour_endstring (date-time)End time of the day for generated bookings.
generate_day_of_weekintegerWeekday for generated bookings.
bitmask_days_of_weekintegerThis is a bitmask value of the days of the week the event occurs on
bitmask_hours_startintegerThis is a bitmask value of the hours an event starts on
summarized_date_timesstringThis is a string with the days and hours an event starts on
customer_detail_ctastringCall-to-action text shown in the customer app on the event detail page.
customer_badgestringBadge text shown on the event in the customer app.
bib_number_modestringVergabeart der Startnummern: OFF, MANUAL, AUTOMATIC oder BATCH. Greift nur, wenn der Event-Typ Startnummern hat (enableBibNumbers).
timing_gun_startstring (date-time)Startschuss; ohne Wert gilt startTime.
timing_public_livebooleanLive timing results are public.
timing_gps_trackingbooleanGPS tracking of participants is enabled for timing.
timing_self_check_inbooleanParticipants can check in themselves for timing.
ticket_sales_enabledbooleanTicketverkauf statt Anmeldung: Teilnehmer kaufen Tickets (Ticketarten = Event-Preise mit Kontingent und Verkaufszeitraum), jedes Ticket bekommt einen Code für den Check-in. Greift nur mit der Einstellung event_ticket_sales_enabled.
ticket_max_per_orderintegerHöchstzahl Tickets je Bestellung; ohne Wert gilt event_ticket_max_per_order_default.
ticket_personalizedbooleanPersonalisierte Tickets: jedes Ticket braucht den Namen des Teilnehmers. Sonst laufen alle Tickets einer Bestellung auf den Namen des Käufers.
ticket_seatingbooleanPlatzwahl beim Ticketverkauf: jedes Ticket bekommt einen freien Platz aus dem Saalplan des Raums (BaseBookable::ticketSeatingPlan); die Ticketart kann auf eine Zone (ticketSeatZone) beschränkt sein. Greift nur mit der Einstellung event_ticket_seating_enabled.
main_phonestringMain phone number.
main_faxstringMain fax number.
main_emailstringMain e-mail address.
websitestringWebsite address.
namestringName of the entity.
image_urlstringURL of the image of the entity.
idintegerPrimary key of the invitation. Internal ID.
readbooleanThe invitation was read.
tokenstringPublic token of the invitation. Used in the invitation link instead of the ID.
first_namestringFirst name of the invited person.
last_namestringLast name of the invited person.
genderstringGender of the invited person.
birthdaystring (date-time)Birthday of the invited person.
messagestringMessage sent with the invitation.
reply_messagestringReply message of the invited person.
main_phonestringMain phone number.
main_faxstringMain fax number.
main_emailstringMain e-mail address.
websitestringWebsite address.
orderintegerPosition of the entity in the order.
curl --request DELETE \
--url https://your-instance.iw-erp.de/api/event/base_event_invitation/42 \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'DELETE', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://your-instance.iw-erp.de/api/event/base_event_invitation/42', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://your-instance.iw-erp.de/api/event/base_event_invitation/42"
headers = {"x-iw-jwt-token": "<TOKEN>"}
response = requests.delete(url, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('DELETE', 'https://your-instance.iw-erp.de/api/event/base_event_invitation/42', [
'headers' => [
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Delete,
RequestUri = new Uri("https://your-instance.iw-erp.de/api/event/base_event_invitation/42"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://your-instance.iw-erp.de/api/event/base_event_invitation/42")
.delete(null)
.addHeader("x-iw-jwt-token", "<TOKEN>")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://your-instance.iw-erp.de/api/event/base_event_invitation/42"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart with the iw_erp_api package
import 'package:iw_erp_api/clients/event_base_event_invitation_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
IwApiState().host = 'your-instance.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await EventBaseEventInvitationController.delete('42');
if (result.success) {
print(result.data);
}{
"id": 42,
"first_name": "Lena",
"last_name": "Hartmann",
"main_phone": "+49 511 123456",
"main_email": "lena.hartmann@example.org",
"company": {
"id": 42,
"company_name": "Beispiel",
"main_phone": "+49 511 123456",
"main_email": "lena.hartmann@example.org",
"main_fax": "string",
"website": "string"
},
"person": {
"id": 42,
"first_name": "Lena",
"last_name": "Hartmann",
"avatar_token": "string",
"order": 1
},
"baseEvent": {
"id": 42,
"main_phone": "+49 511 123456",
"main_email": "lena.hartmann@example.org",
"name": "Beispiel",
"image_url": "https://vynst.de",
"ticketSeatingPlanId": 42,
"bib_numbers_enabled": true,
"timing_enabled": true,
"public_subtitle": "string",
"event_type": "string"
},
"read": true,
"token": "string"
}Add a new BaseEventInvitation for multiple People
POST/api/event/multi_base_event_invitation
Request body application/json
dataBaseEventInvitation2Show fields (7)
idintegerPrimary key of the invitation. Internal ID.
readbooleanThe invitation was read.
messagestringMessage sent with the invitation.
reply_messagestringReply message of the invited person.
companyCRMCompany27Company the entity belongs to.
personCRMPerson53Person the entity belongs to.
base_eventBaseEvent16Event the entity belongs to.
Responses
200Add a new BaseEventInvitation for multiple PeopleBaseEventInvitation3
Show fields (17)
companyCRMCompany28Show fields (6)
idintegerPrimary key of the company. Internal ID.
company_namestringLegal name of the company.
main_phonestringMain phone number.
main_faxstringMain fax number.
main_emailstringMain e-mail address.
websitestringWebsite address.
personCRMPerson54Show fields (5)
idintegerPrimary key of the person. Internal ID.
first_namestringFirst name of the person.
last_namestringLast name of the person.
avatar_tokenstringToken of the avatar image.
orderintegerPosition of the entity in the order.
baseEventBaseEvent17Show fields (51)
ticketSeatingPlanIdintegerId of the seating plan, also for the public and the customer serialization.
bib_numbers_enabledbooleantiming_enabledbooleanidintegerPrimary key of the event. Internal ID.
public_subtitlestringSubtitle shown in the public event listing.
event_typestringType of the event, for example course, trip or tournament.
event_people_limitintegermaximum number of people that can attend the event
event_people_min_limitintegerminimum number of people that must attend the event
hide_event_people_limitbooleana setting to hide the event people limit in the frontend ui
has_wait_listbooleanThe event has a waiting list once it is full.
wait_list_confirmation_requiredbooleanParticipants from the waiting list must confirm their place.
trial_enabledbooleanTrial sessions (Schnuppern) are offered for this event. Off by default: the event has to opt in, the rule comes from trialPolicy, the event's category or the default rule.
can_sign_up_for_main_eventbooleanParticipants may sign up for the main event.
only_sign_up_for_main_eventbooleanParticipants may only sign up for the main event, not for sub-events.
start_timestring (date-time)Start of the event.
end_timestring (date-time)End of the event.
require_addressbooleanParticipants must enter an address when signing up.
require_contactbooleanParticipants must enter contact details when signing up.
require_billingbooleanParticipants must enter billing details when signing up.
allow_direct_billingbooleanrequire_direct_billingbooleanallow_budget_sign_upbooleanrequire_agebooleanParticipants must enter their age when signing up.
require_grade_levelbooleanParticipants must enter their school grade level when signing up.
require_free_note_field_idsstringIDs of the free note fields that participants must fill in.
generate_new_bookingsbooleanBookings are generated automatically for the event schedule.
generate_new_bookings_v2booleanBookings are generated with the second version of the schedule generator.
generate_ignore_sys_calendarbooleanGenerated bookings ignore the holidays of the system calendar.
generate_hour_startstring (date-time)Start time of the day for generated bookings.
generate_hour_endstring (date-time)End time of the day for generated bookings.
generate_day_of_weekintegerWeekday for generated bookings.
bitmask_days_of_weekintegerThis is a bitmask value of the days of the week the event occurs on
bitmask_hours_startintegerThis is a bitmask value of the hours an event starts on
summarized_date_timesstringThis is a string with the days and hours an event starts on
customer_detail_ctastringCall-to-action text shown in the customer app on the event detail page.
customer_badgestringBadge text shown on the event in the customer app.
bib_number_modestringVergabeart der Startnummern: OFF, MANUAL, AUTOMATIC oder BATCH. Greift nur, wenn der Event-Typ Startnummern hat (enableBibNumbers).
timing_gun_startstring (date-time)Startschuss; ohne Wert gilt startTime.
timing_public_livebooleanLive timing results are public.
timing_gps_trackingbooleanGPS tracking of participants is enabled for timing.
timing_self_check_inbooleanParticipants can check in themselves for timing.
ticket_sales_enabledbooleanTicketverkauf statt Anmeldung: Teilnehmer kaufen Tickets (Ticketarten = Event-Preise mit Kontingent und Verkaufszeitraum), jedes Ticket bekommt einen Code für den Check-in. Greift nur mit der Einstellung event_ticket_sales_enabled.
ticket_max_per_orderintegerHöchstzahl Tickets je Bestellung; ohne Wert gilt event_ticket_max_per_order_default.
ticket_personalizedbooleanPersonalisierte Tickets: jedes Ticket braucht den Namen des Teilnehmers. Sonst laufen alle Tickets einer Bestellung auf den Namen des Käufers.
ticket_seatingbooleanPlatzwahl beim Ticketverkauf: jedes Ticket bekommt einen freien Platz aus dem Saalplan des Raums (BaseBookable::ticketSeatingPlan); die Ticketart kann auf eine Zone (ticketSeatZone) beschränkt sein. Greift nur mit der Einstellung event_ticket_seating_enabled.
main_phonestringMain phone number.
main_faxstringMain fax number.
main_emailstringMain e-mail address.
websitestringWebsite address.
namestringName of the entity.
image_urlstringURL of the image of the entity.
idintegerPrimary key of the invitation. Internal ID.
readbooleanThe invitation was read.
tokenstringPublic token of the invitation. Used in the invitation link instead of the ID.
first_namestringFirst name of the invited person.
last_namestringLast name of the invited person.
genderstringGender of the invited person.
birthdaystring (date-time)Birthday of the invited person.
messagestringMessage sent with the invitation.
reply_messagestringReply message of the invited person.
main_phonestringMain phone number.
main_faxstringMain fax number.
main_emailstringMain e-mail address.
websitestringWebsite address.
orderintegerPosition of the entity in the order.
curl --request POST \
--url https://your-instance.iw-erp.de/api/event/multi_base_event_invitation \
--header 'content-type: application/json' \
--header 'x-iw-jwt-token: <TOKEN>' \
--data '
{
"data": {
"id": 42,
"read": true,
"message": "string",
"reply_message": "string"
}
}
'const options = {
method: 'POST',
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: JSON.stringify({data: {id: 42, read: true, message: 'string', reply_message: 'string'}})
};
fetch('https://your-instance.iw-erp.de/api/event/multi_base_event_invitation', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://your-instance.iw-erp.de/api/event/multi_base_event_invitation"
payload = { "data": {
"id": 42,
"read": True,
"message": "string",
"reply_message": "string"
} }
headers = {
"x-iw-jwt-token": "<TOKEN>",
"content-type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('POST', 'https://your-instance.iw-erp.de/api/event/multi_base_event_invitation', [
'body' => '{"data":{"id":42,"read":true,"message":"string","reply_message":"string"}}',
'headers' => [
'content-type' => 'application/json',
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Post,
RequestUri = new Uri("https://your-instance.iw-erp.de/api/event/multi_base_event_invitation"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
Content = new StringContent("{\"data\":{\"id\":42,\"read\":true,\"message\":\"string\",\"reply_message\":\"string\"}}")
{
Headers =
{
ContentType = new MediaTypeHeaderValue("application/json")
}
}
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\"data\":{\"id\":42,\"read\":true,\"message\":\"string\",\"reply_message\":\"string\"}}");
Request request = new Request.Builder()
.url("https://your-instance.iw-erp.de/api/event/multi_base_event_invitation")
.post(body)
.addHeader("x-iw-jwt-token", "<TOKEN>")
.addHeader("content-type", "application/json")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://your-instance.iw-erp.de/api/event/multi_base_event_invitation"
payload := strings.NewReader("{\"data\":{\"id\":42,\"read\":true,\"message\":\"string\",\"reply_message\":\"string\"}}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
req.Header.Add("content-type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart with the iw_erp_api package
import 'package:iw_erp_api/clients/event_base_event_invitation_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
import 'package:iw_erp_api/model/event_base_event_invitation.dart';
IwApiState().host = 'your-instance.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await EventBaseEventInvitationController.postMulti(EventBaseEventInvitation.fromJson({
"id": 42,
"read": true,
"message": "string",
"reply_message": "string"
}));
if (result.success) {
print(result.data);
}{
"id": 42,
"first_name": "Lena",
"last_name": "Hartmann",
"main_phone": "+49 511 123456",
"main_email": "lena.hartmann@example.org",
"company": {
"id": 42,
"company_name": "Beispiel",
"main_phone": "+49 511 123456",
"main_email": "lena.hartmann@example.org",
"main_fax": "string",
"website": "string"
},
"person": {
"id": 42,
"first_name": "Lena",
"last_name": "Hartmann",
"avatar_token": "string",
"order": 1
},
"baseEvent": {
"id": 42,
"main_phone": "+49 511 123456",
"main_email": "lena.hartmann@example.org",
"name": "Beispiel",
"image_url": "https://vynst.de",
"ticketSeatingPlanId": 42,
"bib_numbers_enabled": true,
"timing_enabled": true,
"public_subtitle": "string",
"event_type": "string"
},
"read": true,
"token": "string"
}Update a BaseEventInvitation as customer
PUT/api/event/base_event_invitation_customer/{identifier}
Path parameters
identifierrequiredstring |
Request body application/json
dataBaseEventInvitation4
Responses
200Update a BaseEventInvitation as customerBaseEventInvitation
Show fields (10)
baseEventBaseEvent15Show fields (47)
ticketSeatingPlanIdintegerId of the seating plan, also for the public and the customer serialization.
bib_numbers_enabledbooleantiming_enabledbooleanidintegerPrimary key of the event. Internal ID.
public_subtitlestringSubtitle shown in the public event listing.
event_typestringType of the event, for example course, trip or tournament.
event_people_limitintegermaximum number of people that can attend the event
event_people_min_limitintegerminimum number of people that must attend the event
hide_event_people_limitbooleana setting to hide the event people limit in the frontend ui
has_wait_listbooleanThe event has a waiting list once it is full.
wait_list_confirmation_requiredbooleanParticipants from the waiting list must confirm their place.
trial_enabledbooleanTrial sessions (Schnuppern) are offered for this event. Off by default: the event has to opt in, the rule comes from trialPolicy, the event's category or the default rule.
can_sign_up_for_main_eventbooleanParticipants may sign up for the main event.
only_sign_up_for_main_eventbooleanParticipants may only sign up for the main event, not for sub-events.
start_timestring (date-time)Start of the event.
end_timestring (date-time)End of the event.
require_addressbooleanParticipants must enter an address when signing up.
require_contactbooleanParticipants must enter contact details when signing up.
require_billingbooleanParticipants must enter billing details when signing up.
allow_direct_billingbooleanrequire_direct_billingbooleanallow_budget_sign_upbooleanrequire_agebooleanParticipants must enter their age when signing up.
require_grade_levelbooleanParticipants must enter their school grade level when signing up.
require_free_note_field_idsstringIDs of the free note fields that participants must fill in.
generate_new_bookingsbooleanBookings are generated automatically for the event schedule.
generate_new_bookings_v2booleanBookings are generated with the second version of the schedule generator.
generate_ignore_sys_calendarbooleanGenerated bookings ignore the holidays of the system calendar.
generate_hour_startstring (date-time)Start time of the day for generated bookings.
generate_hour_endstring (date-time)End time of the day for generated bookings.
generate_day_of_weekintegerWeekday for generated bookings.
bitmask_days_of_weekintegerThis is a bitmask value of the days of the week the event occurs on
bitmask_hours_startintegerThis is a bitmask value of the hours an event starts on
summarized_date_timesstringThis is a string with the days and hours an event starts on
customer_detail_ctastringCall-to-action text shown in the customer app on the event detail page.
customer_badgestringBadge text shown on the event in the customer app.
bib_number_modestringVergabeart der Startnummern: OFF, MANUAL, AUTOMATIC oder BATCH. Greift nur, wenn der Event-Typ Startnummern hat (enableBibNumbers).
timing_gun_startstring (date-time)Startschuss; ohne Wert gilt startTime.
timing_public_livebooleanLive timing results are public.
timing_gps_trackingbooleanGPS tracking of participants is enabled for timing.
timing_self_check_inbooleanParticipants can check in themselves for timing.
ticket_sales_enabledbooleanTicketverkauf statt Anmeldung: Teilnehmer kaufen Tickets (Ticketarten = Event-Preise mit Kontingent und Verkaufszeitraum), jedes Ticket bekommt einen Code für den Check-in. Greift nur mit der Einstellung event_ticket_sales_enabled.
ticket_max_per_orderintegerHöchstzahl Tickets je Bestellung; ohne Wert gilt event_ticket_max_per_order_default.
ticket_personalizedbooleanPersonalisierte Tickets: jedes Ticket braucht den Namen des Teilnehmers. Sonst laufen alle Tickets einer Bestellung auf den Namen des Käufers.
ticket_seatingbooleanPlatzwahl beim Ticketverkauf: jedes Ticket bekommt einen freien Platz aus dem Saalplan des Raums (BaseBookable::ticketSeatingPlan); die Ticketart kann auf eine Zone (ticketSeatZone) beschränkt sein. Greift nur mit der Einstellung event_ticket_seating_enabled.
namestringName of the entity.
image_urlstringURL of the image of the entity.
idintegerPrimary key of the invitation. Internal ID.
readbooleanThe invitation was read.
tokenstringPublic token of the invitation. Used in the invitation link instead of the ID.
first_namestringFirst name of the invited person.
last_namestringLast name of the invited person.
genderstringGender of the invited person.
birthdaystring (date-time)Birthday of the invited person.
messagestringMessage sent with the invitation.
reply_messagestringReply message of the invited person.
curl --request PUT \
--url https://your-instance.iw-erp.de/api/event/base_event_invitation_customer/42 \
--header 'content-type: application/json' \
--header 'x-iw-jwt-token: <TOKEN>' \
--data '{}'const options = {
method: 'PUT',
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: JSON.stringify({})
};
fetch('https://your-instance.iw-erp.de/api/event/base_event_invitation_customer/42', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://your-instance.iw-erp.de/api/event/base_event_invitation_customer/42"
payload = {}
headers = {
"x-iw-jwt-token": "<TOKEN>",
"content-type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('PUT', 'https://your-instance.iw-erp.de/api/event/base_event_invitation_customer/42', [
'body' => '{}',
'headers' => [
'content-type' => 'application/json',
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Put,
RequestUri = new Uri("https://your-instance.iw-erp.de/api/event/base_event_invitation_customer/42"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
Content = new StringContent("{}")
{
Headers =
{
ContentType = new MediaTypeHeaderValue("application/json")
}
}
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{}");
Request request = new Request.Builder()
.url("https://your-instance.iw-erp.de/api/event/base_event_invitation_customer/42")
.put(body)
.addHeader("x-iw-jwt-token", "<TOKEN>")
.addHeader("content-type", "application/json")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://your-instance.iw-erp.de/api/event/base_event_invitation_customer/42"
payload := strings.NewReader("{}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
req.Header.Add("content-type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart with package:http (no controller in the iw_erp_api package)
import 'dart:convert';
import 'package:http/http.dart' as http;
final response = await http.put(
Uri.parse('https://your-instance.iw-erp.de/api/event/base_event_invitation_customer/42'),
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: jsonEncode({}),
);
print(response.body);{
"id": 42,
"first_name": "Lena",
"last_name": "Hartmann",
"baseEvent": {
"id": 42,
"name": "Beispiel",
"image_url": "https://vynst.de",
"ticketSeatingPlanId": 42,
"bib_numbers_enabled": true,
"timing_enabled": true,
"public_subtitle": "string",
"event_type": "string",
"event_people_limit": 1,
"event_people_min_limit": 1
},
"read": true,
"token": "string",
"gender": "string",
"birthday": "2026-10-15T09:30:00+02:00",
"message": "string",
"reply_message": "string"
}Update a BaseEventInvitation as customer
PATCH/api/event/base_event_invitation_customer/{identifier}
Path parameters
identifierrequiredstring |
Request body application/json
dataBaseEventInvitation4
Responses
200Update a BaseEventInvitation as customerBaseEventInvitation
Show fields (10)
baseEventBaseEvent15Show fields (47)
ticketSeatingPlanIdintegerId of the seating plan, also for the public and the customer serialization.
bib_numbers_enabledbooleantiming_enabledbooleanidintegerPrimary key of the event. Internal ID.
public_subtitlestringSubtitle shown in the public event listing.
event_typestringType of the event, for example course, trip or tournament.
event_people_limitintegermaximum number of people that can attend the event
event_people_min_limitintegerminimum number of people that must attend the event
hide_event_people_limitbooleana setting to hide the event people limit in the frontend ui
has_wait_listbooleanThe event has a waiting list once it is full.
wait_list_confirmation_requiredbooleanParticipants from the waiting list must confirm their place.
trial_enabledbooleanTrial sessions (Schnuppern) are offered for this event. Off by default: the event has to opt in, the rule comes from trialPolicy, the event's category or the default rule.
can_sign_up_for_main_eventbooleanParticipants may sign up for the main event.
only_sign_up_for_main_eventbooleanParticipants may only sign up for the main event, not for sub-events.
start_timestring (date-time)Start of the event.
end_timestring (date-time)End of the event.
require_addressbooleanParticipants must enter an address when signing up.
require_contactbooleanParticipants must enter contact details when signing up.
require_billingbooleanParticipants must enter billing details when signing up.
allow_direct_billingbooleanrequire_direct_billingbooleanallow_budget_sign_upbooleanrequire_agebooleanParticipants must enter their age when signing up.
require_grade_levelbooleanParticipants must enter their school grade level when signing up.
require_free_note_field_idsstringIDs of the free note fields that participants must fill in.
generate_new_bookingsbooleanBookings are generated automatically for the event schedule.
generate_new_bookings_v2booleanBookings are generated with the second version of the schedule generator.
generate_ignore_sys_calendarbooleanGenerated bookings ignore the holidays of the system calendar.
generate_hour_startstring (date-time)Start time of the day for generated bookings.
generate_hour_endstring (date-time)End time of the day for generated bookings.
generate_day_of_weekintegerWeekday for generated bookings.
bitmask_days_of_weekintegerThis is a bitmask value of the days of the week the event occurs on
bitmask_hours_startintegerThis is a bitmask value of the hours an event starts on
summarized_date_timesstringThis is a string with the days and hours an event starts on
customer_detail_ctastringCall-to-action text shown in the customer app on the event detail page.
customer_badgestringBadge text shown on the event in the customer app.
bib_number_modestringVergabeart der Startnummern: OFF, MANUAL, AUTOMATIC oder BATCH. Greift nur, wenn der Event-Typ Startnummern hat (enableBibNumbers).
timing_gun_startstring (date-time)Startschuss; ohne Wert gilt startTime.
timing_public_livebooleanLive timing results are public.
timing_gps_trackingbooleanGPS tracking of participants is enabled for timing.
timing_self_check_inbooleanParticipants can check in themselves for timing.
ticket_sales_enabledbooleanTicketverkauf statt Anmeldung: Teilnehmer kaufen Tickets (Ticketarten = Event-Preise mit Kontingent und Verkaufszeitraum), jedes Ticket bekommt einen Code für den Check-in. Greift nur mit der Einstellung event_ticket_sales_enabled.
ticket_max_per_orderintegerHöchstzahl Tickets je Bestellung; ohne Wert gilt event_ticket_max_per_order_default.
ticket_personalizedbooleanPersonalisierte Tickets: jedes Ticket braucht den Namen des Teilnehmers. Sonst laufen alle Tickets einer Bestellung auf den Namen des Käufers.
ticket_seatingbooleanPlatzwahl beim Ticketverkauf: jedes Ticket bekommt einen freien Platz aus dem Saalplan des Raums (BaseBookable::ticketSeatingPlan); die Ticketart kann auf eine Zone (ticketSeatZone) beschränkt sein. Greift nur mit der Einstellung event_ticket_seating_enabled.
namestringName of the entity.
image_urlstringURL of the image of the entity.
idintegerPrimary key of the invitation. Internal ID.
readbooleanThe invitation was read.
tokenstringPublic token of the invitation. Used in the invitation link instead of the ID.
first_namestringFirst name of the invited person.
last_namestringLast name of the invited person.
genderstringGender of the invited person.
birthdaystring (date-time)Birthday of the invited person.
messagestringMessage sent with the invitation.
reply_messagestringReply message of the invited person.
curl --request PATCH \
--url https://your-instance.iw-erp.de/api/event/base_event_invitation_customer/42 \
--header 'content-type: application/json' \
--header 'x-iw-jwt-token: <TOKEN>' \
--data '{}'const options = {
method: 'PATCH',
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: JSON.stringify({})
};
fetch('https://your-instance.iw-erp.de/api/event/base_event_invitation_customer/42', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://your-instance.iw-erp.de/api/event/base_event_invitation_customer/42"
payload = {}
headers = {
"x-iw-jwt-token": "<TOKEN>",
"content-type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('PATCH', 'https://your-instance.iw-erp.de/api/event/base_event_invitation_customer/42', [
'body' => '{}',
'headers' => [
'content-type' => 'application/json',
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Patch,
RequestUri = new Uri("https://your-instance.iw-erp.de/api/event/base_event_invitation_customer/42"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
Content = new StringContent("{}")
{
Headers =
{
ContentType = new MediaTypeHeaderValue("application/json")
}
}
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{}");
Request request = new Request.Builder()
.url("https://your-instance.iw-erp.de/api/event/base_event_invitation_customer/42")
.patch(body)
.addHeader("x-iw-jwt-token", "<TOKEN>")
.addHeader("content-type", "application/json")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://your-instance.iw-erp.de/api/event/base_event_invitation_customer/42"
payload := strings.NewReader("{}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
req.Header.Add("content-type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart with package:http (no controller in the iw_erp_api package)
import 'dart:convert';
import 'package:http/http.dart' as http;
final response = await http.patch(
Uri.parse('https://your-instance.iw-erp.de/api/event/base_event_invitation_customer/42'),
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: jsonEncode({}),
);
print(response.body);{
"id": 42,
"first_name": "Lena",
"last_name": "Hartmann",
"baseEvent": {
"id": 42,
"name": "Beispiel",
"image_url": "https://vynst.de",
"ticketSeatingPlanId": 42,
"bib_numbers_enabled": true,
"timing_enabled": true,
"public_subtitle": "string",
"event_type": "string",
"event_people_limit": 1,
"event_people_min_limit": 1
},
"read": true,
"token": "string",
"gender": "string",
"birthday": "2026-10-15T09:30:00+02:00",
"message": "string",
"reply_message": "string"
}