Self Sign Up Code
Liefert eine Liste aller SelfSignUpLogInviteCode-Objekte.
GET/api/cp/signup/code
Query-Parameter
idstring | |
deletedboolean | Diese Eigenschaft markiert eine Entität als gelöscht / archiviert | Benötigtes Zugriffsrecht: SCOPE | Standardwert: false |
productstring | |
unifiedCategorystring | |
tokenstring | |
logBookEntryContentTypestring | |
createdstring | |
updatedstring | |
namestring | |
externalDescriptionstring | |
internalDescriptionstring | |
searchStringstring | Text, nach dem in der Liste gesucht wird |
orderFieldNamestring | Name des Bestellfelds |
orderFieldSortstring | SortiermodusErlaubt: DESCASC |
pageinteger | Seite der Liste |
pageSizeinteger | Anzahl der Einträge je Seite |
withMaxPageNumberstring | gibt die Anzahl verfügbarer Seiten als Header zurück, wenn dies gesetzt ist |
Antworten
200Liefert eine Liste aller SelfSignUpLogInviteCode-Objekte.array<SelfSignUpLogInviteCode>
Felder anzeigen (10)
idintegerPrimärschlüssel des Einladungscodes. Interne ID.
tokenstringToken des Einladungscodes.
productPredefinedBillingItem3Abrechnungsposition, für die der Einladungscode gilt.
Felder anzeigen (81)
idintegerPrimärschlüssel der zugeordneten Abrechnungsposition. Interne ID.
namestringPflichtName der Abrechnungsposition.
descriptionstringPflichtBeschreibung des Abrechnungspostens, die dem Kunden angezeigt wird.
internal_descriptionstringInterne Beschreibung der Abrechnungsposition, wird dem Kunden nicht angezeigt.
fixed_hoursnumber (float)Feste Anzahl abgerechneter Stunden.
fixed_pricenumber (float)Fester abgerechneter Preis.
fixed_price_base_unitnumber (float)Basiseinheit für den Festpreis.
price_fixed_hoursnumber (float)Preis für die Pauschalstunden.
price_additional_hoursnumber (float)Preis für jede weitere Stunde.
name_additional_hoursstringName des Zusatzstunden-Postens.
description_additional_hoursstringBeschreibung des Zusatzstundenpostens.
time_billed_on_ticket_closebooleanOb die Zeit beim Schließen des Tickets abgerechnet wird.
billing_typeBillingItemTypeTyp der Abrechnungsposition.
buying_pricenumber (float)Einkaufspreis der Position.
recurrenceCRMRecurrenceWiederholung, der die Abrechnungsposition folgt.
deletedbooleanOb die Abrechnungsposition gelöscht ist.
condition_date_afterstring (date-time)Der Posten gilt nur für Termine nach diesem Datum.
condition_date_beforestring (date-time)Der Posten gilt nur für Termine vor diesem Datum.
condition_country_codestringLändercode, für den der Posten gilt.
condition_zip_code_fromstringBeginn des PLZ-Bereichs, für den die Position gilt.
condition_zip_code_tostringEnde des PLZ-Bereichs, auf den der Posten zutrifft.
condition_time_after_hourintegerDer Posten gilt nur ab dieser Tagesstunde.
condition_max_lengthintegerMaximale Länge, für die der Eintrag gilt.
condition_time_before_hourintegerDer Posten gilt nur bis zu dieser Tagesstunde.
condition_sub_access_tagAccessTagZugriffs-Tag, das ein Abonnement haben muss, damit der Eintrag gilt.
condition_show_despite_missing_access_tagbooleanOb die Position auch dann angezeigt wird, wenn das Zugriffs-Tag fehlt.
condition_sub_free_logicstringFreie Bedingungslogik für das Abo.
fixed_price_logicstringFreie Logik, die den Festpreis berechnet.
sub_self_service_addbooleanOb Mitglieder das Abonnement selbst hinzufügen können.
sub_self_service_deletebooleanOb Mitglieder das Abonnement selbst kündigen können.
sub_self_service_add_fixed_pricenumber (float)Fester Preis, der berechnet wird, wenn Mitglieder das Abo selbst hinzufügen.
sub_self_service_delete_fixed_pricenumber (float)Fester Preis, der berechnet wird, wenn Mitglieder das Abo selbst kündigen.
sub_pre_paidbooleanOb das Abonnement im Voraus bezahlt wird.
sub_only_billed_after_startbooleanOb das Abonnement erst nach seinem Beginn abgerechnet wird.
sub_people_age_group_oneintegerObere Altersgrenze der Altersgruppe eins.
sub_people_age_group_one_discountintegerRabatt in Prozent für Altersgruppe eins.
sub_people_age_group_one_freeintegerAnzahl der freien Plätze für Altersgruppe eins.
sub_people_age_group_twointegerObere Altersgrenze der Altersgruppe zwei.
sub_people_age_group_two_discountintegerRabatt in Prozent für Altersgruppe zwei.
sub_people_age_group_two_freeintegerAnzahl der freien Plätze für Altersgruppe zwei.
sub_people_age_group_threeintegerObere Altersgrenze der Altersgruppe drei.
sub_people_age_group_three_discountintegerRabatt in Prozent für Altersgruppe drei.
sub_people_age_group_three_freeintegerAnzahl der freien Plätze für Altersgruppe drei.
sub_people_age_group_fourintegerObere Altersgrenze der Altersgruppe vier.
sub_people_age_group_four_discountintegerRabatt in Prozent für Altersgruppe vier.
sub_people_age_group_four_freeintegerAnzahl der freien Plätze für Altersgruppe vier.
price_is_bruttobooleanOb die Preise Bruttopreise inklusive Steuer sind.
skustringArtikelnummer (Stock Keeping Unit)
barcodestringBarcode (ISBN, UPC, GTIN usw.)
companyCRMCompany40Unternehmen, zu dem der Abrechnungsposten gehört.
parentPredefinedBillingItem3Übergeordneter Abrechnungsposten, zum Beispiel für Varianten.
is_preferredbooleanDer Posten ist bevorzugt und wird zuerst angezeigt.
is_defaultbooleanDer Posten ist der Standard für seinen Typ.
is_discountbooleanDer Posten ist ein Rabatt.
is_freebooleanDer Posten ist kostenfrei.
is_passivebooleanDer Posten ist passiv und kann nicht mehr ausgewählt werden.
is_globalbooleanDer Posten ist für alle Unternehmen verfügbar.
inventory_countintegerBestand an Stück, sofern der Gegenstand ein Produkt ist.
stock_itembooleanDies ist ein Kennzeichen für Artikel, die jederzeit bestellt werden können
producer_guarantee_yearsnumber (float)Herstellergarantie in Jahren (ganze Jahre oder ,5-Schritte, siehe ProductGuaranteeYears). Grundlage fuer das EU GARAN Label (nur bei Garantie > 2 Jahre zulaessig).
producer_brandstringHersteller / Marke, die die Haltbarkeitsgarantie gibt - editierbares Feld "Brand/Trademark" des EU GARAN Labels.
energy_label_attachmentAttachment10Energielabel (EU-Energieverbrauchskennzeichnung) als Bild/PDF für Shop, Warenkorb und E-Mail. EU-Energielabel als Bild/PDF dieses Produkts.
garan_label_attachmentAttachment10Grosses EU GARAN Label (DVO 2025/1960): kostenlose Haltbarkeitsgarantie des Herstellers von mehr als zwei Jahren, mit Jahren, Marke und Modell.
garan_label_pictogram_attachmentAttachment10„Nested label“ / Piktogramm des EU-GARAN-Labels: zeigt nur die Jahre, beim Klick/Hover muss das große Label (garanLabelAttachment) erscheinen. EU-GARAN-„nested label“-Piktogramm, das nur die Jahre zeigt; verlinkt auf das vollständige Label online.
public_categorystringKategorie des öffentlich angezeigten Postens.
condition_booking_content_typeBookingContentType11Eintrag gilt nur für Buchungen mit diesem Inhaltstyp (z. B. Flugtyp). Null = alle Inhaltstypen.
usage_time_baseintegerZeitpaar des Abschnitts für die Nutzungsabrechnung: BaseBookingRealUsage::BILLING_TYPE_BLOCK_TIME oder BILLING_TYPE_FLIGHT_TIME. Null = billingType des Nutzungsdatensatzes übernehmen.
base_locationBaseLocation15Standort, zu dem diese Gebühr gehört (z. B. Flughafen-Lande-/Startgebühr), Kategorie CATEGORY_LOCATION
condition_day_of_week_maskintegerWochentags-Bitmaske (Mo=1 ... So=64, siehe DayOfWeekBitmaskHelper). Null = jeden Tag.
condition_first_usage_onlybooleanDie Gebühr wird nur einmal je Nutzungssatz angewendet (erster passender Abschnitt, Menge 1)
budget_grant_countintegerAnzahl der Veranstaltungsanmeldungen, die dieses Produkt beim Kauf gewährt (null = kein Kontingent)
budget_create_oncebooleanWenn true, wird das Budget nur einmal pro Kombination aus Person und Produkt angelegt. Bei wiederkehrenden Abonnements: monatliche Zahlung, aber jährliches Budget.
ticket_quotaintegerTicketverkauf (BaseEvent::isTicketSalesEnabled): Kontingent dieser Ticketart (Event-Preis). Null = nur das Teilnehmerlimit der Veranstaltung zählt.
ticket_sale_startstring (date-time)Ticketverkauf: Verkaufsstart dieser Ticketart (z. B. Frühbucher ab), null = sofort.
ticket_sale_endstring (date-time)Ticketverkauf: Verkaufsende dieser Ticketart (z. B. Frühbucher bis), null = bis zum Anmeldeschluss.
ticket_seat_zonestringTicketverkauf mit Sitzplan: Diese Ticketart gilt nur für Plätze dieser Preiszone (BaseLocationPlanItem::seatZone), null = für jeden Platz.
cancellation_term_unitstringZulässige Kündigungsfristen für dieses Abonnement-Produkt. Null / leer = Standard des Vereins aus den Einstellungen übernehmen. Siehe CancellationTermCalculator::TERM_UNITS.
cancellation_term_datesstringKommagetrennte Liste fester Kündigungstermine im Format TT.MM, z. B. "31.03,30.06,30.09,31.12". Wird nur verwendet, wenn cancellationTermUnit CUSTOM ist.
cancellation_notice_valueintegerNumerischer Wert der Kündigungsfrist vor dem Kündigungstermin. Null = von den Einstellungen übernehmen.
cancellation_notice_unitstringEinheit der Frist: DAYS, WEEKS oder MONTHS. Null = aus den Einstellungen übernehmen.
- … 7 weitere Felder
log_book_entry_content_typestringInhaltstyp des Logbuch-Eintrags, der durch den Einladungscode erstellt wird.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
namestringName der Einheit.
unified_categoryUnifiedCategory4Felder anzeigen (32)
idintegerPrimärschlüssel der einheitlichen Kategorie. Interne ID.
category_typestringArt der Kategorie, zum Beispiel Kurs oder Mitgliedschaft.
childrenarray<UnifiedCategory4>Untergeordnete Kategorien.
parentUnifiedCategory4Übergeordnete Kategorie.
view_orderintegerSortierreihenfolge der Kategorie in Listen.
is_publicbooleanDie Kategorie wird öffentlich angezeigt.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
namestringName der Einheit.
addressstringAdresse als Text.
address_streetstringStraße der Adresse.
address_house_numberstringHausnummer der Adresse.
address_street_levelstringStraße und Hausnummer der Adresse.
address_costringCare-of-Zeile der Adresse.
address_citystringOrt der Adresse.
address_zipstringPostleitzahl der Adresse.
address_admin_level1stringErste Verwaltungsebene der Adresse, z. B. das Bundesland.
address_countrystringLändercode der Adresse.
address_full_countrystringVollständiger Name des Landes der Adresse.
address_geo_latstringBreitengrad der Adresse.
address_geo_lngstringLängengrad der Adresse.
address_external_provider_idstringFeld zur Speicherung der externen Anbieter-ID der Adresse, z. B. Google-Maps-PlaceID wie google:ChIJVcKw5r90sEcRhdjNq6NItqE
main_phonestringHaupttelefonnummer.
main_faxstringHaupt-Faxnummer.
main_emailstringHaupt-E-Mail-Adresse.
websitestringWebsite-Adresse.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
search_stringstringText, unter dem die Entität gesucht werden kann.
short_identifierstringKurzkennung der Entität.
slug_identifierstringSlug, der in URLs der Entität verwendet wird.
image_urlstringURL des Bildes des Datensatzes.
is_ui_filterbooleanDiese Eigenschaft markiert eine Entität als Filter für das Frontend
image_urlstringURL des Bildes des Datensatzes.
curl --request GET \
--url https://eure-instanz.iw-erp.de/api/cp/signup/code \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'GET', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/cp/signup/code', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/cp/signup/code"
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://eure-instanz.iw-erp.de/api/cp/signup/code', [
'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://eure-instanz.iw-erp.de/api/cp/signup/code"),
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://eure-instanz.iw-erp.de/api/cp/signup/code")
.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://eure-instanz.iw-erp.de/api/cp/signup/code"
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 mit dem Package iw_erp_api
import 'package:iw_erp_api/clients/self_sign_up_invite_code_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
IwApiState().host = 'eure-instanz.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await SelfSignUpInviteCodeController.getAll();
if (result.success) {
print(result.data);
}[
{
"id": 42,
"name": "Beispiel",
"image_url": "https://vynst.de",
"token": "string",
"product": {
"name": "Beispiel",
"description": "Text",
"id": 42,
"internal_description": "Text",
"fixed_hours": 1.5,
"fixed_price": 49.9,
"fixed_price_base_unit": 49.9,
"price_fixed_hours": 49.9,
"price_additional_hours": 49.9,
"name_additional_hours": "string"
},
"log_book_entry_content_type": "string",
"created": "2026-10-15T09:30:00+02:00",
"updated": "2026-10-15T09:30:00+02:00",
"deleted": true,
"unified_category": {
"id": 42,
"name": "Beispiel",
"address_street": "Jakobistr. 39",
"address_city": "Hannover",
"address_zip": "30163",
"address_country": "DE",
"address_full_country": "DE",
"main_phone": "+49 511 123456",
"main_email": "lena.hartmann@example.org",
"image_url": "https://vynst.de"
}
}
]SelfSignUpLogInviteCode neu anlegen
POST/api/cp/signup/code
Request-Body application/json
dataSelfSignUpLogInviteCodeFelder anzeigen (10)
idintegerPrimärschlüssel des Einladungscodes. Interne ID.
tokenstringToken des Einladungscodes.
productPredefinedBillingItem3Abrechnungsposition, für die der Einladungscode gilt.
log_book_entry_content_typestringInhaltstyp des Logbuch-Eintrags, der durch den Einladungscode erstellt wird.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
namestringName der Einheit.
unified_categoryUnifiedCategory4image_urlstringURL des Bildes des Datensatzes.
Antworten
200SelfSignUpLogInviteCode neu anlegenSelfSignUpLogInviteCode
Felder anzeigen (10)
idintegerPrimärschlüssel des Einladungscodes. Interne ID.
tokenstringToken des Einladungscodes.
productPredefinedBillingItem3Abrechnungsposition, für die der Einladungscode gilt.
Felder anzeigen (81)
idintegerPrimärschlüssel der zugeordneten Abrechnungsposition. Interne ID.
namestringPflichtName der Abrechnungsposition.
descriptionstringPflichtBeschreibung des Abrechnungspostens, die dem Kunden angezeigt wird.
internal_descriptionstringInterne Beschreibung der Abrechnungsposition, wird dem Kunden nicht angezeigt.
fixed_hoursnumber (float)Feste Anzahl abgerechneter Stunden.
fixed_pricenumber (float)Fester abgerechneter Preis.
fixed_price_base_unitnumber (float)Basiseinheit für den Festpreis.
price_fixed_hoursnumber (float)Preis für die Pauschalstunden.
price_additional_hoursnumber (float)Preis für jede weitere Stunde.
name_additional_hoursstringName des Zusatzstunden-Postens.
description_additional_hoursstringBeschreibung des Zusatzstundenpostens.
time_billed_on_ticket_closebooleanOb die Zeit beim Schließen des Tickets abgerechnet wird.
billing_typeBillingItemTypeTyp der Abrechnungsposition.
buying_pricenumber (float)Einkaufspreis der Position.
recurrenceCRMRecurrenceWiederholung, der die Abrechnungsposition folgt.
deletedbooleanOb die Abrechnungsposition gelöscht ist.
condition_date_afterstring (date-time)Der Posten gilt nur für Termine nach diesem Datum.
condition_date_beforestring (date-time)Der Posten gilt nur für Termine vor diesem Datum.
condition_country_codestringLändercode, für den der Posten gilt.
condition_zip_code_fromstringBeginn des PLZ-Bereichs, für den die Position gilt.
condition_zip_code_tostringEnde des PLZ-Bereichs, auf den der Posten zutrifft.
condition_time_after_hourintegerDer Posten gilt nur ab dieser Tagesstunde.
condition_max_lengthintegerMaximale Länge, für die der Eintrag gilt.
condition_time_before_hourintegerDer Posten gilt nur bis zu dieser Tagesstunde.
condition_sub_access_tagAccessTagZugriffs-Tag, das ein Abonnement haben muss, damit der Eintrag gilt.
condition_show_despite_missing_access_tagbooleanOb die Position auch dann angezeigt wird, wenn das Zugriffs-Tag fehlt.
condition_sub_free_logicstringFreie Bedingungslogik für das Abo.
fixed_price_logicstringFreie Logik, die den Festpreis berechnet.
sub_self_service_addbooleanOb Mitglieder das Abonnement selbst hinzufügen können.
sub_self_service_deletebooleanOb Mitglieder das Abonnement selbst kündigen können.
sub_self_service_add_fixed_pricenumber (float)Fester Preis, der berechnet wird, wenn Mitglieder das Abo selbst hinzufügen.
sub_self_service_delete_fixed_pricenumber (float)Fester Preis, der berechnet wird, wenn Mitglieder das Abo selbst kündigen.
sub_pre_paidbooleanOb das Abonnement im Voraus bezahlt wird.
sub_only_billed_after_startbooleanOb das Abonnement erst nach seinem Beginn abgerechnet wird.
sub_people_age_group_oneintegerObere Altersgrenze der Altersgruppe eins.
sub_people_age_group_one_discountintegerRabatt in Prozent für Altersgruppe eins.
sub_people_age_group_one_freeintegerAnzahl der freien Plätze für Altersgruppe eins.
sub_people_age_group_twointegerObere Altersgrenze der Altersgruppe zwei.
sub_people_age_group_two_discountintegerRabatt in Prozent für Altersgruppe zwei.
sub_people_age_group_two_freeintegerAnzahl der freien Plätze für Altersgruppe zwei.
sub_people_age_group_threeintegerObere Altersgrenze der Altersgruppe drei.
sub_people_age_group_three_discountintegerRabatt in Prozent für Altersgruppe drei.
sub_people_age_group_three_freeintegerAnzahl der freien Plätze für Altersgruppe drei.
sub_people_age_group_fourintegerObere Altersgrenze der Altersgruppe vier.
sub_people_age_group_four_discountintegerRabatt in Prozent für Altersgruppe vier.
sub_people_age_group_four_freeintegerAnzahl der freien Plätze für Altersgruppe vier.
price_is_bruttobooleanOb die Preise Bruttopreise inklusive Steuer sind.
skustringArtikelnummer (Stock Keeping Unit)
barcodestringBarcode (ISBN, UPC, GTIN usw.)
companyCRMCompany40Unternehmen, zu dem der Abrechnungsposten gehört.
parentPredefinedBillingItem3Übergeordneter Abrechnungsposten, zum Beispiel für Varianten.
is_preferredbooleanDer Posten ist bevorzugt und wird zuerst angezeigt.
is_defaultbooleanDer Posten ist der Standard für seinen Typ.
is_discountbooleanDer Posten ist ein Rabatt.
is_freebooleanDer Posten ist kostenfrei.
is_passivebooleanDer Posten ist passiv und kann nicht mehr ausgewählt werden.
is_globalbooleanDer Posten ist für alle Unternehmen verfügbar.
inventory_countintegerBestand an Stück, sofern der Gegenstand ein Produkt ist.
stock_itembooleanDies ist ein Kennzeichen für Artikel, die jederzeit bestellt werden können
producer_guarantee_yearsnumber (float)Herstellergarantie in Jahren (ganze Jahre oder ,5-Schritte, siehe ProductGuaranteeYears). Grundlage fuer das EU GARAN Label (nur bei Garantie > 2 Jahre zulaessig).
producer_brandstringHersteller / Marke, die die Haltbarkeitsgarantie gibt - editierbares Feld "Brand/Trademark" des EU GARAN Labels.
energy_label_attachmentAttachment10Energielabel (EU-Energieverbrauchskennzeichnung) als Bild/PDF für Shop, Warenkorb und E-Mail. EU-Energielabel als Bild/PDF dieses Produkts.
garan_label_attachmentAttachment10Grosses EU GARAN Label (DVO 2025/1960): kostenlose Haltbarkeitsgarantie des Herstellers von mehr als zwei Jahren, mit Jahren, Marke und Modell.
garan_label_pictogram_attachmentAttachment10„Nested label“ / Piktogramm des EU-GARAN-Labels: zeigt nur die Jahre, beim Klick/Hover muss das große Label (garanLabelAttachment) erscheinen. EU-GARAN-„nested label“-Piktogramm, das nur die Jahre zeigt; verlinkt auf das vollständige Label online.
public_categorystringKategorie des öffentlich angezeigten Postens.
condition_booking_content_typeBookingContentType11Eintrag gilt nur für Buchungen mit diesem Inhaltstyp (z. B. Flugtyp). Null = alle Inhaltstypen.
usage_time_baseintegerZeitpaar des Abschnitts für die Nutzungsabrechnung: BaseBookingRealUsage::BILLING_TYPE_BLOCK_TIME oder BILLING_TYPE_FLIGHT_TIME. Null = billingType des Nutzungsdatensatzes übernehmen.
base_locationBaseLocation15Standort, zu dem diese Gebühr gehört (z. B. Flughafen-Lande-/Startgebühr), Kategorie CATEGORY_LOCATION
condition_day_of_week_maskintegerWochentags-Bitmaske (Mo=1 ... So=64, siehe DayOfWeekBitmaskHelper). Null = jeden Tag.
condition_first_usage_onlybooleanDie Gebühr wird nur einmal je Nutzungssatz angewendet (erster passender Abschnitt, Menge 1)
budget_grant_countintegerAnzahl der Veranstaltungsanmeldungen, die dieses Produkt beim Kauf gewährt (null = kein Kontingent)
budget_create_oncebooleanWenn true, wird das Budget nur einmal pro Kombination aus Person und Produkt angelegt. Bei wiederkehrenden Abonnements: monatliche Zahlung, aber jährliches Budget.
ticket_quotaintegerTicketverkauf (BaseEvent::isTicketSalesEnabled): Kontingent dieser Ticketart (Event-Preis). Null = nur das Teilnehmerlimit der Veranstaltung zählt.
ticket_sale_startstring (date-time)Ticketverkauf: Verkaufsstart dieser Ticketart (z. B. Frühbucher ab), null = sofort.
ticket_sale_endstring (date-time)Ticketverkauf: Verkaufsende dieser Ticketart (z. B. Frühbucher bis), null = bis zum Anmeldeschluss.
ticket_seat_zonestringTicketverkauf mit Sitzplan: Diese Ticketart gilt nur für Plätze dieser Preiszone (BaseLocationPlanItem::seatZone), null = für jeden Platz.
cancellation_term_unitstringZulässige Kündigungsfristen für dieses Abonnement-Produkt. Null / leer = Standard des Vereins aus den Einstellungen übernehmen. Siehe CancellationTermCalculator::TERM_UNITS.
cancellation_term_datesstringKommagetrennte Liste fester Kündigungstermine im Format TT.MM, z. B. "31.03,30.06,30.09,31.12". Wird nur verwendet, wenn cancellationTermUnit CUSTOM ist.
cancellation_notice_valueintegerNumerischer Wert der Kündigungsfrist vor dem Kündigungstermin. Null = von den Einstellungen übernehmen.
cancellation_notice_unitstringEinheit der Frist: DAYS, WEEKS oder MONTHS. Null = aus den Einstellungen übernehmen.
- … 7 weitere Felder
log_book_entry_content_typestringInhaltstyp des Logbuch-Eintrags, der durch den Einladungscode erstellt wird.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
namestringName der Einheit.
unified_categoryUnifiedCategory4Felder anzeigen (32)
idintegerPrimärschlüssel der einheitlichen Kategorie. Interne ID.
category_typestringArt der Kategorie, zum Beispiel Kurs oder Mitgliedschaft.
childrenarray<UnifiedCategory4>Untergeordnete Kategorien.
parentUnifiedCategory4Übergeordnete Kategorie.
view_orderintegerSortierreihenfolge der Kategorie in Listen.
is_publicbooleanDie Kategorie wird öffentlich angezeigt.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
namestringName der Einheit.
addressstringAdresse als Text.
address_streetstringStraße der Adresse.
address_house_numberstringHausnummer der Adresse.
address_street_levelstringStraße und Hausnummer der Adresse.
address_costringCare-of-Zeile der Adresse.
address_citystringOrt der Adresse.
address_zipstringPostleitzahl der Adresse.
address_admin_level1stringErste Verwaltungsebene der Adresse, z. B. das Bundesland.
address_countrystringLändercode der Adresse.
address_full_countrystringVollständiger Name des Landes der Adresse.
address_geo_latstringBreitengrad der Adresse.
address_geo_lngstringLängengrad der Adresse.
address_external_provider_idstringFeld zur Speicherung der externen Anbieter-ID der Adresse, z. B. Google-Maps-PlaceID wie google:ChIJVcKw5r90sEcRhdjNq6NItqE
main_phonestringHaupttelefonnummer.
main_faxstringHaupt-Faxnummer.
main_emailstringHaupt-E-Mail-Adresse.
websitestringWebsite-Adresse.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
search_stringstringText, unter dem die Entität gesucht werden kann.
short_identifierstringKurzkennung der Entität.
slug_identifierstringSlug, der in URLs der Entität verwendet wird.
image_urlstringURL des Bildes des Datensatzes.
is_ui_filterbooleanDiese Eigenschaft markiert eine Entität als Filter für das Frontend
image_urlstringURL des Bildes des Datensatzes.
curl --request POST \
--url https://eure-instanz.iw-erp.de/api/cp/signup/code \
--header 'content-type: application/json' \
--header 'x-iw-jwt-token: <TOKEN>' \
--data '
{
"data": {
"id": 42,
"name": "Beispiel",
"image_url": "https://vynst.de",
"token": "string",
"product": {
"name": "Beispiel",
"description": "Text",
"id": 42,
"internal_description": "Text",
"fixed_hours": 1.5,
"fixed_price": 49.9
},
"log_book_entry_content_type": "string"
}
}
'const options = {
method: 'POST',
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: JSON.stringify({
data: {
id: 42,
name: 'Beispiel',
image_url: 'https://vynst.de',
token: 'string',
product: {
name: 'Beispiel',
description: 'Text',
id: 42,
internal_description: 'Text',
fixed_hours: 1.5,
fixed_price: 49.9
},
log_book_entry_content_type: 'string'
}
})
};
fetch('https://eure-instanz.iw-erp.de/api/cp/signup/code', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/cp/signup/code"
payload = { "data": {
"id": 42,
"name": "Beispiel",
"image_url": "https://vynst.de",
"token": "string",
"product": {
"name": "Beispiel",
"description": "Text",
"id": 42,
"internal_description": "Text",
"fixed_hours": 1.5,
"fixed_price": 49.9
},
"log_book_entry_content_type": "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://eure-instanz.iw-erp.de/api/cp/signup/code', [
'body' => '{"data":{"id":42,"name":"Beispiel","image_url":"https://vynst.de","token":"string","product":{"name":"Beispiel","description":"Text","id":42,"internal_description":"Text","fixed_hours":1.5,"fixed_price":49.9},"log_book_entry_content_type":"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://eure-instanz.iw-erp.de/api/cp/signup/code"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
Content = new StringContent("{\"data\":{\"id\":42,\"name\":\"Beispiel\",\"image_url\":\"https://vynst.de\",\"token\":\"string\",\"product\":{\"name\":\"Beispiel\",\"description\":\"Text\",\"id\":42,\"internal_description\":\"Text\",\"fixed_hours\":1.5,\"fixed_price\":49.9},\"log_book_entry_content_type\":\"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,\"name\":\"Beispiel\",\"image_url\":\"https://vynst.de\",\"token\":\"string\",\"product\":{\"name\":\"Beispiel\",\"description\":\"Text\",\"id\":42,\"internal_description\":\"Text\",\"fixed_hours\":1.5,\"fixed_price\":49.9},\"log_book_entry_content_type\":\"string\"}}");
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/cp/signup/code")
.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://eure-instanz.iw-erp.de/api/cp/signup/code"
payload := strings.NewReader("{\"data\":{\"id\":42,\"name\":\"Beispiel\",\"image_url\":\"https://vynst.de\",\"token\":\"string\",\"product\":{\"name\":\"Beispiel\",\"description\":\"Text\",\"id\":42,\"internal_description\":\"Text\",\"fixed_hours\":1.5,\"fixed_price\":49.9},\"log_book_entry_content_type\":\"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 mit dem Package iw_erp_api
import 'package:iw_erp_api/clients/self_sign_up_invite_code_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
import 'package:iw_erp_api/model/self_sign_up_invite_code.dart';
IwApiState().host = 'eure-instanz.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await SelfSignUpInviteCodeController.post(SelfSignUpInviteCode.fromJson({
"id": 42,
"name": "Beispiel",
"image_url": "https://vynst.de",
"token": "string",
"product": {
"name": "Beispiel",
"description": "Text",
"id": 42,
"internal_description": "Text",
"fixed_hours": 1.5,
"fixed_price": 49.9
},
"log_book_entry_content_type": "string"
}));
if (result.success) {
print(result.data);
}{
"id": 42,
"name": "Beispiel",
"image_url": "https://vynst.de",
"token": "string",
"product": {
"name": "Beispiel",
"description": "Text",
"id": 42,
"internal_description": "Text",
"fixed_hours": 1.5,
"fixed_price": 49.9,
"fixed_price_base_unit": 49.9,
"price_fixed_hours": 49.9,
"price_additional_hours": 49.9,
"name_additional_hours": "string"
},
"log_book_entry_content_type": "string",
"created": "2026-10-15T09:30:00+02:00",
"updated": "2026-10-15T09:30:00+02:00",
"deleted": true,
"unified_category": {
"id": 42,
"name": "Beispiel",
"address_street": "Jakobistr. 39",
"address_city": "Hannover",
"address_zip": "30163",
"address_country": "DE",
"address_full_country": "DE",
"main_phone": "+49 511 123456",
"main_email": "lena.hartmann@example.org",
"image_url": "https://vynst.de"
}
}Liefert einen einzelnen SelfSignUpLogInviteCode-Eintrag.
GET/api/cp/signup/code/{identifier}
Pfad-Parameter
identifierPflichtstring |
Antworten
200Gibt ein einzelnes SelfSignUpLogInviteCode-Objekt zurück.SelfSignUpLogInviteCode
Felder anzeigen (10)
idintegerPrimärschlüssel des Einladungscodes. Interne ID.
tokenstringToken des Einladungscodes.
productPredefinedBillingItem3Abrechnungsposition, für die der Einladungscode gilt.
Felder anzeigen (81)
idintegerPrimärschlüssel der zugeordneten Abrechnungsposition. Interne ID.
namestringPflichtName der Abrechnungsposition.
descriptionstringPflichtBeschreibung des Abrechnungspostens, die dem Kunden angezeigt wird.
internal_descriptionstringInterne Beschreibung der Abrechnungsposition, wird dem Kunden nicht angezeigt.
fixed_hoursnumber (float)Feste Anzahl abgerechneter Stunden.
fixed_pricenumber (float)Fester abgerechneter Preis.
fixed_price_base_unitnumber (float)Basiseinheit für den Festpreis.
price_fixed_hoursnumber (float)Preis für die Pauschalstunden.
price_additional_hoursnumber (float)Preis für jede weitere Stunde.
name_additional_hoursstringName des Zusatzstunden-Postens.
description_additional_hoursstringBeschreibung des Zusatzstundenpostens.
time_billed_on_ticket_closebooleanOb die Zeit beim Schließen des Tickets abgerechnet wird.
billing_typeBillingItemTypeTyp der Abrechnungsposition.
buying_pricenumber (float)Einkaufspreis der Position.
recurrenceCRMRecurrenceWiederholung, der die Abrechnungsposition folgt.
deletedbooleanOb die Abrechnungsposition gelöscht ist.
condition_date_afterstring (date-time)Der Posten gilt nur für Termine nach diesem Datum.
condition_date_beforestring (date-time)Der Posten gilt nur für Termine vor diesem Datum.
condition_country_codestringLändercode, für den der Posten gilt.
condition_zip_code_fromstringBeginn des PLZ-Bereichs, für den die Position gilt.
condition_zip_code_tostringEnde des PLZ-Bereichs, auf den der Posten zutrifft.
condition_time_after_hourintegerDer Posten gilt nur ab dieser Tagesstunde.
condition_max_lengthintegerMaximale Länge, für die der Eintrag gilt.
condition_time_before_hourintegerDer Posten gilt nur bis zu dieser Tagesstunde.
condition_sub_access_tagAccessTagZugriffs-Tag, das ein Abonnement haben muss, damit der Eintrag gilt.
condition_show_despite_missing_access_tagbooleanOb die Position auch dann angezeigt wird, wenn das Zugriffs-Tag fehlt.
condition_sub_free_logicstringFreie Bedingungslogik für das Abo.
fixed_price_logicstringFreie Logik, die den Festpreis berechnet.
sub_self_service_addbooleanOb Mitglieder das Abonnement selbst hinzufügen können.
sub_self_service_deletebooleanOb Mitglieder das Abonnement selbst kündigen können.
sub_self_service_add_fixed_pricenumber (float)Fester Preis, der berechnet wird, wenn Mitglieder das Abo selbst hinzufügen.
sub_self_service_delete_fixed_pricenumber (float)Fester Preis, der berechnet wird, wenn Mitglieder das Abo selbst kündigen.
sub_pre_paidbooleanOb das Abonnement im Voraus bezahlt wird.
sub_only_billed_after_startbooleanOb das Abonnement erst nach seinem Beginn abgerechnet wird.
sub_people_age_group_oneintegerObere Altersgrenze der Altersgruppe eins.
sub_people_age_group_one_discountintegerRabatt in Prozent für Altersgruppe eins.
sub_people_age_group_one_freeintegerAnzahl der freien Plätze für Altersgruppe eins.
sub_people_age_group_twointegerObere Altersgrenze der Altersgruppe zwei.
sub_people_age_group_two_discountintegerRabatt in Prozent für Altersgruppe zwei.
sub_people_age_group_two_freeintegerAnzahl der freien Plätze für Altersgruppe zwei.
sub_people_age_group_threeintegerObere Altersgrenze der Altersgruppe drei.
sub_people_age_group_three_discountintegerRabatt in Prozent für Altersgruppe drei.
sub_people_age_group_three_freeintegerAnzahl der freien Plätze für Altersgruppe drei.
sub_people_age_group_fourintegerObere Altersgrenze der Altersgruppe vier.
sub_people_age_group_four_discountintegerRabatt in Prozent für Altersgruppe vier.
sub_people_age_group_four_freeintegerAnzahl der freien Plätze für Altersgruppe vier.
price_is_bruttobooleanOb die Preise Bruttopreise inklusive Steuer sind.
skustringArtikelnummer (Stock Keeping Unit)
barcodestringBarcode (ISBN, UPC, GTIN usw.)
companyCRMCompany40Unternehmen, zu dem der Abrechnungsposten gehört.
parentPredefinedBillingItem3Übergeordneter Abrechnungsposten, zum Beispiel für Varianten.
is_preferredbooleanDer Posten ist bevorzugt und wird zuerst angezeigt.
is_defaultbooleanDer Posten ist der Standard für seinen Typ.
is_discountbooleanDer Posten ist ein Rabatt.
is_freebooleanDer Posten ist kostenfrei.
is_passivebooleanDer Posten ist passiv und kann nicht mehr ausgewählt werden.
is_globalbooleanDer Posten ist für alle Unternehmen verfügbar.
inventory_countintegerBestand an Stück, sofern der Gegenstand ein Produkt ist.
stock_itembooleanDies ist ein Kennzeichen für Artikel, die jederzeit bestellt werden können
producer_guarantee_yearsnumber (float)Herstellergarantie in Jahren (ganze Jahre oder ,5-Schritte, siehe ProductGuaranteeYears). Grundlage fuer das EU GARAN Label (nur bei Garantie > 2 Jahre zulaessig).
producer_brandstringHersteller / Marke, die die Haltbarkeitsgarantie gibt - editierbares Feld "Brand/Trademark" des EU GARAN Labels.
energy_label_attachmentAttachment10Energielabel (EU-Energieverbrauchskennzeichnung) als Bild/PDF für Shop, Warenkorb und E-Mail. EU-Energielabel als Bild/PDF dieses Produkts.
garan_label_attachmentAttachment10Grosses EU GARAN Label (DVO 2025/1960): kostenlose Haltbarkeitsgarantie des Herstellers von mehr als zwei Jahren, mit Jahren, Marke und Modell.
garan_label_pictogram_attachmentAttachment10„Nested label“ / Piktogramm des EU-GARAN-Labels: zeigt nur die Jahre, beim Klick/Hover muss das große Label (garanLabelAttachment) erscheinen. EU-GARAN-„nested label“-Piktogramm, das nur die Jahre zeigt; verlinkt auf das vollständige Label online.
public_categorystringKategorie des öffentlich angezeigten Postens.
condition_booking_content_typeBookingContentType11Eintrag gilt nur für Buchungen mit diesem Inhaltstyp (z. B. Flugtyp). Null = alle Inhaltstypen.
usage_time_baseintegerZeitpaar des Abschnitts für die Nutzungsabrechnung: BaseBookingRealUsage::BILLING_TYPE_BLOCK_TIME oder BILLING_TYPE_FLIGHT_TIME. Null = billingType des Nutzungsdatensatzes übernehmen.
base_locationBaseLocation15Standort, zu dem diese Gebühr gehört (z. B. Flughafen-Lande-/Startgebühr), Kategorie CATEGORY_LOCATION
condition_day_of_week_maskintegerWochentags-Bitmaske (Mo=1 ... So=64, siehe DayOfWeekBitmaskHelper). Null = jeden Tag.
condition_first_usage_onlybooleanDie Gebühr wird nur einmal je Nutzungssatz angewendet (erster passender Abschnitt, Menge 1)
budget_grant_countintegerAnzahl der Veranstaltungsanmeldungen, die dieses Produkt beim Kauf gewährt (null = kein Kontingent)
budget_create_oncebooleanWenn true, wird das Budget nur einmal pro Kombination aus Person und Produkt angelegt. Bei wiederkehrenden Abonnements: monatliche Zahlung, aber jährliches Budget.
ticket_quotaintegerTicketverkauf (BaseEvent::isTicketSalesEnabled): Kontingent dieser Ticketart (Event-Preis). Null = nur das Teilnehmerlimit der Veranstaltung zählt.
ticket_sale_startstring (date-time)Ticketverkauf: Verkaufsstart dieser Ticketart (z. B. Frühbucher ab), null = sofort.
ticket_sale_endstring (date-time)Ticketverkauf: Verkaufsende dieser Ticketart (z. B. Frühbucher bis), null = bis zum Anmeldeschluss.
ticket_seat_zonestringTicketverkauf mit Sitzplan: Diese Ticketart gilt nur für Plätze dieser Preiszone (BaseLocationPlanItem::seatZone), null = für jeden Platz.
cancellation_term_unitstringZulässige Kündigungsfristen für dieses Abonnement-Produkt. Null / leer = Standard des Vereins aus den Einstellungen übernehmen. Siehe CancellationTermCalculator::TERM_UNITS.
cancellation_term_datesstringKommagetrennte Liste fester Kündigungstermine im Format TT.MM, z. B. "31.03,30.06,30.09,31.12". Wird nur verwendet, wenn cancellationTermUnit CUSTOM ist.
cancellation_notice_valueintegerNumerischer Wert der Kündigungsfrist vor dem Kündigungstermin. Null = von den Einstellungen übernehmen.
cancellation_notice_unitstringEinheit der Frist: DAYS, WEEKS oder MONTHS. Null = aus den Einstellungen übernehmen.
- … 7 weitere Felder
log_book_entry_content_typestringInhaltstyp des Logbuch-Eintrags, der durch den Einladungscode erstellt wird.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
namestringName der Einheit.
unified_categoryUnifiedCategory4Felder anzeigen (32)
idintegerPrimärschlüssel der einheitlichen Kategorie. Interne ID.
category_typestringArt der Kategorie, zum Beispiel Kurs oder Mitgliedschaft.
childrenarray<UnifiedCategory4>Untergeordnete Kategorien.
parentUnifiedCategory4Übergeordnete Kategorie.
view_orderintegerSortierreihenfolge der Kategorie in Listen.
is_publicbooleanDie Kategorie wird öffentlich angezeigt.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
namestringName der Einheit.
addressstringAdresse als Text.
address_streetstringStraße der Adresse.
address_house_numberstringHausnummer der Adresse.
address_street_levelstringStraße und Hausnummer der Adresse.
address_costringCare-of-Zeile der Adresse.
address_citystringOrt der Adresse.
address_zipstringPostleitzahl der Adresse.
address_admin_level1stringErste Verwaltungsebene der Adresse, z. B. das Bundesland.
address_countrystringLändercode der Adresse.
address_full_countrystringVollständiger Name des Landes der Adresse.
address_geo_latstringBreitengrad der Adresse.
address_geo_lngstringLängengrad der Adresse.
address_external_provider_idstringFeld zur Speicherung der externen Anbieter-ID der Adresse, z. B. Google-Maps-PlaceID wie google:ChIJVcKw5r90sEcRhdjNq6NItqE
main_phonestringHaupttelefonnummer.
main_faxstringHaupt-Faxnummer.
main_emailstringHaupt-E-Mail-Adresse.
websitestringWebsite-Adresse.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
search_stringstringText, unter dem die Entität gesucht werden kann.
short_identifierstringKurzkennung der Entität.
slug_identifierstringSlug, der in URLs der Entität verwendet wird.
image_urlstringURL des Bildes des Datensatzes.
is_ui_filterbooleanDiese Eigenschaft markiert eine Entität als Filter für das Frontend
image_urlstringURL des Bildes des Datensatzes.
curl --request GET \
--url https://eure-instanz.iw-erp.de/api/cp/signup/code/42 \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'GET', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/cp/signup/code/42', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/cp/signup/code/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://eure-instanz.iw-erp.de/api/cp/signup/code/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://eure-instanz.iw-erp.de/api/cp/signup/code/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://eure-instanz.iw-erp.de/api/cp/signup/code/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://eure-instanz.iw-erp.de/api/cp/signup/code/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 mit dem Package iw_erp_api
import 'package:iw_erp_api/clients/self_sign_up_invite_code_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
IwApiState().host = 'eure-instanz.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await SelfSignUpInviteCodeController.get('42');
if (result.success) {
print(result.data);
}{
"id": 42,
"name": "Beispiel",
"image_url": "https://vynst.de",
"token": "string",
"product": {
"name": "Beispiel",
"description": "Text",
"id": 42,
"internal_description": "Text",
"fixed_hours": 1.5,
"fixed_price": 49.9,
"fixed_price_base_unit": 49.9,
"price_fixed_hours": 49.9,
"price_additional_hours": 49.9,
"name_additional_hours": "string"
},
"log_book_entry_content_type": "string",
"created": "2026-10-15T09:30:00+02:00",
"updated": "2026-10-15T09:30:00+02:00",
"deleted": true,
"unified_category": {
"id": 42,
"name": "Beispiel",
"address_street": "Jakobistr. 39",
"address_city": "Hannover",
"address_zip": "30163",
"address_country": "DE",
"address_full_country": "DE",
"main_phone": "+49 511 123456",
"main_email": "lena.hartmann@example.org",
"image_url": "https://vynst.de"
}
}Aktualisiert einen vorhandenen SelfSignUpLogInviteCode-Eintrag.
PUT/api/cp/signup/code/{identifier}
Pfad-Parameter
identifierPflichtstring |
Request-Body application/json
dataSelfSignUpLogInviteCodeFelder anzeigen (10)
idintegerPrimärschlüssel des Einladungscodes. Interne ID.
tokenstringToken des Einladungscodes.
productPredefinedBillingItem3Abrechnungsposition, für die der Einladungscode gilt.
log_book_entry_content_typestringInhaltstyp des Logbuch-Eintrags, der durch den Einladungscode erstellt wird.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
namestringName der Einheit.
unified_categoryUnifiedCategory4image_urlstringURL des Bildes des Datensatzes.
Antworten
200SelfSignUpLogInviteCode einzeln aktualisierenSelfSignUpLogInviteCode
Felder anzeigen (10)
idintegerPrimärschlüssel des Einladungscodes. Interne ID.
tokenstringToken des Einladungscodes.
productPredefinedBillingItem3Abrechnungsposition, für die der Einladungscode gilt.
Felder anzeigen (81)
idintegerPrimärschlüssel der zugeordneten Abrechnungsposition. Interne ID.
namestringPflichtName der Abrechnungsposition.
descriptionstringPflichtBeschreibung des Abrechnungspostens, die dem Kunden angezeigt wird.
internal_descriptionstringInterne Beschreibung der Abrechnungsposition, wird dem Kunden nicht angezeigt.
fixed_hoursnumber (float)Feste Anzahl abgerechneter Stunden.
fixed_pricenumber (float)Fester abgerechneter Preis.
fixed_price_base_unitnumber (float)Basiseinheit für den Festpreis.
price_fixed_hoursnumber (float)Preis für die Pauschalstunden.
price_additional_hoursnumber (float)Preis für jede weitere Stunde.
name_additional_hoursstringName des Zusatzstunden-Postens.
description_additional_hoursstringBeschreibung des Zusatzstundenpostens.
time_billed_on_ticket_closebooleanOb die Zeit beim Schließen des Tickets abgerechnet wird.
billing_typeBillingItemTypeTyp der Abrechnungsposition.
buying_pricenumber (float)Einkaufspreis der Position.
recurrenceCRMRecurrenceWiederholung, der die Abrechnungsposition folgt.
deletedbooleanOb die Abrechnungsposition gelöscht ist.
condition_date_afterstring (date-time)Der Posten gilt nur für Termine nach diesem Datum.
condition_date_beforestring (date-time)Der Posten gilt nur für Termine vor diesem Datum.
condition_country_codestringLändercode, für den der Posten gilt.
condition_zip_code_fromstringBeginn des PLZ-Bereichs, für den die Position gilt.
condition_zip_code_tostringEnde des PLZ-Bereichs, auf den der Posten zutrifft.
condition_time_after_hourintegerDer Posten gilt nur ab dieser Tagesstunde.
condition_max_lengthintegerMaximale Länge, für die der Eintrag gilt.
condition_time_before_hourintegerDer Posten gilt nur bis zu dieser Tagesstunde.
condition_sub_access_tagAccessTagZugriffs-Tag, das ein Abonnement haben muss, damit der Eintrag gilt.
condition_show_despite_missing_access_tagbooleanOb die Position auch dann angezeigt wird, wenn das Zugriffs-Tag fehlt.
condition_sub_free_logicstringFreie Bedingungslogik für das Abo.
fixed_price_logicstringFreie Logik, die den Festpreis berechnet.
sub_self_service_addbooleanOb Mitglieder das Abonnement selbst hinzufügen können.
sub_self_service_deletebooleanOb Mitglieder das Abonnement selbst kündigen können.
sub_self_service_add_fixed_pricenumber (float)Fester Preis, der berechnet wird, wenn Mitglieder das Abo selbst hinzufügen.
sub_self_service_delete_fixed_pricenumber (float)Fester Preis, der berechnet wird, wenn Mitglieder das Abo selbst kündigen.
sub_pre_paidbooleanOb das Abonnement im Voraus bezahlt wird.
sub_only_billed_after_startbooleanOb das Abonnement erst nach seinem Beginn abgerechnet wird.
sub_people_age_group_oneintegerObere Altersgrenze der Altersgruppe eins.
sub_people_age_group_one_discountintegerRabatt in Prozent für Altersgruppe eins.
sub_people_age_group_one_freeintegerAnzahl der freien Plätze für Altersgruppe eins.
sub_people_age_group_twointegerObere Altersgrenze der Altersgruppe zwei.
sub_people_age_group_two_discountintegerRabatt in Prozent für Altersgruppe zwei.
sub_people_age_group_two_freeintegerAnzahl der freien Plätze für Altersgruppe zwei.
sub_people_age_group_threeintegerObere Altersgrenze der Altersgruppe drei.
sub_people_age_group_three_discountintegerRabatt in Prozent für Altersgruppe drei.
sub_people_age_group_three_freeintegerAnzahl der freien Plätze für Altersgruppe drei.
sub_people_age_group_fourintegerObere Altersgrenze der Altersgruppe vier.
sub_people_age_group_four_discountintegerRabatt in Prozent für Altersgruppe vier.
sub_people_age_group_four_freeintegerAnzahl der freien Plätze für Altersgruppe vier.
price_is_bruttobooleanOb die Preise Bruttopreise inklusive Steuer sind.
skustringArtikelnummer (Stock Keeping Unit)
barcodestringBarcode (ISBN, UPC, GTIN usw.)
companyCRMCompany40Unternehmen, zu dem der Abrechnungsposten gehört.
parentPredefinedBillingItem3Übergeordneter Abrechnungsposten, zum Beispiel für Varianten.
is_preferredbooleanDer Posten ist bevorzugt und wird zuerst angezeigt.
is_defaultbooleanDer Posten ist der Standard für seinen Typ.
is_discountbooleanDer Posten ist ein Rabatt.
is_freebooleanDer Posten ist kostenfrei.
is_passivebooleanDer Posten ist passiv und kann nicht mehr ausgewählt werden.
is_globalbooleanDer Posten ist für alle Unternehmen verfügbar.
inventory_countintegerBestand an Stück, sofern der Gegenstand ein Produkt ist.
stock_itembooleanDies ist ein Kennzeichen für Artikel, die jederzeit bestellt werden können
producer_guarantee_yearsnumber (float)Herstellergarantie in Jahren (ganze Jahre oder ,5-Schritte, siehe ProductGuaranteeYears). Grundlage fuer das EU GARAN Label (nur bei Garantie > 2 Jahre zulaessig).
producer_brandstringHersteller / Marke, die die Haltbarkeitsgarantie gibt - editierbares Feld "Brand/Trademark" des EU GARAN Labels.
energy_label_attachmentAttachment10Energielabel (EU-Energieverbrauchskennzeichnung) als Bild/PDF für Shop, Warenkorb und E-Mail. EU-Energielabel als Bild/PDF dieses Produkts.
garan_label_attachmentAttachment10Grosses EU GARAN Label (DVO 2025/1960): kostenlose Haltbarkeitsgarantie des Herstellers von mehr als zwei Jahren, mit Jahren, Marke und Modell.
garan_label_pictogram_attachmentAttachment10„Nested label“ / Piktogramm des EU-GARAN-Labels: zeigt nur die Jahre, beim Klick/Hover muss das große Label (garanLabelAttachment) erscheinen. EU-GARAN-„nested label“-Piktogramm, das nur die Jahre zeigt; verlinkt auf das vollständige Label online.
public_categorystringKategorie des öffentlich angezeigten Postens.
condition_booking_content_typeBookingContentType11Eintrag gilt nur für Buchungen mit diesem Inhaltstyp (z. B. Flugtyp). Null = alle Inhaltstypen.
usage_time_baseintegerZeitpaar des Abschnitts für die Nutzungsabrechnung: BaseBookingRealUsage::BILLING_TYPE_BLOCK_TIME oder BILLING_TYPE_FLIGHT_TIME. Null = billingType des Nutzungsdatensatzes übernehmen.
base_locationBaseLocation15Standort, zu dem diese Gebühr gehört (z. B. Flughafen-Lande-/Startgebühr), Kategorie CATEGORY_LOCATION
condition_day_of_week_maskintegerWochentags-Bitmaske (Mo=1 ... So=64, siehe DayOfWeekBitmaskHelper). Null = jeden Tag.
condition_first_usage_onlybooleanDie Gebühr wird nur einmal je Nutzungssatz angewendet (erster passender Abschnitt, Menge 1)
budget_grant_countintegerAnzahl der Veranstaltungsanmeldungen, die dieses Produkt beim Kauf gewährt (null = kein Kontingent)
budget_create_oncebooleanWenn true, wird das Budget nur einmal pro Kombination aus Person und Produkt angelegt. Bei wiederkehrenden Abonnements: monatliche Zahlung, aber jährliches Budget.
ticket_quotaintegerTicketverkauf (BaseEvent::isTicketSalesEnabled): Kontingent dieser Ticketart (Event-Preis). Null = nur das Teilnehmerlimit der Veranstaltung zählt.
ticket_sale_startstring (date-time)Ticketverkauf: Verkaufsstart dieser Ticketart (z. B. Frühbucher ab), null = sofort.
ticket_sale_endstring (date-time)Ticketverkauf: Verkaufsende dieser Ticketart (z. B. Frühbucher bis), null = bis zum Anmeldeschluss.
ticket_seat_zonestringTicketverkauf mit Sitzplan: Diese Ticketart gilt nur für Plätze dieser Preiszone (BaseLocationPlanItem::seatZone), null = für jeden Platz.
cancellation_term_unitstringZulässige Kündigungsfristen für dieses Abonnement-Produkt. Null / leer = Standard des Vereins aus den Einstellungen übernehmen. Siehe CancellationTermCalculator::TERM_UNITS.
cancellation_term_datesstringKommagetrennte Liste fester Kündigungstermine im Format TT.MM, z. B. "31.03,30.06,30.09,31.12". Wird nur verwendet, wenn cancellationTermUnit CUSTOM ist.
cancellation_notice_valueintegerNumerischer Wert der Kündigungsfrist vor dem Kündigungstermin. Null = von den Einstellungen übernehmen.
cancellation_notice_unitstringEinheit der Frist: DAYS, WEEKS oder MONTHS. Null = aus den Einstellungen übernehmen.
- … 7 weitere Felder
log_book_entry_content_typestringInhaltstyp des Logbuch-Eintrags, der durch den Einladungscode erstellt wird.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
namestringName der Einheit.
unified_categoryUnifiedCategory4Felder anzeigen (32)
idintegerPrimärschlüssel der einheitlichen Kategorie. Interne ID.
category_typestringArt der Kategorie, zum Beispiel Kurs oder Mitgliedschaft.
childrenarray<UnifiedCategory4>Untergeordnete Kategorien.
parentUnifiedCategory4Übergeordnete Kategorie.
view_orderintegerSortierreihenfolge der Kategorie in Listen.
is_publicbooleanDie Kategorie wird öffentlich angezeigt.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
namestringName der Einheit.
addressstringAdresse als Text.
address_streetstringStraße der Adresse.
address_house_numberstringHausnummer der Adresse.
address_street_levelstringStraße und Hausnummer der Adresse.
address_costringCare-of-Zeile der Adresse.
address_citystringOrt der Adresse.
address_zipstringPostleitzahl der Adresse.
address_admin_level1stringErste Verwaltungsebene der Adresse, z. B. das Bundesland.
address_countrystringLändercode der Adresse.
address_full_countrystringVollständiger Name des Landes der Adresse.
address_geo_latstringBreitengrad der Adresse.
address_geo_lngstringLängengrad der Adresse.
address_external_provider_idstringFeld zur Speicherung der externen Anbieter-ID der Adresse, z. B. Google-Maps-PlaceID wie google:ChIJVcKw5r90sEcRhdjNq6NItqE
main_phonestringHaupttelefonnummer.
main_faxstringHaupt-Faxnummer.
main_emailstringHaupt-E-Mail-Adresse.
websitestringWebsite-Adresse.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
search_stringstringText, unter dem die Entität gesucht werden kann.
short_identifierstringKurzkennung der Entität.
slug_identifierstringSlug, der in URLs der Entität verwendet wird.
image_urlstringURL des Bildes des Datensatzes.
is_ui_filterbooleanDiese Eigenschaft markiert eine Entität als Filter für das Frontend
image_urlstringURL des Bildes des Datensatzes.
curl --request PUT \
--url https://eure-instanz.iw-erp.de/api/cp/signup/code/42 \
--header 'content-type: application/json' \
--header 'x-iw-jwt-token: <TOKEN>' \
--data '
{
"data": {
"id": 42,
"name": "Beispiel",
"image_url": "https://vynst.de",
"token": "string",
"product": {
"name": "Beispiel",
"description": "Text",
"id": 42,
"internal_description": "Text",
"fixed_hours": 1.5,
"fixed_price": 49.9
},
"log_book_entry_content_type": "string"
}
}
'const options = {
method: 'PUT',
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: JSON.stringify({
data: {
id: 42,
name: 'Beispiel',
image_url: 'https://vynst.de',
token: 'string',
product: {
name: 'Beispiel',
description: 'Text',
id: 42,
internal_description: 'Text',
fixed_hours: 1.5,
fixed_price: 49.9
},
log_book_entry_content_type: 'string'
}
})
};
fetch('https://eure-instanz.iw-erp.de/api/cp/signup/code/42', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/cp/signup/code/42"
payload = { "data": {
"id": 42,
"name": "Beispiel",
"image_url": "https://vynst.de",
"token": "string",
"product": {
"name": "Beispiel",
"description": "Text",
"id": 42,
"internal_description": "Text",
"fixed_hours": 1.5,
"fixed_price": 49.9
},
"log_book_entry_content_type": "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://eure-instanz.iw-erp.de/api/cp/signup/code/42', [
'body' => '{"data":{"id":42,"name":"Beispiel","image_url":"https://vynst.de","token":"string","product":{"name":"Beispiel","description":"Text","id":42,"internal_description":"Text","fixed_hours":1.5,"fixed_price":49.9},"log_book_entry_content_type":"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://eure-instanz.iw-erp.de/api/cp/signup/code/42"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
Content = new StringContent("{\"data\":{\"id\":42,\"name\":\"Beispiel\",\"image_url\":\"https://vynst.de\",\"token\":\"string\",\"product\":{\"name\":\"Beispiel\",\"description\":\"Text\",\"id\":42,\"internal_description\":\"Text\",\"fixed_hours\":1.5,\"fixed_price\":49.9},\"log_book_entry_content_type\":\"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,\"name\":\"Beispiel\",\"image_url\":\"https://vynst.de\",\"token\":\"string\",\"product\":{\"name\":\"Beispiel\",\"description\":\"Text\",\"id\":42,\"internal_description\":\"Text\",\"fixed_hours\":1.5,\"fixed_price\":49.9},\"log_book_entry_content_type\":\"string\"}}");
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/cp/signup/code/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://eure-instanz.iw-erp.de/api/cp/signup/code/42"
payload := strings.NewReader("{\"data\":{\"id\":42,\"name\":\"Beispiel\",\"image_url\":\"https://vynst.de\",\"token\":\"string\",\"product\":{\"name\":\"Beispiel\",\"description\":\"Text\",\"id\":42,\"internal_description\":\"Text\",\"fixed_hours\":1.5,\"fixed_price\":49.9},\"log_book_entry_content_type\":\"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 mit dem Package iw_erp_api
import 'package:iw_erp_api/clients/self_sign_up_invite_code_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
import 'package:iw_erp_api/model/self_sign_up_invite_code.dart';
IwApiState().host = 'eure-instanz.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await SelfSignUpInviteCodeController.put(SelfSignUpInviteCode.fromJson({
"id": 42,
"name": "Beispiel",
"image_url": "https://vynst.de",
"token": "string",
"product": {
"name": "Beispiel",
"description": "Text",
"id": 42,
"internal_description": "Text",
"fixed_hours": 1.5,
"fixed_price": 49.9
},
"log_book_entry_content_type": "string"
}));
if (result.success) {
print(result.data);
}{
"id": 42,
"name": "Beispiel",
"image_url": "https://vynst.de",
"token": "string",
"product": {
"name": "Beispiel",
"description": "Text",
"id": 42,
"internal_description": "Text",
"fixed_hours": 1.5,
"fixed_price": 49.9,
"fixed_price_base_unit": 49.9,
"price_fixed_hours": 49.9,
"price_additional_hours": 49.9,
"name_additional_hours": "string"
},
"log_book_entry_content_type": "string",
"created": "2026-10-15T09:30:00+02:00",
"updated": "2026-10-15T09:30:00+02:00",
"deleted": true,
"unified_category": {
"id": 42,
"name": "Beispiel",
"address_street": "Jakobistr. 39",
"address_city": "Hannover",
"address_zip": "30163",
"address_country": "DE",
"address_full_country": "DE",
"main_phone": "+49 511 123456",
"main_email": "lena.hartmann@example.org",
"image_url": "https://vynst.de"
}
}Aktualisiert einen vorhandenen SelfSignUpLogInviteCode-Eintrag.
PATCH/api/cp/signup/code/{identifier}
Pfad-Parameter
identifierPflichtstring |
Request-Body application/json
dataSelfSignUpLogInviteCodeFelder anzeigen (10)
idintegerPrimärschlüssel des Einladungscodes. Interne ID.
tokenstringToken des Einladungscodes.
productPredefinedBillingItem3Abrechnungsposition, für die der Einladungscode gilt.
log_book_entry_content_typestringInhaltstyp des Logbuch-Eintrags, der durch den Einladungscode erstellt wird.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
namestringName der Einheit.
unified_categoryUnifiedCategory4image_urlstringURL des Bildes des Datensatzes.
Antworten
200SelfSignUpLogInviteCode einzeln aktualisierenSelfSignUpLogInviteCode
Felder anzeigen (10)
idintegerPrimärschlüssel des Einladungscodes. Interne ID.
tokenstringToken des Einladungscodes.
productPredefinedBillingItem3Abrechnungsposition, für die der Einladungscode gilt.
Felder anzeigen (81)
idintegerPrimärschlüssel der zugeordneten Abrechnungsposition. Interne ID.
namestringPflichtName der Abrechnungsposition.
descriptionstringPflichtBeschreibung des Abrechnungspostens, die dem Kunden angezeigt wird.
internal_descriptionstringInterne Beschreibung der Abrechnungsposition, wird dem Kunden nicht angezeigt.
fixed_hoursnumber (float)Feste Anzahl abgerechneter Stunden.
fixed_pricenumber (float)Fester abgerechneter Preis.
fixed_price_base_unitnumber (float)Basiseinheit für den Festpreis.
price_fixed_hoursnumber (float)Preis für die Pauschalstunden.
price_additional_hoursnumber (float)Preis für jede weitere Stunde.
name_additional_hoursstringName des Zusatzstunden-Postens.
description_additional_hoursstringBeschreibung des Zusatzstundenpostens.
time_billed_on_ticket_closebooleanOb die Zeit beim Schließen des Tickets abgerechnet wird.
billing_typeBillingItemTypeTyp der Abrechnungsposition.
buying_pricenumber (float)Einkaufspreis der Position.
recurrenceCRMRecurrenceWiederholung, der die Abrechnungsposition folgt.
deletedbooleanOb die Abrechnungsposition gelöscht ist.
condition_date_afterstring (date-time)Der Posten gilt nur für Termine nach diesem Datum.
condition_date_beforestring (date-time)Der Posten gilt nur für Termine vor diesem Datum.
condition_country_codestringLändercode, für den der Posten gilt.
condition_zip_code_fromstringBeginn des PLZ-Bereichs, für den die Position gilt.
condition_zip_code_tostringEnde des PLZ-Bereichs, auf den der Posten zutrifft.
condition_time_after_hourintegerDer Posten gilt nur ab dieser Tagesstunde.
condition_max_lengthintegerMaximale Länge, für die der Eintrag gilt.
condition_time_before_hourintegerDer Posten gilt nur bis zu dieser Tagesstunde.
condition_sub_access_tagAccessTagZugriffs-Tag, das ein Abonnement haben muss, damit der Eintrag gilt.
condition_show_despite_missing_access_tagbooleanOb die Position auch dann angezeigt wird, wenn das Zugriffs-Tag fehlt.
condition_sub_free_logicstringFreie Bedingungslogik für das Abo.
fixed_price_logicstringFreie Logik, die den Festpreis berechnet.
sub_self_service_addbooleanOb Mitglieder das Abonnement selbst hinzufügen können.
sub_self_service_deletebooleanOb Mitglieder das Abonnement selbst kündigen können.
sub_self_service_add_fixed_pricenumber (float)Fester Preis, der berechnet wird, wenn Mitglieder das Abo selbst hinzufügen.
sub_self_service_delete_fixed_pricenumber (float)Fester Preis, der berechnet wird, wenn Mitglieder das Abo selbst kündigen.
sub_pre_paidbooleanOb das Abonnement im Voraus bezahlt wird.
sub_only_billed_after_startbooleanOb das Abonnement erst nach seinem Beginn abgerechnet wird.
sub_people_age_group_oneintegerObere Altersgrenze der Altersgruppe eins.
sub_people_age_group_one_discountintegerRabatt in Prozent für Altersgruppe eins.
sub_people_age_group_one_freeintegerAnzahl der freien Plätze für Altersgruppe eins.
sub_people_age_group_twointegerObere Altersgrenze der Altersgruppe zwei.
sub_people_age_group_two_discountintegerRabatt in Prozent für Altersgruppe zwei.
sub_people_age_group_two_freeintegerAnzahl der freien Plätze für Altersgruppe zwei.
sub_people_age_group_threeintegerObere Altersgrenze der Altersgruppe drei.
sub_people_age_group_three_discountintegerRabatt in Prozent für Altersgruppe drei.
sub_people_age_group_three_freeintegerAnzahl der freien Plätze für Altersgruppe drei.
sub_people_age_group_fourintegerObere Altersgrenze der Altersgruppe vier.
sub_people_age_group_four_discountintegerRabatt in Prozent für Altersgruppe vier.
sub_people_age_group_four_freeintegerAnzahl der freien Plätze für Altersgruppe vier.
price_is_bruttobooleanOb die Preise Bruttopreise inklusive Steuer sind.
skustringArtikelnummer (Stock Keeping Unit)
barcodestringBarcode (ISBN, UPC, GTIN usw.)
companyCRMCompany40Unternehmen, zu dem der Abrechnungsposten gehört.
parentPredefinedBillingItem3Übergeordneter Abrechnungsposten, zum Beispiel für Varianten.
is_preferredbooleanDer Posten ist bevorzugt und wird zuerst angezeigt.
is_defaultbooleanDer Posten ist der Standard für seinen Typ.
is_discountbooleanDer Posten ist ein Rabatt.
is_freebooleanDer Posten ist kostenfrei.
is_passivebooleanDer Posten ist passiv und kann nicht mehr ausgewählt werden.
is_globalbooleanDer Posten ist für alle Unternehmen verfügbar.
inventory_countintegerBestand an Stück, sofern der Gegenstand ein Produkt ist.
stock_itembooleanDies ist ein Kennzeichen für Artikel, die jederzeit bestellt werden können
producer_guarantee_yearsnumber (float)Herstellergarantie in Jahren (ganze Jahre oder ,5-Schritte, siehe ProductGuaranteeYears). Grundlage fuer das EU GARAN Label (nur bei Garantie > 2 Jahre zulaessig).
producer_brandstringHersteller / Marke, die die Haltbarkeitsgarantie gibt - editierbares Feld "Brand/Trademark" des EU GARAN Labels.
energy_label_attachmentAttachment10Energielabel (EU-Energieverbrauchskennzeichnung) als Bild/PDF für Shop, Warenkorb und E-Mail. EU-Energielabel als Bild/PDF dieses Produkts.
garan_label_attachmentAttachment10Grosses EU GARAN Label (DVO 2025/1960): kostenlose Haltbarkeitsgarantie des Herstellers von mehr als zwei Jahren, mit Jahren, Marke und Modell.
garan_label_pictogram_attachmentAttachment10„Nested label“ / Piktogramm des EU-GARAN-Labels: zeigt nur die Jahre, beim Klick/Hover muss das große Label (garanLabelAttachment) erscheinen. EU-GARAN-„nested label“-Piktogramm, das nur die Jahre zeigt; verlinkt auf das vollständige Label online.
public_categorystringKategorie des öffentlich angezeigten Postens.
condition_booking_content_typeBookingContentType11Eintrag gilt nur für Buchungen mit diesem Inhaltstyp (z. B. Flugtyp). Null = alle Inhaltstypen.
usage_time_baseintegerZeitpaar des Abschnitts für die Nutzungsabrechnung: BaseBookingRealUsage::BILLING_TYPE_BLOCK_TIME oder BILLING_TYPE_FLIGHT_TIME. Null = billingType des Nutzungsdatensatzes übernehmen.
base_locationBaseLocation15Standort, zu dem diese Gebühr gehört (z. B. Flughafen-Lande-/Startgebühr), Kategorie CATEGORY_LOCATION
condition_day_of_week_maskintegerWochentags-Bitmaske (Mo=1 ... So=64, siehe DayOfWeekBitmaskHelper). Null = jeden Tag.
condition_first_usage_onlybooleanDie Gebühr wird nur einmal je Nutzungssatz angewendet (erster passender Abschnitt, Menge 1)
budget_grant_countintegerAnzahl der Veranstaltungsanmeldungen, die dieses Produkt beim Kauf gewährt (null = kein Kontingent)
budget_create_oncebooleanWenn true, wird das Budget nur einmal pro Kombination aus Person und Produkt angelegt. Bei wiederkehrenden Abonnements: monatliche Zahlung, aber jährliches Budget.
ticket_quotaintegerTicketverkauf (BaseEvent::isTicketSalesEnabled): Kontingent dieser Ticketart (Event-Preis). Null = nur das Teilnehmerlimit der Veranstaltung zählt.
ticket_sale_startstring (date-time)Ticketverkauf: Verkaufsstart dieser Ticketart (z. B. Frühbucher ab), null = sofort.
ticket_sale_endstring (date-time)Ticketverkauf: Verkaufsende dieser Ticketart (z. B. Frühbucher bis), null = bis zum Anmeldeschluss.
ticket_seat_zonestringTicketverkauf mit Sitzplan: Diese Ticketart gilt nur für Plätze dieser Preiszone (BaseLocationPlanItem::seatZone), null = für jeden Platz.
cancellation_term_unitstringZulässige Kündigungsfristen für dieses Abonnement-Produkt. Null / leer = Standard des Vereins aus den Einstellungen übernehmen. Siehe CancellationTermCalculator::TERM_UNITS.
cancellation_term_datesstringKommagetrennte Liste fester Kündigungstermine im Format TT.MM, z. B. "31.03,30.06,30.09,31.12". Wird nur verwendet, wenn cancellationTermUnit CUSTOM ist.
cancellation_notice_valueintegerNumerischer Wert der Kündigungsfrist vor dem Kündigungstermin. Null = von den Einstellungen übernehmen.
cancellation_notice_unitstringEinheit der Frist: DAYS, WEEKS oder MONTHS. Null = aus den Einstellungen übernehmen.
- … 7 weitere Felder
log_book_entry_content_typestringInhaltstyp des Logbuch-Eintrags, der durch den Einladungscode erstellt wird.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
namestringName der Einheit.
unified_categoryUnifiedCategory4Felder anzeigen (32)
idintegerPrimärschlüssel der einheitlichen Kategorie. Interne ID.
category_typestringArt der Kategorie, zum Beispiel Kurs oder Mitgliedschaft.
childrenarray<UnifiedCategory4>Untergeordnete Kategorien.
parentUnifiedCategory4Übergeordnete Kategorie.
view_orderintegerSortierreihenfolge der Kategorie in Listen.
is_publicbooleanDie Kategorie wird öffentlich angezeigt.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
namestringName der Einheit.
addressstringAdresse als Text.
address_streetstringStraße der Adresse.
address_house_numberstringHausnummer der Adresse.
address_street_levelstringStraße und Hausnummer der Adresse.
address_costringCare-of-Zeile der Adresse.
address_citystringOrt der Adresse.
address_zipstringPostleitzahl der Adresse.
address_admin_level1stringErste Verwaltungsebene der Adresse, z. B. das Bundesland.
address_countrystringLändercode der Adresse.
address_full_countrystringVollständiger Name des Landes der Adresse.
address_geo_latstringBreitengrad der Adresse.
address_geo_lngstringLängengrad der Adresse.
address_external_provider_idstringFeld zur Speicherung der externen Anbieter-ID der Adresse, z. B. Google-Maps-PlaceID wie google:ChIJVcKw5r90sEcRhdjNq6NItqE
main_phonestringHaupttelefonnummer.
main_faxstringHaupt-Faxnummer.
main_emailstringHaupt-E-Mail-Adresse.
websitestringWebsite-Adresse.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
search_stringstringText, unter dem die Entität gesucht werden kann.
short_identifierstringKurzkennung der Entität.
slug_identifierstringSlug, der in URLs der Entität verwendet wird.
image_urlstringURL des Bildes des Datensatzes.
is_ui_filterbooleanDiese Eigenschaft markiert eine Entität als Filter für das Frontend
image_urlstringURL des Bildes des Datensatzes.
curl --request PATCH \
--url https://eure-instanz.iw-erp.de/api/cp/signup/code/42 \
--header 'content-type: application/json' \
--header 'x-iw-jwt-token: <TOKEN>' \
--data '
{
"data": {
"id": 42,
"name": "Beispiel",
"image_url": "https://vynst.de",
"token": "string",
"product": {
"name": "Beispiel",
"description": "Text",
"id": 42,
"internal_description": "Text",
"fixed_hours": 1.5,
"fixed_price": 49.9
},
"log_book_entry_content_type": "string"
}
}
'const options = {
method: 'PATCH',
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: JSON.stringify({
data: {
id: 42,
name: 'Beispiel',
image_url: 'https://vynst.de',
token: 'string',
product: {
name: 'Beispiel',
description: 'Text',
id: 42,
internal_description: 'Text',
fixed_hours: 1.5,
fixed_price: 49.9
},
log_book_entry_content_type: 'string'
}
})
};
fetch('https://eure-instanz.iw-erp.de/api/cp/signup/code/42', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/cp/signup/code/42"
payload = { "data": {
"id": 42,
"name": "Beispiel",
"image_url": "https://vynst.de",
"token": "string",
"product": {
"name": "Beispiel",
"description": "Text",
"id": 42,
"internal_description": "Text",
"fixed_hours": 1.5,
"fixed_price": 49.9
},
"log_book_entry_content_type": "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://eure-instanz.iw-erp.de/api/cp/signup/code/42', [
'body' => '{"data":{"id":42,"name":"Beispiel","image_url":"https://vynst.de","token":"string","product":{"name":"Beispiel","description":"Text","id":42,"internal_description":"Text","fixed_hours":1.5,"fixed_price":49.9},"log_book_entry_content_type":"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://eure-instanz.iw-erp.de/api/cp/signup/code/42"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
Content = new StringContent("{\"data\":{\"id\":42,\"name\":\"Beispiel\",\"image_url\":\"https://vynst.de\",\"token\":\"string\",\"product\":{\"name\":\"Beispiel\",\"description\":\"Text\",\"id\":42,\"internal_description\":\"Text\",\"fixed_hours\":1.5,\"fixed_price\":49.9},\"log_book_entry_content_type\":\"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,\"name\":\"Beispiel\",\"image_url\":\"https://vynst.de\",\"token\":\"string\",\"product\":{\"name\":\"Beispiel\",\"description\":\"Text\",\"id\":42,\"internal_description\":\"Text\",\"fixed_hours\":1.5,\"fixed_price\":49.9},\"log_book_entry_content_type\":\"string\"}}");
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/cp/signup/code/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://eure-instanz.iw-erp.de/api/cp/signup/code/42"
payload := strings.NewReader("{\"data\":{\"id\":42,\"name\":\"Beispiel\",\"image_url\":\"https://vynst.de\",\"token\":\"string\",\"product\":{\"name\":\"Beispiel\",\"description\":\"Text\",\"id\":42,\"internal_description\":\"Text\",\"fixed_hours\":1.5,\"fixed_price\":49.9},\"log_book_entry_content_type\":\"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 mit package:http (kein Controller im Package iw_erp_api)
import 'dart:convert';
import 'package:http/http.dart' as http;
final response = await http.patch(
Uri.parse('https://eure-instanz.iw-erp.de/api/cp/signup/code/42'),
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: jsonEncode({
"data": {
"id": 42,
"name": "Beispiel",
"image_url": "https://vynst.de",
"token": "string",
"product": {
"name": "Beispiel",
"description": "Text",
"id": 42,
"internal_description": "Text",
"fixed_hours": 1.5,
"fixed_price": 49.9
},
"log_book_entry_content_type": "string"
}
}),
);
print(response.body);{
"id": 42,
"name": "Beispiel",
"image_url": "https://vynst.de",
"token": "string",
"product": {
"name": "Beispiel",
"description": "Text",
"id": 42,
"internal_description": "Text",
"fixed_hours": 1.5,
"fixed_price": 49.9,
"fixed_price_base_unit": 49.9,
"price_fixed_hours": 49.9,
"price_additional_hours": 49.9,
"name_additional_hours": "string"
},
"log_book_entry_content_type": "string",
"created": "2026-10-15T09:30:00+02:00",
"updated": "2026-10-15T09:30:00+02:00",
"deleted": true,
"unified_category": {
"id": 42,
"name": "Beispiel",
"address_street": "Jakobistr. 39",
"address_city": "Hannover",
"address_zip": "30163",
"address_country": "DE",
"address_full_country": "DE",
"main_phone": "+49 511 123456",
"main_email": "lena.hartmann@example.org",
"image_url": "https://vynst.de"
}
}