Skip to content
Developer

StudioTraining / StudioTrainingPlanExercise

Studio training6 EndpointsCRM / StudioTraining / StudioTrainingPlanExercise

Returns a list of StudioTrainingPlanExercise objects

GET/api/crm/studio_training/plan_exercise

Query parameters

idstring
deletedbooleanThis property is used to mark an entity as deleted / archived | Default value: false
planDaystring
presetstring
devicestringOptional concrete machine for this exercise
circuitGroupstringExercises of the same day sharing this key form a superset / circuit block
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 StudioTrainingPlanExercise objectsarray<StudioTrainingPlanExercise>

Show fields (21)
  • idinteger

    Primary key of the plan exercise. Internal ID.

  • plan_dayStudioTrainingPlanDay

    Plan day the exercise belongs to.

    Show fields (11)
    • idinteger

      Primary key of the plan day. Internal ID.

    • planStudioTrainingPlan

      Plan the day belongs to.

    • namestring

      Name of the plan day.

    • descriptionstring

      Description of the plan day.

    • day_of_weekinteger

      Optional fixed weekday (1 = Monday ... 7 = Sunday) if the plan is bound to weekdays

    • roundsinteger

      Number of rounds if the day is executed as a circuit (Zirkeltraining)

    • round_rest_secondsinteger

      Pause between circuit rounds in seconds

    • 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.

  • presetStudioTrainingPreset

    Training preset of the exercise.

    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

  • deviceStudioDevice

    Optional concrete machine for this exercise

    Show fields (10)
    • idinteger

      Primary key of the studio device. Internal ID.

    • namestring

      Name of the device.

    • descriptionstring

      Description of the device.

    • manufacturerstring

      Manufacturer of the device.

    • modelstring

      Model of the device.

    • device_typestring

      Type of the device, for example treadmill or bike.

    • identifierstring

      Identifier of the device at the manufacturer.

    • 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

  • namestring

    Overrides the preset name when the trainer renamed the exercise for this plan

  • setsinteger

    Number of sets.

  • repetitionsinteger

    Number of repetitions per set.

  • repetitions_tointeger

    Upper bound if the prescription is a repetition range (e.g. 8 - 12)

  • weightnumber (float)

    Weight per repetition.

  • weight_unitstring

    Unit of the weight, for example kg.

  • duration_secondsinteger

    Duration of one set in seconds for time based exercises

  • rest_secondsinteger

    Pause between sets in seconds

  • tempostring

    Movement tempo notation, e.g. "2-0-2-0"

  • intensity_percentnumber (float)

    Target intensity in percent of the one repetition maximum

  • rpenumber (float)

    Rate of perceived exertion / reps in reserve target

  • circuit_groupstring

    Exercises of the same day sharing this key form a superset / circuit block

  • notesstring

    Notes on the exercise.

  • 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.

Request
curl --request GET \
  --url https://your-instance.iw-erp.de/api/crm/studio_training/plan_exercise \
  --header 'x-iw-jwt-token: <TOKEN>'
Response 200 application/json
[
  {
    "id": 42,
    "name": "Beispiel",
    "plan_day": {
      "id": 42,
      "name": "Beispiel",
      "description": "Text",
      "day_of_week": 1,
      "rounds": 1,
      "round_rest_seconds": 1,
      "created": "2026-10-15T09:30:00+02:00",
      "updated": "2026-10-15T09:30:00+02:00",
      "deleted": true,
      "order": 1
    },
    "preset": {
      "id": 42,
      "name": "Beispiel",
      "description": "Text",
      "content_source_name": "Beispiel",
      "license_author_url": "https://vynst.de",
      "duration": 1,
      "exercise_type": "string",
      "equipment": "string",
      "execution_notes": "string",
      "default_sets": 1
    },
    "device": {
      "id": 42,
      "name": "Beispiel",
      "description": "Text",
      "manufacturer": "string",
      "model": "string",
      "device_type": "string",
      "identifier": "42",
      "created": "2026-10-15T09:30:00+02:00",
      "updated": "2026-10-15T09:30:00+02:00",
      "deleted": true
    },
    "sets": 1,
    "repetitions": 1,
    "repetitions_to": 1,
    "weight": 1.5,
    "weight_unit": "string"
  }
]

Create a single StudioTrainingPlanExercise

POST/api/crm/studio_training/plan_exercise

Request body application/json

  • dataStudioTrainingPlanExercise
    Show fields (21)
    • idinteger

      Primary key of the plan exercise. Internal ID.

    • plan_dayStudioTrainingPlanDay

      Plan day the exercise belongs to.

    • presetStudioTrainingPreset

      Training preset of the exercise.

    • deviceStudioDevice

      Optional concrete machine for this exercise

    • namestring

      Overrides the preset name when the trainer renamed the exercise for this plan

    • setsinteger

      Number of sets.

    • repetitionsinteger

      Number of repetitions per set.

    • repetitions_tointeger

      Upper bound if the prescription is a repetition range (e.g. 8 - 12)

    • weightnumber (float)

      Weight per repetition.

    • weight_unitstring

      Unit of the weight, for example kg.

    • duration_secondsinteger

      Duration of one set in seconds for time based exercises

    • rest_secondsinteger

      Pause between sets in seconds

    • tempostring

      Movement tempo notation, e.g. "2-0-2-0"

    • intensity_percentnumber (float)

      Target intensity in percent of the one repetition maximum

    • rpenumber (float)

      Rate of perceived exertion / reps in reserve target

    • circuit_groupstring

      Exercises of the same day sharing this key form a superset / circuit block

    • notesstring

      Notes on the exercise.

    • 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.

Responses

200Create a single StudioTrainingPlanExerciseStudioTrainingPlanExercise

Show fields (21)
  • idinteger

    Primary key of the plan exercise. Internal ID.

  • plan_dayStudioTrainingPlanDay

    Plan day the exercise belongs to.

    Show fields (11)
    • idinteger

      Primary key of the plan day. Internal ID.

    • planStudioTrainingPlan

      Plan the day belongs to.

    • namestring

      Name of the plan day.

    • descriptionstring

      Description of the plan day.

    • day_of_weekinteger

      Optional fixed weekday (1 = Monday ... 7 = Sunday) if the plan is bound to weekdays

    • roundsinteger

      Number of rounds if the day is executed as a circuit (Zirkeltraining)

    • round_rest_secondsinteger

      Pause between circuit rounds in seconds

    • 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.

  • presetStudioTrainingPreset

    Training preset of the exercise.

    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

  • deviceStudioDevice

    Optional concrete machine for this exercise

    Show fields (10)
    • idinteger

      Primary key of the studio device. Internal ID.

    • namestring

      Name of the device.

    • descriptionstring

      Description of the device.

    • manufacturerstring

      Manufacturer of the device.

    • modelstring

      Model of the device.

    • device_typestring

      Type of the device, for example treadmill or bike.

    • identifierstring

      Identifier of the device at the manufacturer.

    • 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

  • namestring

    Overrides the preset name when the trainer renamed the exercise for this plan

  • setsinteger

    Number of sets.

  • repetitionsinteger

    Number of repetitions per set.

  • repetitions_tointeger

    Upper bound if the prescription is a repetition range (e.g. 8 - 12)

  • weightnumber (float)

    Weight per repetition.

  • weight_unitstring

    Unit of the weight, for example kg.

  • duration_secondsinteger

    Duration of one set in seconds for time based exercises

  • rest_secondsinteger

    Pause between sets in seconds

  • tempostring

    Movement tempo notation, e.g. "2-0-2-0"

  • intensity_percentnumber (float)

    Target intensity in percent of the one repetition maximum

  • rpenumber (float)

    Rate of perceived exertion / reps in reserve target

  • circuit_groupstring

    Exercises of the same day sharing this key form a superset / circuit block

  • notesstring

    Notes on the exercise.

  • 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.

Request
curl --request POST \
  --url https://your-instance.iw-erp.de/api/crm/studio_training/plan_exercise \
  --header 'content-type: application/json' \
  --header 'x-iw-jwt-token: <TOKEN>' \
  --data '
{
  "data": {
    "id": 42,
    "name": "Beispiel",
    "plan_day": {
      "id": 42,
      "name": "Beispiel",
      "description": "Text",
      "day_of_week": 1,
      "rounds": 1,
      "round_rest_seconds": 1
    },
    "preset": {
      "id": 42,
      "name": "Beispiel",
      "description": "Text",
      "content_source_name": "Beispiel",
      "license_author_url": "https://vynst.de",
      "duration": 1
    },
    "device": {
      "id": 42,
      "name": "Beispiel",
      "description": "Text",
      "manufacturer": "string",
      "model": "string",
      "device_type": "string"
    },
    "sets": 1
  }
}
'
Response 200 application/json
{
  "id": 42,
  "name": "Beispiel",
  "plan_day": {
    "id": 42,
    "name": "Beispiel",
    "description": "Text",
    "plan": {
      "id": 42,
      "name": "Beispiel",
      "description": "Text",
      "times_per_week": 1,
      "status": "string",
      "is_template": true,
      "valid_from": "2026-10-15T09:30:00+02:00",
      "valid_until": "2026-10-15T09:30:00+02:00",
      "review_date": "2026-10-15T09:30:00+02:00",
      "training_goal": "string"
    },
    "day_of_week": 1,
    "rounds": 1,
    "round_rest_seconds": 1,
    "created": "2026-10-15T09:30:00+02:00",
    "updated": "2026-10-15T09:30:00+02:00",
    "deleted": true
  },
  "preset": {
    "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"
  },
  "device": {
    "id": 42,
    "name": "Beispiel",
    "description": "Text",
    "manufacturer": "string",
    "model": "string",
    "device_type": "string",
    "identifier": "42",
    "created": "2026-10-15T09:30:00+02:00",
    "updated": "2026-10-15T09:30:00+02:00",
    "deleted": true
  },
  "sets": 1,
  "repetitions": 1,
  "repetitions_to": 1,
  "weight": 1.5,
  "weight_unit": "string"
}

Returns a single StudioTrainingPlanExercise

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

Path parameters

identifierrequiredstring

Responses

200Returns a single StudioTrainingPlanExerciseStudioTrainingPlanExercise

Show fields (21)
  • idinteger

    Primary key of the plan exercise. Internal ID.

  • plan_dayStudioTrainingPlanDay

    Plan day the exercise belongs to.

    Show fields (11)
    • idinteger

      Primary key of the plan day. Internal ID.

    • planStudioTrainingPlan

      Plan the day belongs to.

    • namestring

      Name of the plan day.

    • descriptionstring

      Description of the plan day.

    • day_of_weekinteger

      Optional fixed weekday (1 = Monday ... 7 = Sunday) if the plan is bound to weekdays

    • roundsinteger

      Number of rounds if the day is executed as a circuit (Zirkeltraining)

    • round_rest_secondsinteger

      Pause between circuit rounds in seconds

    • 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.

  • presetStudioTrainingPreset

    Training preset of the exercise.

    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

  • deviceStudioDevice

    Optional concrete machine for this exercise

    Show fields (10)
    • idinteger

      Primary key of the studio device. Internal ID.

    • namestring

      Name of the device.

    • descriptionstring

      Description of the device.

    • manufacturerstring

      Manufacturer of the device.

    • modelstring

      Model of the device.

    • device_typestring

      Type of the device, for example treadmill or bike.

    • identifierstring

      Identifier of the device at the manufacturer.

    • 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

  • namestring

    Overrides the preset name when the trainer renamed the exercise for this plan

  • setsinteger

    Number of sets.

  • repetitionsinteger

    Number of repetitions per set.

  • repetitions_tointeger

    Upper bound if the prescription is a repetition range (e.g. 8 - 12)

  • weightnumber (float)

    Weight per repetition.

  • weight_unitstring

    Unit of the weight, for example kg.

  • duration_secondsinteger

    Duration of one set in seconds for time based exercises

  • rest_secondsinteger

    Pause between sets in seconds

  • tempostring

    Movement tempo notation, e.g. "2-0-2-0"

  • intensity_percentnumber (float)

    Target intensity in percent of the one repetition maximum

  • rpenumber (float)

    Rate of perceived exertion / reps in reserve target

  • circuit_groupstring

    Exercises of the same day sharing this key form a superset / circuit block

  • notesstring

    Notes on the exercise.

  • 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.

Request
curl --request GET \
  --url https://your-instance.iw-erp.de/api/crm/studio_training/plan_exercise/42 \
  --header 'x-iw-jwt-token: <TOKEN>'
Response 200 application/json
{
  "id": 42,
  "name": "Beispiel",
  "plan_day": {
    "id": 42,
    "name": "Beispiel",
    "description": "Text",
    "plan": {
      "id": 42,
      "name": "Beispiel",
      "description": "Text",
      "times_per_week": 1,
      "status": "string",
      "is_template": true,
      "valid_from": "2026-10-15T09:30:00+02:00",
      "valid_until": "2026-10-15T09:30:00+02:00",
      "review_date": "2026-10-15T09:30:00+02:00",
      "training_goal": "string"
    },
    "day_of_week": 1,
    "rounds": 1,
    "round_rest_seconds": 1,
    "created": "2026-10-15T09:30:00+02:00",
    "updated": "2026-10-15T09:30:00+02:00",
    "deleted": true
  },
  "preset": {
    "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"
  },
  "device": {
    "id": 42,
    "name": "Beispiel",
    "description": "Text",
    "manufacturer": "string",
    "model": "string",
    "device_type": "string",
    "identifier": "42",
    "created": "2026-10-15T09:30:00+02:00",
    "updated": "2026-10-15T09:30:00+02:00",
    "deleted": true
  },
  "sets": 1,
  "repetitions": 1,
  "repetitions_to": 1,
  "weight": 1.5,
  "weight_unit": "string"
}

Update a single StudioTrainingPlanExercise

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

Path parameters

identifierrequiredstring

Request body application/json

  • dataStudioTrainingPlanExercise
    Show fields (21)
    • idinteger

      Primary key of the plan exercise. Internal ID.

    • plan_dayStudioTrainingPlanDay

      Plan day the exercise belongs to.

    • presetStudioTrainingPreset

      Training preset of the exercise.

    • deviceStudioDevice

      Optional concrete machine for this exercise

    • namestring

      Overrides the preset name when the trainer renamed the exercise for this plan

    • setsinteger

      Number of sets.

    • repetitionsinteger

      Number of repetitions per set.

    • repetitions_tointeger

      Upper bound if the prescription is a repetition range (e.g. 8 - 12)

    • weightnumber (float)

      Weight per repetition.

    • weight_unitstring

      Unit of the weight, for example kg.

    • duration_secondsinteger

      Duration of one set in seconds for time based exercises

    • rest_secondsinteger

      Pause between sets in seconds

    • tempostring

      Movement tempo notation, e.g. "2-0-2-0"

    • intensity_percentnumber (float)

      Target intensity in percent of the one repetition maximum

    • rpenumber (float)

      Rate of perceived exertion / reps in reserve target

    • circuit_groupstring

      Exercises of the same day sharing this key form a superset / circuit block

    • notesstring

      Notes on the exercise.

    • 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.

Responses

200Update a single StudioTrainingPlanExerciseStudioTrainingPlanExercise

Show fields (21)
  • idinteger

    Primary key of the plan exercise. Internal ID.

  • plan_dayStudioTrainingPlanDay

    Plan day the exercise belongs to.

    Show fields (11)
    • idinteger

      Primary key of the plan day. Internal ID.

    • planStudioTrainingPlan

      Plan the day belongs to.

    • namestring

      Name of the plan day.

    • descriptionstring

      Description of the plan day.

    • day_of_weekinteger

      Optional fixed weekday (1 = Monday ... 7 = Sunday) if the plan is bound to weekdays

    • roundsinteger

      Number of rounds if the day is executed as a circuit (Zirkeltraining)

    • round_rest_secondsinteger

      Pause between circuit rounds in seconds

    • 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.

  • presetStudioTrainingPreset

    Training preset of the exercise.

    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

  • deviceStudioDevice

    Optional concrete machine for this exercise

    Show fields (10)
    • idinteger

      Primary key of the studio device. Internal ID.

    • namestring

      Name of the device.

    • descriptionstring

      Description of the device.

    • manufacturerstring

      Manufacturer of the device.

    • modelstring

      Model of the device.

    • device_typestring

      Type of the device, for example treadmill or bike.

    • identifierstring

      Identifier of the device at the manufacturer.

    • 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

  • namestring

    Overrides the preset name when the trainer renamed the exercise for this plan

  • setsinteger

    Number of sets.

  • repetitionsinteger

    Number of repetitions per set.

  • repetitions_tointeger

    Upper bound if the prescription is a repetition range (e.g. 8 - 12)

  • weightnumber (float)

    Weight per repetition.

  • weight_unitstring

    Unit of the weight, for example kg.

  • duration_secondsinteger

    Duration of one set in seconds for time based exercises

  • rest_secondsinteger

    Pause between sets in seconds

  • tempostring

    Movement tempo notation, e.g. "2-0-2-0"

  • intensity_percentnumber (float)

    Target intensity in percent of the one repetition maximum

  • rpenumber (float)

    Rate of perceived exertion / reps in reserve target

  • circuit_groupstring

    Exercises of the same day sharing this key form a superset / circuit block

  • notesstring

    Notes on the exercise.

  • 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.

Request
curl --request PUT \
  --url https://your-instance.iw-erp.de/api/crm/studio_training/plan_exercise/42 \
  --header 'content-type: application/json' \
  --header 'x-iw-jwt-token: <TOKEN>' \
  --data '
{
  "data": {
    "id": 42,
    "name": "Beispiel",
    "plan_day": {
      "id": 42,
      "name": "Beispiel",
      "description": "Text",
      "day_of_week": 1,
      "rounds": 1,
      "round_rest_seconds": 1
    },
    "preset": {
      "id": 42,
      "name": "Beispiel",
      "description": "Text",
      "content_source_name": "Beispiel",
      "license_author_url": "https://vynst.de",
      "duration": 1
    },
    "device": {
      "id": 42,
      "name": "Beispiel",
      "description": "Text",
      "manufacturer": "string",
      "model": "string",
      "device_type": "string"
    },
    "sets": 1
  }
}
'
Response 200 application/json
{
  "id": 42,
  "name": "Beispiel",
  "plan_day": {
    "id": 42,
    "name": "Beispiel",
    "description": "Text",
    "plan": {
      "id": 42,
      "name": "Beispiel",
      "description": "Text",
      "times_per_week": 1,
      "status": "string",
      "is_template": true,
      "valid_from": "2026-10-15T09:30:00+02:00",
      "valid_until": "2026-10-15T09:30:00+02:00",
      "review_date": "2026-10-15T09:30:00+02:00",
      "training_goal": "string"
    },
    "day_of_week": 1,
    "rounds": 1,
    "round_rest_seconds": 1,
    "created": "2026-10-15T09:30:00+02:00",
    "updated": "2026-10-15T09:30:00+02:00",
    "deleted": true
  },
  "preset": {
    "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"
  },
  "device": {
    "id": 42,
    "name": "Beispiel",
    "description": "Text",
    "manufacturer": "string",
    "model": "string",
    "device_type": "string",
    "identifier": "42",
    "created": "2026-10-15T09:30:00+02:00",
    "updated": "2026-10-15T09:30:00+02:00",
    "deleted": true
  },
  "sets": 1,
  "repetitions": 1,
  "repetitions_to": 1,
  "weight": 1.5,
  "weight_unit": "string"
}

Update a single StudioTrainingPlanExercise

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

Path parameters

identifierrequiredstring

Request body application/json

  • dataStudioTrainingPlanExercise
    Show fields (21)
    • idinteger

      Primary key of the plan exercise. Internal ID.

    • plan_dayStudioTrainingPlanDay

      Plan day the exercise belongs to.

    • presetStudioTrainingPreset

      Training preset of the exercise.

    • deviceStudioDevice

      Optional concrete machine for this exercise

    • namestring

      Overrides the preset name when the trainer renamed the exercise for this plan

    • setsinteger

      Number of sets.

    • repetitionsinteger

      Number of repetitions per set.

    • repetitions_tointeger

      Upper bound if the prescription is a repetition range (e.g. 8 - 12)

    • weightnumber (float)

      Weight per repetition.

    • weight_unitstring

      Unit of the weight, for example kg.

    • duration_secondsinteger

      Duration of one set in seconds for time based exercises

    • rest_secondsinteger

      Pause between sets in seconds

    • tempostring

      Movement tempo notation, e.g. "2-0-2-0"

    • intensity_percentnumber (float)

      Target intensity in percent of the one repetition maximum

    • rpenumber (float)

      Rate of perceived exertion / reps in reserve target

    • circuit_groupstring

      Exercises of the same day sharing this key form a superset / circuit block

    • notesstring

      Notes on the exercise.

    • 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.

Responses

200Update a single StudioTrainingPlanExerciseStudioTrainingPlanExercise

Show fields (21)
  • idinteger

    Primary key of the plan exercise. Internal ID.

  • plan_dayStudioTrainingPlanDay

    Plan day the exercise belongs to.

    Show fields (11)
    • idinteger

      Primary key of the plan day. Internal ID.

    • planStudioTrainingPlan

      Plan the day belongs to.

    • namestring

      Name of the plan day.

    • descriptionstring

      Description of the plan day.

    • day_of_weekinteger

      Optional fixed weekday (1 = Monday ... 7 = Sunday) if the plan is bound to weekdays

    • roundsinteger

      Number of rounds if the day is executed as a circuit (Zirkeltraining)

    • round_rest_secondsinteger

      Pause between circuit rounds in seconds

    • 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.

  • presetStudioTrainingPreset

    Training preset of the exercise.

    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

  • deviceStudioDevice

    Optional concrete machine for this exercise

    Show fields (10)
    • idinteger

      Primary key of the studio device. Internal ID.

    • namestring

      Name of the device.

    • descriptionstring

      Description of the device.

    • manufacturerstring

      Manufacturer of the device.

    • modelstring

      Model of the device.

    • device_typestring

      Type of the device, for example treadmill or bike.

    • identifierstring

      Identifier of the device at the manufacturer.

    • 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

  • namestring

    Overrides the preset name when the trainer renamed the exercise for this plan

  • setsinteger

    Number of sets.

  • repetitionsinteger

    Number of repetitions per set.

  • repetitions_tointeger

    Upper bound if the prescription is a repetition range (e.g. 8 - 12)

  • weightnumber (float)

    Weight per repetition.

  • weight_unitstring

    Unit of the weight, for example kg.

  • duration_secondsinteger

    Duration of one set in seconds for time based exercises

  • rest_secondsinteger

    Pause between sets in seconds

  • tempostring

    Movement tempo notation, e.g. "2-0-2-0"

  • intensity_percentnumber (float)

    Target intensity in percent of the one repetition maximum

  • rpenumber (float)

    Rate of perceived exertion / reps in reserve target

  • circuit_groupstring

    Exercises of the same day sharing this key form a superset / circuit block

  • notesstring

    Notes on the exercise.

  • 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.

Request
curl --request PATCH \
  --url https://your-instance.iw-erp.de/api/crm/studio_training/plan_exercise/42 \
  --header 'content-type: application/json' \
  --header 'x-iw-jwt-token: <TOKEN>' \
  --data '
{
  "data": {
    "id": 42,
    "name": "Beispiel",
    "plan_day": {
      "id": 42,
      "name": "Beispiel",
      "description": "Text",
      "day_of_week": 1,
      "rounds": 1,
      "round_rest_seconds": 1
    },
    "preset": {
      "id": 42,
      "name": "Beispiel",
      "description": "Text",
      "content_source_name": "Beispiel",
      "license_author_url": "https://vynst.de",
      "duration": 1
    },
    "device": {
      "id": 42,
      "name": "Beispiel",
      "description": "Text",
      "manufacturer": "string",
      "model": "string",
      "device_type": "string"
    },
    "sets": 1
  }
}
'
Response 200 application/json
{
  "id": 42,
  "name": "Beispiel",
  "plan_day": {
    "id": 42,
    "name": "Beispiel",
    "description": "Text",
    "plan": {
      "id": 42,
      "name": "Beispiel",
      "description": "Text",
      "times_per_week": 1,
      "status": "string",
      "is_template": true,
      "valid_from": "2026-10-15T09:30:00+02:00",
      "valid_until": "2026-10-15T09:30:00+02:00",
      "review_date": "2026-10-15T09:30:00+02:00",
      "training_goal": "string"
    },
    "day_of_week": 1,
    "rounds": 1,
    "round_rest_seconds": 1,
    "created": "2026-10-15T09:30:00+02:00",
    "updated": "2026-10-15T09:30:00+02:00",
    "deleted": true
  },
  "preset": {
    "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"
  },
  "device": {
    "id": 42,
    "name": "Beispiel",
    "description": "Text",
    "manufacturer": "string",
    "model": "string",
    "device_type": "string",
    "identifier": "42",
    "created": "2026-10-15T09:30:00+02:00",
    "updated": "2026-10-15T09:30:00+02:00",
    "deleted": true
  },
  "sets": 1,
  "repetitions": 1,
  "repetitions_to": 1,
  "weight": 1.5,
  "weight_unit": "string"
}

Delete a single StudioTrainingPlanExercise (soft delete)

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

Path parameters

identifierrequiredstring

Responses

200Delete a single StudioTrainingPlanExerciseStudioTrainingPlanExercise

Show fields (21)
  • idinteger

    Primary key of the plan exercise. Internal ID.

  • plan_dayStudioTrainingPlanDay

    Plan day the exercise belongs to.

    Show fields (11)
    • idinteger

      Primary key of the plan day. Internal ID.

    • planStudioTrainingPlan

      Plan the day belongs to.

    • namestring

      Name of the plan day.

    • descriptionstring

      Description of the plan day.

    • day_of_weekinteger

      Optional fixed weekday (1 = Monday ... 7 = Sunday) if the plan is bound to weekdays

    • roundsinteger

      Number of rounds if the day is executed as a circuit (Zirkeltraining)

    • round_rest_secondsinteger

      Pause between circuit rounds in seconds

    • 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.

  • presetStudioTrainingPreset

    Training preset of the exercise.

    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

  • deviceStudioDevice

    Optional concrete machine for this exercise

    Show fields (10)
    • idinteger

      Primary key of the studio device. Internal ID.

    • namestring

      Name of the device.

    • descriptionstring

      Description of the device.

    • manufacturerstring

      Manufacturer of the device.

    • modelstring

      Model of the device.

    • device_typestring

      Type of the device, for example treadmill or bike.

    • identifierstring

      Identifier of the device at the manufacturer.

    • 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

  • namestring

    Overrides the preset name when the trainer renamed the exercise for this plan

  • setsinteger

    Number of sets.

  • repetitionsinteger

    Number of repetitions per set.

  • repetitions_tointeger

    Upper bound if the prescription is a repetition range (e.g. 8 - 12)

  • weightnumber (float)

    Weight per repetition.

  • weight_unitstring

    Unit of the weight, for example kg.

  • duration_secondsinteger

    Duration of one set in seconds for time based exercises

  • rest_secondsinteger

    Pause between sets in seconds

  • tempostring

    Movement tempo notation, e.g. "2-0-2-0"

  • intensity_percentnumber (float)

    Target intensity in percent of the one repetition maximum

  • rpenumber (float)

    Rate of perceived exertion / reps in reserve target

  • circuit_groupstring

    Exercises of the same day sharing this key form a superset / circuit block

  • notesstring

    Notes on the exercise.

  • 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.

Request
curl --request DELETE \
  --url https://your-instance.iw-erp.de/api/crm/studio_training/plan_exercise/42 \
  --header 'x-iw-jwt-token: <TOKEN>'
Response 200 application/json
{
  "id": 42,
  "name": "Beispiel",
  "plan_day": {
    "id": 42,
    "name": "Beispiel",
    "description": "Text",
    "plan": {
      "id": 42,
      "name": "Beispiel",
      "description": "Text",
      "times_per_week": 1,
      "status": "string",
      "is_template": true,
      "valid_from": "2026-10-15T09:30:00+02:00",
      "valid_until": "2026-10-15T09:30:00+02:00",
      "review_date": "2026-10-15T09:30:00+02:00",
      "training_goal": "string"
    },
    "day_of_week": 1,
    "rounds": 1,
    "round_rest_seconds": 1,
    "created": "2026-10-15T09:30:00+02:00",
    "updated": "2026-10-15T09:30:00+02:00",
    "deleted": true
  },
  "preset": {
    "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"
  },
  "device": {
    "id": 42,
    "name": "Beispiel",
    "description": "Text",
    "manufacturer": "string",
    "model": "string",
    "device_type": "string",
    "identifier": "42",
    "created": "2026-10-15T09:30:00+02:00",
    "updated": "2026-10-15T09:30:00+02:00",
    "deleted": true
  },
  "sets": 1,
  "repetitions": 1,
  "repetitions_to": 1,
  "weight": 1.5,
  "weight_unit": "string"
}