Skip to content
Developer

CRMPerson

CRM22 EndpointsCRM / CRMPerson

Returns a list of people

GET/api/crm/crmpeople

Query parameters

archivedbooleanDefault value: false
hasLoginUserboolean
subscribedNewsletterboolean
subscribedMagazineboolean
logBookStaffboolean
logBookStaff1boolean
logBookStaff2boolean
logBookMemberboolean
logBookTrainerboolean
logBookTrainer1boolean
logBookTrainer2boolean
logBookHeadOfDepartmentboolean
logBookSupervisoryBoardboolean
logBookBoardOfDirectorsboolean
logBookHonoraryMemberboolean
logBookClubCardOneboolean
logBookHealthRecoveredboolean
logBookHealthVaccinatedboolean
logBookHealthVaccinatedAdditionstring
logBookGoodConductboolean
logBookFirstAidboolean
logBookMeaslesVaccinationboolean
birthdaystring
formOfSalutationstring
specialSalutationstring
languagestring
positionstring
titlestring
genderstring
numberStringstring
manualNumberstring
numberstring
firstNamestring
lastNamestring
importOriginIdstring
startTimestring
endTimestring
createdstring
bitmaskLogBookContentTypestringThis is a bitmask value of the different log book content types
categorystring
confirmedNoAllergiesstring
knownAllergiesstring
allowPhotosstring
allowLeavingAlonestring
authorizedPickupstring
needsSupportstring
supportDescriptionstring
financialSupportstring
financialSupportNumberstring
municipalSupportstring
municipalSupportNumberstring
gradeLevelstring
schoolClassstring
linkingIdentifierstring
addressStreetstring
addressHouseNumberstring
addressStreetLevelstring
addressCostring
addressCitystring
addressZipstring
addressAdminLevel1string
addressCountrystring
addressFullCountrystring
addressGeoLatstring
addressGeoLngstring
addressExternalProviderIdstringfield to store the external provider id of the address. e.g. Google Maps PlaceID like google:ChIJVcKw5r90sEcRhdjNq6NItqE
aiChurnRiskScorestringKündigungsrisiko 0-100 aus der KI-Bewertung (MemberChurnRiskHelper); nur für das Team.
searchStringstringtext to search for in the list
orderFieldNamestringname of the order field
orderFieldSortstringsorting modeAllowed: DESCASC
pageintegerpage of the list
pageSizeintegernumber of entries for each page
withMaxPageNumberstringreturns the number of pages available as a header if this is set

Responses

200Returns a list of peoplearray<CRMPerson>

Show fields (23)
  • idinteger

    Primary key of the person. Internal ID.

  • first_namestring

    First name of the person.

  • last_namestring

    Last name of the person.

  • numberinteger

    Member or customer number of the person.

  • number_stringstring

    Member or customer number as text, including prefix.

  • genderstring

    Gender of the person.

  • titlestring

    Academic or other title of the person.

  • languagestring

    Preferred language of the person.

  • birthdaystring (date-time)

    Birthday of the person.

  • known_allergiesstring

    Known allergies of the person.

  • confirmed_no_allergiesboolean

    Guardian confirmed that there are no known allergies.

  • allow_photosboolean

    Photos of the person may be taken and published.

  • allow_leaving_aloneboolean

    The person may leave the event alone.

  • authorized_pickupstring

    Persons who are allowed to pick up the person.

  • needs_supportboolean

    The person needs support, for example for inclusion.

  • support_descriptionstring

    Description of the support the person needs.

  • grade_levelinteger

    School grade level of the person.

  • school_classstring

    School class of the person.

  • start_timestring (date-time)

    Start of the membership or activity.

  • end_timestring (date-time)

    End of the membership or activity.

  • nicknamestring

    Nickname of the person.

  • preferred_color_hexstring

    Preferred color of the person as hex value.

  • avatar_tokenstring

    Token of the avatar image.

Request
curl --request GET \
  --url https://your-instance.iw-erp.de/api/crm/crmpeople \
  --header 'x-iw-jwt-token: <TOKEN>'
Response 200 application/json
[
  {
    "id": 42,
    "first_name": "Lena",
    "last_name": "Hartmann",
    "title": "Beispiel",
    "language": "de",
    "support_description": "Text",
    "number": 1,
    "number_string": "string",
    "gender": "string",
    "birthday": "2026-10-15T09:30:00+02:00"
  }
]

Add a new person

POST/api/crm/crmpeople

Request body application/json

  • crmpersonCRMPerson3
    Show fields (21)
    • categoryCRMPersonCategory2

      Person category.

    • addressstring

      Address as text.

    • address_streetstring

      Street of the address.

    • address_house_numberstring

      House number of the address.

    • address_street_levelstring

      Street and house number of the address.

    • address_costring

      Care-of line of the address.

    • address_citystring

      City of the address.

    • address_zipstring

      Postal code of the address.

    • address_admin_level1string

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

    • address_countrystring

      Country code of the address.

    • address_full_countrystring

      Full name of the country of the address.

    • address_geo_latstring

      Latitude of the address.

    • address_geo_lngstring

      Longitude of the address.

    • address_external_provider_idstring

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

    • ucatsarray<UnifiedCategory11>

      Unified categories of the entity.

    • notestring

      This property is used to store a note for an entity

    • fixed_price_addon_onenumber (float)

      Price of the first fixed-price add-on.

    • fixed_price_addon_twonumber (float)

      Price of the second fixed-price add-on.

    • use_in_aiboolean

      This property is used to mark an entity for syncing with a rag.

    • only_personal_aiboolean

      This property is used to only include the data for personal AI.

    • created_fromstring

      This field is used to store the origin of the entity, such as 'import', 'ticket', or 'manual'. Mainly used for statistics and tracking purposes.

Responses

200Add a new personCRMPerson10

Show fields (81)
  • idinteger

    Primary key of the person. Internal ID.

  • first_namestring

    First name of the person.

  • last_namestring

    Last name of the person.

  • numberinteger

    Member or customer number of the person.

  • manual_numberinteger

    Number set manually instead of the automatic number.

  • number_stringstring

    Member or customer number as text, including prefix.

  • genderstring

    Gender of the person.

  • titlestring

    Academic or other title of the person.

  • positionstring

    Position or role of the person.

  • languagestring

    Preferred language of the person.

  • special_salutationstring

    Special salutation text for letters.

  • form_of_salutationstring

    Form of salutation, for example formal or informal.

  • birthdaystring (date-time)

    Birthday of the person.

  • known_allergiesstring

    Known allergies of the person.

  • confirmed_no_allergiesboolean

    Guardian confirmed that there are no known allergies.

  • allow_photosboolean

    Photos of the person may be taken and published.

  • allow_leaving_aloneboolean

    The person may leave the event alone.

  • authorized_pickupstring

    Persons who are allowed to pick up the person.

  • needs_supportboolean

    The person needs support, for example for inclusion.

  • support_descriptionstring

    Description of the support the person needs.

  • financial_supportboolean

    The person receives financial support.

  • financial_support_numberstring

    Number of the financial support.

  • municipal_supportboolean

    The person receives municipal support.

  • municipal_support_numberstring

    Number of the municipal support.

  • grade_levelinteger

    School grade level of the person.

  • school_classstring

    School class of the person.

  • start_timestring (date-time)

    Start of the membership or activity.

  • start_time_reasonstring

    Reason for the start.

  • end_timestring (date-time)

    End of the membership or activity.

  • end_time_reasonstring

    Reason for the end.

  • confirmed_gtc_timestring (date-time)

    Time the general terms and conditions were confirmed.

  • chatbot_opt_inboolean

    Einwilligung in die Nutzung des KI-Assistenten. Denormalisierter aktueller Stand - das pruefbare Protokoll steht in ChatbotConsent.

  • chatbot_opt_in_atstring (date-time)

    Time the person opted in to the chatbot.

  • chatbot_opt_in_text_versionstring

    Version des Einwilligungstextes, dem zugestimmt wurde. Weicht sie von der aktuellen Version ab, ist das Opt-in abgelaufen.

  • app_usage_statistics_opt_outboolean

    Widerspruch gegen die anonyme Nutzungsstatistik der Mitglieder-App. Die App liest ihn aus den StaticData und schickt dann nichts mehr; die gezaehlten Aufrufe selbst haben keinen Bezug zur Person.

  • crm_person_contact_dataarray<CRMPersonContactData>

    Contact data of the person, for example phone and e-mail.

    Show fields (6)
    • idinteger

      Primary key of the contact data entry. Internal ID.

    • namestring

      Name of the contact data entry.

    • valuestring

      Value of the contact data entry, e.g. a phone number or e-mail address.

    • generated_valuestring

      Value generated from the entered value.

    • contact_data_typeContactDataType

      Type of the contact data.

    • search_stringstring

      Text that the entity can be searched by.

  • archivedboolean

    Whether the person is archived.

  • subscribed_newsletterboolean

    Whether the person subscribed to the newsletter.

  • subscribed_magazineboolean

    Whether the person subscribed to the magazine.

  • printed_member_cardboolean

    Whether a member card has been printed for the person.

  • has_login_userboolean

    Whether the person has a login user.

  • profile_picture_urlstring

    URL of the profile picture of the person.

  • log_book_staffboolean

    Log book flag: staff.

  • log_book_staff1boolean

    Log book flag: staff, level 1.

  • log_book_staff2boolean

    Log book flag: staff, level 2.

  • log_book_memberboolean

    Log book flag: member.

  • log_book_trainerboolean

    Log book flag: trainer.

  • log_book_trainer1boolean

    Log book flag: trainer, level 1.

  • log_book_trainer2boolean

    Log book flag: trainer, level 2.

  • log_book_head_of_departmentboolean

    Log book flag: head of department.

  • log_book_supervisory_boardboolean

    Log book flag: supervisory board.

  • log_book_board_of_directorsboolean

    Log book flag: board of directors.

  • log_book_honorary_memberboolean

    Log book flag: honorary member.

  • log_book_club_card_oneboolean

    Log book flag: club card.

  • log_book_health_recoveredboolean

    Log book flag: recovered from illness.

  • log_book_health_vaccinatedboolean

    Log book flag: vaccinated.

  • log_book_health_vaccinated_additionstring

    Details of the vaccination.

  • log_book_good_conductboolean

    Log book flag: certificate of good conduct.

  • log_book_first_aidboolean

    Log book flag: first aid training.

  • log_book_measles_vaccinationboolean

    Log book flag: measles vaccination.

  • sync_lanistaboolean

    Whether the person is synchronized with Lanista.

  • categoryCRMPersonCategory

    Person category.

    Show fields (12)
    • idinteger

      Primary key of the person category. Internal ID.

    • namestring

      Name of the person category.

    • name_pluralstring

      Plural name of the person category.

    • descriptionstring

      Description of the person category.

    • deletedboolean

      The category is deleted.

    • is_publicboolean

      The category is shown publicly.

    • enabled_customer_create_newboolean

      Persons of this category may create new persons in the customer app.

    • customer_register_min_numberinteger

      Minimum number of persons that can be registered together.

    • customer_add_ignore_invite_codeboolean

      Persons can be added without an invite code.

    • customer_ui_allowed_ticket_typesstring

      Ticket types that customers may create in the customer app.

    • enabled_customer_ui_selectionboolean

      Customers may select the category in the customer app.

    • orderinteger

      Position of the entity in the order.

  • nicknamestring

    Nickname of the person.

  • preferred_color_hexstring

    Preferred color of the person as hex value.

  • avatar_tokenstring

    Token of the avatar image.

  • search_stringstring

    Text that the entity can be searched by.

  • addressstring

    Address as text.

  • address_streetstring

    Street of the address.

  • address_house_numberstring

    House number of the address.

  • address_street_levelstring

    Street and house number of the address.

  • address_costring

    Care-of line of the address.

  • address_citystring

    City of the address.

  • address_zipstring

    Postal code of the address.

  • address_admin_level1string

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

  • address_countrystring

    Country code of the address.

  • address_full_countrystring

    Full name of the country of the address.

  • address_geo_latstring

    Latitude of the address.

  • address_geo_lngstring

    Longitude of the address.

  • address_external_provider_idstring

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

  • createdstring (date-time)

    Point in time the entity was created.

  • … 2 more fields
Request
curl --request POST \
  --url https://your-instance.iw-erp.de/api/crm/crmpeople \
  --header 'content-type: application/json' \
  --header 'x-iw-jwt-token: <TOKEN>' \
  --data '
{
  "crmperson": {
    "address_street": "Jakobistr. 39",
    "address_city": "Hannover",
    "address_zip": "30163",
    "address_country": "DE",
    "address_full_country": "DE",
    "address": "string"
  }
}
'
Response 200 application/json
{
  "id": 42,
  "first_name": "Lena",
  "last_name": "Hartmann",
  "title": "Beispiel",
  "language": "de",
  "support_description": "Text",
  "profile_picture_url": "https://vynst.de",
  "address_street": "Jakobistr. 39",
  "address_city": "Hannover",
  "address_zip": "30163"
}

Return a single person with the given id

GET/api/crm/crmpeople/{id}

Path parameters

idrequiredstring

Responses

200Return a single person with the given idCRMPerson10

Show fields (81)
  • idinteger

    Primary key of the person. Internal ID.

  • first_namestring

    First name of the person.

  • last_namestring

    Last name of the person.

  • numberinteger

    Member or customer number of the person.

  • manual_numberinteger

    Number set manually instead of the automatic number.

  • number_stringstring

    Member or customer number as text, including prefix.

  • genderstring

    Gender of the person.

  • titlestring

    Academic or other title of the person.

  • positionstring

    Position or role of the person.

  • languagestring

    Preferred language of the person.

  • special_salutationstring

    Special salutation text for letters.

  • form_of_salutationstring

    Form of salutation, for example formal or informal.

  • birthdaystring (date-time)

    Birthday of the person.

  • known_allergiesstring

    Known allergies of the person.

  • confirmed_no_allergiesboolean

    Guardian confirmed that there are no known allergies.

  • allow_photosboolean

    Photos of the person may be taken and published.

  • allow_leaving_aloneboolean

    The person may leave the event alone.

  • authorized_pickupstring

    Persons who are allowed to pick up the person.

  • needs_supportboolean

    The person needs support, for example for inclusion.

  • support_descriptionstring

    Description of the support the person needs.

  • financial_supportboolean

    The person receives financial support.

  • financial_support_numberstring

    Number of the financial support.

  • municipal_supportboolean

    The person receives municipal support.

  • municipal_support_numberstring

    Number of the municipal support.

  • grade_levelinteger

    School grade level of the person.

  • school_classstring

    School class of the person.

  • start_timestring (date-time)

    Start of the membership or activity.

  • start_time_reasonstring

    Reason for the start.

  • end_timestring (date-time)

    End of the membership or activity.

  • end_time_reasonstring

    Reason for the end.

  • confirmed_gtc_timestring (date-time)

    Time the general terms and conditions were confirmed.

  • chatbot_opt_inboolean

    Einwilligung in die Nutzung des KI-Assistenten. Denormalisierter aktueller Stand - das pruefbare Protokoll steht in ChatbotConsent.

  • chatbot_opt_in_atstring (date-time)

    Time the person opted in to the chatbot.

  • chatbot_opt_in_text_versionstring

    Version des Einwilligungstextes, dem zugestimmt wurde. Weicht sie von der aktuellen Version ab, ist das Opt-in abgelaufen.

  • app_usage_statistics_opt_outboolean

    Widerspruch gegen die anonyme Nutzungsstatistik der Mitglieder-App. Die App liest ihn aus den StaticData und schickt dann nichts mehr; die gezaehlten Aufrufe selbst haben keinen Bezug zur Person.

  • crm_person_contact_dataarray<CRMPersonContactData>

    Contact data of the person, for example phone and e-mail.

    Show fields (6)
    • idinteger

      Primary key of the contact data entry. Internal ID.

    • namestring

      Name of the contact data entry.

    • valuestring

      Value of the contact data entry, e.g. a phone number or e-mail address.

    • generated_valuestring

      Value generated from the entered value.

    • contact_data_typeContactDataType

      Type of the contact data.

    • search_stringstring

      Text that the entity can be searched by.

  • archivedboolean

    Whether the person is archived.

  • subscribed_newsletterboolean

    Whether the person subscribed to the newsletter.

  • subscribed_magazineboolean

    Whether the person subscribed to the magazine.

  • printed_member_cardboolean

    Whether a member card has been printed for the person.

  • has_login_userboolean

    Whether the person has a login user.

  • profile_picture_urlstring

    URL of the profile picture of the person.

  • log_book_staffboolean

    Log book flag: staff.

  • log_book_staff1boolean

    Log book flag: staff, level 1.

  • log_book_staff2boolean

    Log book flag: staff, level 2.

  • log_book_memberboolean

    Log book flag: member.

  • log_book_trainerboolean

    Log book flag: trainer.

  • log_book_trainer1boolean

    Log book flag: trainer, level 1.

  • log_book_trainer2boolean

    Log book flag: trainer, level 2.

  • log_book_head_of_departmentboolean

    Log book flag: head of department.

  • log_book_supervisory_boardboolean

    Log book flag: supervisory board.

  • log_book_board_of_directorsboolean

    Log book flag: board of directors.

  • log_book_honorary_memberboolean

    Log book flag: honorary member.

  • log_book_club_card_oneboolean

    Log book flag: club card.

  • log_book_health_recoveredboolean

    Log book flag: recovered from illness.

  • log_book_health_vaccinatedboolean

    Log book flag: vaccinated.

  • log_book_health_vaccinated_additionstring

    Details of the vaccination.

  • log_book_good_conductboolean

    Log book flag: certificate of good conduct.

  • log_book_first_aidboolean

    Log book flag: first aid training.

  • log_book_measles_vaccinationboolean

    Log book flag: measles vaccination.

  • sync_lanistaboolean

    Whether the person is synchronized with Lanista.

  • categoryCRMPersonCategory

    Person category.

    Show fields (12)
    • idinteger

      Primary key of the person category. Internal ID.

    • namestring

      Name of the person category.

    • name_pluralstring

      Plural name of the person category.

    • descriptionstring

      Description of the person category.

    • deletedboolean

      The category is deleted.

    • is_publicboolean

      The category is shown publicly.

    • enabled_customer_create_newboolean

      Persons of this category may create new persons in the customer app.

    • customer_register_min_numberinteger

      Minimum number of persons that can be registered together.

    • customer_add_ignore_invite_codeboolean

      Persons can be added without an invite code.

    • customer_ui_allowed_ticket_typesstring

      Ticket types that customers may create in the customer app.

    • enabled_customer_ui_selectionboolean

      Customers may select the category in the customer app.

    • orderinteger

      Position of the entity in the order.

  • nicknamestring

    Nickname of the person.

  • preferred_color_hexstring

    Preferred color of the person as hex value.

  • avatar_tokenstring

    Token of the avatar image.

  • search_stringstring

    Text that the entity can be searched by.

  • addressstring

    Address as text.

  • address_streetstring

    Street of the address.

  • address_house_numberstring

    House number of the address.

  • address_street_levelstring

    Street and house number of the address.

  • address_costring

    Care-of line of the address.

  • address_citystring

    City of the address.

  • address_zipstring

    Postal code of the address.

  • address_admin_level1string

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

  • address_countrystring

    Country code of the address.

  • address_full_countrystring

    Full name of the country of the address.

  • address_geo_latstring

    Latitude of the address.

  • address_geo_lngstring

    Longitude of the address.

  • address_external_provider_idstring

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

  • createdstring (date-time)

    Point in time the entity was created.

  • … 2 more fields
Request
curl --request GET \
  --url https://your-instance.iw-erp.de/api/crm/crmpeople/42 \
  --header 'x-iw-jwt-token: <TOKEN>'
Response 200 application/json
{
  "id": 42,
  "first_name": "Lena",
  "last_name": "Hartmann",
  "title": "Beispiel",
  "language": "de",
  "support_description": "Text",
  "profile_picture_url": "https://vynst.de",
  "address_street": "Jakobistr. 39",
  "address_city": "Hannover",
  "address_zip": "30163"
}

Updates a single person with the given identifier

PUT/api/crm/crmpeople/{id}

Path parameters

idrequiredstring

Request body application/json

  • crmpersonCRMPerson3
    Show fields (21)
    • categoryCRMPersonCategory2

      Person category.

    • addressstring

      Address as text.

    • address_streetstring

      Street of the address.

    • address_house_numberstring

      House number of the address.

    • address_street_levelstring

      Street and house number of the address.

    • address_costring

      Care-of line of the address.

    • address_citystring

      City of the address.

    • address_zipstring

      Postal code of the address.

    • address_admin_level1string

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

    • address_countrystring

      Country code of the address.

    • address_full_countrystring

      Full name of the country of the address.

    • address_geo_latstring

      Latitude of the address.

    • address_geo_lngstring

      Longitude of the address.

    • address_external_provider_idstring

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

    • ucatsarray<UnifiedCategory11>

      Unified categories of the entity.

    • notestring

      This property is used to store a note for an entity

    • fixed_price_addon_onenumber (float)

      Price of the first fixed-price add-on.

    • fixed_price_addon_twonumber (float)

      Price of the second fixed-price add-on.

    • use_in_aiboolean

      This property is used to mark an entity for syncing with a rag.

    • only_personal_aiboolean

      This property is used to only include the data for personal AI.

    • created_fromstring

      This field is used to store the origin of the entity, such as 'import', 'ticket', or 'manual'. Mainly used for statistics and tracking purposes.

Responses

200Updates a single person with the given identifierCRMPerson10

Show fields (81)
  • idinteger

    Primary key of the person. Internal ID.

  • first_namestring

    First name of the person.

  • last_namestring

    Last name of the person.

  • numberinteger

    Member or customer number of the person.

  • manual_numberinteger

    Number set manually instead of the automatic number.

  • number_stringstring

    Member or customer number as text, including prefix.

  • genderstring

    Gender of the person.

  • titlestring

    Academic or other title of the person.

  • positionstring

    Position or role of the person.

  • languagestring

    Preferred language of the person.

  • special_salutationstring

    Special salutation text for letters.

  • form_of_salutationstring

    Form of salutation, for example formal or informal.

  • birthdaystring (date-time)

    Birthday of the person.

  • known_allergiesstring

    Known allergies of the person.

  • confirmed_no_allergiesboolean

    Guardian confirmed that there are no known allergies.

  • allow_photosboolean

    Photos of the person may be taken and published.

  • allow_leaving_aloneboolean

    The person may leave the event alone.

  • authorized_pickupstring

    Persons who are allowed to pick up the person.

  • needs_supportboolean

    The person needs support, for example for inclusion.

  • support_descriptionstring

    Description of the support the person needs.

  • financial_supportboolean

    The person receives financial support.

  • financial_support_numberstring

    Number of the financial support.

  • municipal_supportboolean

    The person receives municipal support.

  • municipal_support_numberstring

    Number of the municipal support.

  • grade_levelinteger

    School grade level of the person.

  • school_classstring

    School class of the person.

  • start_timestring (date-time)

    Start of the membership or activity.

  • start_time_reasonstring

    Reason for the start.

  • end_timestring (date-time)

    End of the membership or activity.

  • end_time_reasonstring

    Reason for the end.

  • confirmed_gtc_timestring (date-time)

    Time the general terms and conditions were confirmed.

  • chatbot_opt_inboolean

    Einwilligung in die Nutzung des KI-Assistenten. Denormalisierter aktueller Stand - das pruefbare Protokoll steht in ChatbotConsent.

  • chatbot_opt_in_atstring (date-time)

    Time the person opted in to the chatbot.

  • chatbot_opt_in_text_versionstring

    Version des Einwilligungstextes, dem zugestimmt wurde. Weicht sie von der aktuellen Version ab, ist das Opt-in abgelaufen.

  • app_usage_statistics_opt_outboolean

    Widerspruch gegen die anonyme Nutzungsstatistik der Mitglieder-App. Die App liest ihn aus den StaticData und schickt dann nichts mehr; die gezaehlten Aufrufe selbst haben keinen Bezug zur Person.

  • crm_person_contact_dataarray<CRMPersonContactData>

    Contact data of the person, for example phone and e-mail.

    Show fields (6)
    • idinteger

      Primary key of the contact data entry. Internal ID.

    • namestring

      Name of the contact data entry.

    • valuestring

      Value of the contact data entry, e.g. a phone number or e-mail address.

    • generated_valuestring

      Value generated from the entered value.

    • contact_data_typeContactDataType

      Type of the contact data.

    • search_stringstring

      Text that the entity can be searched by.

  • archivedboolean

    Whether the person is archived.

  • subscribed_newsletterboolean

    Whether the person subscribed to the newsletter.

  • subscribed_magazineboolean

    Whether the person subscribed to the magazine.

  • printed_member_cardboolean

    Whether a member card has been printed for the person.

  • has_login_userboolean

    Whether the person has a login user.

  • profile_picture_urlstring

    URL of the profile picture of the person.

  • log_book_staffboolean

    Log book flag: staff.

  • log_book_staff1boolean

    Log book flag: staff, level 1.

  • log_book_staff2boolean

    Log book flag: staff, level 2.

  • log_book_memberboolean

    Log book flag: member.

  • log_book_trainerboolean

    Log book flag: trainer.

  • log_book_trainer1boolean

    Log book flag: trainer, level 1.

  • log_book_trainer2boolean

    Log book flag: trainer, level 2.

  • log_book_head_of_departmentboolean

    Log book flag: head of department.

  • log_book_supervisory_boardboolean

    Log book flag: supervisory board.

  • log_book_board_of_directorsboolean

    Log book flag: board of directors.

  • log_book_honorary_memberboolean

    Log book flag: honorary member.

  • log_book_club_card_oneboolean

    Log book flag: club card.

  • log_book_health_recoveredboolean

    Log book flag: recovered from illness.

  • log_book_health_vaccinatedboolean

    Log book flag: vaccinated.

  • log_book_health_vaccinated_additionstring

    Details of the vaccination.

  • log_book_good_conductboolean

    Log book flag: certificate of good conduct.

  • log_book_first_aidboolean

    Log book flag: first aid training.

  • log_book_measles_vaccinationboolean

    Log book flag: measles vaccination.

  • sync_lanistaboolean

    Whether the person is synchronized with Lanista.

  • categoryCRMPersonCategory

    Person category.

    Show fields (12)
    • idinteger

      Primary key of the person category. Internal ID.

    • namestring

      Name of the person category.

    • name_pluralstring

      Plural name of the person category.

    • descriptionstring

      Description of the person category.

    • deletedboolean

      The category is deleted.

    • is_publicboolean

      The category is shown publicly.

    • enabled_customer_create_newboolean

      Persons of this category may create new persons in the customer app.

    • customer_register_min_numberinteger

      Minimum number of persons that can be registered together.

    • customer_add_ignore_invite_codeboolean

      Persons can be added without an invite code.

    • customer_ui_allowed_ticket_typesstring

      Ticket types that customers may create in the customer app.

    • enabled_customer_ui_selectionboolean

      Customers may select the category in the customer app.

    • orderinteger

      Position of the entity in the order.

  • nicknamestring

    Nickname of the person.

  • preferred_color_hexstring

    Preferred color of the person as hex value.

  • avatar_tokenstring

    Token of the avatar image.

  • search_stringstring

    Text that the entity can be searched by.

  • addressstring

    Address as text.

  • address_streetstring

    Street of the address.

  • address_house_numberstring

    House number of the address.

  • address_street_levelstring

    Street and house number of the address.

  • address_costring

    Care-of line of the address.

  • address_citystring

    City of the address.

  • address_zipstring

    Postal code of the address.

  • address_admin_level1string

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

  • address_countrystring

    Country code of the address.

  • address_full_countrystring

    Full name of the country of the address.

  • address_geo_latstring

    Latitude of the address.

  • address_geo_lngstring

    Longitude of the address.

  • address_external_provider_idstring

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

  • createdstring (date-time)

    Point in time the entity was created.

  • … 2 more fields
Request
curl --request PUT \
  --url https://your-instance.iw-erp.de/api/crm/crmpeople/42 \
  --header 'content-type: application/json' \
  --header 'x-iw-jwt-token: <TOKEN>' \
  --data '
{
  "crmperson": {
    "address_street": "Jakobistr. 39",
    "address_city": "Hannover",
    "address_zip": "30163",
    "address_country": "DE",
    "address_full_country": "DE",
    "address": "string"
  }
}
'
Response 200 application/json
{
  "id": 42,
  "first_name": "Lena",
  "last_name": "Hartmann",
  "title": "Beispiel",
  "language": "de",
  "support_description": "Text",
  "profile_picture_url": "https://vynst.de",
  "address_street": "Jakobistr. 39",
  "address_city": "Hannover",
  "address_zip": "30163"
}

Updates a single person with the given identifier

PATCH/api/crm/crmpeople/{id}

Path parameters

idrequiredstring

Request body application/json

  • crmpersonCRMPerson3
    Show fields (21)
    • categoryCRMPersonCategory2

      Person category.

    • addressstring

      Address as text.

    • address_streetstring

      Street of the address.

    • address_house_numberstring

      House number of the address.

    • address_street_levelstring

      Street and house number of the address.

    • address_costring

      Care-of line of the address.

    • address_citystring

      City of the address.

    • address_zipstring

      Postal code of the address.

    • address_admin_level1string

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

    • address_countrystring

      Country code of the address.

    • address_full_countrystring

      Full name of the country of the address.

    • address_geo_latstring

      Latitude of the address.

    • address_geo_lngstring

      Longitude of the address.

    • address_external_provider_idstring

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

    • ucatsarray<UnifiedCategory11>

      Unified categories of the entity.

    • notestring

      This property is used to store a note for an entity

    • fixed_price_addon_onenumber (float)

      Price of the first fixed-price add-on.

    • fixed_price_addon_twonumber (float)

      Price of the second fixed-price add-on.

    • use_in_aiboolean

      This property is used to mark an entity for syncing with a rag.

    • only_personal_aiboolean

      This property is used to only include the data for personal AI.

    • created_fromstring

      This field is used to store the origin of the entity, such as 'import', 'ticket', or 'manual'. Mainly used for statistics and tracking purposes.

Responses

200Updates a single person with the given identifierCRMPerson10

Show fields (81)
  • idinteger

    Primary key of the person. Internal ID.

  • first_namestring

    First name of the person.

  • last_namestring

    Last name of the person.

  • numberinteger

    Member or customer number of the person.

  • manual_numberinteger

    Number set manually instead of the automatic number.

  • number_stringstring

    Member or customer number as text, including prefix.

  • genderstring

    Gender of the person.

  • titlestring

    Academic or other title of the person.

  • positionstring

    Position or role of the person.

  • languagestring

    Preferred language of the person.

  • special_salutationstring

    Special salutation text for letters.

  • form_of_salutationstring

    Form of salutation, for example formal or informal.

  • birthdaystring (date-time)

    Birthday of the person.

  • known_allergiesstring

    Known allergies of the person.

  • confirmed_no_allergiesboolean

    Guardian confirmed that there are no known allergies.

  • allow_photosboolean

    Photos of the person may be taken and published.

  • allow_leaving_aloneboolean

    The person may leave the event alone.

  • authorized_pickupstring

    Persons who are allowed to pick up the person.

  • needs_supportboolean

    The person needs support, for example for inclusion.

  • support_descriptionstring

    Description of the support the person needs.

  • financial_supportboolean

    The person receives financial support.

  • financial_support_numberstring

    Number of the financial support.

  • municipal_supportboolean

    The person receives municipal support.

  • municipal_support_numberstring

    Number of the municipal support.

  • grade_levelinteger

    School grade level of the person.

  • school_classstring

    School class of the person.

  • start_timestring (date-time)

    Start of the membership or activity.

  • start_time_reasonstring

    Reason for the start.

  • end_timestring (date-time)

    End of the membership or activity.

  • end_time_reasonstring

    Reason for the end.

  • confirmed_gtc_timestring (date-time)

    Time the general terms and conditions were confirmed.

  • chatbot_opt_inboolean

    Einwilligung in die Nutzung des KI-Assistenten. Denormalisierter aktueller Stand - das pruefbare Protokoll steht in ChatbotConsent.

  • chatbot_opt_in_atstring (date-time)

    Time the person opted in to the chatbot.

  • chatbot_opt_in_text_versionstring

    Version des Einwilligungstextes, dem zugestimmt wurde. Weicht sie von der aktuellen Version ab, ist das Opt-in abgelaufen.

  • app_usage_statistics_opt_outboolean

    Widerspruch gegen die anonyme Nutzungsstatistik der Mitglieder-App. Die App liest ihn aus den StaticData und schickt dann nichts mehr; die gezaehlten Aufrufe selbst haben keinen Bezug zur Person.

  • crm_person_contact_dataarray<CRMPersonContactData>

    Contact data of the person, for example phone and e-mail.

    Show fields (6)
    • idinteger

      Primary key of the contact data entry. Internal ID.

    • namestring

      Name of the contact data entry.

    • valuestring

      Value of the contact data entry, e.g. a phone number or e-mail address.

    • generated_valuestring

      Value generated from the entered value.

    • contact_data_typeContactDataType

      Type of the contact data.

    • search_stringstring

      Text that the entity can be searched by.

  • archivedboolean

    Whether the person is archived.

  • subscribed_newsletterboolean

    Whether the person subscribed to the newsletter.

  • subscribed_magazineboolean

    Whether the person subscribed to the magazine.

  • printed_member_cardboolean

    Whether a member card has been printed for the person.

  • has_login_userboolean

    Whether the person has a login user.

  • profile_picture_urlstring

    URL of the profile picture of the person.

  • log_book_staffboolean

    Log book flag: staff.

  • log_book_staff1boolean

    Log book flag: staff, level 1.

  • log_book_staff2boolean

    Log book flag: staff, level 2.

  • log_book_memberboolean

    Log book flag: member.

  • log_book_trainerboolean

    Log book flag: trainer.

  • log_book_trainer1boolean

    Log book flag: trainer, level 1.

  • log_book_trainer2boolean

    Log book flag: trainer, level 2.

  • log_book_head_of_departmentboolean

    Log book flag: head of department.

  • log_book_supervisory_boardboolean

    Log book flag: supervisory board.

  • log_book_board_of_directorsboolean

    Log book flag: board of directors.

  • log_book_honorary_memberboolean

    Log book flag: honorary member.

  • log_book_club_card_oneboolean

    Log book flag: club card.

  • log_book_health_recoveredboolean

    Log book flag: recovered from illness.

  • log_book_health_vaccinatedboolean

    Log book flag: vaccinated.

  • log_book_health_vaccinated_additionstring

    Details of the vaccination.

  • log_book_good_conductboolean

    Log book flag: certificate of good conduct.

  • log_book_first_aidboolean

    Log book flag: first aid training.

  • log_book_measles_vaccinationboolean

    Log book flag: measles vaccination.

  • sync_lanistaboolean

    Whether the person is synchronized with Lanista.

  • categoryCRMPersonCategory

    Person category.

    Show fields (12)
    • idinteger

      Primary key of the person category. Internal ID.

    • namestring

      Name of the person category.

    • name_pluralstring

      Plural name of the person category.

    • descriptionstring

      Description of the person category.

    • deletedboolean

      The category is deleted.

    • is_publicboolean

      The category is shown publicly.

    • enabled_customer_create_newboolean

      Persons of this category may create new persons in the customer app.

    • customer_register_min_numberinteger

      Minimum number of persons that can be registered together.

    • customer_add_ignore_invite_codeboolean

      Persons can be added without an invite code.

    • customer_ui_allowed_ticket_typesstring

      Ticket types that customers may create in the customer app.

    • enabled_customer_ui_selectionboolean

      Customers may select the category in the customer app.

    • orderinteger

      Position of the entity in the order.

  • nicknamestring

    Nickname of the person.

  • preferred_color_hexstring

    Preferred color of the person as hex value.

  • avatar_tokenstring

    Token of the avatar image.

  • search_stringstring

    Text that the entity can be searched by.

  • addressstring

    Address as text.

  • address_streetstring

    Street of the address.

  • address_house_numberstring

    House number of the address.

  • address_street_levelstring

    Street and house number of the address.

  • address_costring

    Care-of line of the address.

  • address_citystring

    City of the address.

  • address_zipstring

    Postal code of the address.

  • address_admin_level1string

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

  • address_countrystring

    Country code of the address.

  • address_full_countrystring

    Full name of the country of the address.

  • address_geo_latstring

    Latitude of the address.

  • address_geo_lngstring

    Longitude of the address.

  • address_external_provider_idstring

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

  • createdstring (date-time)

    Point in time the entity was created.

  • … 2 more fields
Request
curl --request PATCH \
  --url https://your-instance.iw-erp.de/api/crm/crmpeople/42 \
  --header 'content-type: application/json' \
  --header 'x-iw-jwt-token: <TOKEN>' \
  --data '
{
  "crmperson": {
    "address_street": "Jakobistr. 39",
    "address_city": "Hannover",
    "address_zip": "30163",
    "address_country": "DE",
    "address_full_country": "DE",
    "address": "string"
  }
}
'
Response 200 application/json
{
  "id": 42,
  "first_name": "Lena",
  "last_name": "Hartmann",
  "title": "Beispiel",
  "language": "de",
  "support_description": "Text",
  "profile_picture_url": "https://vynst.de",
  "address_street": "Jakobistr. 39",
  "address_city": "Hannover",
  "address_zip": "30163"
}

Archives the complete school account when the selected person is its only active child.

POST/api/crm/crmpeople/{id}/archive_account

Path parameters

idrequiredstring

Request body application/json

  • companyIdstringrequired

    CRMCompany id or identifier

Responses

200Returns the archived account and person ids

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

Returns active school accounts for which the selected person is the only active child.

GET/api/crm/crmpeople/{id}/archive_account_candidates

Path parameters

idrequiredstring

Responses

200Returns eligible account ids and names

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

Merge one or more persons into the given main person.

POST/api/crm/crmpeople/{id}/merge

Migrates tickets (all), questionnaire answers, event sign ups, individual bookings and log book entries (memberships / functions / roles) from the source persons onto the main person (the latter four with duplicate checks) and archives the migrated source persons. Each migrated record's company is kept when the main person already belongs to it; otherwise it is replaced with the main person's primary company. In SCHOOL mode every source person has to share a school (unified category of a log book entry) with the main person, otherwise the request is rejected with a 400.

Request body:

  • ids (int[]): ids of the persons that should be merged into the main person
  • includeContactData (bool, optional): migrate emails / phone numbers from source persons
  • copyScalarFields (bool, optional): copy personal-data scalar fields (birthday, gender, address, school data, ...) from source persons when the main person's field is empty

Path parameters

idrequiredstring

Request body application/json

  • idsarray<integer>

    Ids of the persons that should be merged into the main person

  • includeContactDataboolean

    Migrate contact data (emails / phone numbers) from source persons

  • copyScalarFieldsboolean

    Copy personal-data scalar fields from source persons when the main person's field is empty

Responses

200Returns the merge result statistics

Request
curl --request POST \
  --url https://your-instance.iw-erp.de/api/crm/crmpeople/42/merge \
  --header 'content-type: application/json' \
  --header 'x-iw-jwt-token: <TOKEN>' \
  --data '
{
  "ids": [
    1
  ],
  "includeContactData": true,
  "copyScalarFields": true
}
'

Preview of a GDPR (DSGVO Art. 17) erasure of the person: what blocks it and which data would be deleted, anonymized or retained because of statutory retention periods.

GET/api/crm/crmpeople/{id}/gdpr_erasure

Path parameters

idrequiredstring

Responses

200Returns blockers and the affected data (items) of a GDPR erasure

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

Executes the GDPR (DSGVO Art. 17) erasure of the person. The person is anonymized and archived, its personal data (contact data, login, attachments, communication, copies in sign ups / bookings / tickets, audit history) is deleted. Accounting documents are retained. Not reversible.

POST/api/crm/crmpeople/{id}/gdpr_erasure

Path parameters

idrequiredstring

Request body application/json

  • confirmbooleanrequired

    Must be true, the erasure can not be undone

Responses

200Returns what was deleted, anonymized and retained

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

Returns the list of duplicated persons grouped by name and birthday.

GET/api/crm/crmpeople/duplicates

Each group contains the suggested merge target (the person with an active login user / customer portal access, otherwise the person with the latest activity) and per person context information (linked companies, active event sign ups and active memberships / functions / roles).

Query parameters

includeArchivedbooleanInclude archived persons in the duplicate detection | Default value: true
schoolModebooleanOverride the school mode derived from the inwendo_short_info_mode setting
unifiedCategoryIdintegerLimit the duplicate detection to a single unified category (school mode)
ucatsstringFallback for unifiedCategoryId, accepts the person list's comma separated category filter

Responses

200Returns the list of duplicated person groups

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

Returns the currently available AccessTags for a person grouped by company.

GET/api/crm/crmpeople/{id}/access_tags

Next to the effective AccessTags the response contains the origin of every single tag (company, subscription, log book entry / role or temporary access), which makes it possible to answer "why does this person have this access right?".

Path parameters

idrequiredstring

Query parameters

companyIdstringOptional CRMCompany id or short identifier to limit the calculation to one of the companies of the person

Responses

200Returns the available AccessTags for the person

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

Returns a list of people with matching linking identifier

GET/api/crm/linked_person

Query parameters

searchStringstringtext to search for in the list
orderFieldNamestringname of the order field
orderFieldSortstringsorting modeAllowed: DESCASC
pageintegerpage of the list
pageSizeintegernumber of entries for each page
withMaxPageNumberstringreturns the number of pages available as a header if this is set

Responses

default

Request
curl --request GET \
  --url https://your-instance.iw-erp.de/api/crm/linked_person \
  --header 'x-iw-jwt-token: <TOKEN>'
Request
curl --request POST \
  --url https://your-instance.iw-erp.de/api/crm/linked_person \
  --header 'x-iw-jwt-token: <TOKEN>'
Request
curl --request PUT \
  --url https://your-instance.iw-erp.de/api/crm/linked_person \
  --header 'x-iw-jwt-token: <TOKEN>'
Request
curl --request PATCH \
  --url https://your-instance.iw-erp.de/api/crm/linked_person \
  --header 'x-iw-jwt-token: <TOKEN>'
Request
curl --request POST \
  --url https://your-instance.iw-erp.de/api/crm/multi_linked_person \
  --header 'x-iw-jwt-token: <TOKEN>'
Request
curl --request PUT \
  --url https://your-instance.iw-erp.de/api/crm/multi_linked_person \
  --header 'x-iw-jwt-token: <TOKEN>'
Request
curl --request PATCH \
  --url https://your-instance.iw-erp.de/api/crm/multi_linked_person \
  --header 'x-iw-jwt-token: <TOKEN>'

Return a single person with the given id and matching linking identifier

GET/api/crm/linked_person/{id}

Path parameters

idrequiredstring

Responses

default

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

Return a login link for the person with the given id and matching linking identifier

GET/api/crm/linked_person_sso/{id}

Path parameters

idrequiredstring

Responses

default

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