Skip to content
Developer

SelfServiceMembership

Customer portal30 EndpointsCustomer / SelfServiceMembership

Returns a public list of all SelfServiceMembershipStep

GET/api/cp/self_service_membership/public

Query parameters

idstring
deletedbooleanThis property is used to mark an entity as deleted / archived | Default value: false
orderinteger
namestring
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 public list of all SelfServiceMembershipSteparray<SelfServiceMembershipStep>

Show fields (7)
  • idinteger

    Primary key of the step. Internal ID.

  • item_selection_requiredboolean

    Whether an item must be selected in this step.

  • multi_selection_allowedboolean

    Whether several items may be selected.

  • only_if_no_membershipsboolean

    Whether the step is shown only without existing memberships.

  • namestring

    Name of the entity.

  • image_urlstring

    URL of the image of the entity.

  • orderinteger

    Position of the entity in the order.

Request
curl --request GET \
  --url https://your-instance.iw-erp.de/api/cp/self_service_membership/public \
  --header 'x-iw-jwt-token: <TOKEN>'
Response 200 application/json
[
  {
    "id": 42,
    "name": "Beispiel",
    "image_url": "https://vynst.de",
    "item_selection_required": true,
    "multi_selection_allowed": true,
    "only_if_no_memberships": true,
    "order": 1
  }
]

Returns a list of all SelfServiceMembershipStep

GET/api/cp/self_service_membership/step

Query parameters

idstring
deletedbooleanThis property is used to mark an entity as deleted / archived | Default value: false
orderinteger
namestring
searchStringstringtext to search for in the list
orderFieldNamestringname of the order field
orderFieldSortstringsorting modeAllowed: DESCASC
pageintegerpage of the list
pageSizeintegernumber of entries for each page
withMaxPageNumberstringreturns the number of pages available as a header if this is set

Responses

200Returns a list of all SelfServiceMembershipSteparray<SelfServiceMembershipStep2>

Show fields (9)
  • idinteger

    Primary key of the step. Internal ID.

  • item_selection_requiredboolean

    Whether an item must be selected in this step.

  • multi_selection_allowedboolean

    Whether several items may be selected.

  • only_if_no_membershipsboolean

    Whether the step is shown only without existing memberships.

  • categoriesarray<SelfServiceMembershipCategory2>

    Categories offered in the step.

    Show fields (4)
    • namestring

      Name of the entity.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • image_urlstring

      URL of the image of the entity.

    • orderinteger

      Position of the entity in the order.

  • namestring

    Name of the entity.

  • deletedboolean

    This property is used to mark an entity as deleted / archived

  • image_urlstring

    URL of the image of the entity.

  • orderinteger

    Position of the entity in the order.

Request
curl --request GET \
  --url https://your-instance.iw-erp.de/api/cp/self_service_membership/step \
  --header 'x-iw-jwt-token: <TOKEN>'
Response 200 application/json
[
  {
    "id": 42,
    "name": "Beispiel",
    "image_url": "https://vynst.de",
    "item_selection_required": true,
    "multi_selection_allowed": true,
    "only_if_no_memberships": true,
    "deleted": true,
    "order": 1
  }
]

Add a new SelfServiceMembershipStep

POST/api/cp/self_service_membership/step

Request body application/json

  • dataSelfServiceMembershipStep2
    Show fields (9)
    • idinteger

      Primary key of the step. Internal ID.

    • item_selection_requiredboolean

      Whether an item must be selected in this step.

    • multi_selection_allowedboolean

      Whether several items may be selected.

    • only_if_no_membershipsboolean

      Whether the step is shown only without existing memberships.

    • categoriesarray<SelfServiceMembershipCategory2>

      Categories offered in the step.

    • namestring

      Name of the entity.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • image_urlstring

      URL of the image of the entity.

    • orderinteger

      Position of the entity in the order.

Responses

200Add a new SelfServiceMembershipStepSelfServiceMembershipStep2

Show fields (9)
  • idinteger

    Primary key of the step. Internal ID.

  • item_selection_requiredboolean

    Whether an item must be selected in this step.

  • multi_selection_allowedboolean

    Whether several items may be selected.

  • only_if_no_membershipsboolean

    Whether the step is shown only without existing memberships.

  • categoriesarray<SelfServiceMembershipCategory2>

    Categories offered in the step.

    Show fields (4)
    • namestring

      Name of the entity.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • image_urlstring

      URL of the image of the entity.

    • orderinteger

      Position of the entity in the order.

  • namestring

    Name of the entity.

  • deletedboolean

    This property is used to mark an entity as deleted / archived

  • image_urlstring

    URL of the image of the entity.

  • orderinteger

    Position of the entity in the order.

Request
curl --request POST \
  --url https://your-instance.iw-erp.de/api/cp/self_service_membership/step \
  --header 'content-type: application/json' \
  --header 'x-iw-jwt-token: <TOKEN>' \
  --data '
{
  "data": {
    "id": 42,
    "name": "Beispiel",
    "image_url": "https://vynst.de",
    "item_selection_required": true,
    "multi_selection_allowed": true,
    "only_if_no_memberships": true
  }
}
'
Response 200 application/json
{
  "id": 42,
  "name": "Beispiel",
  "image_url": "https://vynst.de",
  "item_selection_required": true,
  "multi_selection_allowed": true,
  "only_if_no_memberships": true,
  "categories": [
    {
      "name": "Beispiel",
      "image_url": "https://vynst.de",
      "deleted": true,
      "order": 1
    }
  ],
  "deleted": true,
  "order": 1
}

Returns a single SelfServiceMembershipStep entry.

GET/api/cp/self_service_membership/step/{identifier}

Path parameters

identifierrequiredstring

Responses

200Return single SelfServiceMembershipStepSelfServiceMembershipStep2

Show fields (9)
  • idinteger

    Primary key of the step. Internal ID.

  • item_selection_requiredboolean

    Whether an item must be selected in this step.

  • multi_selection_allowedboolean

    Whether several items may be selected.

  • only_if_no_membershipsboolean

    Whether the step is shown only without existing memberships.

  • categoriesarray<SelfServiceMembershipCategory2>

    Categories offered in the step.

    Show fields (4)
    • namestring

      Name of the entity.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • image_urlstring

      URL of the image of the entity.

    • orderinteger

      Position of the entity in the order.

  • namestring

    Name of the entity.

  • deletedboolean

    This property is used to mark an entity as deleted / archived

  • image_urlstring

    URL of the image of the entity.

  • orderinteger

    Position of the entity in the order.

Request
curl --request GET \
  --url https://your-instance.iw-erp.de/api/cp/self_service_membership/step/42 \
  --header 'x-iw-jwt-token: <TOKEN>'
Response 200 application/json
{
  "id": 42,
  "name": "Beispiel",
  "image_url": "https://vynst.de",
  "item_selection_required": true,
  "multi_selection_allowed": true,
  "only_if_no_memberships": true,
  "categories": [
    {
      "name": "Beispiel",
      "image_url": "https://vynst.de",
      "deleted": true,
      "order": 1
    }
  ],
  "deleted": true,
  "order": 1
}

Updates an existing SelfServiceMembershipStep entry.

PUT/api/cp/self_service_membership/step/{identifier}

Path parameters

identifierrequiredstring

Request body application/json

  • dataSelfServiceMembershipStep2
    Show fields (9)
    • idinteger

      Primary key of the step. Internal ID.

    • item_selection_requiredboolean

      Whether an item must be selected in this step.

    • multi_selection_allowedboolean

      Whether several items may be selected.

    • only_if_no_membershipsboolean

      Whether the step is shown only without existing memberships.

    • categoriesarray<SelfServiceMembershipCategory2>

      Categories offered in the step.

    • namestring

      Name of the entity.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • image_urlstring

      URL of the image of the entity.

    • orderinteger

      Position of the entity in the order.

Responses

200Update single SelfServiceMembershipStepSelfServiceMembershipStep2

Show fields (9)
  • idinteger

    Primary key of the step. Internal ID.

  • item_selection_requiredboolean

    Whether an item must be selected in this step.

  • multi_selection_allowedboolean

    Whether several items may be selected.

  • only_if_no_membershipsboolean

    Whether the step is shown only without existing memberships.

  • categoriesarray<SelfServiceMembershipCategory2>

    Categories offered in the step.

    Show fields (4)
    • namestring

      Name of the entity.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • image_urlstring

      URL of the image of the entity.

    • orderinteger

      Position of the entity in the order.

  • namestring

    Name of the entity.

  • deletedboolean

    This property is used to mark an entity as deleted / archived

  • image_urlstring

    URL of the image of the entity.

  • orderinteger

    Position of the entity in the order.

Request
curl --request PUT \
  --url https://your-instance.iw-erp.de/api/cp/self_service_membership/step/42 \
  --header 'content-type: application/json' \
  --header 'x-iw-jwt-token: <TOKEN>' \
  --data '
{
  "data": {
    "id": 42,
    "name": "Beispiel",
    "image_url": "https://vynst.de",
    "item_selection_required": true,
    "multi_selection_allowed": true,
    "only_if_no_memberships": true
  }
}
'
Response 200 application/json
{
  "id": 42,
  "name": "Beispiel",
  "image_url": "https://vynst.de",
  "item_selection_required": true,
  "multi_selection_allowed": true,
  "only_if_no_memberships": true,
  "categories": [
    {
      "name": "Beispiel",
      "image_url": "https://vynst.de",
      "deleted": true,
      "order": 1
    }
  ],
  "deleted": true,
  "order": 1
}

Updates an existing SelfServiceMembershipStep entry.

PATCH/api/cp/self_service_membership/step/{identifier}

Path parameters

identifierrequiredstring

Request body application/json

  • dataSelfServiceMembershipStep2
    Show fields (9)
    • idinteger

      Primary key of the step. Internal ID.

    • item_selection_requiredboolean

      Whether an item must be selected in this step.

    • multi_selection_allowedboolean

      Whether several items may be selected.

    • only_if_no_membershipsboolean

      Whether the step is shown only without existing memberships.

    • categoriesarray<SelfServiceMembershipCategory2>

      Categories offered in the step.

    • namestring

      Name of the entity.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • image_urlstring

      URL of the image of the entity.

    • orderinteger

      Position of the entity in the order.

Responses

200Update single SelfServiceMembershipStepSelfServiceMembershipStep2

Show fields (9)
  • idinteger

    Primary key of the step. Internal ID.

  • item_selection_requiredboolean

    Whether an item must be selected in this step.

  • multi_selection_allowedboolean

    Whether several items may be selected.

  • only_if_no_membershipsboolean

    Whether the step is shown only without existing memberships.

  • categoriesarray<SelfServiceMembershipCategory2>

    Categories offered in the step.

    Show fields (4)
    • namestring

      Name of the entity.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • image_urlstring

      URL of the image of the entity.

    • orderinteger

      Position of the entity in the order.

  • namestring

    Name of the entity.

  • deletedboolean

    This property is used to mark an entity as deleted / archived

  • image_urlstring

    URL of the image of the entity.

  • orderinteger

    Position of the entity in the order.

Request
curl --request PATCH \
  --url https://your-instance.iw-erp.de/api/cp/self_service_membership/step/42 \
  --header 'content-type: application/json' \
  --header 'x-iw-jwt-token: <TOKEN>' \
  --data '
{
  "data": {
    "id": 42,
    "name": "Beispiel",
    "image_url": "https://vynst.de",
    "item_selection_required": true,
    "multi_selection_allowed": true,
    "only_if_no_memberships": true
  }
}
'
Response 200 application/json
{
  "id": 42,
  "name": "Beispiel",
  "image_url": "https://vynst.de",
  "item_selection_required": true,
  "multi_selection_allowed": true,
  "only_if_no_memberships": true,
  "categories": [
    {
      "name": "Beispiel",
      "image_url": "https://vynst.de",
      "deleted": true,
      "order": 1
    }
  ],
  "deleted": true,
  "order": 1
}

Returns a list of all SelfServiceMembershipCategory

GET/api/cp/self_service_membership/category

Query parameters

idstring
deletedbooleanThis property is used to mark an entity as deleted / archived | Default value: false
orderinteger
namestring
unifiedCategorystring
membershipStepstring
minAgestringThe lowest age (in years) a person may have to use this entry - null means no lower limit
maxAgestringThe highest age (in years) a person may have to use this entry - null means no upper limit
searchStringstringtext to search for in the list
orderFieldNamestringname of the order field
orderFieldSortstringsorting modeAllowed: DESCASC
pageintegerpage of the list
pageSizeintegernumber of entries for each page
withMaxPageNumberstringreturns the number of pages available as a header if this is set

Responses

200Returns a list of all SelfServiceMembershipCategoryarray<SelfServiceMembershipCategory>

Show fields (10)
  • idinteger

    Primary key of the membership category. Internal ID.

  • membership_stepSelfServiceMembershipStep3

    Membership step the category belongs to.

    Show fields (8)
    • idinteger

      Primary key of the step. Internal ID.

    • item_selection_requiredboolean

      Whether an item must be selected in this step.

    • multi_selection_allowedboolean

      Whether several items may be selected.

    • only_if_no_membershipsboolean

      Whether the step is shown only without existing memberships.

    • namestring

      Name of the entity.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • image_urlstring

      URL of the image of the entity.

    • orderinteger

      Position of the entity in the order.

  • itemsarray<SelfServiceMembershipItem2>

    Membership items in the category.

    Show fields (12)
    • idinteger

      Primary key of the membership item. Internal ID.

    • required_itemSelfServiceMembershipItem2

      Membership item that is required before this one.

    • require_attachmentboolean

      This property is used to require / recommend an attachment upload. With the setting iw_self_service_membership_proofs_enabled the membership application needs a proof for this item.

    • attachment_labelstring

      Label of the proof the application asks for, e.g. "Ärztliche Verordnung" - empty means the item name

    • attachment_hintstring

      Hint shown below the proof upload, e.g. which documents are accepted

    • namestring

      Name of the entity.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • unified_categoryUnifiedCategory5
    • image_urlstring

      URL of the image of the entity.

    • orderinteger

      Position of the entity in the order.

    • min_ageinteger

      The lowest age (in years) a person may have to use this entry - null means no lower limit

    • max_ageinteger

      The highest age (in years) a person may have to use this entry - null means no upper limit

  • namestring

    Name of the entity.

  • deletedboolean

    This property is used to mark an entity as deleted / archived

  • unified_categoryUnifiedCategory5
    Show fields (5)
    • idinteger

      Primary key of the unified category. Internal ID.

    • category_typestring

      Type of the category, for example course or membership.

    • namestring

      Name of the entity.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • image_urlstring

      URL of the image of the entity.

  • image_urlstring

    URL of the image of the entity.

  • orderinteger

    Position of the entity in the order.

  • min_ageinteger

    The lowest age (in years) a person may have to use this entry - null means no lower limit

  • max_ageinteger

    The highest age (in years) a person may have to use this entry - null means no upper limit

Request
curl --request GET \
  --url https://your-instance.iw-erp.de/api/cp/self_service_membership/category \
  --header 'x-iw-jwt-token: <TOKEN>'
Response 200 application/json
[
  {
    "id": 42,
    "name": "Beispiel",
    "image_url": "https://vynst.de",
    "membership_step": {
      "id": 42,
      "name": "Beispiel",
      "image_url": "https://vynst.de",
      "item_selection_required": true,
      "multi_selection_allowed": true,
      "only_if_no_memberships": true,
      "deleted": true,
      "order": 1
    },
    "deleted": true,
    "unified_category": {
      "id": 42,
      "name": "Beispiel",
      "image_url": "https://vynst.de",
      "category_type": "string",
      "deleted": true
    },
    "order": 1,
    "min_age": 1,
    "max_age": 1
  }
]

Add a new SelfServiceMembershipCategory

POST/api/cp/self_service_membership/category

Request body application/json

  • dataSelfServiceMembershipCategory
    Show fields (10)
    • idinteger

      Primary key of the membership category. Internal ID.

    • membership_stepSelfServiceMembershipStep3

      Membership step the category belongs to.

    • itemsarray<SelfServiceMembershipItem2>

      Membership items in the category.

    • namestring

      Name of the entity.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • unified_categoryUnifiedCategory5
    • image_urlstring

      URL of the image of the entity.

    • orderinteger

      Position of the entity in the order.

    • min_ageinteger

      The lowest age (in years) a person may have to use this entry - null means no lower limit

    • max_ageinteger

      The highest age (in years) a person may have to use this entry - null means no upper limit

Responses

200Add a new SelfServiceMembershipCategorySelfServiceMembershipCategory

Show fields (10)
  • idinteger

    Primary key of the membership category. Internal ID.

  • membership_stepSelfServiceMembershipStep3

    Membership step the category belongs to.

    Show fields (8)
    • idinteger

      Primary key of the step. Internal ID.

    • item_selection_requiredboolean

      Whether an item must be selected in this step.

    • multi_selection_allowedboolean

      Whether several items may be selected.

    • only_if_no_membershipsboolean

      Whether the step is shown only without existing memberships.

    • namestring

      Name of the entity.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • image_urlstring

      URL of the image of the entity.

    • orderinteger

      Position of the entity in the order.

  • itemsarray<SelfServiceMembershipItem2>

    Membership items in the category.

    Show fields (12)
    • idinteger

      Primary key of the membership item. Internal ID.

    • required_itemSelfServiceMembershipItem2

      Membership item that is required before this one.

    • require_attachmentboolean

      This property is used to require / recommend an attachment upload. With the setting iw_self_service_membership_proofs_enabled the membership application needs a proof for this item.

    • attachment_labelstring

      Label of the proof the application asks for, e.g. "Ärztliche Verordnung" - empty means the item name

    • attachment_hintstring

      Hint shown below the proof upload, e.g. which documents are accepted

    • namestring

      Name of the entity.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • unified_categoryUnifiedCategory5
    • image_urlstring

      URL of the image of the entity.

    • orderinteger

      Position of the entity in the order.

    • min_ageinteger

      The lowest age (in years) a person may have to use this entry - null means no lower limit

    • max_ageinteger

      The highest age (in years) a person may have to use this entry - null means no upper limit

  • namestring

    Name of the entity.

  • deletedboolean

    This property is used to mark an entity as deleted / archived

  • unified_categoryUnifiedCategory5
    Show fields (5)
    • idinteger

      Primary key of the unified category. Internal ID.

    • category_typestring

      Type of the category, for example course or membership.

    • namestring

      Name of the entity.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • image_urlstring

      URL of the image of the entity.

  • image_urlstring

    URL of the image of the entity.

  • orderinteger

    Position of the entity in the order.

  • min_ageinteger

    The lowest age (in years) a person may have to use this entry - null means no lower limit

  • max_ageinteger

    The highest age (in years) a person may have to use this entry - null means no upper limit

Request
curl --request POST \
  --url https://your-instance.iw-erp.de/api/cp/self_service_membership/category \
  --header 'content-type: application/json' \
  --header 'x-iw-jwt-token: <TOKEN>' \
  --data '
{
  "data": {
    "id": 42,
    "name": "Beispiel",
    "image_url": "https://vynst.de",
    "membership_step": {
      "id": 42,
      "name": "Beispiel",
      "image_url": "https://vynst.de",
      "item_selection_required": true,
      "multi_selection_allowed": true,
      "only_if_no_memberships": true
    },
    "deleted": true,
    "unified_category": {
      "id": 42,
      "name": "Beispiel",
      "image_url": "https://vynst.de",
      "category_type": "string",
      "deleted": true
    }
  }
}
'
Response 200 application/json
{
  "id": 42,
  "name": "Beispiel",
  "image_url": "https://vynst.de",
  "membership_step": {
    "id": 42,
    "name": "Beispiel",
    "image_url": "https://vynst.de",
    "item_selection_required": true,
    "multi_selection_allowed": true,
    "only_if_no_memberships": true,
    "deleted": true,
    "order": 1
  },
  "items": [
    {
      "id": 42,
      "name": "Beispiel",
      "image_url": "https://vynst.de",
      "require_attachment": true,
      "attachment_label": "string",
      "attachment_hint": "string",
      "deleted": true,
      "order": 1,
      "min_age": 1,
      "max_age": 1
    }
  ],
  "deleted": true,
  "unified_category": {
    "id": 42,
    "name": "Beispiel",
    "image_url": "https://vynst.de",
    "category_type": "string",
    "deleted": true
  },
  "order": 1,
  "min_age": 1,
  "max_age": 1
}

Returns a single SelfServiceMembershipCategory entry.

GET/api/cp/self_service_membership/category/{identifier}

Path parameters

identifierrequiredstring

Responses

200Return single SelfServiceMembershipCategorySelfServiceMembershipCategory

Show fields (10)
  • idinteger

    Primary key of the membership category. Internal ID.

  • membership_stepSelfServiceMembershipStep3

    Membership step the category belongs to.

    Show fields (8)
    • idinteger

      Primary key of the step. Internal ID.

    • item_selection_requiredboolean

      Whether an item must be selected in this step.

    • multi_selection_allowedboolean

      Whether several items may be selected.

    • only_if_no_membershipsboolean

      Whether the step is shown only without existing memberships.

    • namestring

      Name of the entity.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • image_urlstring

      URL of the image of the entity.

    • orderinteger

      Position of the entity in the order.

  • itemsarray<SelfServiceMembershipItem2>

    Membership items in the category.

    Show fields (12)
    • idinteger

      Primary key of the membership item. Internal ID.

    • required_itemSelfServiceMembershipItem2

      Membership item that is required before this one.

    • require_attachmentboolean

      This property is used to require / recommend an attachment upload. With the setting iw_self_service_membership_proofs_enabled the membership application needs a proof for this item.

    • attachment_labelstring

      Label of the proof the application asks for, e.g. "Ärztliche Verordnung" - empty means the item name

    • attachment_hintstring

      Hint shown below the proof upload, e.g. which documents are accepted

    • namestring

      Name of the entity.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • unified_categoryUnifiedCategory5
    • image_urlstring

      URL of the image of the entity.

    • orderinteger

      Position of the entity in the order.

    • min_ageinteger

      The lowest age (in years) a person may have to use this entry - null means no lower limit

    • max_ageinteger

      The highest age (in years) a person may have to use this entry - null means no upper limit

  • namestring

    Name of the entity.

  • deletedboolean

    This property is used to mark an entity as deleted / archived

  • unified_categoryUnifiedCategory5
    Show fields (5)
    • idinteger

      Primary key of the unified category. Internal ID.

    • category_typestring

      Type of the category, for example course or membership.

    • namestring

      Name of the entity.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • image_urlstring

      URL of the image of the entity.

  • image_urlstring

    URL of the image of the entity.

  • orderinteger

    Position of the entity in the order.

  • min_ageinteger

    The lowest age (in years) a person may have to use this entry - null means no lower limit

  • max_ageinteger

    The highest age (in years) a person may have to use this entry - null means no upper limit

Request
curl --request GET \
  --url https://your-instance.iw-erp.de/api/cp/self_service_membership/category/42 \
  --header 'x-iw-jwt-token: <TOKEN>'
Response 200 application/json
{
  "id": 42,
  "name": "Beispiel",
  "image_url": "https://vynst.de",
  "membership_step": {
    "id": 42,
    "name": "Beispiel",
    "image_url": "https://vynst.de",
    "item_selection_required": true,
    "multi_selection_allowed": true,
    "only_if_no_memberships": true,
    "deleted": true,
    "order": 1
  },
  "items": [
    {
      "id": 42,
      "name": "Beispiel",
      "image_url": "https://vynst.de",
      "require_attachment": true,
      "attachment_label": "string",
      "attachment_hint": "string",
      "deleted": true,
      "order": 1,
      "min_age": 1,
      "max_age": 1
    }
  ],
  "deleted": true,
  "unified_category": {
    "id": 42,
    "name": "Beispiel",
    "image_url": "https://vynst.de",
    "category_type": "string",
    "deleted": true
  },
  "order": 1,
  "min_age": 1,
  "max_age": 1
}

Updates an existing SelfServiceMembershipCategory entry.

PUT/api/cp/self_service_membership/category/{identifier}

Path parameters

identifierrequiredstring

Request body application/json

  • dataSelfServiceMembershipCategory
    Show fields (10)
    • idinteger

      Primary key of the membership category. Internal ID.

    • membership_stepSelfServiceMembershipStep3

      Membership step the category belongs to.

    • itemsarray<SelfServiceMembershipItem2>

      Membership items in the category.

    • namestring

      Name of the entity.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • unified_categoryUnifiedCategory5
    • image_urlstring

      URL of the image of the entity.

    • orderinteger

      Position of the entity in the order.

    • min_ageinteger

      The lowest age (in years) a person may have to use this entry - null means no lower limit

    • max_ageinteger

      The highest age (in years) a person may have to use this entry - null means no upper limit

Responses

200Update single SelfServiceMembershipCategorySelfServiceMembershipCategory

Show fields (10)
  • idinteger

    Primary key of the membership category. Internal ID.

  • membership_stepSelfServiceMembershipStep3

    Membership step the category belongs to.

    Show fields (8)
    • idinteger

      Primary key of the step. Internal ID.

    • item_selection_requiredboolean

      Whether an item must be selected in this step.

    • multi_selection_allowedboolean

      Whether several items may be selected.

    • only_if_no_membershipsboolean

      Whether the step is shown only without existing memberships.

    • namestring

      Name of the entity.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • image_urlstring

      URL of the image of the entity.

    • orderinteger

      Position of the entity in the order.

  • itemsarray<SelfServiceMembershipItem2>

    Membership items in the category.

    Show fields (12)
    • idinteger

      Primary key of the membership item. Internal ID.

    • required_itemSelfServiceMembershipItem2

      Membership item that is required before this one.

    • require_attachmentboolean

      This property is used to require / recommend an attachment upload. With the setting iw_self_service_membership_proofs_enabled the membership application needs a proof for this item.

    • attachment_labelstring

      Label of the proof the application asks for, e.g. "Ärztliche Verordnung" - empty means the item name

    • attachment_hintstring

      Hint shown below the proof upload, e.g. which documents are accepted

    • namestring

      Name of the entity.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • unified_categoryUnifiedCategory5
    • image_urlstring

      URL of the image of the entity.

    • orderinteger

      Position of the entity in the order.

    • min_ageinteger

      The lowest age (in years) a person may have to use this entry - null means no lower limit

    • max_ageinteger

      The highest age (in years) a person may have to use this entry - null means no upper limit

  • namestring

    Name of the entity.

  • deletedboolean

    This property is used to mark an entity as deleted / archived

  • unified_categoryUnifiedCategory5
    Show fields (5)
    • idinteger

      Primary key of the unified category. Internal ID.

    • category_typestring

      Type of the category, for example course or membership.

    • namestring

      Name of the entity.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • image_urlstring

      URL of the image of the entity.

  • image_urlstring

    URL of the image of the entity.

  • orderinteger

    Position of the entity in the order.

  • min_ageinteger

    The lowest age (in years) a person may have to use this entry - null means no lower limit

  • max_ageinteger

    The highest age (in years) a person may have to use this entry - null means no upper limit

Request
curl --request PUT \
  --url https://your-instance.iw-erp.de/api/cp/self_service_membership/category/42 \
  --header 'content-type: application/json' \
  --header 'x-iw-jwt-token: <TOKEN>' \
  --data '
{
  "data": {
    "id": 42,
    "name": "Beispiel",
    "image_url": "https://vynst.de",
    "membership_step": {
      "id": 42,
      "name": "Beispiel",
      "image_url": "https://vynst.de",
      "item_selection_required": true,
      "multi_selection_allowed": true,
      "only_if_no_memberships": true
    },
    "deleted": true,
    "unified_category": {
      "id": 42,
      "name": "Beispiel",
      "image_url": "https://vynst.de",
      "category_type": "string",
      "deleted": true
    }
  }
}
'
Response 200 application/json
{
  "id": 42,
  "name": "Beispiel",
  "image_url": "https://vynst.de",
  "membership_step": {
    "id": 42,
    "name": "Beispiel",
    "image_url": "https://vynst.de",
    "item_selection_required": true,
    "multi_selection_allowed": true,
    "only_if_no_memberships": true,
    "deleted": true,
    "order": 1
  },
  "items": [
    {
      "id": 42,
      "name": "Beispiel",
      "image_url": "https://vynst.de",
      "require_attachment": true,
      "attachment_label": "string",
      "attachment_hint": "string",
      "deleted": true,
      "order": 1,
      "min_age": 1,
      "max_age": 1
    }
  ],
  "deleted": true,
  "unified_category": {
    "id": 42,
    "name": "Beispiel",
    "image_url": "https://vynst.de",
    "category_type": "string",
    "deleted": true
  },
  "order": 1,
  "min_age": 1,
  "max_age": 1
}

Updates an existing SelfServiceMembershipCategory entry.

PATCH/api/cp/self_service_membership/category/{identifier}

Path parameters

identifierrequiredstring

Request body application/json

  • dataSelfServiceMembershipCategory
    Show fields (10)
    • idinteger

      Primary key of the membership category. Internal ID.

    • membership_stepSelfServiceMembershipStep3

      Membership step the category belongs to.

    • itemsarray<SelfServiceMembershipItem2>

      Membership items in the category.

    • namestring

      Name of the entity.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • unified_categoryUnifiedCategory5
    • image_urlstring

      URL of the image of the entity.

    • orderinteger

      Position of the entity in the order.

    • min_ageinteger

      The lowest age (in years) a person may have to use this entry - null means no lower limit

    • max_ageinteger

      The highest age (in years) a person may have to use this entry - null means no upper limit

Responses

200Update single SelfServiceMembershipCategorySelfServiceMembershipCategory

Show fields (10)
  • idinteger

    Primary key of the membership category. Internal ID.

  • membership_stepSelfServiceMembershipStep3

    Membership step the category belongs to.

    Show fields (8)
    • idinteger

      Primary key of the step. Internal ID.

    • item_selection_requiredboolean

      Whether an item must be selected in this step.

    • multi_selection_allowedboolean

      Whether several items may be selected.

    • only_if_no_membershipsboolean

      Whether the step is shown only without existing memberships.

    • namestring

      Name of the entity.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • image_urlstring

      URL of the image of the entity.

    • orderinteger

      Position of the entity in the order.

  • itemsarray<SelfServiceMembershipItem2>

    Membership items in the category.

    Show fields (12)
    • idinteger

      Primary key of the membership item. Internal ID.

    • required_itemSelfServiceMembershipItem2

      Membership item that is required before this one.

    • require_attachmentboolean

      This property is used to require / recommend an attachment upload. With the setting iw_self_service_membership_proofs_enabled the membership application needs a proof for this item.

    • attachment_labelstring

      Label of the proof the application asks for, e.g. "Ärztliche Verordnung" - empty means the item name

    • attachment_hintstring

      Hint shown below the proof upload, e.g. which documents are accepted

    • namestring

      Name of the entity.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • unified_categoryUnifiedCategory5
    • image_urlstring

      URL of the image of the entity.

    • orderinteger

      Position of the entity in the order.

    • min_ageinteger

      The lowest age (in years) a person may have to use this entry - null means no lower limit

    • max_ageinteger

      The highest age (in years) a person may have to use this entry - null means no upper limit

  • namestring

    Name of the entity.

  • deletedboolean

    This property is used to mark an entity as deleted / archived

  • unified_categoryUnifiedCategory5
    Show fields (5)
    • idinteger

      Primary key of the unified category. Internal ID.

    • category_typestring

      Type of the category, for example course or membership.

    • namestring

      Name of the entity.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • image_urlstring

      URL of the image of the entity.

  • image_urlstring

    URL of the image of the entity.

  • orderinteger

    Position of the entity in the order.

  • min_ageinteger

    The lowest age (in years) a person may have to use this entry - null means no lower limit

  • max_ageinteger

    The highest age (in years) a person may have to use this entry - null means no upper limit

Request
curl --request PATCH \
  --url https://your-instance.iw-erp.de/api/cp/self_service_membership/category/42 \
  --header 'content-type: application/json' \
  --header 'x-iw-jwt-token: <TOKEN>' \
  --data '
{
  "data": {
    "id": 42,
    "name": "Beispiel",
    "image_url": "https://vynst.de",
    "membership_step": {
      "id": 42,
      "name": "Beispiel",
      "image_url": "https://vynst.de",
      "item_selection_required": true,
      "multi_selection_allowed": true,
      "only_if_no_memberships": true
    },
    "deleted": true,
    "unified_category": {
      "id": 42,
      "name": "Beispiel",
      "image_url": "https://vynst.de",
      "category_type": "string",
      "deleted": true
    }
  }
}
'
Response 200 application/json
{
  "id": 42,
  "name": "Beispiel",
  "image_url": "https://vynst.de",
  "membership_step": {
    "id": 42,
    "name": "Beispiel",
    "image_url": "https://vynst.de",
    "item_selection_required": true,
    "multi_selection_allowed": true,
    "only_if_no_memberships": true,
    "deleted": true,
    "order": 1
  },
  "items": [
    {
      "id": 42,
      "name": "Beispiel",
      "image_url": "https://vynst.de",
      "require_attachment": true,
      "attachment_label": "string",
      "attachment_hint": "string",
      "deleted": true,
      "order": 1,
      "min_age": 1,
      "max_age": 1
    }
  ],
  "deleted": true,
  "unified_category": {
    "id": 42,
    "name": "Beispiel",
    "image_url": "https://vynst.de",
    "category_type": "string",
    "deleted": true
  },
  "order": 1,
  "min_age": 1,
  "max_age": 1
}

Returns a list of all MembershipFeeRuleSet

GET/api/cp/membership_fee_rule_set

Query parameters

idstring
deletedbooleanThis property is used to mark an entity as deleted / archived | Default value: false
namestring
activebooleanOnly active rule sets are used
validFromstringThe rule set applies from this date on (null: always)
adultAgestringFrom this age on a person counts as adult (role "adult"), younger as child
createdstring
updatedstring
searchStringstringtext to search for in the list
orderFieldNamestringname of the order field
orderFieldSortstringsorting modeAllowed: DESCASC
pageintegerpage of the list
pageSizeintegernumber of entries for each page
withMaxPageNumberstringreturns the number of pages available as a header if this is set

Responses

200Returns a list of all MembershipFeeRuleSetarray<MembershipFeeRuleSet>

Show fields (9)
  • rule_countinteger

    Number of rules (for lists)

  • idinteger

    Primary key of the fee rule set. Internal ID.

  • activeboolean

    Only active rule sets are used

  • valid_fromstring (date-time)

    The rule set applies from this date on (null: always)

  • adult_ageinteger

    From this age on a person counts as adult (role "adult"), younger as child

  • namestring

    Name of the entity.

  • deletedboolean

    This property is used to mark an entity as deleted / archived

  • createdstring (date-time)

    Point in time the entity was created.

  • updatedstring (date-time)

    Point in time the entity was last updated.

Request
curl --request GET \
  --url https://your-instance.iw-erp.de/api/cp/membership_fee_rule_set \
  --header 'x-iw-jwt-token: <TOKEN>'
Response 200 application/json
[
  {
    "id": 42,
    "name": "Beispiel",
    "rule_count": 1,
    "active": true,
    "valid_from": "2026-10-15T09:30:00+02:00",
    "adult_age": 1,
    "deleted": true,
    "created": "2026-10-15T09:30:00+02:00",
    "updated": "2026-10-15T09:30:00+02:00"
  }
]

Add a new MembershipFeeRuleSet

POST/api/cp/membership_fee_rule_set

Request body application/json

  • dataMembershipFeeRuleSet
    Show fields (9)
    • rule_countinteger

      Number of rules (for lists)

    • idinteger

      Primary key of the fee rule set. Internal ID.

    • activeboolean

      Only active rule sets are used

    • valid_fromstring (date-time)

      The rule set applies from this date on (null: always)

    • adult_ageinteger

      From this age on a person counts as adult (role "adult"), younger as child

    • namestring

      Name of the entity.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • createdstring (date-time)

      Point in time the entity was created.

    • updatedstring (date-time)

      Point in time the entity was last updated.

Responses

200Add a new MembershipFeeRuleSetMembershipFeeRuleSet

Show fields (9)
  • rule_countinteger

    Number of rules (for lists)

  • idinteger

    Primary key of the fee rule set. Internal ID.

  • activeboolean

    Only active rule sets are used

  • valid_fromstring (date-time)

    The rule set applies from this date on (null: always)

  • adult_ageinteger

    From this age on a person counts as adult (role "adult"), younger as child

  • namestring

    Name of the entity.

  • deletedboolean

    This property is used to mark an entity as deleted / archived

  • createdstring (date-time)

    Point in time the entity was created.

  • updatedstring (date-time)

    Point in time the entity was last updated.

Request
curl --request POST \
  --url https://your-instance.iw-erp.de/api/cp/membership_fee_rule_set \
  --header 'content-type: application/json' \
  --header 'x-iw-jwt-token: <TOKEN>' \
  --data '
{
  "data": {
    "id": 42,
    "name": "Beispiel",
    "rule_count": 1,
    "active": true,
    "valid_from": "2026-10-15T09:30:00+02:00",
    "adult_age": 1
  }
}
'
Response 200 application/json
{
  "id": 42,
  "name": "Beispiel",
  "rule_count": 1,
  "active": true,
  "valid_from": "2026-10-15T09:30:00+02:00",
  "adult_age": 1,
  "deleted": true,
  "created": "2026-10-15T09:30:00+02:00",
  "updated": "2026-10-15T09:30:00+02:00"
}

Check rules without saving: errors, warnings and the rules with normalized references

POST/api/cp/membership_fee_rule_set/validate

Request body application/json

  • rulesarray<object>

Responses

200Check resultobject

Show fields (3)
  • rulesarray<object>
  • errorsarray<string>
  • warningsarray<string>
Request
curl --request POST \
  --url https://your-instance.iw-erp.de/api/cp/membership_fee_rule_set/validate \
  --header 'content-type: application/json' \
  --header 'x-iw-jwt-token: <TOKEN>' \
  --data '{"rules":[{}]}'
Response 200 application/json
{
  "rules": [
    {}
  ],
  "errors": [
    "string"
  ],
  "warnings": [
    "string"
  ]
}

Returns a single MembershipFeeRuleSet entry.

GET/api/cp/membership_fee_rule_set/{identifier}

Path parameters

identifierrequiredstring

Responses

200Return single MembershipFeeRuleSetMembershipFeeRuleSet

Show fields (9)
  • rule_countinteger

    Number of rules (for lists)

  • idinteger

    Primary key of the fee rule set. Internal ID.

  • activeboolean

    Only active rule sets are used

  • valid_fromstring (date-time)

    The rule set applies from this date on (null: always)

  • adult_ageinteger

    From this age on a person counts as adult (role "adult"), younger as child

  • namestring

    Name of the entity.

  • deletedboolean

    This property is used to mark an entity as deleted / archived

  • createdstring (date-time)

    Point in time the entity was created.

  • updatedstring (date-time)

    Point in time the entity was last updated.

Request
curl --request GET \
  --url https://your-instance.iw-erp.de/api/cp/membership_fee_rule_set/42 \
  --header 'x-iw-jwt-token: <TOKEN>'
Response 200 application/json
{
  "id": 42,
  "name": "Beispiel",
  "rule_count": 1,
  "active": true,
  "valid_from": "2026-10-15T09:30:00+02:00",
  "adult_age": 1,
  "deleted": true,
  "created": "2026-10-15T09:30:00+02:00",
  "updated": "2026-10-15T09:30:00+02:00"
}

Updates an existing MembershipFeeRuleSet entry.

PUT/api/cp/membership_fee_rule_set/{identifier}

Path parameters

identifierrequiredstring

Request body application/json

  • dataMembershipFeeRuleSet
    Show fields (9)
    • rule_countinteger

      Number of rules (for lists)

    • idinteger

      Primary key of the fee rule set. Internal ID.

    • activeboolean

      Only active rule sets are used

    • valid_fromstring (date-time)

      The rule set applies from this date on (null: always)

    • adult_ageinteger

      From this age on a person counts as adult (role "adult"), younger as child

    • namestring

      Name of the entity.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • createdstring (date-time)

      Point in time the entity was created.

    • updatedstring (date-time)

      Point in time the entity was last updated.

Responses

200Update single MembershipFeeRuleSetMembershipFeeRuleSet

Show fields (9)
  • rule_countinteger

    Number of rules (for lists)

  • idinteger

    Primary key of the fee rule set. Internal ID.

  • activeboolean

    Only active rule sets are used

  • valid_fromstring (date-time)

    The rule set applies from this date on (null: always)

  • adult_ageinteger

    From this age on a person counts as adult (role "adult"), younger as child

  • namestring

    Name of the entity.

  • deletedboolean

    This property is used to mark an entity as deleted / archived

  • createdstring (date-time)

    Point in time the entity was created.

  • updatedstring (date-time)

    Point in time the entity was last updated.

Request
curl --request PUT \
  --url https://your-instance.iw-erp.de/api/cp/membership_fee_rule_set/42 \
  --header 'content-type: application/json' \
  --header 'x-iw-jwt-token: <TOKEN>' \
  --data '
{
  "data": {
    "id": 42,
    "name": "Beispiel",
    "rule_count": 1,
    "active": true,
    "valid_from": "2026-10-15T09:30:00+02:00",
    "adult_age": 1
  }
}
'
Response 200 application/json
{
  "id": 42,
  "name": "Beispiel",
  "rule_count": 1,
  "active": true,
  "valid_from": "2026-10-15T09:30:00+02:00",
  "adult_age": 1,
  "deleted": true,
  "created": "2026-10-15T09:30:00+02:00",
  "updated": "2026-10-15T09:30:00+02:00"
}

Updates an existing MembershipFeeRuleSet entry.

PATCH/api/cp/membership_fee_rule_set/{identifier}

Path parameters

identifierrequiredstring

Request body application/json

  • dataMembershipFeeRuleSet
    Show fields (9)
    • rule_countinteger

      Number of rules (for lists)

    • idinteger

      Primary key of the fee rule set. Internal ID.

    • activeboolean

      Only active rule sets are used

    • valid_fromstring (date-time)

      The rule set applies from this date on (null: always)

    • adult_ageinteger

      From this age on a person counts as adult (role "adult"), younger as child

    • namestring

      Name of the entity.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • createdstring (date-time)

      Point in time the entity was created.

    • updatedstring (date-time)

      Point in time the entity was last updated.

Responses

200Update single MembershipFeeRuleSetMembershipFeeRuleSet

Show fields (9)
  • rule_countinteger

    Number of rules (for lists)

  • idinteger

    Primary key of the fee rule set. Internal ID.

  • activeboolean

    Only active rule sets are used

  • valid_fromstring (date-time)

    The rule set applies from this date on (null: always)

  • adult_ageinteger

    From this age on a person counts as adult (role "adult"), younger as child

  • namestring

    Name of the entity.

  • deletedboolean

    This property is used to mark an entity as deleted / archived

  • createdstring (date-time)

    Point in time the entity was created.

  • updatedstring (date-time)

    Point in time the entity was last updated.

Request
curl --request PATCH \
  --url https://your-instance.iw-erp.de/api/cp/membership_fee_rule_set/42 \
  --header 'content-type: application/json' \
  --header 'x-iw-jwt-token: <TOKEN>' \
  --data '
{
  "data": {
    "id": 42,
    "name": "Beispiel",
    "rule_count": 1,
    "active": true,
    "valid_from": "2026-10-15T09:30:00+02:00",
    "adult_age": 1
  }
}
'
Response 200 application/json
{
  "id": 42,
  "name": "Beispiel",
  "rule_count": 1,
  "active": true,
  "valid_from": "2026-10-15T09:30:00+02:00",
  "adult_age": 1,
  "deleted": true,
  "created": "2026-10-15T09:30:00+02:00",
  "updated": "2026-10-15T09:30:00+02:00"
}

Calculate the fees of a sample household with a rule set: per person and base membership / selected item the matching rule, product, class and amount

POST/api/cp/membership_fee_rule_set/{identifier}/evaluate

Path parameters

identifierrequiredstring

Request body application/json

  • datestring

    Y-m-d, default today

  • personsarray<object>

    In household order: the first adult is the main member

    Show fields (5)
    • labelstring
    • birthdaystring
    • ageinteger
    • discountReasoninteger
    • itemsarray<integer>

Responses

200Fees per personobject

Request
curl --request POST \
  --url https://your-instance.iw-erp.de/api/cp/membership_fee_rule_set/42/evaluate \
  --header 'content-type: application/json' \
  --header 'x-iw-jwt-token: <TOKEN>' \
  --data '
{
  "date": "2026-10-15T09:30:00+02:00",
  "persons": [
    {
      "label": "string",
      "birthday": "string",
      "age": 1,
      "discountReason": 1
    }
  ]
}
'
Response 200 application/json
{}

Returns a list of all SelfServiceDiscountReason

GET/api/cp/self_service_membership/discount_reason

Query parameters

idstring
deletedbooleanThis property is used to mark an entity as deleted / archived | Default value: false
orderinteger
namestring
minAgestringThe lowest age (in years) a person may have to use this entry - null means no lower limit
maxAgestringThe highest age (in years) a person may have to use this entry - null means no upper limit
requireAttachmentbooleanThe application needs a proof (upload) for this reason
searchStringstringtext to search for in the list
orderFieldNamestringname of the order field
orderFieldSortstringsorting modeAllowed: DESCASC
pageintegerpage of the list
pageSizeintegernumber of entries for each page
withMaxPageNumberstringreturns the number of pages available as a header if this is set

Responses

200Returns a list of all SelfServiceDiscountReasonarray<SelfServiceDiscountReason>

Show fields (13)
  • idinteger

    Primary key of the discount reason. Internal ID.

  • require_attachmentboolean

    The application needs a proof (upload) for this reason

  • attachment_labelstring

    Label of the proof, e.g. "Immatrikulationsbescheinigung" - empty means "Nachweis der Ermäßigung"

  • attachment_hintstring

    Hint shown below the proof upload

  • proof_valid_until_end_of_yearboolean

    The proof is valid until the 31.12. of the year the application is sent in

  • proof_valid_monthsinteger

    The proof is valid for this many months from the application - null / 0 means no limit

  • namestring

    Name of the entity.

  • deletedboolean

    This property is used to mark an entity as deleted / archived

  • createdstring (date-time)

    Point in time the entity was created.

  • updatedstring (date-time)

    Point in time the entity was last updated.

  • orderinteger

    Position of the entity in the order.

  • min_ageinteger

    The lowest age (in years) a person may have to use this entry - null means no lower limit

  • max_ageinteger

    The highest age (in years) a person may have to use this entry - null means no upper limit

Request
curl --request GET \
  --url https://your-instance.iw-erp.de/api/cp/self_service_membership/discount_reason \
  --header 'x-iw-jwt-token: <TOKEN>'
Response 200 application/json
[
  {
    "id": 42,
    "name": "Beispiel",
    "require_attachment": true,
    "attachment_label": "string",
    "attachment_hint": "string",
    "proof_valid_until_end_of_year": true,
    "proof_valid_months": 1,
    "deleted": true,
    "created": "2026-10-15T09:30:00+02:00",
    "updated": "2026-10-15T09:30:00+02:00"
  }
]

Add a new SelfServiceDiscountReason

POST/api/cp/self_service_membership/discount_reason

Request body application/json

  • dataSelfServiceDiscountReason
    Show fields (13)
    • idinteger

      Primary key of the discount reason. Internal ID.

    • require_attachmentboolean

      The application needs a proof (upload) for this reason

    • attachment_labelstring

      Label of the proof, e.g. "Immatrikulationsbescheinigung" - empty means "Nachweis der Ermäßigung"

    • attachment_hintstring

      Hint shown below the proof upload

    • proof_valid_until_end_of_yearboolean

      The proof is valid until the 31.12. of the year the application is sent in

    • proof_valid_monthsinteger

      The proof is valid for this many months from the application - null / 0 means no limit

    • namestring

      Name of the entity.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • createdstring (date-time)

      Point in time the entity was created.

    • updatedstring (date-time)

      Point in time the entity was last updated.

    • orderinteger

      Position of the entity in the order.

    • min_ageinteger

      The lowest age (in years) a person may have to use this entry - null means no lower limit

    • max_ageinteger

      The highest age (in years) a person may have to use this entry - null means no upper limit

Responses

200Add a new SelfServiceDiscountReasonSelfServiceDiscountReason

Show fields (13)
  • idinteger

    Primary key of the discount reason. Internal ID.

  • require_attachmentboolean

    The application needs a proof (upload) for this reason

  • attachment_labelstring

    Label of the proof, e.g. "Immatrikulationsbescheinigung" - empty means "Nachweis der Ermäßigung"

  • attachment_hintstring

    Hint shown below the proof upload

  • proof_valid_until_end_of_yearboolean

    The proof is valid until the 31.12. of the year the application is sent in

  • proof_valid_monthsinteger

    The proof is valid for this many months from the application - null / 0 means no limit

  • namestring

    Name of the entity.

  • deletedboolean

    This property is used to mark an entity as deleted / archived

  • createdstring (date-time)

    Point in time the entity was created.

  • updatedstring (date-time)

    Point in time the entity was last updated.

  • orderinteger

    Position of the entity in the order.

  • min_ageinteger

    The lowest age (in years) a person may have to use this entry - null means no lower limit

  • max_ageinteger

    The highest age (in years) a person may have to use this entry - null means no upper limit

Request
curl --request POST \
  --url https://your-instance.iw-erp.de/api/cp/self_service_membership/discount_reason \
  --header 'content-type: application/json' \
  --header 'x-iw-jwt-token: <TOKEN>' \
  --data '
{
  "data": {
    "id": 42,
    "name": "Beispiel",
    "require_attachment": true,
    "attachment_label": "string",
    "attachment_hint": "string",
    "proof_valid_until_end_of_year": true
  }
}
'
Response 200 application/json
{
  "id": 42,
  "name": "Beispiel",
  "require_attachment": true,
  "attachment_label": "string",
  "attachment_hint": "string",
  "proof_valid_until_end_of_year": true,
  "proof_valid_months": 1,
  "deleted": true,
  "created": "2026-10-15T09:30:00+02:00",
  "updated": "2026-10-15T09:30:00+02:00"
}

Returns a single SelfServiceDiscountReason entry.

GET/api/cp/self_service_membership/discount_reason/{identifier}

Path parameters

identifierrequiredstring

Responses

200Return single SelfServiceDiscountReasonSelfServiceDiscountReason

Show fields (13)
  • idinteger

    Primary key of the discount reason. Internal ID.

  • require_attachmentboolean

    The application needs a proof (upload) for this reason

  • attachment_labelstring

    Label of the proof, e.g. "Immatrikulationsbescheinigung" - empty means "Nachweis der Ermäßigung"

  • attachment_hintstring

    Hint shown below the proof upload

  • proof_valid_until_end_of_yearboolean

    The proof is valid until the 31.12. of the year the application is sent in

  • proof_valid_monthsinteger

    The proof is valid for this many months from the application - null / 0 means no limit

  • namestring

    Name of the entity.

  • deletedboolean

    This property is used to mark an entity as deleted / archived

  • createdstring (date-time)

    Point in time the entity was created.

  • updatedstring (date-time)

    Point in time the entity was last updated.

  • orderinteger

    Position of the entity in the order.

  • min_ageinteger

    The lowest age (in years) a person may have to use this entry - null means no lower limit

  • max_ageinteger

    The highest age (in years) a person may have to use this entry - null means no upper limit

Request
curl --request GET \
  --url https://your-instance.iw-erp.de/api/cp/self_service_membership/discount_reason/42 \
  --header 'x-iw-jwt-token: <TOKEN>'
Response 200 application/json
{
  "id": 42,
  "name": "Beispiel",
  "require_attachment": true,
  "attachment_label": "string",
  "attachment_hint": "string",
  "proof_valid_until_end_of_year": true,
  "proof_valid_months": 1,
  "deleted": true,
  "created": "2026-10-15T09:30:00+02:00",
  "updated": "2026-10-15T09:30:00+02:00"
}

Updates an existing SelfServiceDiscountReason entry.

PUT/api/cp/self_service_membership/discount_reason/{identifier}

Path parameters

identifierrequiredstring

Request body application/json

  • dataSelfServiceDiscountReason
    Show fields (13)
    • idinteger

      Primary key of the discount reason. Internal ID.

    • require_attachmentboolean

      The application needs a proof (upload) for this reason

    • attachment_labelstring

      Label of the proof, e.g. "Immatrikulationsbescheinigung" - empty means "Nachweis der Ermäßigung"

    • attachment_hintstring

      Hint shown below the proof upload

    • proof_valid_until_end_of_yearboolean

      The proof is valid until the 31.12. of the year the application is sent in

    • proof_valid_monthsinteger

      The proof is valid for this many months from the application - null / 0 means no limit

    • namestring

      Name of the entity.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • createdstring (date-time)

      Point in time the entity was created.

    • updatedstring (date-time)

      Point in time the entity was last updated.

    • orderinteger

      Position of the entity in the order.

    • min_ageinteger

      The lowest age (in years) a person may have to use this entry - null means no lower limit

    • max_ageinteger

      The highest age (in years) a person may have to use this entry - null means no upper limit

Responses

200Update single SelfServiceDiscountReasonSelfServiceDiscountReason

Show fields (13)
  • idinteger

    Primary key of the discount reason. Internal ID.

  • require_attachmentboolean

    The application needs a proof (upload) for this reason

  • attachment_labelstring

    Label of the proof, e.g. "Immatrikulationsbescheinigung" - empty means "Nachweis der Ermäßigung"

  • attachment_hintstring

    Hint shown below the proof upload

  • proof_valid_until_end_of_yearboolean

    The proof is valid until the 31.12. of the year the application is sent in

  • proof_valid_monthsinteger

    The proof is valid for this many months from the application - null / 0 means no limit

  • namestring

    Name of the entity.

  • deletedboolean

    This property is used to mark an entity as deleted / archived

  • createdstring (date-time)

    Point in time the entity was created.

  • updatedstring (date-time)

    Point in time the entity was last updated.

  • orderinteger

    Position of the entity in the order.

  • min_ageinteger

    The lowest age (in years) a person may have to use this entry - null means no lower limit

  • max_ageinteger

    The highest age (in years) a person may have to use this entry - null means no upper limit

Request
curl --request PUT \
  --url https://your-instance.iw-erp.de/api/cp/self_service_membership/discount_reason/42 \
  --header 'content-type: application/json' \
  --header 'x-iw-jwt-token: <TOKEN>' \
  --data '
{
  "data": {
    "id": 42,
    "name": "Beispiel",
    "require_attachment": true,
    "attachment_label": "string",
    "attachment_hint": "string",
    "proof_valid_until_end_of_year": true
  }
}
'
Response 200 application/json
{
  "id": 42,
  "name": "Beispiel",
  "require_attachment": true,
  "attachment_label": "string",
  "attachment_hint": "string",
  "proof_valid_until_end_of_year": true,
  "proof_valid_months": 1,
  "deleted": true,
  "created": "2026-10-15T09:30:00+02:00",
  "updated": "2026-10-15T09:30:00+02:00"
}

Updates an existing SelfServiceDiscountReason entry.

PATCH/api/cp/self_service_membership/discount_reason/{identifier}

Path parameters

identifierrequiredstring

Request body application/json

  • dataSelfServiceDiscountReason
    Show fields (13)
    • idinteger

      Primary key of the discount reason. Internal ID.

    • require_attachmentboolean

      The application needs a proof (upload) for this reason

    • attachment_labelstring

      Label of the proof, e.g. "Immatrikulationsbescheinigung" - empty means "Nachweis der Ermäßigung"

    • attachment_hintstring

      Hint shown below the proof upload

    • proof_valid_until_end_of_yearboolean

      The proof is valid until the 31.12. of the year the application is sent in

    • proof_valid_monthsinteger

      The proof is valid for this many months from the application - null / 0 means no limit

    • namestring

      Name of the entity.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • createdstring (date-time)

      Point in time the entity was created.

    • updatedstring (date-time)

      Point in time the entity was last updated.

    • orderinteger

      Position of the entity in the order.

    • min_ageinteger

      The lowest age (in years) a person may have to use this entry - null means no lower limit

    • max_ageinteger

      The highest age (in years) a person may have to use this entry - null means no upper limit

Responses

200Update single SelfServiceDiscountReasonSelfServiceDiscountReason

Show fields (13)
  • idinteger

    Primary key of the discount reason. Internal ID.

  • require_attachmentboolean

    The application needs a proof (upload) for this reason

  • attachment_labelstring

    Label of the proof, e.g. "Immatrikulationsbescheinigung" - empty means "Nachweis der Ermäßigung"

  • attachment_hintstring

    Hint shown below the proof upload

  • proof_valid_until_end_of_yearboolean

    The proof is valid until the 31.12. of the year the application is sent in

  • proof_valid_monthsinteger

    The proof is valid for this many months from the application - null / 0 means no limit

  • namestring

    Name of the entity.

  • deletedboolean

    This property is used to mark an entity as deleted / archived

  • createdstring (date-time)

    Point in time the entity was created.

  • updatedstring (date-time)

    Point in time the entity was last updated.

  • orderinteger

    Position of the entity in the order.

  • min_ageinteger

    The lowest age (in years) a person may have to use this entry - null means no lower limit

  • max_ageinteger

    The highest age (in years) a person may have to use this entry - null means no upper limit

Request
curl --request PATCH \
  --url https://your-instance.iw-erp.de/api/cp/self_service_membership/discount_reason/42 \
  --header 'content-type: application/json' \
  --header 'x-iw-jwt-token: <TOKEN>' \
  --data '
{
  "data": {
    "id": 42,
    "name": "Beispiel",
    "require_attachment": true,
    "attachment_label": "string",
    "attachment_hint": "string",
    "proof_valid_until_end_of_year": true
  }
}
'
Response 200 application/json
{
  "id": 42,
  "name": "Beispiel",
  "require_attachment": true,
  "attachment_label": "string",
  "attachment_hint": "string",
  "proof_valid_until_end_of_year": true,
  "proof_valid_months": 1,
  "deleted": true,
  "created": "2026-10-15T09:30:00+02:00",
  "updated": "2026-10-15T09:30:00+02:00"
}

Rules of the membership application

GET/api/cp/self_service_membership/application_config

Responses

200Rules of the membership applicationobject

Show fields (13)
  • entry_date_enabledboolean

    Desired entry date offered (club mode)

  • entry_date_first_of_monthboolean
  • entry_date_max_months_aheadinteger

    0 = unlimited

  • entry_date_earlieststring (date)
  • entry_date_lateststring (date)
  • proofs_enabledboolean
  • discount_reasons_enabledboolean
  • item_coverage_enabledboolean
  • discount_reasonsarray<object>
  • fee_rules_enabledboolean

    The fee rules decide the membership class

  • fee_rules_class_step_idinteger

    Wizard step of the classes, hidden in the app

  • fee_rules_price_previewboolean

    Show the expected fee (price_preview)

  • fee_rules_preview_hintstring
Request
curl --request GET \
  --url https://your-instance.iw-erp.de/api/cp/self_service_membership/application_config \
  --header 'x-iw-jwt-token: <TOKEN>'
Response 200 application/json
{
  "entry_date_enabled": true,
  "entry_date_first_of_month": true,
  "entry_date_max_months_ahead": 1,
  "entry_date_earliest": "2026-10-15",
  "entry_date_latest": "2026-10-15",
  "proofs_enabled": true,
  "discount_reasons_enabled": true,
  "item_coverage_enabled": true,
  "discount_reasons": [
    {}
  ],
  "fee_rules_enabled": true
}

Membership class and expected fee of an application in progress, from the fee rule set that applies at the desired entry date (setting iw_self_service_membership_fee_rules_enabled). The household of the selected account joins the evaluation (setting iw_self_service_membership_fee_rules_household).

POST/api/cp/self_service_membership/price_preview

Request body application/json

  • personIdinteger

    Existing person of the account the application is for

  • birthdaystring (date)

    Birthday of a new person

  • discountReasonIdinteger
  • itemsarray<integer>

    Selected wizard items

  • desiredEntryDatestring (date)

Responses

200Class and feeobject

Show fields (6)
  • availableboolean

    false: no rule set applies (message)

  • classstring
  • class_itemobject
  • linesarray<object>
  • total_monthlynumber
  • total_oncenumber
Request
curl --request POST \
  --url https://your-instance.iw-erp.de/api/cp/self_service_membership/price_preview \
  --header 'content-type: application/json' \
  --header 'x-iw-jwt-token: <TOKEN>' \
  --data '
{
  "personId": 42,
  "birthday": "2026-10-15",
  "discountReasonId": 42,
  "items": [
    1
  ],
  "desiredEntryDate": "2026-10-15"
}
'
Response 200 application/json
{
  "available": true,
  "class": "string",
  "lines": [
    {}
  ],
  "total_monthly": 1.5,
  "total_once": 1.5
}

Returns a list of all SelfServiceMembershipItem

GET/api/cp/self_service_membership/item

Query parameters

idstring
deletedbooleanThis property is used to mark an entity as deleted / archived | Default value: false
orderinteger
namestring
unifiedCategorystring
minAgestringThe lowest age (in years) a person may have to use this entry - null means no lower limit
maxAgestringThe highest age (in years) a person may have to use this entry - null means no upper limit
searchStringstringtext to search for in the list
orderFieldNamestringname of the order field
orderFieldSortstringsorting modeAllowed: DESCASC
pageintegerpage of the list
pageSizeintegernumber of entries for each page
withMaxPageNumberstringreturns the number of pages available as a header if this is set

Responses

200Returns a list of all SelfServiceMembershipItemarray<SelfServiceMembershipItem>

Show fields (17)
  • idinteger

    Primary key of the membership item. Internal ID.

  • productsarray<PredefinedBillingItem4>

    Billing items of the membership item.

    Show fields (23)
    • idinteger

      Primary key of the mapped billing item. Internal ID.

    • namestringrequired

      Name of the billing item.

    • descriptionstringrequired

      Description of the billing item shown to the customer.

    • fixed_pricenumber (float)

      Fixed price billed.

    • fixed_price_base_unitnumber (float)

      Base unit for the fixed price.

    • billing_typeBillingItemType6

      Billing item type.

    • recurrenceCRMRecurrence

      Recurrence the billing item follows.

    • deletedboolean

      Whether the billing item is deleted.

    • sub_self_service_addboolean

      Whether members can add the subscription themselves.

    • sub_self_service_add_fixed_pricenumber (float)

      Fixed price charged when members add the subscription themselves.

    • price_is_bruttoboolean

      Whether the prices are gross prices including tax.

    • skustring

      Artikelnummer (Stock Keeping Unit)

    • barcodestring

      Barcode (ISBN, UPC, GTIN usw.)

    • is_preferredboolean

      The item is preferred and shown first.

    • is_defaultboolean

      The item is the default for its type.

    • is_discountboolean

      The item is a discount.

    • is_freeboolean

      The item is free of charge.

    • is_passiveboolean

      The item is passive and cannot be selected anymore.

    • is_globalboolean

      The item is available for all companies.

    • 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 guarantee of durability in years (whole or .5 steps), basis for the EU GARAN label.

    • producer_brandstring

      Hersteller / Marke, die die Haltbarkeitsgarantie gibt - editierbares Feld "Brand/Trademark" des EU GARAN Labels. Producer / brand offering the commercial guarantee of durability.

    • ucatsarray<UnifiedCategory5>

      Unified categories of the entity.

    • orderinteger

      Position of the entity in the order.

  • categoriesarray<SelfServiceMembershipCategory3>

    Categories of the membership item.

    Show fields (8)
    • idinteger

      Primary key of the membership category. Internal ID.

    • namestring

      Name of the entity.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • unified_categoryUnifiedCategory5
    • image_urlstring

      URL of the image of the entity.

    • orderinteger

      Position of the entity in the order.

    • min_ageinteger

      The lowest age (in years) a person may have to use this entry - null means no lower limit

    • max_ageinteger

      The highest age (in years) a person may have to use this entry - null means no upper limit

  • required_itemSelfServiceMembershipItem

    Membership item that is required before this one.

  • disable_for_flat_listboolean

    This property is used to skip this item in the flat list of items. e.g. used on the website plugin

  • require_attachmentboolean

    This property is used to require / recommend an attachment upload. With the setting iw_self_service_membership_proofs_enabled the membership application needs a proof for this item.

  • attachment_labelstring

    Label of the proof the application asks for, e.g. "Ärztliche Verordnung" - empty means the item name

  • attachment_hintstring

    Hint shown below the proof upload, e.g. which documents are accepted

  • covered_itemsarray<SelfServiceMembershipItem>

    Items this item already includes (e.g. the studio covers yoga). With the setting iw_self_service_membership_item_coverage_enabled they are hidden in the same application.

  • require_billingboolean

    This property is used to require billing for this item

  • namestring

    Name of the entity.

  • deletedboolean

    This property is used to mark an entity as deleted / archived

  • unified_categoryUnifiedCategory5
    Show fields (5)
    • idinteger

      Primary key of the unified category. Internal ID.

    • category_typestring

      Type of the category, for example course or membership.

    • namestring

      Name of the entity.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • image_urlstring

      URL of the image of the entity.

  • image_urlstring

    URL of the image of the entity.

  • orderinteger

    Position of the entity in the order.

  • min_ageinteger

    The lowest age (in years) a person may have to use this entry - null means no lower limit

  • max_ageinteger

    The highest age (in years) a person may have to use this entry - null means no upper limit

Request
curl --request GET \
  --url https://your-instance.iw-erp.de/api/cp/self_service_membership/item \
  --header 'x-iw-jwt-token: <TOKEN>'
Response 200 application/json
[
  {
    "id": 42,
    "name": "Beispiel",
    "image_url": "https://vynst.de",
    "disable_for_flat_list": true,
    "require_attachment": true,
    "attachment_label": "string",
    "attachment_hint": "string",
    "require_billing": true,
    "deleted": true,
    "unified_category": {
      "id": 42,
      "name": "Beispiel",
      "image_url": "https://vynst.de",
      "category_type": "string",
      "deleted": true
    }
  }
]

Add a new SelfServiceMembershipItem

POST/api/cp/self_service_membership/item

Request body application/json

  • dataSelfServiceMembershipItem
    Show fields (17)
    • idinteger

      Primary key of the membership item. Internal ID.

    • productsarray<PredefinedBillingItem4>

      Billing items of the membership item.

    • categoriesarray<SelfServiceMembershipCategory3>

      Categories of the membership item.

    • required_itemSelfServiceMembershipItem

      Membership item that is required before this one.

    • disable_for_flat_listboolean

      This property is used to skip this item in the flat list of items. e.g. used on the website plugin

    • require_attachmentboolean

      This property is used to require / recommend an attachment upload. With the setting iw_self_service_membership_proofs_enabled the membership application needs a proof for this item.

    • attachment_labelstring

      Label of the proof the application asks for, e.g. "Ärztliche Verordnung" - empty means the item name

    • attachment_hintstring

      Hint shown below the proof upload, e.g. which documents are accepted

    • covered_itemsarray<SelfServiceMembershipItem>

      Items this item already includes (e.g. the studio covers yoga). With the setting iw_self_service_membership_item_coverage_enabled they are hidden in the same application.

    • require_billingboolean

      This property is used to require billing for this item

    • namestring

      Name of the entity.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • unified_categoryUnifiedCategory5
    • image_urlstring

      URL of the image of the entity.

    • orderinteger

      Position of the entity in the order.

    • min_ageinteger

      The lowest age (in years) a person may have to use this entry - null means no lower limit

    • max_ageinteger

      The highest age (in years) a person may have to use this entry - null means no upper limit

Responses

200Add a new SelfServiceMembershipItemSelfServiceMembershipItem

Show fields (17)
  • idinteger

    Primary key of the membership item. Internal ID.

  • productsarray<PredefinedBillingItem4>

    Billing items of the membership item.

    Show fields (23)
    • idinteger

      Primary key of the mapped billing item. Internal ID.

    • namestringrequired

      Name of the billing item.

    • descriptionstringrequired

      Description of the billing item shown to the customer.

    • fixed_pricenumber (float)

      Fixed price billed.

    • fixed_price_base_unitnumber (float)

      Base unit for the fixed price.

    • billing_typeBillingItemType6

      Billing item type.

    • recurrenceCRMRecurrence

      Recurrence the billing item follows.

    • deletedboolean

      Whether the billing item is deleted.

    • sub_self_service_addboolean

      Whether members can add the subscription themselves.

    • sub_self_service_add_fixed_pricenumber (float)

      Fixed price charged when members add the subscription themselves.

    • price_is_bruttoboolean

      Whether the prices are gross prices including tax.

    • skustring

      Artikelnummer (Stock Keeping Unit)

    • barcodestring

      Barcode (ISBN, UPC, GTIN usw.)

    • is_preferredboolean

      The item is preferred and shown first.

    • is_defaultboolean

      The item is the default for its type.

    • is_discountboolean

      The item is a discount.

    • is_freeboolean

      The item is free of charge.

    • is_passiveboolean

      The item is passive and cannot be selected anymore.

    • is_globalboolean

      The item is available for all companies.

    • 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 guarantee of durability in years (whole or .5 steps), basis for the EU GARAN label.

    • producer_brandstring

      Hersteller / Marke, die die Haltbarkeitsgarantie gibt - editierbares Feld "Brand/Trademark" des EU GARAN Labels. Producer / brand offering the commercial guarantee of durability.

    • ucatsarray<UnifiedCategory5>

      Unified categories of the entity.

    • orderinteger

      Position of the entity in the order.

  • categoriesarray<SelfServiceMembershipCategory3>

    Categories of the membership item.

    Show fields (8)
    • idinteger

      Primary key of the membership category. Internal ID.

    • namestring

      Name of the entity.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • unified_categoryUnifiedCategory5
    • image_urlstring

      URL of the image of the entity.

    • orderinteger

      Position of the entity in the order.

    • min_ageinteger

      The lowest age (in years) a person may have to use this entry - null means no lower limit

    • max_ageinteger

      The highest age (in years) a person may have to use this entry - null means no upper limit

  • required_itemSelfServiceMembershipItem

    Membership item that is required before this one.

  • disable_for_flat_listboolean

    This property is used to skip this item in the flat list of items. e.g. used on the website plugin

  • require_attachmentboolean

    This property is used to require / recommend an attachment upload. With the setting iw_self_service_membership_proofs_enabled the membership application needs a proof for this item.

  • attachment_labelstring

    Label of the proof the application asks for, e.g. "Ärztliche Verordnung" - empty means the item name

  • attachment_hintstring

    Hint shown below the proof upload, e.g. which documents are accepted

  • covered_itemsarray<SelfServiceMembershipItem>

    Items this item already includes (e.g. the studio covers yoga). With the setting iw_self_service_membership_item_coverage_enabled they are hidden in the same application.

  • require_billingboolean

    This property is used to require billing for this item

  • namestring

    Name of the entity.

  • deletedboolean

    This property is used to mark an entity as deleted / archived

  • unified_categoryUnifiedCategory5
    Show fields (5)
    • idinteger

      Primary key of the unified category. Internal ID.

    • category_typestring

      Type of the category, for example course or membership.

    • namestring

      Name of the entity.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • image_urlstring

      URL of the image of the entity.

  • image_urlstring

    URL of the image of the entity.

  • orderinteger

    Position of the entity in the order.

  • min_ageinteger

    The lowest age (in years) a person may have to use this entry - null means no lower limit

  • max_ageinteger

    The highest age (in years) a person may have to use this entry - null means no upper limit

Request
curl --request POST \
  --url https://your-instance.iw-erp.de/api/cp/self_service_membership/item \
  --header 'content-type: application/json' \
  --header 'x-iw-jwt-token: <TOKEN>' \
  --data '
{
  "data": {
    "id": 42,
    "name": "Beispiel",
    "image_url": "https://vynst.de",
    "disable_for_flat_list": true,
    "require_attachment": true,
    "attachment_label": "string"
  }
}
'
Response 200 application/json
{
  "id": 42,
  "name": "Beispiel",
  "image_url": "https://vynst.de",
  "products": [
    {
      "name": "Beispiel",
      "description": "Text",
      "id": 42,
      "fixed_price": 49.9,
      "fixed_price_base_unit": 49.9,
      "deleted": true,
      "sub_self_service_add": true,
      "sub_self_service_add_fixed_price": 49.9,
      "price_is_brutto": true,
      "sku": "string"
    }
  ],
  "categories": [
    {
      "id": 42,
      "name": "Beispiel",
      "image_url": "https://vynst.de",
      "deleted": true,
      "order": 1,
      "min_age": 1,
      "max_age": 1
    }
  ],
  "disable_for_flat_list": true,
  "require_attachment": true,
  "attachment_label": "string",
  "attachment_hint": "string",
  "require_billing": true
}

Returns a single SelfServiceMembershipItem entry.

GET/api/cp/self_service_membership/item/{identifier}

Path parameters

identifierrequiredstring

Responses

200Return single SelfServiceMembershipItemSelfServiceMembershipItem

Show fields (17)
  • idinteger

    Primary key of the membership item. Internal ID.

  • productsarray<PredefinedBillingItem4>

    Billing items of the membership item.

    Show fields (23)
    • idinteger

      Primary key of the mapped billing item. Internal ID.

    • namestringrequired

      Name of the billing item.

    • descriptionstringrequired

      Description of the billing item shown to the customer.

    • fixed_pricenumber (float)

      Fixed price billed.

    • fixed_price_base_unitnumber (float)

      Base unit for the fixed price.

    • billing_typeBillingItemType6

      Billing item type.

    • recurrenceCRMRecurrence

      Recurrence the billing item follows.

    • deletedboolean

      Whether the billing item is deleted.

    • sub_self_service_addboolean

      Whether members can add the subscription themselves.

    • sub_self_service_add_fixed_pricenumber (float)

      Fixed price charged when members add the subscription themselves.

    • price_is_bruttoboolean

      Whether the prices are gross prices including tax.

    • skustring

      Artikelnummer (Stock Keeping Unit)

    • barcodestring

      Barcode (ISBN, UPC, GTIN usw.)

    • is_preferredboolean

      The item is preferred and shown first.

    • is_defaultboolean

      The item is the default for its type.

    • is_discountboolean

      The item is a discount.

    • is_freeboolean

      The item is free of charge.

    • is_passiveboolean

      The item is passive and cannot be selected anymore.

    • is_globalboolean

      The item is available for all companies.

    • 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 guarantee of durability in years (whole or .5 steps), basis for the EU GARAN label.

    • producer_brandstring

      Hersteller / Marke, die die Haltbarkeitsgarantie gibt - editierbares Feld "Brand/Trademark" des EU GARAN Labels. Producer / brand offering the commercial guarantee of durability.

    • ucatsarray<UnifiedCategory5>

      Unified categories of the entity.

    • orderinteger

      Position of the entity in the order.

  • categoriesarray<SelfServiceMembershipCategory3>

    Categories of the membership item.

    Show fields (8)
    • idinteger

      Primary key of the membership category. Internal ID.

    • namestring

      Name of the entity.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • unified_categoryUnifiedCategory5
    • image_urlstring

      URL of the image of the entity.

    • orderinteger

      Position of the entity in the order.

    • min_ageinteger

      The lowest age (in years) a person may have to use this entry - null means no lower limit

    • max_ageinteger

      The highest age (in years) a person may have to use this entry - null means no upper limit

  • required_itemSelfServiceMembershipItem

    Membership item that is required before this one.

  • disable_for_flat_listboolean

    This property is used to skip this item in the flat list of items. e.g. used on the website plugin

  • require_attachmentboolean

    This property is used to require / recommend an attachment upload. With the setting iw_self_service_membership_proofs_enabled the membership application needs a proof for this item.

  • attachment_labelstring

    Label of the proof the application asks for, e.g. "Ärztliche Verordnung" - empty means the item name

  • attachment_hintstring

    Hint shown below the proof upload, e.g. which documents are accepted

  • covered_itemsarray<SelfServiceMembershipItem>

    Items this item already includes (e.g. the studio covers yoga). With the setting iw_self_service_membership_item_coverage_enabled they are hidden in the same application.

  • require_billingboolean

    This property is used to require billing for this item

  • namestring

    Name of the entity.

  • deletedboolean

    This property is used to mark an entity as deleted / archived

  • unified_categoryUnifiedCategory5
    Show fields (5)
    • idinteger

      Primary key of the unified category. Internal ID.

    • category_typestring

      Type of the category, for example course or membership.

    • namestring

      Name of the entity.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • image_urlstring

      URL of the image of the entity.

  • image_urlstring

    URL of the image of the entity.

  • orderinteger

    Position of the entity in the order.

  • min_ageinteger

    The lowest age (in years) a person may have to use this entry - null means no lower limit

  • max_ageinteger

    The highest age (in years) a person may have to use this entry - null means no upper limit

Request
curl --request GET \
  --url https://your-instance.iw-erp.de/api/cp/self_service_membership/item/42 \
  --header 'x-iw-jwt-token: <TOKEN>'
Response 200 application/json
{
  "id": 42,
  "name": "Beispiel",
  "image_url": "https://vynst.de",
  "products": [
    {
      "name": "Beispiel",
      "description": "Text",
      "id": 42,
      "fixed_price": 49.9,
      "fixed_price_base_unit": 49.9,
      "deleted": true,
      "sub_self_service_add": true,
      "sub_self_service_add_fixed_price": 49.9,
      "price_is_brutto": true,
      "sku": "string"
    }
  ],
  "categories": [
    {
      "id": 42,
      "name": "Beispiel",
      "image_url": "https://vynst.de",
      "deleted": true,
      "order": 1,
      "min_age": 1,
      "max_age": 1
    }
  ],
  "disable_for_flat_list": true,
  "require_attachment": true,
  "attachment_label": "string",
  "attachment_hint": "string",
  "require_billing": true
}

Updates an existing SelfServiceMembershipItem entry.

PUT/api/cp/self_service_membership/item/{identifier}

Path parameters

identifierrequiredstring

Request body application/json

  • dataSelfServiceMembershipItem
    Show fields (17)
    • idinteger

      Primary key of the membership item. Internal ID.

    • productsarray<PredefinedBillingItem4>

      Billing items of the membership item.

    • categoriesarray<SelfServiceMembershipCategory3>

      Categories of the membership item.

    • required_itemSelfServiceMembershipItem

      Membership item that is required before this one.

    • disable_for_flat_listboolean

      This property is used to skip this item in the flat list of items. e.g. used on the website plugin

    • require_attachmentboolean

      This property is used to require / recommend an attachment upload. With the setting iw_self_service_membership_proofs_enabled the membership application needs a proof for this item.

    • attachment_labelstring

      Label of the proof the application asks for, e.g. "Ärztliche Verordnung" - empty means the item name

    • attachment_hintstring

      Hint shown below the proof upload, e.g. which documents are accepted

    • covered_itemsarray<SelfServiceMembershipItem>

      Items this item already includes (e.g. the studio covers yoga). With the setting iw_self_service_membership_item_coverage_enabled they are hidden in the same application.

    • require_billingboolean

      This property is used to require billing for this item

    • namestring

      Name of the entity.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • unified_categoryUnifiedCategory5
    • image_urlstring

      URL of the image of the entity.

    • orderinteger

      Position of the entity in the order.

    • min_ageinteger

      The lowest age (in years) a person may have to use this entry - null means no lower limit

    • max_ageinteger

      The highest age (in years) a person may have to use this entry - null means no upper limit

Responses

200Update single SelfServiceMembershipItemSelfServiceMembershipItem

Show fields (17)
  • idinteger

    Primary key of the membership item. Internal ID.

  • productsarray<PredefinedBillingItem4>

    Billing items of the membership item.

    Show fields (23)
    • idinteger

      Primary key of the mapped billing item. Internal ID.

    • namestringrequired

      Name of the billing item.

    • descriptionstringrequired

      Description of the billing item shown to the customer.

    • fixed_pricenumber (float)

      Fixed price billed.

    • fixed_price_base_unitnumber (float)

      Base unit for the fixed price.

    • billing_typeBillingItemType6

      Billing item type.

    • recurrenceCRMRecurrence

      Recurrence the billing item follows.

    • deletedboolean

      Whether the billing item is deleted.

    • sub_self_service_addboolean

      Whether members can add the subscription themselves.

    • sub_self_service_add_fixed_pricenumber (float)

      Fixed price charged when members add the subscription themselves.

    • price_is_bruttoboolean

      Whether the prices are gross prices including tax.

    • skustring

      Artikelnummer (Stock Keeping Unit)

    • barcodestring

      Barcode (ISBN, UPC, GTIN usw.)

    • is_preferredboolean

      The item is preferred and shown first.

    • is_defaultboolean

      The item is the default for its type.

    • is_discountboolean

      The item is a discount.

    • is_freeboolean

      The item is free of charge.

    • is_passiveboolean

      The item is passive and cannot be selected anymore.

    • is_globalboolean

      The item is available for all companies.

    • 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 guarantee of durability in years (whole or .5 steps), basis for the EU GARAN label.

    • producer_brandstring

      Hersteller / Marke, die die Haltbarkeitsgarantie gibt - editierbares Feld "Brand/Trademark" des EU GARAN Labels. Producer / brand offering the commercial guarantee of durability.

    • ucatsarray<UnifiedCategory5>

      Unified categories of the entity.

    • orderinteger

      Position of the entity in the order.

  • categoriesarray<SelfServiceMembershipCategory3>

    Categories of the membership item.

    Show fields (8)
    • idinteger

      Primary key of the membership category. Internal ID.

    • namestring

      Name of the entity.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • unified_categoryUnifiedCategory5
    • image_urlstring

      URL of the image of the entity.

    • orderinteger

      Position of the entity in the order.

    • min_ageinteger

      The lowest age (in years) a person may have to use this entry - null means no lower limit

    • max_ageinteger

      The highest age (in years) a person may have to use this entry - null means no upper limit

  • required_itemSelfServiceMembershipItem

    Membership item that is required before this one.

  • disable_for_flat_listboolean

    This property is used to skip this item in the flat list of items. e.g. used on the website plugin

  • require_attachmentboolean

    This property is used to require / recommend an attachment upload. With the setting iw_self_service_membership_proofs_enabled the membership application needs a proof for this item.

  • attachment_labelstring

    Label of the proof the application asks for, e.g. "Ärztliche Verordnung" - empty means the item name

  • attachment_hintstring

    Hint shown below the proof upload, e.g. which documents are accepted

  • covered_itemsarray<SelfServiceMembershipItem>

    Items this item already includes (e.g. the studio covers yoga). With the setting iw_self_service_membership_item_coverage_enabled they are hidden in the same application.

  • require_billingboolean

    This property is used to require billing for this item

  • namestring

    Name of the entity.

  • deletedboolean

    This property is used to mark an entity as deleted / archived

  • unified_categoryUnifiedCategory5
    Show fields (5)
    • idinteger

      Primary key of the unified category. Internal ID.

    • category_typestring

      Type of the category, for example course or membership.

    • namestring

      Name of the entity.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • image_urlstring

      URL of the image of the entity.

  • image_urlstring

    URL of the image of the entity.

  • orderinteger

    Position of the entity in the order.

  • min_ageinteger

    The lowest age (in years) a person may have to use this entry - null means no lower limit

  • max_ageinteger

    The highest age (in years) a person may have to use this entry - null means no upper limit

Request
curl --request PUT \
  --url https://your-instance.iw-erp.de/api/cp/self_service_membership/item/42 \
  --header 'content-type: application/json' \
  --header 'x-iw-jwt-token: <TOKEN>' \
  --data '
{
  "data": {
    "id": 42,
    "name": "Beispiel",
    "image_url": "https://vynst.de",
    "disable_for_flat_list": true,
    "require_attachment": true,
    "attachment_label": "string"
  }
}
'
Response 200 application/json
{
  "id": 42,
  "name": "Beispiel",
  "image_url": "https://vynst.de",
  "products": [
    {
      "name": "Beispiel",
      "description": "Text",
      "id": 42,
      "fixed_price": 49.9,
      "fixed_price_base_unit": 49.9,
      "deleted": true,
      "sub_self_service_add": true,
      "sub_self_service_add_fixed_price": 49.9,
      "price_is_brutto": true,
      "sku": "string"
    }
  ],
  "categories": [
    {
      "id": 42,
      "name": "Beispiel",
      "image_url": "https://vynst.de",
      "deleted": true,
      "order": 1,
      "min_age": 1,
      "max_age": 1
    }
  ],
  "disable_for_flat_list": true,
  "require_attachment": true,
  "attachment_label": "string",
  "attachment_hint": "string",
  "require_billing": true
}

Updates an existing SelfServiceMembershipItem entry.

PATCH/api/cp/self_service_membership/item/{identifier}

Path parameters

identifierrequiredstring

Request body application/json

  • dataSelfServiceMembershipItem
    Show fields (17)
    • idinteger

      Primary key of the membership item. Internal ID.

    • productsarray<PredefinedBillingItem4>

      Billing items of the membership item.

    • categoriesarray<SelfServiceMembershipCategory3>

      Categories of the membership item.

    • required_itemSelfServiceMembershipItem

      Membership item that is required before this one.

    • disable_for_flat_listboolean

      This property is used to skip this item in the flat list of items. e.g. used on the website plugin

    • require_attachmentboolean

      This property is used to require / recommend an attachment upload. With the setting iw_self_service_membership_proofs_enabled the membership application needs a proof for this item.

    • attachment_labelstring

      Label of the proof the application asks for, e.g. "Ärztliche Verordnung" - empty means the item name

    • attachment_hintstring

      Hint shown below the proof upload, e.g. which documents are accepted

    • covered_itemsarray<SelfServiceMembershipItem>

      Items this item already includes (e.g. the studio covers yoga). With the setting iw_self_service_membership_item_coverage_enabled they are hidden in the same application.

    • require_billingboolean

      This property is used to require billing for this item

    • namestring

      Name of the entity.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • unified_categoryUnifiedCategory5
    • image_urlstring

      URL of the image of the entity.

    • orderinteger

      Position of the entity in the order.

    • min_ageinteger

      The lowest age (in years) a person may have to use this entry - null means no lower limit

    • max_ageinteger

      The highest age (in years) a person may have to use this entry - null means no upper limit

Responses

200Update single SelfServiceMembershipItemSelfServiceMembershipItem

Show fields (17)
  • idinteger

    Primary key of the membership item. Internal ID.

  • productsarray<PredefinedBillingItem4>

    Billing items of the membership item.

    Show fields (23)
    • idinteger

      Primary key of the mapped billing item. Internal ID.

    • namestringrequired

      Name of the billing item.

    • descriptionstringrequired

      Description of the billing item shown to the customer.

    • fixed_pricenumber (float)

      Fixed price billed.

    • fixed_price_base_unitnumber (float)

      Base unit for the fixed price.

    • billing_typeBillingItemType6

      Billing item type.

    • recurrenceCRMRecurrence

      Recurrence the billing item follows.

    • deletedboolean

      Whether the billing item is deleted.

    • sub_self_service_addboolean

      Whether members can add the subscription themselves.

    • sub_self_service_add_fixed_pricenumber (float)

      Fixed price charged when members add the subscription themselves.

    • price_is_bruttoboolean

      Whether the prices are gross prices including tax.

    • skustring

      Artikelnummer (Stock Keeping Unit)

    • barcodestring

      Barcode (ISBN, UPC, GTIN usw.)

    • is_preferredboolean

      The item is preferred and shown first.

    • is_defaultboolean

      The item is the default for its type.

    • is_discountboolean

      The item is a discount.

    • is_freeboolean

      The item is free of charge.

    • is_passiveboolean

      The item is passive and cannot be selected anymore.

    • is_globalboolean

      The item is available for all companies.

    • 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 guarantee of durability in years (whole or .5 steps), basis for the EU GARAN label.

    • producer_brandstring

      Hersteller / Marke, die die Haltbarkeitsgarantie gibt - editierbares Feld "Brand/Trademark" des EU GARAN Labels. Producer / brand offering the commercial guarantee of durability.

    • ucatsarray<UnifiedCategory5>

      Unified categories of the entity.

    • orderinteger

      Position of the entity in the order.

  • categoriesarray<SelfServiceMembershipCategory3>

    Categories of the membership item.

    Show fields (8)
    • idinteger

      Primary key of the membership category. Internal ID.

    • namestring

      Name of the entity.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • unified_categoryUnifiedCategory5
    • image_urlstring

      URL of the image of the entity.

    • orderinteger

      Position of the entity in the order.

    • min_ageinteger

      The lowest age (in years) a person may have to use this entry - null means no lower limit

    • max_ageinteger

      The highest age (in years) a person may have to use this entry - null means no upper limit

  • required_itemSelfServiceMembershipItem

    Membership item that is required before this one.

  • disable_for_flat_listboolean

    This property is used to skip this item in the flat list of items. e.g. used on the website plugin

  • require_attachmentboolean

    This property is used to require / recommend an attachment upload. With the setting iw_self_service_membership_proofs_enabled the membership application needs a proof for this item.

  • attachment_labelstring

    Label of the proof the application asks for, e.g. "Ärztliche Verordnung" - empty means the item name

  • attachment_hintstring

    Hint shown below the proof upload, e.g. which documents are accepted

  • covered_itemsarray<SelfServiceMembershipItem>

    Items this item already includes (e.g. the studio covers yoga). With the setting iw_self_service_membership_item_coverage_enabled they are hidden in the same application.

  • require_billingboolean

    This property is used to require billing for this item

  • namestring

    Name of the entity.

  • deletedboolean

    This property is used to mark an entity as deleted / archived

  • unified_categoryUnifiedCategory5
    Show fields (5)
    • idinteger

      Primary key of the unified category. Internal ID.

    • category_typestring

      Type of the category, for example course or membership.

    • namestring

      Name of the entity.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • image_urlstring

      URL of the image of the entity.

  • image_urlstring

    URL of the image of the entity.

  • orderinteger

    Position of the entity in the order.

  • min_ageinteger

    The lowest age (in years) a person may have to use this entry - null means no lower limit

  • max_ageinteger

    The highest age (in years) a person may have to use this entry - null means no upper limit

Request
curl --request PATCH \
  --url https://your-instance.iw-erp.de/api/cp/self_service_membership/item/42 \
  --header 'content-type: application/json' \
  --header 'x-iw-jwt-token: <TOKEN>' \
  --data '
{
  "data": {
    "id": 42,
    "name": "Beispiel",
    "image_url": "https://vynst.de",
    "disable_for_flat_list": true,
    "require_attachment": true,
    "attachment_label": "string"
  }
}
'
Response 200 application/json
{
  "id": 42,
  "name": "Beispiel",
  "image_url": "https://vynst.de",
  "products": [
    {
      "name": "Beispiel",
      "description": "Text",
      "id": 42,
      "fixed_price": 49.9,
      "fixed_price_base_unit": 49.9,
      "deleted": true,
      "sub_self_service_add": true,
      "sub_self_service_add_fixed_price": 49.9,
      "price_is_brutto": true,
      "sku": "string"
    }
  ],
  "categories": [
    {
      "id": 42,
      "name": "Beispiel",
      "image_url": "https://vynst.de",
      "deleted": true,
      "order": 1,
      "min_age": 1,
      "max_age": 1
    }
  ],
  "disable_for_flat_list": true,
  "require_attachment": true,
  "attachment_label": "string",
  "attachment_hint": "string",
  "require_billing": true
}