Skip to content
Developer

StudioTraining / StudioTrainingPreset

Studio training6 EndpointsCRM / StudioTraining / StudioTrainingPreset

Returns a list of StudioTrainingPreset objects

GET/api/crm/studio_training/preset

Query parameters

idstring
deletedbooleanThis property is used to mark an entity as deleted / archived | Default value: false
namestring
durationstring
exerciseTypestringCategory of the exercise, e.g. strength, cardio, mobility, rehab
equipmentstringRequired equipment as free text, e.g. barbell, cable machine, bodyweight
contentSourcestringOne of the CONTENT_SOURCE_* constants
reviewStatusstringOne of the REVIEW_STATUS_* constants, used to keep generated or imported exercise instructions under human control before they are published
importOriginIdstring
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 StudioTrainingPreset objectsarray<StudioTrainingPreset>

Show fields (25)
  • idinteger

    Primary key of the training preset. Internal ID.

  • namestring

    Name of the exercise.

  • descriptionstring

    Description of the exercise.

  • imageAttachment10

    Image of the exercise.

    Show fields (25)
    • idinteger

      Primary key of the attachment. Internal ID.

    • filenamestring

      Original file name.

    • filesizestring

      Size of the file in bytes.

    • mimetypestring

      MIME type of the file.

    • createdbyusernamestring

      Name of the user who uploaded the file, as text.

    • createdstring (date-time)

      Point in time the attachment was created.

    • googleidstring

      ID of the file in Google Drive.

    • scopestring

      Scope that controls who can see the attachment.

    • ocr_document_typestring

      Document type recognized by OCR.

    • ocr_from_namestring

      Sender name recognized by OCR.

    • ocr_from_companystring

      Sender company recognized by OCR.

    • ocr_from_addressstring

      Sender address recognized by OCR.

    • ocr_from_emailstring

      Sender e-mail address recognized by OCR.

    • ocr_from_phonestring

      Sender phone number recognized by OCR.

    • ocr_to_namestring

      Recipient name recognized by OCR.

    • ocr_to_companystring

      Recipient company recognized by OCR.

    • ocr_to_addressstring

      Recipient address recognized by OCR.

    • ocr_to_emailstring

      Recipient e-mail address recognized by OCR.

    • ocr_to_phonestring

      Recipient phone number recognized by OCR.

    • ocr_summarystring

      Summary of the document created by OCR.

    • ocr_statusstring

      OCR processing status: null=not processed, pending, processing, done, error

    • ocr_errorstring

      Reason of the last failed or incomplete OCR run, null when it went through

    • ocr_processed_atstring (date-time)

      Point in time OCR processing finished.

    • virus_checkedboolean

      1 once the virus scan has passed for this file. The scan runs in the background (AttachmentVirusScanCommand), so a freshly uploaded file starts at 0 and stays there until it was really checked. An infected file never reaches 1 - it is deleted instead. UIs use this to decide whether a file may be handed to a user, so it must stay false until proven otherwise.

    • virus_checked_atstring (date-time)

      When the virus scan passed. Null while the file is still waiting.

  • videoAttachment10

    Video of the exercise.

    Show fields (25)
    • idinteger

      Primary key of the attachment. Internal ID.

    • filenamestring

      Original file name.

    • filesizestring

      Size of the file in bytes.

    • mimetypestring

      MIME type of the file.

    • createdbyusernamestring

      Name of the user who uploaded the file, as text.

    • createdstring (date-time)

      Point in time the attachment was created.

    • googleidstring

      ID of the file in Google Drive.

    • scopestring

      Scope that controls who can see the attachment.

    • ocr_document_typestring

      Document type recognized by OCR.

    • ocr_from_namestring

      Sender name recognized by OCR.

    • ocr_from_companystring

      Sender company recognized by OCR.

    • ocr_from_addressstring

      Sender address recognized by OCR.

    • ocr_from_emailstring

      Sender e-mail address recognized by OCR.

    • ocr_from_phonestring

      Sender phone number recognized by OCR.

    • ocr_to_namestring

      Recipient name recognized by OCR.

    • ocr_to_companystring

      Recipient company recognized by OCR.

    • ocr_to_addressstring

      Recipient address recognized by OCR.

    • ocr_to_emailstring

      Recipient e-mail address recognized by OCR.

    • ocr_to_phonestring

      Recipient phone number recognized by OCR.

    • ocr_summarystring

      Summary of the document created by OCR.

    • ocr_statusstring

      OCR processing status: null=not processed, pending, processing, done, error

    • ocr_errorstring

      Reason of the last failed or incomplete OCR run, null when it went through

    • ocr_processed_atstring (date-time)

      Point in time OCR processing finished.

    • virus_checkedboolean

      1 once the virus scan has passed for this file. The scan runs in the background (AttachmentVirusScanCommand), so a freshly uploaded file starts at 0 and stays there until it was really checked. An infected file never reaches 1 - it is deleted instead. UIs use this to decide whether a file may be handed to a user, so it must stay false until proven otherwise.

    • virus_checked_atstring (date-time)

      When the virus scan passed. Null while the file is still waiting.

  • durationinteger

    Typical duration of the exercise in seconds.

  • muscle_groupsarray<StudioTrainingMuscleGroup>

    Primarily trained muscle groups

    Show fields (10)
    • idinteger

      Primary key of the muscle group. Internal ID.

    • namestring

      Name of the muscle group.

    • body_marker_keystring

      Short identifier used by clients to map the group to a body diagram area

    • descriptionstring

      Description of the muscle group.

    • is_frontboolean

      True if the muscle group is shown on the front side of the body diagram

    • imageAttachment10

      Image of the muscle group.

    • createdstring (date-time)

      Point in time the entity was created.

    • updatedstring (date-time)

      Point in time the entity was last updated.

    • deletedboolean

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

    • orderinteger

      Position of the entity in the order.

  • secondary_muscle_groupsarray<StudioTrainingMuscleGroup>

    Secondarily trained muscle groups

    Show fields (10)
    • idinteger

      Primary key of the muscle group. Internal ID.

    • namestring

      Name of the muscle group.

    • body_marker_keystring

      Short identifier used by clients to map the group to a body diagram area

    • descriptionstring

      Description of the muscle group.

    • is_frontboolean

      True if the muscle group is shown on the front side of the body diagram

    • imageAttachment10

      Image of the muscle group.

    • createdstring (date-time)

      Point in time the entity was created.

    • updatedstring (date-time)

      Point in time the entity was last updated.

    • deletedboolean

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

    • orderinteger

      Position of the entity in the order.

  • exercise_typestring

    Category of the exercise, e.g. strength, cardio, mobility, rehab

  • equipmentstring

    Required equipment as free text, e.g. barbell, cable machine, bodyweight

  • execution_notesstring

    Execution cues and safety notes for the member

  • default_setsinteger

    Default prescription proposed when the preset is added to a plan

  • default_repetitionsinteger

    Default number of repetitions.

  • default_rest_secondsinteger

    Default rest time in seconds.

  • content_sourcestring

    One of the CONTENT_SOURCE_* constants

  • content_source_namestring

    Name of the catalogue the entry was seeded from, e.g. wger

  • licensestring

    Licence of the imported content, e.g. CC-BY-SA 4.0

  • license_authorstring

    Author that has to be named to fulfil the licence attribution

  • license_author_urlstring

    Link to the author of the image or video license.

  • review_statusstring

    One of the REVIEW_STATUS_* constants, used to keep generated or imported exercise instructions under human control before they are published

  • reviewed_atstring (date-time)

    Time the exercise was reviewed.

  • reviewed_bystring

    Name of the reviewer.

  • createdstring (date-time)

    Point in time the entity was created.

  • updatedstring (date-time)

    Point in time the entity was last updated.

  • deletedboolean

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

Request
curl --request GET \
  --url https://your-instance.iw-erp.de/api/crm/studio_training/preset \
  --header 'x-iw-jwt-token: <TOKEN>'
Response 200 application/json
[
  {
    "id": 42,
    "name": "Beispiel",
    "description": "Text",
    "content_source_name": "Beispiel",
    "license_author_url": "https://vynst.de",
    "image": {
      "id": 42,
      "ocr_from_name": "Beispiel",
      "ocr_from_email": "lena.hartmann@example.org",
      "ocr_from_phone": "+49 511 123456",
      "ocr_to_name": "Beispiel",
      "ocr_to_email": "lena.hartmann@example.org",
      "ocr_to_phone": "+49 511 123456",
      "filename": "string",
      "filesize": "string",
      "mimetype": "string"
    },
    "video": {
      "id": 42,
      "ocr_from_name": "Beispiel",
      "ocr_from_email": "lena.hartmann@example.org",
      "ocr_from_phone": "+49 511 123456",
      "ocr_to_name": "Beispiel",
      "ocr_to_email": "lena.hartmann@example.org",
      "ocr_to_phone": "+49 511 123456",
      "filename": "string",
      "filesize": "string",
      "mimetype": "string"
    },
    "duration": 1,
    "exercise_type": "string",
    "equipment": "string"
  }
]

Create a single StudioTrainingPreset

POST/api/crm/studio_training/preset

Request body application/json

  • dataStudioTrainingPreset
    Show fields (25)
    • idinteger

      Primary key of the training preset. Internal ID.

    • namestring

      Name of the exercise.

    • descriptionstring

      Description of the exercise.

    • imageAttachment10

      Image of the exercise.

    • videoAttachment10

      Video of the exercise.

    • durationinteger

      Typical duration of the exercise in seconds.

    • muscle_groupsarray<StudioTrainingMuscleGroup>

      Primarily trained muscle groups

    • secondary_muscle_groupsarray<StudioTrainingMuscleGroup>

      Secondarily trained muscle groups

    • exercise_typestring

      Category of the exercise, e.g. strength, cardio, mobility, rehab

    • equipmentstring

      Required equipment as free text, e.g. barbell, cable machine, bodyweight

    • execution_notesstring

      Execution cues and safety notes for the member

    • default_setsinteger

      Default prescription proposed when the preset is added to a plan

    • default_repetitionsinteger

      Default number of repetitions.

    • default_rest_secondsinteger

      Default rest time in seconds.

    • content_sourcestring

      One of the CONTENT_SOURCE_* constants

    • content_source_namestring

      Name of the catalogue the entry was seeded from, e.g. wger

    • licensestring

      Licence of the imported content, e.g. CC-BY-SA 4.0

    • license_authorstring

      Author that has to be named to fulfil the licence attribution

    • license_author_urlstring

      Link to the author of the image or video license.

    • review_statusstring

      One of the REVIEW_STATUS_* constants, used to keep generated or imported exercise instructions under human control before they are published

    • reviewed_atstring (date-time)

      Time the exercise was reviewed.

    • reviewed_bystring

      Name of the reviewer.

    • createdstring (date-time)

      Point in time the entity was created.

    • updatedstring (date-time)

      Point in time the entity was last updated.

    • deletedboolean

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

Responses

200Create a single StudioTrainingPresetStudioTrainingPreset

Show fields (25)
  • idinteger

    Primary key of the training preset. Internal ID.

  • namestring

    Name of the exercise.

  • descriptionstring

    Description of the exercise.

  • imageAttachment10

    Image of the exercise.

    Show fields (25)
    • idinteger

      Primary key of the attachment. Internal ID.

    • filenamestring

      Original file name.

    • filesizestring

      Size of the file in bytes.

    • mimetypestring

      MIME type of the file.

    • createdbyusernamestring

      Name of the user who uploaded the file, as text.

    • createdstring (date-time)

      Point in time the attachment was created.

    • googleidstring

      ID of the file in Google Drive.

    • scopestring

      Scope that controls who can see the attachment.

    • ocr_document_typestring

      Document type recognized by OCR.

    • ocr_from_namestring

      Sender name recognized by OCR.

    • ocr_from_companystring

      Sender company recognized by OCR.

    • ocr_from_addressstring

      Sender address recognized by OCR.

    • ocr_from_emailstring

      Sender e-mail address recognized by OCR.

    • ocr_from_phonestring

      Sender phone number recognized by OCR.

    • ocr_to_namestring

      Recipient name recognized by OCR.

    • ocr_to_companystring

      Recipient company recognized by OCR.

    • ocr_to_addressstring

      Recipient address recognized by OCR.

    • ocr_to_emailstring

      Recipient e-mail address recognized by OCR.

    • ocr_to_phonestring

      Recipient phone number recognized by OCR.

    • ocr_summarystring

      Summary of the document created by OCR.

    • ocr_statusstring

      OCR processing status: null=not processed, pending, processing, done, error

    • ocr_errorstring

      Reason of the last failed or incomplete OCR run, null when it went through

    • ocr_processed_atstring (date-time)

      Point in time OCR processing finished.

    • virus_checkedboolean

      1 once the virus scan has passed for this file. The scan runs in the background (AttachmentVirusScanCommand), so a freshly uploaded file starts at 0 and stays there until it was really checked. An infected file never reaches 1 - it is deleted instead. UIs use this to decide whether a file may be handed to a user, so it must stay false until proven otherwise.

    • virus_checked_atstring (date-time)

      When the virus scan passed. Null while the file is still waiting.

  • videoAttachment10

    Video of the exercise.

    Show fields (25)
    • idinteger

      Primary key of the attachment. Internal ID.

    • filenamestring

      Original file name.

    • filesizestring

      Size of the file in bytes.

    • mimetypestring

      MIME type of the file.

    • createdbyusernamestring

      Name of the user who uploaded the file, as text.

    • createdstring (date-time)

      Point in time the attachment was created.

    • googleidstring

      ID of the file in Google Drive.

    • scopestring

      Scope that controls who can see the attachment.

    • ocr_document_typestring

      Document type recognized by OCR.

    • ocr_from_namestring

      Sender name recognized by OCR.

    • ocr_from_companystring

      Sender company recognized by OCR.

    • ocr_from_addressstring

      Sender address recognized by OCR.

    • ocr_from_emailstring

      Sender e-mail address recognized by OCR.

    • ocr_from_phonestring

      Sender phone number recognized by OCR.

    • ocr_to_namestring

      Recipient name recognized by OCR.

    • ocr_to_companystring

      Recipient company recognized by OCR.

    • ocr_to_addressstring

      Recipient address recognized by OCR.

    • ocr_to_emailstring

      Recipient e-mail address recognized by OCR.

    • ocr_to_phonestring

      Recipient phone number recognized by OCR.

    • ocr_summarystring

      Summary of the document created by OCR.

    • ocr_statusstring

      OCR processing status: null=not processed, pending, processing, done, error

    • ocr_errorstring

      Reason of the last failed or incomplete OCR run, null when it went through

    • ocr_processed_atstring (date-time)

      Point in time OCR processing finished.

    • virus_checkedboolean

      1 once the virus scan has passed for this file. The scan runs in the background (AttachmentVirusScanCommand), so a freshly uploaded file starts at 0 and stays there until it was really checked. An infected file never reaches 1 - it is deleted instead. UIs use this to decide whether a file may be handed to a user, so it must stay false until proven otherwise.

    • virus_checked_atstring (date-time)

      When the virus scan passed. Null while the file is still waiting.

  • durationinteger

    Typical duration of the exercise in seconds.

  • muscle_groupsarray<StudioTrainingMuscleGroup>

    Primarily trained muscle groups

    Show fields (10)
    • idinteger

      Primary key of the muscle group. Internal ID.

    • namestring

      Name of the muscle group.

    • body_marker_keystring

      Short identifier used by clients to map the group to a body diagram area

    • descriptionstring

      Description of the muscle group.

    • is_frontboolean

      True if the muscle group is shown on the front side of the body diagram

    • imageAttachment10

      Image of the muscle group.

    • createdstring (date-time)

      Point in time the entity was created.

    • updatedstring (date-time)

      Point in time the entity was last updated.

    • deletedboolean

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

    • orderinteger

      Position of the entity in the order.

  • secondary_muscle_groupsarray<StudioTrainingMuscleGroup>

    Secondarily trained muscle groups

    Show fields (10)
    • idinteger

      Primary key of the muscle group. Internal ID.

    • namestring

      Name of the muscle group.

    • body_marker_keystring

      Short identifier used by clients to map the group to a body diagram area

    • descriptionstring

      Description of the muscle group.

    • is_frontboolean

      True if the muscle group is shown on the front side of the body diagram

    • imageAttachment10

      Image of the muscle group.

    • createdstring (date-time)

      Point in time the entity was created.

    • updatedstring (date-time)

      Point in time the entity was last updated.

    • deletedboolean

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

    • orderinteger

      Position of the entity in the order.

  • exercise_typestring

    Category of the exercise, e.g. strength, cardio, mobility, rehab

  • equipmentstring

    Required equipment as free text, e.g. barbell, cable machine, bodyweight

  • execution_notesstring

    Execution cues and safety notes for the member

  • default_setsinteger

    Default prescription proposed when the preset is added to a plan

  • default_repetitionsinteger

    Default number of repetitions.

  • default_rest_secondsinteger

    Default rest time in seconds.

  • content_sourcestring

    One of the CONTENT_SOURCE_* constants

  • content_source_namestring

    Name of the catalogue the entry was seeded from, e.g. wger

  • licensestring

    Licence of the imported content, e.g. CC-BY-SA 4.0

  • license_authorstring

    Author that has to be named to fulfil the licence attribution

  • license_author_urlstring

    Link to the author of the image or video license.

  • review_statusstring

    One of the REVIEW_STATUS_* constants, used to keep generated or imported exercise instructions under human control before they are published

  • reviewed_atstring (date-time)

    Time the exercise was reviewed.

  • reviewed_bystring

    Name of the reviewer.

  • createdstring (date-time)

    Point in time the entity was created.

  • updatedstring (date-time)

    Point in time the entity was last updated.

  • deletedboolean

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

Request
curl --request POST \
  --url https://your-instance.iw-erp.de/api/crm/studio_training/preset \
  --header 'content-type: application/json' \
  --header 'x-iw-jwt-token: <TOKEN>' \
  --data '
{
  "data": {
    "id": 42,
    "name": "Beispiel",
    "description": "Text",
    "content_source_name": "Beispiel",
    "license_author_url": "https://vynst.de",
    "image": {
      "id": 42,
      "ocr_from_name": "Beispiel",
      "ocr_from_email": "lena.hartmann@example.org",
      "ocr_from_phone": "+49 511 123456",
      "ocr_to_name": "Beispiel",
      "ocr_to_email": "lena.hartmann@example.org"
    }
  }
}
'
Response 200 application/json
{
  "id": 42,
  "name": "Beispiel",
  "description": "Text",
  "content_source_name": "Beispiel",
  "license_author_url": "https://vynst.de",
  "image": {
    "id": 42,
    "ocr_from_name": "Beispiel",
    "ocr_from_email": "lena.hartmann@example.org",
    "ocr_from_phone": "+49 511 123456",
    "ocr_to_name": "Beispiel",
    "ocr_to_email": "lena.hartmann@example.org",
    "ocr_to_phone": "+49 511 123456",
    "filename": "string",
    "filesize": "string",
    "mimetype": "string"
  },
  "video": {
    "id": 42,
    "ocr_from_name": "Beispiel",
    "ocr_from_email": "lena.hartmann@example.org",
    "ocr_from_phone": "+49 511 123456",
    "ocr_to_name": "Beispiel",
    "ocr_to_email": "lena.hartmann@example.org",
    "ocr_to_phone": "+49 511 123456",
    "filename": "string",
    "filesize": "string",
    "mimetype": "string"
  },
  "duration": 1,
  "muscle_groups": [
    {
      "id": 42,
      "name": "Beispiel",
      "description": "Text",
      "body_marker_key": "string",
      "is_front": true,
      "created": "2026-10-15T09:30:00+02:00",
      "updated": "2026-10-15T09:30:00+02:00",
      "deleted": true,
      "order": 1
    }
  ],
  "secondary_muscle_groups": [
    {
      "id": 42,
      "name": "Beispiel",
      "description": "Text",
      "body_marker_key": "string",
      "is_front": true,
      "created": "2026-10-15T09:30:00+02:00",
      "updated": "2026-10-15T09:30:00+02:00",
      "deleted": true,
      "order": 1
    }
  ]
}

Returns a single StudioTrainingPreset

GET/api/crm/studio_training/preset/{identifier}

Path parameters

identifierrequiredstring

Responses

200Returns a single StudioTrainingPresetStudioTrainingPreset

Show fields (25)
  • idinteger

    Primary key of the training preset. Internal ID.

  • namestring

    Name of the exercise.

  • descriptionstring

    Description of the exercise.

  • imageAttachment10

    Image of the exercise.

    Show fields (25)
    • idinteger

      Primary key of the attachment. Internal ID.

    • filenamestring

      Original file name.

    • filesizestring

      Size of the file in bytes.

    • mimetypestring

      MIME type of the file.

    • createdbyusernamestring

      Name of the user who uploaded the file, as text.

    • createdstring (date-time)

      Point in time the attachment was created.

    • googleidstring

      ID of the file in Google Drive.

    • scopestring

      Scope that controls who can see the attachment.

    • ocr_document_typestring

      Document type recognized by OCR.

    • ocr_from_namestring

      Sender name recognized by OCR.

    • ocr_from_companystring

      Sender company recognized by OCR.

    • ocr_from_addressstring

      Sender address recognized by OCR.

    • ocr_from_emailstring

      Sender e-mail address recognized by OCR.

    • ocr_from_phonestring

      Sender phone number recognized by OCR.

    • ocr_to_namestring

      Recipient name recognized by OCR.

    • ocr_to_companystring

      Recipient company recognized by OCR.

    • ocr_to_addressstring

      Recipient address recognized by OCR.

    • ocr_to_emailstring

      Recipient e-mail address recognized by OCR.

    • ocr_to_phonestring

      Recipient phone number recognized by OCR.

    • ocr_summarystring

      Summary of the document created by OCR.

    • ocr_statusstring

      OCR processing status: null=not processed, pending, processing, done, error

    • ocr_errorstring

      Reason of the last failed or incomplete OCR run, null when it went through

    • ocr_processed_atstring (date-time)

      Point in time OCR processing finished.

    • virus_checkedboolean

      1 once the virus scan has passed for this file. The scan runs in the background (AttachmentVirusScanCommand), so a freshly uploaded file starts at 0 and stays there until it was really checked. An infected file never reaches 1 - it is deleted instead. UIs use this to decide whether a file may be handed to a user, so it must stay false until proven otherwise.

    • virus_checked_atstring (date-time)

      When the virus scan passed. Null while the file is still waiting.

  • videoAttachment10

    Video of the exercise.

    Show fields (25)
    • idinteger

      Primary key of the attachment. Internal ID.

    • filenamestring

      Original file name.

    • filesizestring

      Size of the file in bytes.

    • mimetypestring

      MIME type of the file.

    • createdbyusernamestring

      Name of the user who uploaded the file, as text.

    • createdstring (date-time)

      Point in time the attachment was created.

    • googleidstring

      ID of the file in Google Drive.

    • scopestring

      Scope that controls who can see the attachment.

    • ocr_document_typestring

      Document type recognized by OCR.

    • ocr_from_namestring

      Sender name recognized by OCR.

    • ocr_from_companystring

      Sender company recognized by OCR.

    • ocr_from_addressstring

      Sender address recognized by OCR.

    • ocr_from_emailstring

      Sender e-mail address recognized by OCR.

    • ocr_from_phonestring

      Sender phone number recognized by OCR.

    • ocr_to_namestring

      Recipient name recognized by OCR.

    • ocr_to_companystring

      Recipient company recognized by OCR.

    • ocr_to_addressstring

      Recipient address recognized by OCR.

    • ocr_to_emailstring

      Recipient e-mail address recognized by OCR.

    • ocr_to_phonestring

      Recipient phone number recognized by OCR.

    • ocr_summarystring

      Summary of the document created by OCR.

    • ocr_statusstring

      OCR processing status: null=not processed, pending, processing, done, error

    • ocr_errorstring

      Reason of the last failed or incomplete OCR run, null when it went through

    • ocr_processed_atstring (date-time)

      Point in time OCR processing finished.

    • virus_checkedboolean

      1 once the virus scan has passed for this file. The scan runs in the background (AttachmentVirusScanCommand), so a freshly uploaded file starts at 0 and stays there until it was really checked. An infected file never reaches 1 - it is deleted instead. UIs use this to decide whether a file may be handed to a user, so it must stay false until proven otherwise.

    • virus_checked_atstring (date-time)

      When the virus scan passed. Null while the file is still waiting.

  • durationinteger

    Typical duration of the exercise in seconds.

  • muscle_groupsarray<StudioTrainingMuscleGroup>

    Primarily trained muscle groups

    Show fields (10)
    • idinteger

      Primary key of the muscle group. Internal ID.

    • namestring

      Name of the muscle group.

    • body_marker_keystring

      Short identifier used by clients to map the group to a body diagram area

    • descriptionstring

      Description of the muscle group.

    • is_frontboolean

      True if the muscle group is shown on the front side of the body diagram

    • imageAttachment10

      Image of the muscle group.

    • createdstring (date-time)

      Point in time the entity was created.

    • updatedstring (date-time)

      Point in time the entity was last updated.

    • deletedboolean

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

    • orderinteger

      Position of the entity in the order.

  • secondary_muscle_groupsarray<StudioTrainingMuscleGroup>

    Secondarily trained muscle groups

    Show fields (10)
    • idinteger

      Primary key of the muscle group. Internal ID.

    • namestring

      Name of the muscle group.

    • body_marker_keystring

      Short identifier used by clients to map the group to a body diagram area

    • descriptionstring

      Description of the muscle group.

    • is_frontboolean

      True if the muscle group is shown on the front side of the body diagram

    • imageAttachment10

      Image of the muscle group.

    • createdstring (date-time)

      Point in time the entity was created.

    • updatedstring (date-time)

      Point in time the entity was last updated.

    • deletedboolean

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

    • orderinteger

      Position of the entity in the order.

  • exercise_typestring

    Category of the exercise, e.g. strength, cardio, mobility, rehab

  • equipmentstring

    Required equipment as free text, e.g. barbell, cable machine, bodyweight

  • execution_notesstring

    Execution cues and safety notes for the member

  • default_setsinteger

    Default prescription proposed when the preset is added to a plan

  • default_repetitionsinteger

    Default number of repetitions.

  • default_rest_secondsinteger

    Default rest time in seconds.

  • content_sourcestring

    One of the CONTENT_SOURCE_* constants

  • content_source_namestring

    Name of the catalogue the entry was seeded from, e.g. wger

  • licensestring

    Licence of the imported content, e.g. CC-BY-SA 4.0

  • license_authorstring

    Author that has to be named to fulfil the licence attribution

  • license_author_urlstring

    Link to the author of the image or video license.

  • review_statusstring

    One of the REVIEW_STATUS_* constants, used to keep generated or imported exercise instructions under human control before they are published

  • reviewed_atstring (date-time)

    Time the exercise was reviewed.

  • reviewed_bystring

    Name of the reviewer.

  • createdstring (date-time)

    Point in time the entity was created.

  • updatedstring (date-time)

    Point in time the entity was last updated.

  • deletedboolean

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

Request
curl --request GET \
  --url https://your-instance.iw-erp.de/api/crm/studio_training/preset/42 \
  --header 'x-iw-jwt-token: <TOKEN>'
Response 200 application/json
{
  "id": 42,
  "name": "Beispiel",
  "description": "Text",
  "content_source_name": "Beispiel",
  "license_author_url": "https://vynst.de",
  "image": {
    "id": 42,
    "ocr_from_name": "Beispiel",
    "ocr_from_email": "lena.hartmann@example.org",
    "ocr_from_phone": "+49 511 123456",
    "ocr_to_name": "Beispiel",
    "ocr_to_email": "lena.hartmann@example.org",
    "ocr_to_phone": "+49 511 123456",
    "filename": "string",
    "filesize": "string",
    "mimetype": "string"
  },
  "video": {
    "id": 42,
    "ocr_from_name": "Beispiel",
    "ocr_from_email": "lena.hartmann@example.org",
    "ocr_from_phone": "+49 511 123456",
    "ocr_to_name": "Beispiel",
    "ocr_to_email": "lena.hartmann@example.org",
    "ocr_to_phone": "+49 511 123456",
    "filename": "string",
    "filesize": "string",
    "mimetype": "string"
  },
  "duration": 1,
  "muscle_groups": [
    {
      "id": 42,
      "name": "Beispiel",
      "description": "Text",
      "body_marker_key": "string",
      "is_front": true,
      "created": "2026-10-15T09:30:00+02:00",
      "updated": "2026-10-15T09:30:00+02:00",
      "deleted": true,
      "order": 1
    }
  ],
  "secondary_muscle_groups": [
    {
      "id": 42,
      "name": "Beispiel",
      "description": "Text",
      "body_marker_key": "string",
      "is_front": true,
      "created": "2026-10-15T09:30:00+02:00",
      "updated": "2026-10-15T09:30:00+02:00",
      "deleted": true,
      "order": 1
    }
  ]
}

Update a single StudioTrainingPreset

PUT/api/crm/studio_training/preset/{identifier}

Path parameters

identifierrequiredstring

Request body application/json

  • dataStudioTrainingPreset
    Show fields (25)
    • idinteger

      Primary key of the training preset. Internal ID.

    • namestring

      Name of the exercise.

    • descriptionstring

      Description of the exercise.

    • imageAttachment10

      Image of the exercise.

    • videoAttachment10

      Video of the exercise.

    • durationinteger

      Typical duration of the exercise in seconds.

    • muscle_groupsarray<StudioTrainingMuscleGroup>

      Primarily trained muscle groups

    • secondary_muscle_groupsarray<StudioTrainingMuscleGroup>

      Secondarily trained muscle groups

    • exercise_typestring

      Category of the exercise, e.g. strength, cardio, mobility, rehab

    • equipmentstring

      Required equipment as free text, e.g. barbell, cable machine, bodyweight

    • execution_notesstring

      Execution cues and safety notes for the member

    • default_setsinteger

      Default prescription proposed when the preset is added to a plan

    • default_repetitionsinteger

      Default number of repetitions.

    • default_rest_secondsinteger

      Default rest time in seconds.

    • content_sourcestring

      One of the CONTENT_SOURCE_* constants

    • content_source_namestring

      Name of the catalogue the entry was seeded from, e.g. wger

    • licensestring

      Licence of the imported content, e.g. CC-BY-SA 4.0

    • license_authorstring

      Author that has to be named to fulfil the licence attribution

    • license_author_urlstring

      Link to the author of the image or video license.

    • review_statusstring

      One of the REVIEW_STATUS_* constants, used to keep generated or imported exercise instructions under human control before they are published

    • reviewed_atstring (date-time)

      Time the exercise was reviewed.

    • reviewed_bystring

      Name of the reviewer.

    • createdstring (date-time)

      Point in time the entity was created.

    • updatedstring (date-time)

      Point in time the entity was last updated.

    • deletedboolean

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

Responses

200Update a single StudioTrainingPresetStudioTrainingPreset

Show fields (25)
  • idinteger

    Primary key of the training preset. Internal ID.

  • namestring

    Name of the exercise.

  • descriptionstring

    Description of the exercise.

  • imageAttachment10

    Image of the exercise.

    Show fields (25)
    • idinteger

      Primary key of the attachment. Internal ID.

    • filenamestring

      Original file name.

    • filesizestring

      Size of the file in bytes.

    • mimetypestring

      MIME type of the file.

    • createdbyusernamestring

      Name of the user who uploaded the file, as text.

    • createdstring (date-time)

      Point in time the attachment was created.

    • googleidstring

      ID of the file in Google Drive.

    • scopestring

      Scope that controls who can see the attachment.

    • ocr_document_typestring

      Document type recognized by OCR.

    • ocr_from_namestring

      Sender name recognized by OCR.

    • ocr_from_companystring

      Sender company recognized by OCR.

    • ocr_from_addressstring

      Sender address recognized by OCR.

    • ocr_from_emailstring

      Sender e-mail address recognized by OCR.

    • ocr_from_phonestring

      Sender phone number recognized by OCR.

    • ocr_to_namestring

      Recipient name recognized by OCR.

    • ocr_to_companystring

      Recipient company recognized by OCR.

    • ocr_to_addressstring

      Recipient address recognized by OCR.

    • ocr_to_emailstring

      Recipient e-mail address recognized by OCR.

    • ocr_to_phonestring

      Recipient phone number recognized by OCR.

    • ocr_summarystring

      Summary of the document created by OCR.

    • ocr_statusstring

      OCR processing status: null=not processed, pending, processing, done, error

    • ocr_errorstring

      Reason of the last failed or incomplete OCR run, null when it went through

    • ocr_processed_atstring (date-time)

      Point in time OCR processing finished.

    • virus_checkedboolean

      1 once the virus scan has passed for this file. The scan runs in the background (AttachmentVirusScanCommand), so a freshly uploaded file starts at 0 and stays there until it was really checked. An infected file never reaches 1 - it is deleted instead. UIs use this to decide whether a file may be handed to a user, so it must stay false until proven otherwise.

    • virus_checked_atstring (date-time)

      When the virus scan passed. Null while the file is still waiting.

  • videoAttachment10

    Video of the exercise.

    Show fields (25)
    • idinteger

      Primary key of the attachment. Internal ID.

    • filenamestring

      Original file name.

    • filesizestring

      Size of the file in bytes.

    • mimetypestring

      MIME type of the file.

    • createdbyusernamestring

      Name of the user who uploaded the file, as text.

    • createdstring (date-time)

      Point in time the attachment was created.

    • googleidstring

      ID of the file in Google Drive.

    • scopestring

      Scope that controls who can see the attachment.

    • ocr_document_typestring

      Document type recognized by OCR.

    • ocr_from_namestring

      Sender name recognized by OCR.

    • ocr_from_companystring

      Sender company recognized by OCR.

    • ocr_from_addressstring

      Sender address recognized by OCR.

    • ocr_from_emailstring

      Sender e-mail address recognized by OCR.

    • ocr_from_phonestring

      Sender phone number recognized by OCR.

    • ocr_to_namestring

      Recipient name recognized by OCR.

    • ocr_to_companystring

      Recipient company recognized by OCR.

    • ocr_to_addressstring

      Recipient address recognized by OCR.

    • ocr_to_emailstring

      Recipient e-mail address recognized by OCR.

    • ocr_to_phonestring

      Recipient phone number recognized by OCR.

    • ocr_summarystring

      Summary of the document created by OCR.

    • ocr_statusstring

      OCR processing status: null=not processed, pending, processing, done, error

    • ocr_errorstring

      Reason of the last failed or incomplete OCR run, null when it went through

    • ocr_processed_atstring (date-time)

      Point in time OCR processing finished.

    • virus_checkedboolean

      1 once the virus scan has passed for this file. The scan runs in the background (AttachmentVirusScanCommand), so a freshly uploaded file starts at 0 and stays there until it was really checked. An infected file never reaches 1 - it is deleted instead. UIs use this to decide whether a file may be handed to a user, so it must stay false until proven otherwise.

    • virus_checked_atstring (date-time)

      When the virus scan passed. Null while the file is still waiting.

  • durationinteger

    Typical duration of the exercise in seconds.

  • muscle_groupsarray<StudioTrainingMuscleGroup>

    Primarily trained muscle groups

    Show fields (10)
    • idinteger

      Primary key of the muscle group. Internal ID.

    • namestring

      Name of the muscle group.

    • body_marker_keystring

      Short identifier used by clients to map the group to a body diagram area

    • descriptionstring

      Description of the muscle group.

    • is_frontboolean

      True if the muscle group is shown on the front side of the body diagram

    • imageAttachment10

      Image of the muscle group.

    • createdstring (date-time)

      Point in time the entity was created.

    • updatedstring (date-time)

      Point in time the entity was last updated.

    • deletedboolean

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

    • orderinteger

      Position of the entity in the order.

  • secondary_muscle_groupsarray<StudioTrainingMuscleGroup>

    Secondarily trained muscle groups

    Show fields (10)
    • idinteger

      Primary key of the muscle group. Internal ID.

    • namestring

      Name of the muscle group.

    • body_marker_keystring

      Short identifier used by clients to map the group to a body diagram area

    • descriptionstring

      Description of the muscle group.

    • is_frontboolean

      True if the muscle group is shown on the front side of the body diagram

    • imageAttachment10

      Image of the muscle group.

    • createdstring (date-time)

      Point in time the entity was created.

    • updatedstring (date-time)

      Point in time the entity was last updated.

    • deletedboolean

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

    • orderinteger

      Position of the entity in the order.

  • exercise_typestring

    Category of the exercise, e.g. strength, cardio, mobility, rehab

  • equipmentstring

    Required equipment as free text, e.g. barbell, cable machine, bodyweight

  • execution_notesstring

    Execution cues and safety notes for the member

  • default_setsinteger

    Default prescription proposed when the preset is added to a plan

  • default_repetitionsinteger

    Default number of repetitions.

  • default_rest_secondsinteger

    Default rest time in seconds.

  • content_sourcestring

    One of the CONTENT_SOURCE_* constants

  • content_source_namestring

    Name of the catalogue the entry was seeded from, e.g. wger

  • licensestring

    Licence of the imported content, e.g. CC-BY-SA 4.0

  • license_authorstring

    Author that has to be named to fulfil the licence attribution

  • license_author_urlstring

    Link to the author of the image or video license.

  • review_statusstring

    One of the REVIEW_STATUS_* constants, used to keep generated or imported exercise instructions under human control before they are published

  • reviewed_atstring (date-time)

    Time the exercise was reviewed.

  • reviewed_bystring

    Name of the reviewer.

  • createdstring (date-time)

    Point in time the entity was created.

  • updatedstring (date-time)

    Point in time the entity was last updated.

  • deletedboolean

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

Request
curl --request PUT \
  --url https://your-instance.iw-erp.de/api/crm/studio_training/preset/42 \
  --header 'content-type: application/json' \
  --header 'x-iw-jwt-token: <TOKEN>' \
  --data '
{
  "data": {
    "id": 42,
    "name": "Beispiel",
    "description": "Text",
    "content_source_name": "Beispiel",
    "license_author_url": "https://vynst.de",
    "image": {
      "id": 42,
      "ocr_from_name": "Beispiel",
      "ocr_from_email": "lena.hartmann@example.org",
      "ocr_from_phone": "+49 511 123456",
      "ocr_to_name": "Beispiel",
      "ocr_to_email": "lena.hartmann@example.org"
    }
  }
}
'
Response 200 application/json
{
  "id": 42,
  "name": "Beispiel",
  "description": "Text",
  "content_source_name": "Beispiel",
  "license_author_url": "https://vynst.de",
  "image": {
    "id": 42,
    "ocr_from_name": "Beispiel",
    "ocr_from_email": "lena.hartmann@example.org",
    "ocr_from_phone": "+49 511 123456",
    "ocr_to_name": "Beispiel",
    "ocr_to_email": "lena.hartmann@example.org",
    "ocr_to_phone": "+49 511 123456",
    "filename": "string",
    "filesize": "string",
    "mimetype": "string"
  },
  "video": {
    "id": 42,
    "ocr_from_name": "Beispiel",
    "ocr_from_email": "lena.hartmann@example.org",
    "ocr_from_phone": "+49 511 123456",
    "ocr_to_name": "Beispiel",
    "ocr_to_email": "lena.hartmann@example.org",
    "ocr_to_phone": "+49 511 123456",
    "filename": "string",
    "filesize": "string",
    "mimetype": "string"
  },
  "duration": 1,
  "muscle_groups": [
    {
      "id": 42,
      "name": "Beispiel",
      "description": "Text",
      "body_marker_key": "string",
      "is_front": true,
      "created": "2026-10-15T09:30:00+02:00",
      "updated": "2026-10-15T09:30:00+02:00",
      "deleted": true,
      "order": 1
    }
  ],
  "secondary_muscle_groups": [
    {
      "id": 42,
      "name": "Beispiel",
      "description": "Text",
      "body_marker_key": "string",
      "is_front": true,
      "created": "2026-10-15T09:30:00+02:00",
      "updated": "2026-10-15T09:30:00+02:00",
      "deleted": true,
      "order": 1
    }
  ]
}

Update a single StudioTrainingPreset

PATCH/api/crm/studio_training/preset/{identifier}

Path parameters

identifierrequiredstring

Request body application/json

  • dataStudioTrainingPreset
    Show fields (25)
    • idinteger

      Primary key of the training preset. Internal ID.

    • namestring

      Name of the exercise.

    • descriptionstring

      Description of the exercise.

    • imageAttachment10

      Image of the exercise.

    • videoAttachment10

      Video of the exercise.

    • durationinteger

      Typical duration of the exercise in seconds.

    • muscle_groupsarray<StudioTrainingMuscleGroup>

      Primarily trained muscle groups

    • secondary_muscle_groupsarray<StudioTrainingMuscleGroup>

      Secondarily trained muscle groups

    • exercise_typestring

      Category of the exercise, e.g. strength, cardio, mobility, rehab

    • equipmentstring

      Required equipment as free text, e.g. barbell, cable machine, bodyweight

    • execution_notesstring

      Execution cues and safety notes for the member

    • default_setsinteger

      Default prescription proposed when the preset is added to a plan

    • default_repetitionsinteger

      Default number of repetitions.

    • default_rest_secondsinteger

      Default rest time in seconds.

    • content_sourcestring

      One of the CONTENT_SOURCE_* constants

    • content_source_namestring

      Name of the catalogue the entry was seeded from, e.g. wger

    • licensestring

      Licence of the imported content, e.g. CC-BY-SA 4.0

    • license_authorstring

      Author that has to be named to fulfil the licence attribution

    • license_author_urlstring

      Link to the author of the image or video license.

    • review_statusstring

      One of the REVIEW_STATUS_* constants, used to keep generated or imported exercise instructions under human control before they are published

    • reviewed_atstring (date-time)

      Time the exercise was reviewed.

    • reviewed_bystring

      Name of the reviewer.

    • createdstring (date-time)

      Point in time the entity was created.

    • updatedstring (date-time)

      Point in time the entity was last updated.

    • deletedboolean

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

Responses

200Update a single StudioTrainingPresetStudioTrainingPreset

Show fields (25)
  • idinteger

    Primary key of the training preset. Internal ID.

  • namestring

    Name of the exercise.

  • descriptionstring

    Description of the exercise.

  • imageAttachment10

    Image of the exercise.

    Show fields (25)
    • idinteger

      Primary key of the attachment. Internal ID.

    • filenamestring

      Original file name.

    • filesizestring

      Size of the file in bytes.

    • mimetypestring

      MIME type of the file.

    • createdbyusernamestring

      Name of the user who uploaded the file, as text.

    • createdstring (date-time)

      Point in time the attachment was created.

    • googleidstring

      ID of the file in Google Drive.

    • scopestring

      Scope that controls who can see the attachment.

    • ocr_document_typestring

      Document type recognized by OCR.

    • ocr_from_namestring

      Sender name recognized by OCR.

    • ocr_from_companystring

      Sender company recognized by OCR.

    • ocr_from_addressstring

      Sender address recognized by OCR.

    • ocr_from_emailstring

      Sender e-mail address recognized by OCR.

    • ocr_from_phonestring

      Sender phone number recognized by OCR.

    • ocr_to_namestring

      Recipient name recognized by OCR.

    • ocr_to_companystring

      Recipient company recognized by OCR.

    • ocr_to_addressstring

      Recipient address recognized by OCR.

    • ocr_to_emailstring

      Recipient e-mail address recognized by OCR.

    • ocr_to_phonestring

      Recipient phone number recognized by OCR.

    • ocr_summarystring

      Summary of the document created by OCR.

    • ocr_statusstring

      OCR processing status: null=not processed, pending, processing, done, error

    • ocr_errorstring

      Reason of the last failed or incomplete OCR run, null when it went through

    • ocr_processed_atstring (date-time)

      Point in time OCR processing finished.

    • virus_checkedboolean

      1 once the virus scan has passed for this file. The scan runs in the background (AttachmentVirusScanCommand), so a freshly uploaded file starts at 0 and stays there until it was really checked. An infected file never reaches 1 - it is deleted instead. UIs use this to decide whether a file may be handed to a user, so it must stay false until proven otherwise.

    • virus_checked_atstring (date-time)

      When the virus scan passed. Null while the file is still waiting.

  • videoAttachment10

    Video of the exercise.

    Show fields (25)
    • idinteger

      Primary key of the attachment. Internal ID.

    • filenamestring

      Original file name.

    • filesizestring

      Size of the file in bytes.

    • mimetypestring

      MIME type of the file.

    • createdbyusernamestring

      Name of the user who uploaded the file, as text.

    • createdstring (date-time)

      Point in time the attachment was created.

    • googleidstring

      ID of the file in Google Drive.

    • scopestring

      Scope that controls who can see the attachment.

    • ocr_document_typestring

      Document type recognized by OCR.

    • ocr_from_namestring

      Sender name recognized by OCR.

    • ocr_from_companystring

      Sender company recognized by OCR.

    • ocr_from_addressstring

      Sender address recognized by OCR.

    • ocr_from_emailstring

      Sender e-mail address recognized by OCR.

    • ocr_from_phonestring

      Sender phone number recognized by OCR.

    • ocr_to_namestring

      Recipient name recognized by OCR.

    • ocr_to_companystring

      Recipient company recognized by OCR.

    • ocr_to_addressstring

      Recipient address recognized by OCR.

    • ocr_to_emailstring

      Recipient e-mail address recognized by OCR.

    • ocr_to_phonestring

      Recipient phone number recognized by OCR.

    • ocr_summarystring

      Summary of the document created by OCR.

    • ocr_statusstring

      OCR processing status: null=not processed, pending, processing, done, error

    • ocr_errorstring

      Reason of the last failed or incomplete OCR run, null when it went through

    • ocr_processed_atstring (date-time)

      Point in time OCR processing finished.

    • virus_checkedboolean

      1 once the virus scan has passed for this file. The scan runs in the background (AttachmentVirusScanCommand), so a freshly uploaded file starts at 0 and stays there until it was really checked. An infected file never reaches 1 - it is deleted instead. UIs use this to decide whether a file may be handed to a user, so it must stay false until proven otherwise.

    • virus_checked_atstring (date-time)

      When the virus scan passed. Null while the file is still waiting.

  • durationinteger

    Typical duration of the exercise in seconds.

  • muscle_groupsarray<StudioTrainingMuscleGroup>

    Primarily trained muscle groups

    Show fields (10)
    • idinteger

      Primary key of the muscle group. Internal ID.

    • namestring

      Name of the muscle group.

    • body_marker_keystring

      Short identifier used by clients to map the group to a body diagram area

    • descriptionstring

      Description of the muscle group.

    • is_frontboolean

      True if the muscle group is shown on the front side of the body diagram

    • imageAttachment10

      Image of the muscle group.

    • createdstring (date-time)

      Point in time the entity was created.

    • updatedstring (date-time)

      Point in time the entity was last updated.

    • deletedboolean

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

    • orderinteger

      Position of the entity in the order.

  • secondary_muscle_groupsarray<StudioTrainingMuscleGroup>

    Secondarily trained muscle groups

    Show fields (10)
    • idinteger

      Primary key of the muscle group. Internal ID.

    • namestring

      Name of the muscle group.

    • body_marker_keystring

      Short identifier used by clients to map the group to a body diagram area

    • descriptionstring

      Description of the muscle group.

    • is_frontboolean

      True if the muscle group is shown on the front side of the body diagram

    • imageAttachment10

      Image of the muscle group.

    • createdstring (date-time)

      Point in time the entity was created.

    • updatedstring (date-time)

      Point in time the entity was last updated.

    • deletedboolean

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

    • orderinteger

      Position of the entity in the order.

  • exercise_typestring

    Category of the exercise, e.g. strength, cardio, mobility, rehab

  • equipmentstring

    Required equipment as free text, e.g. barbell, cable machine, bodyweight

  • execution_notesstring

    Execution cues and safety notes for the member

  • default_setsinteger

    Default prescription proposed when the preset is added to a plan

  • default_repetitionsinteger

    Default number of repetitions.

  • default_rest_secondsinteger

    Default rest time in seconds.

  • content_sourcestring

    One of the CONTENT_SOURCE_* constants

  • content_source_namestring

    Name of the catalogue the entry was seeded from, e.g. wger

  • licensestring

    Licence of the imported content, e.g. CC-BY-SA 4.0

  • license_authorstring

    Author that has to be named to fulfil the licence attribution

  • license_author_urlstring

    Link to the author of the image or video license.

  • review_statusstring

    One of the REVIEW_STATUS_* constants, used to keep generated or imported exercise instructions under human control before they are published

  • reviewed_atstring (date-time)

    Time the exercise was reviewed.

  • reviewed_bystring

    Name of the reviewer.

  • createdstring (date-time)

    Point in time the entity was created.

  • updatedstring (date-time)

    Point in time the entity was last updated.

  • deletedboolean

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

Request
curl --request PATCH \
  --url https://your-instance.iw-erp.de/api/crm/studio_training/preset/42 \
  --header 'content-type: application/json' \
  --header 'x-iw-jwt-token: <TOKEN>' \
  --data '
{
  "data": {
    "id": 42,
    "name": "Beispiel",
    "description": "Text",
    "content_source_name": "Beispiel",
    "license_author_url": "https://vynst.de",
    "image": {
      "id": 42,
      "ocr_from_name": "Beispiel",
      "ocr_from_email": "lena.hartmann@example.org",
      "ocr_from_phone": "+49 511 123456",
      "ocr_to_name": "Beispiel",
      "ocr_to_email": "lena.hartmann@example.org"
    }
  }
}
'
Response 200 application/json
{
  "id": 42,
  "name": "Beispiel",
  "description": "Text",
  "content_source_name": "Beispiel",
  "license_author_url": "https://vynst.de",
  "image": {
    "id": 42,
    "ocr_from_name": "Beispiel",
    "ocr_from_email": "lena.hartmann@example.org",
    "ocr_from_phone": "+49 511 123456",
    "ocr_to_name": "Beispiel",
    "ocr_to_email": "lena.hartmann@example.org",
    "ocr_to_phone": "+49 511 123456",
    "filename": "string",
    "filesize": "string",
    "mimetype": "string"
  },
  "video": {
    "id": 42,
    "ocr_from_name": "Beispiel",
    "ocr_from_email": "lena.hartmann@example.org",
    "ocr_from_phone": "+49 511 123456",
    "ocr_to_name": "Beispiel",
    "ocr_to_email": "lena.hartmann@example.org",
    "ocr_to_phone": "+49 511 123456",
    "filename": "string",
    "filesize": "string",
    "mimetype": "string"
  },
  "duration": 1,
  "muscle_groups": [
    {
      "id": 42,
      "name": "Beispiel",
      "description": "Text",
      "body_marker_key": "string",
      "is_front": true,
      "created": "2026-10-15T09:30:00+02:00",
      "updated": "2026-10-15T09:30:00+02:00",
      "deleted": true,
      "order": 1
    }
  ],
  "secondary_muscle_groups": [
    {
      "id": 42,
      "name": "Beispiel",
      "description": "Text",
      "body_marker_key": "string",
      "is_front": true,
      "created": "2026-10-15T09:30:00+02:00",
      "updated": "2026-10-15T09:30:00+02:00",
      "deleted": true,
      "order": 1
    }
  ]
}

Delete a single StudioTrainingPreset (soft delete)

DELETE/api/crm/studio_training/preset/{identifier}

Path parameters

identifierrequiredstring

Responses

200Delete a single StudioTrainingPresetStudioTrainingPreset

Show fields (25)
  • idinteger

    Primary key of the training preset. Internal ID.

  • namestring

    Name of the exercise.

  • descriptionstring

    Description of the exercise.

  • imageAttachment10

    Image of the exercise.

    Show fields (25)
    • idinteger

      Primary key of the attachment. Internal ID.

    • filenamestring

      Original file name.

    • filesizestring

      Size of the file in bytes.

    • mimetypestring

      MIME type of the file.

    • createdbyusernamestring

      Name of the user who uploaded the file, as text.

    • createdstring (date-time)

      Point in time the attachment was created.

    • googleidstring

      ID of the file in Google Drive.

    • scopestring

      Scope that controls who can see the attachment.

    • ocr_document_typestring

      Document type recognized by OCR.

    • ocr_from_namestring

      Sender name recognized by OCR.

    • ocr_from_companystring

      Sender company recognized by OCR.

    • ocr_from_addressstring

      Sender address recognized by OCR.

    • ocr_from_emailstring

      Sender e-mail address recognized by OCR.

    • ocr_from_phonestring

      Sender phone number recognized by OCR.

    • ocr_to_namestring

      Recipient name recognized by OCR.

    • ocr_to_companystring

      Recipient company recognized by OCR.

    • ocr_to_addressstring

      Recipient address recognized by OCR.

    • ocr_to_emailstring

      Recipient e-mail address recognized by OCR.

    • ocr_to_phonestring

      Recipient phone number recognized by OCR.

    • ocr_summarystring

      Summary of the document created by OCR.

    • ocr_statusstring

      OCR processing status: null=not processed, pending, processing, done, error

    • ocr_errorstring

      Reason of the last failed or incomplete OCR run, null when it went through

    • ocr_processed_atstring (date-time)

      Point in time OCR processing finished.

    • virus_checkedboolean

      1 once the virus scan has passed for this file. The scan runs in the background (AttachmentVirusScanCommand), so a freshly uploaded file starts at 0 and stays there until it was really checked. An infected file never reaches 1 - it is deleted instead. UIs use this to decide whether a file may be handed to a user, so it must stay false until proven otherwise.

    • virus_checked_atstring (date-time)

      When the virus scan passed. Null while the file is still waiting.

  • videoAttachment10

    Video of the exercise.

    Show fields (25)
    • idinteger

      Primary key of the attachment. Internal ID.

    • filenamestring

      Original file name.

    • filesizestring

      Size of the file in bytes.

    • mimetypestring

      MIME type of the file.

    • createdbyusernamestring

      Name of the user who uploaded the file, as text.

    • createdstring (date-time)

      Point in time the attachment was created.

    • googleidstring

      ID of the file in Google Drive.

    • scopestring

      Scope that controls who can see the attachment.

    • ocr_document_typestring

      Document type recognized by OCR.

    • ocr_from_namestring

      Sender name recognized by OCR.

    • ocr_from_companystring

      Sender company recognized by OCR.

    • ocr_from_addressstring

      Sender address recognized by OCR.

    • ocr_from_emailstring

      Sender e-mail address recognized by OCR.

    • ocr_from_phonestring

      Sender phone number recognized by OCR.

    • ocr_to_namestring

      Recipient name recognized by OCR.

    • ocr_to_companystring

      Recipient company recognized by OCR.

    • ocr_to_addressstring

      Recipient address recognized by OCR.

    • ocr_to_emailstring

      Recipient e-mail address recognized by OCR.

    • ocr_to_phonestring

      Recipient phone number recognized by OCR.

    • ocr_summarystring

      Summary of the document created by OCR.

    • ocr_statusstring

      OCR processing status: null=not processed, pending, processing, done, error

    • ocr_errorstring

      Reason of the last failed or incomplete OCR run, null when it went through

    • ocr_processed_atstring (date-time)

      Point in time OCR processing finished.

    • virus_checkedboolean

      1 once the virus scan has passed for this file. The scan runs in the background (AttachmentVirusScanCommand), so a freshly uploaded file starts at 0 and stays there until it was really checked. An infected file never reaches 1 - it is deleted instead. UIs use this to decide whether a file may be handed to a user, so it must stay false until proven otherwise.

    • virus_checked_atstring (date-time)

      When the virus scan passed. Null while the file is still waiting.

  • durationinteger

    Typical duration of the exercise in seconds.

  • muscle_groupsarray<StudioTrainingMuscleGroup>

    Primarily trained muscle groups

    Show fields (10)
    • idinteger

      Primary key of the muscle group. Internal ID.

    • namestring

      Name of the muscle group.

    • body_marker_keystring

      Short identifier used by clients to map the group to a body diagram area

    • descriptionstring

      Description of the muscle group.

    • is_frontboolean

      True if the muscle group is shown on the front side of the body diagram

    • imageAttachment10

      Image of the muscle group.

    • createdstring (date-time)

      Point in time the entity was created.

    • updatedstring (date-time)

      Point in time the entity was last updated.

    • deletedboolean

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

    • orderinteger

      Position of the entity in the order.

  • secondary_muscle_groupsarray<StudioTrainingMuscleGroup>

    Secondarily trained muscle groups

    Show fields (10)
    • idinteger

      Primary key of the muscle group. Internal ID.

    • namestring

      Name of the muscle group.

    • body_marker_keystring

      Short identifier used by clients to map the group to a body diagram area

    • descriptionstring

      Description of the muscle group.

    • is_frontboolean

      True if the muscle group is shown on the front side of the body diagram

    • imageAttachment10

      Image of the muscle group.

    • createdstring (date-time)

      Point in time the entity was created.

    • updatedstring (date-time)

      Point in time the entity was last updated.

    • deletedboolean

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

    • orderinteger

      Position of the entity in the order.

  • exercise_typestring

    Category of the exercise, e.g. strength, cardio, mobility, rehab

  • equipmentstring

    Required equipment as free text, e.g. barbell, cable machine, bodyweight

  • execution_notesstring

    Execution cues and safety notes for the member

  • default_setsinteger

    Default prescription proposed when the preset is added to a plan

  • default_repetitionsinteger

    Default number of repetitions.

  • default_rest_secondsinteger

    Default rest time in seconds.

  • content_sourcestring

    One of the CONTENT_SOURCE_* constants

  • content_source_namestring

    Name of the catalogue the entry was seeded from, e.g. wger

  • licensestring

    Licence of the imported content, e.g. CC-BY-SA 4.0

  • license_authorstring

    Author that has to be named to fulfil the licence attribution

  • license_author_urlstring

    Link to the author of the image or video license.

  • review_statusstring

    One of the REVIEW_STATUS_* constants, used to keep generated or imported exercise instructions under human control before they are published

  • reviewed_atstring (date-time)

    Time the exercise was reviewed.

  • reviewed_bystring

    Name of the reviewer.

  • createdstring (date-time)

    Point in time the entity was created.

  • updatedstring (date-time)

    Point in time the entity was last updated.

  • deletedboolean

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

Request
curl --request DELETE \
  --url https://your-instance.iw-erp.de/api/crm/studio_training/preset/42 \
  --header 'x-iw-jwt-token: <TOKEN>'
Response 200 application/json
{
  "id": 42,
  "name": "Beispiel",
  "description": "Text",
  "content_source_name": "Beispiel",
  "license_author_url": "https://vynst.de",
  "image": {
    "id": 42,
    "ocr_from_name": "Beispiel",
    "ocr_from_email": "lena.hartmann@example.org",
    "ocr_from_phone": "+49 511 123456",
    "ocr_to_name": "Beispiel",
    "ocr_to_email": "lena.hartmann@example.org",
    "ocr_to_phone": "+49 511 123456",
    "filename": "string",
    "filesize": "string",
    "mimetype": "string"
  },
  "video": {
    "id": 42,
    "ocr_from_name": "Beispiel",
    "ocr_from_email": "lena.hartmann@example.org",
    "ocr_from_phone": "+49 511 123456",
    "ocr_to_name": "Beispiel",
    "ocr_to_email": "lena.hartmann@example.org",
    "ocr_to_phone": "+49 511 123456",
    "filename": "string",
    "filesize": "string",
    "mimetype": "string"
  },
  "duration": 1,
  "muscle_groups": [
    {
      "id": 42,
      "name": "Beispiel",
      "description": "Text",
      "body_marker_key": "string",
      "is_front": true,
      "created": "2026-10-15T09:30:00+02:00",
      "updated": "2026-10-15T09:30:00+02:00",
      "deleted": true,
      "order": 1
    }
  ],
  "secondary_muscle_groups": [
    {
      "id": 42,
      "name": "Beispiel",
      "description": "Text",
      "body_marker_key": "string",
      "is_front": true,
      "created": "2026-10-15T09:30:00+02:00",
      "updated": "2026-10-15T09:30:00+02:00",
      "deleted": true,
      "order": 1
    }
  ]
}