StudioTraining / StudioTrainingSessionEntry
Liefert eine Liste der StudioTrainingSessionEntry-Objekte.
GET/api/crm/studio_training/session_entry
Query-Parameter
idstring | |
deletedboolean | Diese Eigenschaft markiert eine Entität als gelöscht / archiviert | Benötigtes Zugriffsrecht: SCOPE | Standardwert: false |
sessionstring | |
planExercisestring | Trainingsvorgabe, gegen die dieser Eintrag ausgeführt wurde, falls die Einheit einem Plan folgte | Benötigt Zugriffsrecht: SCOPE |
presetstring | |
devicestring | |
setNumberstring | Nummer des Satzes innerhalb der Übung, beginnend bei 1 |
searchStringstring | Text, nach dem in der Liste gesucht wird |
orderFieldNamestring | Name des Bestellfelds |
orderFieldSortstring | SortiermodusErlaubt: DESCASC |
pageinteger | Seite der Liste |
pageSizeinteger | Anzahl der Einträge je Seite |
withMaxPageNumberstring | gibt die Anzahl verfügbarer Seiten als Header zurück, wenn dies gesetzt ist |
Antworten
200Liefert eine Liste der StudioTrainingSessionEntry-Objekte.array<StudioTrainingSessionEntry>
Felder anzeigen (19)
idintegerPrimärschlüssel des Sitzungseintrags. Interne ID.
sessionStudioTrainingSession2Trainingseinheit, zu der der Eintrag gehört.
Felder anzeigen (16)
idintegerPrimärschlüssel der Trainingseinheit. Interne ID.
training_person_dataStudioTrainingPersonData2Trainingsdaten der Person, die trainiert hat.
planStudioTrainingPlanTrainingsplan, zu dem die Trainingseinheit gehört.
plan_dayStudioTrainingPlanDayPlantag, zu dem die Sitzung gehört.
trainerCRMPerson10Trainer, der die Einheit betreut hat, falls vorhanden
performed_atstring (date-time)Zeitpunkt, zu dem das Training durchgeführt wurde.
duration_secondsintegerDauer der Sitzung in Sekunden.
statusstringStatus des Termins, zum Beispiel geplant oder erledigt.
sourcestringQuelle der Sitzung, zum Beispiel App oder Gerät.
rpenumber (float)Gesamtbewertung der empfundenen Belastung der Einheit
average_heart_rateintegerDurchschnittliche Herzfrequenz in Schlägen pro Minute.
caloriesintegerVerbrannte Kalorien.
notesstringAnmerkungen zur Person.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
plan_exerciseStudioTrainingPlanExerciseTrainingsvorgabe, gegen die dieser Eintrag ausgeführt wurde, falls die Einheit einem Plan folgte
Felder anzeigen (21)
idintegerPrimärschlüssel der Planübung. Interne ID.
plan_dayStudioTrainingPlanDayPlantag, zu dem die Übung gehört.
presetStudioTrainingPresetTrainingsvorlage der Übung.
deviceStudioDeviceOptionale konkrete Maschine für diese Übung
namestringÜberschreibt den Vorgabenamen, wenn der Trainer die Übung für diesen Plan umbenannt hat
setsintegerAnzahl der Sätze.
repetitionsintegerAnzahl der Wiederholungen pro Satz.
repetitions_tointegerObere Grenze, wenn die Verordnung ein Wiederholungsbereich ist (z. B. 8 - 12)
weightnumber (float)Gewicht je Wiederholung.
weight_unitstringEinheit des Gewichts, zum Beispiel kg.
duration_secondsintegerDauer eines Satzes in Sekunden bei zeitbasierten Übungen
rest_secondsintegerPause zwischen den Sätzen in Sekunden
tempostringBewegungstempo-Notation, z. B. "2-0-2-0"
intensity_percentnumber (float)Zielintensität in Prozent des One-Repetition-Maximums
rpenumber (float)Zielwert der empfundenen Anstrengung / Wiederholungen in Reserve
circuit_groupstringÜbungen desselben Tages mit gleichem Schlüssel bilden einen Superset- / Zirkeltrainingsblock
notesstringAnmerkungen zur Übung.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
orderintegerPosition des Datensatzes in der Reihenfolge.
presetStudioTrainingPresetDurchgeführte Trainingsvorlage.
Felder anzeigen (25)
idintegerPrimärschlüssel der Trainingsvorlage. Interne ID.
namestringName der Übung.
descriptionstringBeschreibung der Übung.
imageAttachment10Bild der Übung.
videoAttachment10Video der Übung.
durationintegerTypische Dauer der Übung in Sekunden.
muscle_groupsarray<StudioTrainingMuscleGroup>Hauptsächlich trainierte Muskelgruppen
secondary_muscle_groupsarray<StudioTrainingMuscleGroup>Zusätzlich trainierte Muskelgruppen
exercise_typestringKategorie der Übung, z. B. Kraft, Cardio, Mobilität, Reha
equipmentstringBenötigte Ausstattung als Freitext, z. B. Langhantel, Kabelzug, Körpergewicht
execution_notesstringAusführungshinweise und Sicherheitshinweise für das Mitglied
default_setsintegerStandardverordnung, die vorgeschlagen wird, wenn die Vorlage dem Plan hinzugefügt wird
default_repetitionsintegerStandardanzahl der Wiederholungen.
default_rest_secondsintegerStandard-Ruhezeit in Sekunden.
content_sourcestringEine der CONTENT_SOURCE_*-Konstanten
content_source_namestringName des Katalogs, aus dem der Eintrag übernommen wurde, z. B. wger
licensestringLizenz des importierten Inhalts, z. B. CC-BY-SA 4.0
license_authorstringAutor, der zur Erfüllung der Lizenzangabe genannt werden muss
license_author_urlstringLink zum Urheber der Bild- oder Videolizenz.
review_statusstringEine der REVIEW_STATUS_*-Konstanten, um generierte oder importierte Übungsanleitungen unter menschlicher Kontrolle zu halten, bevor sie veröffentlicht werden
reviewed_atstring (date-time)Zeitpunkt, zu dem die Übung geprüft wurde.
reviewed_bystringName des Prüfers.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
deviceStudioDeviceGerät, das für die Übung verwendet wird.
Felder anzeigen (10)
idintegerPrimärschlüssel des Studiogeräts. Interne ID.
namestringName des Geräts.
descriptionstringBeschreibung des Geräts.
manufacturerstringHersteller des Geräts.
modelstringModell des Geräts.
device_typestringArt des Geräts, zum Beispiel Laufband oder Fahrrad.
identifierstringKennung des Geräts beim Hersteller.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
set_numberintegerNummer des Satzes innerhalb der Übung, beginnend bei 1
repetitionsintegerAnzahl der durchgeführten Wiederholungen.
weightnumber (float)Verwendetes Gewicht.
weight_unitstringEinheit des Gewichts, zum Beispiel kg.
duration_secondsintegerDauer der Übung in Sekunden.
rest_secondsintegerPausenzeit nach der Übung in Sekunden.
distancenumber (float)Zurückgelegte Strecke.
rpenumber (float)Empfundene Anstrengung, von 1 bis 10.
completedbooleanDie Übung wurde absolviert.
notesstringAnmerkungen zur Übung.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
orderintegerPosition des Datensatzes in der Reihenfolge.
curl --request GET \
--url https://eure-instanz.iw-erp.de/api/crm/studio_training/session_entry \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'GET', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/crm/studio_training/session_entry', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/crm/studio_training/session_entry"
headers = {"x-iw-jwt-token": "<TOKEN>"}
response = requests.get(url, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('GET', 'https://eure-instanz.iw-erp.de/api/crm/studio_training/session_entry', [
'headers' => [
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Get,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/crm/studio_training/session_entry"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/crm/studio_training/session_entry")
.get()
.addHeader("x-iw-jwt-token", "<TOKEN>")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/crm/studio_training/session_entry"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart mit dem Package iw_erp_api
import 'package:iw_erp_api/clients/studio_training_session_entry_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
IwApiState().host = 'eure-instanz.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await StudioTrainingSessionEntryController.getAll();
if (result.success) {
print(result.data);
}[
{
"id": 42,
"session": {
"id": 42,
"performed_at": "2026-10-15T09:30:00+02:00",
"duration_seconds": 1,
"status": "string",
"source": "string",
"rpe": 1.5,
"average_heart_rate": 1,
"calories": 1,
"notes": "string",
"created": "2026-10-15T09:30:00+02:00"
},
"plan_exercise": {
"id": 42,
"name": "Beispiel",
"sets": 1,
"repetitions": 1,
"repetitions_to": 1,
"weight": 1.5,
"weight_unit": "string",
"duration_seconds": 1,
"rest_seconds": 1,
"tempo": "string"
},
"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
},
"set_number": 1,
"repetitions": 1,
"weight": 1.5,
"weight_unit": "string",
"duration_seconds": 1
}
]Einzelnen StudioTrainingSessionEntry anlegen
POST/api/crm/studio_training/session_entry
Request-Body application/json
dataStudioTrainingSessionEntryFelder anzeigen (19)
idintegerPrimärschlüssel des Sitzungseintrags. Interne ID.
sessionStudioTrainingSession2Trainingseinheit, zu der der Eintrag gehört.
plan_exerciseStudioTrainingPlanExerciseTrainingsvorgabe, gegen die dieser Eintrag ausgeführt wurde, falls die Einheit einem Plan folgte
presetStudioTrainingPresetDurchgeführte Trainingsvorlage.
deviceStudioDeviceGerät, das für die Übung verwendet wird.
set_numberintegerNummer des Satzes innerhalb der Übung, beginnend bei 1
repetitionsintegerAnzahl der durchgeführten Wiederholungen.
weightnumber (float)Verwendetes Gewicht.
weight_unitstringEinheit des Gewichts, zum Beispiel kg.
duration_secondsintegerDauer der Übung in Sekunden.
rest_secondsintegerPausenzeit nach der Übung in Sekunden.
distancenumber (float)Zurückgelegte Strecke.
rpenumber (float)Empfundene Anstrengung, von 1 bis 10.
completedbooleanDie Übung wurde absolviert.
notesstringAnmerkungen zur Übung.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
orderintegerPosition des Datensatzes in der Reihenfolge.
Antworten
200Einzelnen StudioTrainingSessionEntry anlegenStudioTrainingSessionEntry
Felder anzeigen (19)
idintegerPrimärschlüssel des Sitzungseintrags. Interne ID.
sessionStudioTrainingSession2Trainingseinheit, zu der der Eintrag gehört.
Felder anzeigen (16)
idintegerPrimärschlüssel der Trainingseinheit. Interne ID.
training_person_dataStudioTrainingPersonData2Trainingsdaten der Person, die trainiert hat.
planStudioTrainingPlanTrainingsplan, zu dem die Trainingseinheit gehört.
plan_dayStudioTrainingPlanDayPlantag, zu dem die Sitzung gehört.
trainerCRMPerson10Trainer, der die Einheit betreut hat, falls vorhanden
performed_atstring (date-time)Zeitpunkt, zu dem das Training durchgeführt wurde.
duration_secondsintegerDauer der Sitzung in Sekunden.
statusstringStatus des Termins, zum Beispiel geplant oder erledigt.
sourcestringQuelle der Sitzung, zum Beispiel App oder Gerät.
rpenumber (float)Gesamtbewertung der empfundenen Belastung der Einheit
average_heart_rateintegerDurchschnittliche Herzfrequenz in Schlägen pro Minute.
caloriesintegerVerbrannte Kalorien.
notesstringAnmerkungen zur Person.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
plan_exerciseStudioTrainingPlanExerciseTrainingsvorgabe, gegen die dieser Eintrag ausgeführt wurde, falls die Einheit einem Plan folgte
Felder anzeigen (21)
idintegerPrimärschlüssel der Planübung. Interne ID.
plan_dayStudioTrainingPlanDayPlantag, zu dem die Übung gehört.
presetStudioTrainingPresetTrainingsvorlage der Übung.
deviceStudioDeviceOptionale konkrete Maschine für diese Übung
namestringÜberschreibt den Vorgabenamen, wenn der Trainer die Übung für diesen Plan umbenannt hat
setsintegerAnzahl der Sätze.
repetitionsintegerAnzahl der Wiederholungen pro Satz.
repetitions_tointegerObere Grenze, wenn die Verordnung ein Wiederholungsbereich ist (z. B. 8 - 12)
weightnumber (float)Gewicht je Wiederholung.
weight_unitstringEinheit des Gewichts, zum Beispiel kg.
duration_secondsintegerDauer eines Satzes in Sekunden bei zeitbasierten Übungen
rest_secondsintegerPause zwischen den Sätzen in Sekunden
tempostringBewegungstempo-Notation, z. B. "2-0-2-0"
intensity_percentnumber (float)Zielintensität in Prozent des One-Repetition-Maximums
rpenumber (float)Zielwert der empfundenen Anstrengung / Wiederholungen in Reserve
circuit_groupstringÜbungen desselben Tages mit gleichem Schlüssel bilden einen Superset- / Zirkeltrainingsblock
notesstringAnmerkungen zur Übung.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
orderintegerPosition des Datensatzes in der Reihenfolge.
presetStudioTrainingPresetDurchgeführte Trainingsvorlage.
Felder anzeigen (25)
idintegerPrimärschlüssel der Trainingsvorlage. Interne ID.
namestringName der Übung.
descriptionstringBeschreibung der Übung.
imageAttachment10Bild der Übung.
videoAttachment10Video der Übung.
durationintegerTypische Dauer der Übung in Sekunden.
muscle_groupsarray<StudioTrainingMuscleGroup>Hauptsächlich trainierte Muskelgruppen
secondary_muscle_groupsarray<StudioTrainingMuscleGroup>Zusätzlich trainierte Muskelgruppen
exercise_typestringKategorie der Übung, z. B. Kraft, Cardio, Mobilität, Reha
equipmentstringBenötigte Ausstattung als Freitext, z. B. Langhantel, Kabelzug, Körpergewicht
execution_notesstringAusführungshinweise und Sicherheitshinweise für das Mitglied
default_setsintegerStandardverordnung, die vorgeschlagen wird, wenn die Vorlage dem Plan hinzugefügt wird
default_repetitionsintegerStandardanzahl der Wiederholungen.
default_rest_secondsintegerStandard-Ruhezeit in Sekunden.
content_sourcestringEine der CONTENT_SOURCE_*-Konstanten
content_source_namestringName des Katalogs, aus dem der Eintrag übernommen wurde, z. B. wger
licensestringLizenz des importierten Inhalts, z. B. CC-BY-SA 4.0
license_authorstringAutor, der zur Erfüllung der Lizenzangabe genannt werden muss
license_author_urlstringLink zum Urheber der Bild- oder Videolizenz.
review_statusstringEine der REVIEW_STATUS_*-Konstanten, um generierte oder importierte Übungsanleitungen unter menschlicher Kontrolle zu halten, bevor sie veröffentlicht werden
reviewed_atstring (date-time)Zeitpunkt, zu dem die Übung geprüft wurde.
reviewed_bystringName des Prüfers.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
deviceStudioDeviceGerät, das für die Übung verwendet wird.
Felder anzeigen (10)
idintegerPrimärschlüssel des Studiogeräts. Interne ID.
namestringName des Geräts.
descriptionstringBeschreibung des Geräts.
manufacturerstringHersteller des Geräts.
modelstringModell des Geräts.
device_typestringArt des Geräts, zum Beispiel Laufband oder Fahrrad.
identifierstringKennung des Geräts beim Hersteller.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
set_numberintegerNummer des Satzes innerhalb der Übung, beginnend bei 1
repetitionsintegerAnzahl der durchgeführten Wiederholungen.
weightnumber (float)Verwendetes Gewicht.
weight_unitstringEinheit des Gewichts, zum Beispiel kg.
duration_secondsintegerDauer der Übung in Sekunden.
rest_secondsintegerPausenzeit nach der Übung in Sekunden.
distancenumber (float)Zurückgelegte Strecke.
rpenumber (float)Empfundene Anstrengung, von 1 bis 10.
completedbooleanDie Übung wurde absolviert.
notesstringAnmerkungen zur Übung.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
orderintegerPosition des Datensatzes in der Reihenfolge.
curl --request POST \
--url https://eure-instanz.iw-erp.de/api/crm/studio_training/session_entry \
--header 'content-type: application/json' \
--header 'x-iw-jwt-token: <TOKEN>' \
--data '
{
"data": {
"id": 42,
"session": {
"id": 42,
"performed_at": "2026-10-15T09:30:00+02:00",
"duration_seconds": 1,
"status": "string",
"source": "string",
"rpe": 1.5
},
"plan_exercise": {
"id": 42,
"name": "Beispiel",
"sets": 1,
"repetitions": 1,
"repetitions_to": 1,
"weight": 1.5
},
"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"
},
"set_number": 1
}
}
'const options = {
method: 'POST',
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: JSON.stringify({
data: {
id: 42,
session: {
id: 42,
performed_at: '2026-10-15T09:30:00+02:00',
duration_seconds: 1,
status: 'string',
source: 'string',
rpe: 1.5
},
plan_exercise: {
id: 42,
name: 'Beispiel',
sets: 1,
repetitions: 1,
repetitions_to: 1,
weight: 1.5
},
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'
},
set_number: 1
}
})
};
fetch('https://eure-instanz.iw-erp.de/api/crm/studio_training/session_entry', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/crm/studio_training/session_entry"
payload = { "data": {
"id": 42,
"session": {
"id": 42,
"performed_at": "2026-10-15T09:30:00+02:00",
"duration_seconds": 1,
"status": "string",
"source": "string",
"rpe": 1.5
},
"plan_exercise": {
"id": 42,
"name": "Beispiel",
"sets": 1,
"repetitions": 1,
"repetitions_to": 1,
"weight": 1.5
},
"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"
},
"set_number": 1
} }
headers = {
"x-iw-jwt-token": "<TOKEN>",
"content-type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('POST', 'https://eure-instanz.iw-erp.de/api/crm/studio_training/session_entry', [
'body' => '{"data":{"id":42,"session":{"id":42,"performed_at":"2026-10-15T09:30:00+02:00","duration_seconds":1,"status":"string","source":"string","rpe":1.5},"plan_exercise":{"id":42,"name":"Beispiel","sets":1,"repetitions":1,"repetitions_to":1,"weight":1.5},"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"},"set_number":1}}',
'headers' => [
'content-type' => 'application/json',
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Post,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/crm/studio_training/session_entry"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
Content = new StringContent("{\"data\":{\"id\":42,\"session\":{\"id\":42,\"performed_at\":\"2026-10-15T09:30:00+02:00\",\"duration_seconds\":1,\"status\":\"string\",\"source\":\"string\",\"rpe\":1.5},\"plan_exercise\":{\"id\":42,\"name\":\"Beispiel\",\"sets\":1,\"repetitions\":1,\"repetitions_to\":1,\"weight\":1.5},\"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\"},\"set_number\":1}}")
{
Headers =
{
ContentType = new MediaTypeHeaderValue("application/json")
}
}
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\"data\":{\"id\":42,\"session\":{\"id\":42,\"performed_at\":\"2026-10-15T09:30:00+02:00\",\"duration_seconds\":1,\"status\":\"string\",\"source\":\"string\",\"rpe\":1.5},\"plan_exercise\":{\"id\":42,\"name\":\"Beispiel\",\"sets\":1,\"repetitions\":1,\"repetitions_to\":1,\"weight\":1.5},\"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\"},\"set_number\":1}}");
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/crm/studio_training/session_entry")
.post(body)
.addHeader("x-iw-jwt-token", "<TOKEN>")
.addHeader("content-type", "application/json")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/crm/studio_training/session_entry"
payload := strings.NewReader("{\"data\":{\"id\":42,\"session\":{\"id\":42,\"performed_at\":\"2026-10-15T09:30:00+02:00\",\"duration_seconds\":1,\"status\":\"string\",\"source\":\"string\",\"rpe\":1.5},\"plan_exercise\":{\"id\":42,\"name\":\"Beispiel\",\"sets\":1,\"repetitions\":1,\"repetitions_to\":1,\"weight\":1.5},\"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\"},\"set_number\":1}}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
req.Header.Add("content-type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart mit dem Package iw_erp_api
import 'package:iw_erp_api/clients/studio_training_session_entry_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
import 'package:iw_erp_api/model/studio_training_session_entry.dart';
IwApiState().host = 'eure-instanz.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await StudioTrainingSessionEntryController.post(StudioTrainingSessionEntry.fromJson({
"id": 42,
"session": {
"id": 42,
"performed_at": "2026-10-15T09:30:00+02:00",
"duration_seconds": 1,
"status": "string",
"source": "string",
"rpe": 1.5
},
"plan_exercise": {
"id": 42,
"name": "Beispiel",
"sets": 1,
"repetitions": 1,
"repetitions_to": 1,
"weight": 1.5
},
"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"
},
"set_number": 1
}));
if (result.success) {
print(result.data);
}{
"id": 42,
"session": {
"id": 42,
"training_person_data": {
"id": 42,
"weight": 1.5,
"created": "2026-10-15T09:30:00+02:00",
"updated": "2026-10-15T09:30:00+02:00",
"deleted": true
},
"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"
},
"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
},
"trainer": {
"id": 42,
"first_name": "Lena",
"last_name": "Hartmann",
"title": "Beispiel",
"language": "de",
"support_description": "Text",
"profile_picture_url": "https://vynst.de",
"address_street": "Jakobistr. 39",
"address_city": "Hannover",
"address_zip": "30163"
},
"performed_at": "2026-10-15T09:30:00+02:00",
"duration_seconds": 1,
"status": "string",
"source": "string",
"rpe": 1.5
},
"plan_exercise": {
"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"
},
"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
},
"set_number": 1,
"repetitions": 1,
"weight": 1.5,
"weight_unit": "string",
"duration_seconds": 1
}Liefert ein einzelnes StudioTrainingSessionEntry-Objekt.
GET/api/crm/studio_training/session_entry/{identifier}
Pfad-Parameter
identifierPflichtstring |
Antworten
200Liefert ein einzelnes StudioTrainingSessionEntry-Objekt.StudioTrainingSessionEntry
Felder anzeigen (19)
idintegerPrimärschlüssel des Sitzungseintrags. Interne ID.
sessionStudioTrainingSession2Trainingseinheit, zu der der Eintrag gehört.
Felder anzeigen (16)
idintegerPrimärschlüssel der Trainingseinheit. Interne ID.
training_person_dataStudioTrainingPersonData2Trainingsdaten der Person, die trainiert hat.
planStudioTrainingPlanTrainingsplan, zu dem die Trainingseinheit gehört.
plan_dayStudioTrainingPlanDayPlantag, zu dem die Sitzung gehört.
trainerCRMPerson10Trainer, der die Einheit betreut hat, falls vorhanden
performed_atstring (date-time)Zeitpunkt, zu dem das Training durchgeführt wurde.
duration_secondsintegerDauer der Sitzung in Sekunden.
statusstringStatus des Termins, zum Beispiel geplant oder erledigt.
sourcestringQuelle der Sitzung, zum Beispiel App oder Gerät.
rpenumber (float)Gesamtbewertung der empfundenen Belastung der Einheit
average_heart_rateintegerDurchschnittliche Herzfrequenz in Schlägen pro Minute.
caloriesintegerVerbrannte Kalorien.
notesstringAnmerkungen zur Person.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
plan_exerciseStudioTrainingPlanExerciseTrainingsvorgabe, gegen die dieser Eintrag ausgeführt wurde, falls die Einheit einem Plan folgte
Felder anzeigen (21)
idintegerPrimärschlüssel der Planübung. Interne ID.
plan_dayStudioTrainingPlanDayPlantag, zu dem die Übung gehört.
presetStudioTrainingPresetTrainingsvorlage der Übung.
deviceStudioDeviceOptionale konkrete Maschine für diese Übung
namestringÜberschreibt den Vorgabenamen, wenn der Trainer die Übung für diesen Plan umbenannt hat
setsintegerAnzahl der Sätze.
repetitionsintegerAnzahl der Wiederholungen pro Satz.
repetitions_tointegerObere Grenze, wenn die Verordnung ein Wiederholungsbereich ist (z. B. 8 - 12)
weightnumber (float)Gewicht je Wiederholung.
weight_unitstringEinheit des Gewichts, zum Beispiel kg.
duration_secondsintegerDauer eines Satzes in Sekunden bei zeitbasierten Übungen
rest_secondsintegerPause zwischen den Sätzen in Sekunden
tempostringBewegungstempo-Notation, z. B. "2-0-2-0"
intensity_percentnumber (float)Zielintensität in Prozent des One-Repetition-Maximums
rpenumber (float)Zielwert der empfundenen Anstrengung / Wiederholungen in Reserve
circuit_groupstringÜbungen desselben Tages mit gleichem Schlüssel bilden einen Superset- / Zirkeltrainingsblock
notesstringAnmerkungen zur Übung.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
orderintegerPosition des Datensatzes in der Reihenfolge.
presetStudioTrainingPresetDurchgeführte Trainingsvorlage.
Felder anzeigen (25)
idintegerPrimärschlüssel der Trainingsvorlage. Interne ID.
namestringName der Übung.
descriptionstringBeschreibung der Übung.
imageAttachment10Bild der Übung.
videoAttachment10Video der Übung.
durationintegerTypische Dauer der Übung in Sekunden.
muscle_groupsarray<StudioTrainingMuscleGroup>Hauptsächlich trainierte Muskelgruppen
secondary_muscle_groupsarray<StudioTrainingMuscleGroup>Zusätzlich trainierte Muskelgruppen
exercise_typestringKategorie der Übung, z. B. Kraft, Cardio, Mobilität, Reha
equipmentstringBenötigte Ausstattung als Freitext, z. B. Langhantel, Kabelzug, Körpergewicht
execution_notesstringAusführungshinweise und Sicherheitshinweise für das Mitglied
default_setsintegerStandardverordnung, die vorgeschlagen wird, wenn die Vorlage dem Plan hinzugefügt wird
default_repetitionsintegerStandardanzahl der Wiederholungen.
default_rest_secondsintegerStandard-Ruhezeit in Sekunden.
content_sourcestringEine der CONTENT_SOURCE_*-Konstanten
content_source_namestringName des Katalogs, aus dem der Eintrag übernommen wurde, z. B. wger
licensestringLizenz des importierten Inhalts, z. B. CC-BY-SA 4.0
license_authorstringAutor, der zur Erfüllung der Lizenzangabe genannt werden muss
license_author_urlstringLink zum Urheber der Bild- oder Videolizenz.
review_statusstringEine der REVIEW_STATUS_*-Konstanten, um generierte oder importierte Übungsanleitungen unter menschlicher Kontrolle zu halten, bevor sie veröffentlicht werden
reviewed_atstring (date-time)Zeitpunkt, zu dem die Übung geprüft wurde.
reviewed_bystringName des Prüfers.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
deviceStudioDeviceGerät, das für die Übung verwendet wird.
Felder anzeigen (10)
idintegerPrimärschlüssel des Studiogeräts. Interne ID.
namestringName des Geräts.
descriptionstringBeschreibung des Geräts.
manufacturerstringHersteller des Geräts.
modelstringModell des Geräts.
device_typestringArt des Geräts, zum Beispiel Laufband oder Fahrrad.
identifierstringKennung des Geräts beim Hersteller.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
set_numberintegerNummer des Satzes innerhalb der Übung, beginnend bei 1
repetitionsintegerAnzahl der durchgeführten Wiederholungen.
weightnumber (float)Verwendetes Gewicht.
weight_unitstringEinheit des Gewichts, zum Beispiel kg.
duration_secondsintegerDauer der Übung in Sekunden.
rest_secondsintegerPausenzeit nach der Übung in Sekunden.
distancenumber (float)Zurückgelegte Strecke.
rpenumber (float)Empfundene Anstrengung, von 1 bis 10.
completedbooleanDie Übung wurde absolviert.
notesstringAnmerkungen zur Übung.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
orderintegerPosition des Datensatzes in der Reihenfolge.
curl --request GET \
--url https://eure-instanz.iw-erp.de/api/crm/studio_training/session_entry/42 \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'GET', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/crm/studio_training/session_entry/42', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/crm/studio_training/session_entry/42"
headers = {"x-iw-jwt-token": "<TOKEN>"}
response = requests.get(url, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('GET', 'https://eure-instanz.iw-erp.de/api/crm/studio_training/session_entry/42', [
'headers' => [
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Get,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/crm/studio_training/session_entry/42"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/crm/studio_training/session_entry/42")
.get()
.addHeader("x-iw-jwt-token", "<TOKEN>")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/crm/studio_training/session_entry/42"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart mit dem Package iw_erp_api
import 'package:iw_erp_api/clients/studio_training_session_entry_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
IwApiState().host = 'eure-instanz.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await StudioTrainingSessionEntryController.get('42');
if (result.success) {
print(result.data);
}{
"id": 42,
"session": {
"id": 42,
"training_person_data": {
"id": 42,
"weight": 1.5,
"created": "2026-10-15T09:30:00+02:00",
"updated": "2026-10-15T09:30:00+02:00",
"deleted": true
},
"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"
},
"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
},
"trainer": {
"id": 42,
"first_name": "Lena",
"last_name": "Hartmann",
"title": "Beispiel",
"language": "de",
"support_description": "Text",
"profile_picture_url": "https://vynst.de",
"address_street": "Jakobistr. 39",
"address_city": "Hannover",
"address_zip": "30163"
},
"performed_at": "2026-10-15T09:30:00+02:00",
"duration_seconds": 1,
"status": "string",
"source": "string",
"rpe": 1.5
},
"plan_exercise": {
"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"
},
"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
},
"set_number": 1,
"repetitions": 1,
"weight": 1.5,
"weight_unit": "string",
"duration_seconds": 1
}StudioTrainingSessionEntry einzeln aktualisieren
PUT/api/crm/studio_training/session_entry/{identifier}
Pfad-Parameter
identifierPflichtstring |
Request-Body application/json
dataStudioTrainingSessionEntryFelder anzeigen (19)
idintegerPrimärschlüssel des Sitzungseintrags. Interne ID.
sessionStudioTrainingSession2Trainingseinheit, zu der der Eintrag gehört.
plan_exerciseStudioTrainingPlanExerciseTrainingsvorgabe, gegen die dieser Eintrag ausgeführt wurde, falls die Einheit einem Plan folgte
presetStudioTrainingPresetDurchgeführte Trainingsvorlage.
deviceStudioDeviceGerät, das für die Übung verwendet wird.
set_numberintegerNummer des Satzes innerhalb der Übung, beginnend bei 1
repetitionsintegerAnzahl der durchgeführten Wiederholungen.
weightnumber (float)Verwendetes Gewicht.
weight_unitstringEinheit des Gewichts, zum Beispiel kg.
duration_secondsintegerDauer der Übung in Sekunden.
rest_secondsintegerPausenzeit nach der Übung in Sekunden.
distancenumber (float)Zurückgelegte Strecke.
rpenumber (float)Empfundene Anstrengung, von 1 bis 10.
completedbooleanDie Übung wurde absolviert.
notesstringAnmerkungen zur Übung.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
orderintegerPosition des Datensatzes in der Reihenfolge.
Antworten
200StudioTrainingSessionEntry einzeln aktualisierenStudioTrainingSessionEntry
Felder anzeigen (19)
idintegerPrimärschlüssel des Sitzungseintrags. Interne ID.
sessionStudioTrainingSession2Trainingseinheit, zu der der Eintrag gehört.
Felder anzeigen (16)
idintegerPrimärschlüssel der Trainingseinheit. Interne ID.
training_person_dataStudioTrainingPersonData2Trainingsdaten der Person, die trainiert hat.
planStudioTrainingPlanTrainingsplan, zu dem die Trainingseinheit gehört.
plan_dayStudioTrainingPlanDayPlantag, zu dem die Sitzung gehört.
trainerCRMPerson10Trainer, der die Einheit betreut hat, falls vorhanden
performed_atstring (date-time)Zeitpunkt, zu dem das Training durchgeführt wurde.
duration_secondsintegerDauer der Sitzung in Sekunden.
statusstringStatus des Termins, zum Beispiel geplant oder erledigt.
sourcestringQuelle der Sitzung, zum Beispiel App oder Gerät.
rpenumber (float)Gesamtbewertung der empfundenen Belastung der Einheit
average_heart_rateintegerDurchschnittliche Herzfrequenz in Schlägen pro Minute.
caloriesintegerVerbrannte Kalorien.
notesstringAnmerkungen zur Person.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
plan_exerciseStudioTrainingPlanExerciseTrainingsvorgabe, gegen die dieser Eintrag ausgeführt wurde, falls die Einheit einem Plan folgte
Felder anzeigen (21)
idintegerPrimärschlüssel der Planübung. Interne ID.
plan_dayStudioTrainingPlanDayPlantag, zu dem die Übung gehört.
presetStudioTrainingPresetTrainingsvorlage der Übung.
deviceStudioDeviceOptionale konkrete Maschine für diese Übung
namestringÜberschreibt den Vorgabenamen, wenn der Trainer die Übung für diesen Plan umbenannt hat
setsintegerAnzahl der Sätze.
repetitionsintegerAnzahl der Wiederholungen pro Satz.
repetitions_tointegerObere Grenze, wenn die Verordnung ein Wiederholungsbereich ist (z. B. 8 - 12)
weightnumber (float)Gewicht je Wiederholung.
weight_unitstringEinheit des Gewichts, zum Beispiel kg.
duration_secondsintegerDauer eines Satzes in Sekunden bei zeitbasierten Übungen
rest_secondsintegerPause zwischen den Sätzen in Sekunden
tempostringBewegungstempo-Notation, z. B. "2-0-2-0"
intensity_percentnumber (float)Zielintensität in Prozent des One-Repetition-Maximums
rpenumber (float)Zielwert der empfundenen Anstrengung / Wiederholungen in Reserve
circuit_groupstringÜbungen desselben Tages mit gleichem Schlüssel bilden einen Superset- / Zirkeltrainingsblock
notesstringAnmerkungen zur Übung.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
orderintegerPosition des Datensatzes in der Reihenfolge.
presetStudioTrainingPresetDurchgeführte Trainingsvorlage.
Felder anzeigen (25)
idintegerPrimärschlüssel der Trainingsvorlage. Interne ID.
namestringName der Übung.
descriptionstringBeschreibung der Übung.
imageAttachment10Bild der Übung.
videoAttachment10Video der Übung.
durationintegerTypische Dauer der Übung in Sekunden.
muscle_groupsarray<StudioTrainingMuscleGroup>Hauptsächlich trainierte Muskelgruppen
secondary_muscle_groupsarray<StudioTrainingMuscleGroup>Zusätzlich trainierte Muskelgruppen
exercise_typestringKategorie der Übung, z. B. Kraft, Cardio, Mobilität, Reha
equipmentstringBenötigte Ausstattung als Freitext, z. B. Langhantel, Kabelzug, Körpergewicht
execution_notesstringAusführungshinweise und Sicherheitshinweise für das Mitglied
default_setsintegerStandardverordnung, die vorgeschlagen wird, wenn die Vorlage dem Plan hinzugefügt wird
default_repetitionsintegerStandardanzahl der Wiederholungen.
default_rest_secondsintegerStandard-Ruhezeit in Sekunden.
content_sourcestringEine der CONTENT_SOURCE_*-Konstanten
content_source_namestringName des Katalogs, aus dem der Eintrag übernommen wurde, z. B. wger
licensestringLizenz des importierten Inhalts, z. B. CC-BY-SA 4.0
license_authorstringAutor, der zur Erfüllung der Lizenzangabe genannt werden muss
license_author_urlstringLink zum Urheber der Bild- oder Videolizenz.
review_statusstringEine der REVIEW_STATUS_*-Konstanten, um generierte oder importierte Übungsanleitungen unter menschlicher Kontrolle zu halten, bevor sie veröffentlicht werden
reviewed_atstring (date-time)Zeitpunkt, zu dem die Übung geprüft wurde.
reviewed_bystringName des Prüfers.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
deviceStudioDeviceGerät, das für die Übung verwendet wird.
Felder anzeigen (10)
idintegerPrimärschlüssel des Studiogeräts. Interne ID.
namestringName des Geräts.
descriptionstringBeschreibung des Geräts.
manufacturerstringHersteller des Geräts.
modelstringModell des Geräts.
device_typestringArt des Geräts, zum Beispiel Laufband oder Fahrrad.
identifierstringKennung des Geräts beim Hersteller.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
set_numberintegerNummer des Satzes innerhalb der Übung, beginnend bei 1
repetitionsintegerAnzahl der durchgeführten Wiederholungen.
weightnumber (float)Verwendetes Gewicht.
weight_unitstringEinheit des Gewichts, zum Beispiel kg.
duration_secondsintegerDauer der Übung in Sekunden.
rest_secondsintegerPausenzeit nach der Übung in Sekunden.
distancenumber (float)Zurückgelegte Strecke.
rpenumber (float)Empfundene Anstrengung, von 1 bis 10.
completedbooleanDie Übung wurde absolviert.
notesstringAnmerkungen zur Übung.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
orderintegerPosition des Datensatzes in der Reihenfolge.
curl --request PUT \
--url https://eure-instanz.iw-erp.de/api/crm/studio_training/session_entry/42 \
--header 'content-type: application/json' \
--header 'x-iw-jwt-token: <TOKEN>' \
--data '
{
"data": {
"id": 42,
"session": {
"id": 42,
"performed_at": "2026-10-15T09:30:00+02:00",
"duration_seconds": 1,
"status": "string",
"source": "string",
"rpe": 1.5
},
"plan_exercise": {
"id": 42,
"name": "Beispiel",
"sets": 1,
"repetitions": 1,
"repetitions_to": 1,
"weight": 1.5
},
"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"
},
"set_number": 1
}
}
'const options = {
method: 'PUT',
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: JSON.stringify({
data: {
id: 42,
session: {
id: 42,
performed_at: '2026-10-15T09:30:00+02:00',
duration_seconds: 1,
status: 'string',
source: 'string',
rpe: 1.5
},
plan_exercise: {
id: 42,
name: 'Beispiel',
sets: 1,
repetitions: 1,
repetitions_to: 1,
weight: 1.5
},
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'
},
set_number: 1
}
})
};
fetch('https://eure-instanz.iw-erp.de/api/crm/studio_training/session_entry/42', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/crm/studio_training/session_entry/42"
payload = { "data": {
"id": 42,
"session": {
"id": 42,
"performed_at": "2026-10-15T09:30:00+02:00",
"duration_seconds": 1,
"status": "string",
"source": "string",
"rpe": 1.5
},
"plan_exercise": {
"id": 42,
"name": "Beispiel",
"sets": 1,
"repetitions": 1,
"repetitions_to": 1,
"weight": 1.5
},
"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"
},
"set_number": 1
} }
headers = {
"x-iw-jwt-token": "<TOKEN>",
"content-type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('PUT', 'https://eure-instanz.iw-erp.de/api/crm/studio_training/session_entry/42', [
'body' => '{"data":{"id":42,"session":{"id":42,"performed_at":"2026-10-15T09:30:00+02:00","duration_seconds":1,"status":"string","source":"string","rpe":1.5},"plan_exercise":{"id":42,"name":"Beispiel","sets":1,"repetitions":1,"repetitions_to":1,"weight":1.5},"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"},"set_number":1}}',
'headers' => [
'content-type' => 'application/json',
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Put,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/crm/studio_training/session_entry/42"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
Content = new StringContent("{\"data\":{\"id\":42,\"session\":{\"id\":42,\"performed_at\":\"2026-10-15T09:30:00+02:00\",\"duration_seconds\":1,\"status\":\"string\",\"source\":\"string\",\"rpe\":1.5},\"plan_exercise\":{\"id\":42,\"name\":\"Beispiel\",\"sets\":1,\"repetitions\":1,\"repetitions_to\":1,\"weight\":1.5},\"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\"},\"set_number\":1}}")
{
Headers =
{
ContentType = new MediaTypeHeaderValue("application/json")
}
}
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\"data\":{\"id\":42,\"session\":{\"id\":42,\"performed_at\":\"2026-10-15T09:30:00+02:00\",\"duration_seconds\":1,\"status\":\"string\",\"source\":\"string\",\"rpe\":1.5},\"plan_exercise\":{\"id\":42,\"name\":\"Beispiel\",\"sets\":1,\"repetitions\":1,\"repetitions_to\":1,\"weight\":1.5},\"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\"},\"set_number\":1}}");
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/crm/studio_training/session_entry/42")
.put(body)
.addHeader("x-iw-jwt-token", "<TOKEN>")
.addHeader("content-type", "application/json")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/crm/studio_training/session_entry/42"
payload := strings.NewReader("{\"data\":{\"id\":42,\"session\":{\"id\":42,\"performed_at\":\"2026-10-15T09:30:00+02:00\",\"duration_seconds\":1,\"status\":\"string\",\"source\":\"string\",\"rpe\":1.5},\"plan_exercise\":{\"id\":42,\"name\":\"Beispiel\",\"sets\":1,\"repetitions\":1,\"repetitions_to\":1,\"weight\":1.5},\"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\"},\"set_number\":1}}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
req.Header.Add("content-type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart mit package:http (kein Controller im Package iw_erp_api)
import 'dart:convert';
import 'package:http/http.dart' as http;
final response = await http.put(
Uri.parse('https://eure-instanz.iw-erp.de/api/crm/studio_training/session_entry/42'),
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: jsonEncode({
"data": {
"id": 42,
"session": {
"id": 42,
"performed_at": "2026-10-15T09:30:00+02:00",
"duration_seconds": 1,
"status": "string",
"source": "string",
"rpe": 1.5
},
"plan_exercise": {
"id": 42,
"name": "Beispiel",
"sets": 1,
"repetitions": 1,
"repetitions_to": 1,
"weight": 1.5
},
"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"
},
"set_number": 1
}
}),
);
print(response.body);{
"id": 42,
"session": {
"id": 42,
"training_person_data": {
"id": 42,
"weight": 1.5,
"created": "2026-10-15T09:30:00+02:00",
"updated": "2026-10-15T09:30:00+02:00",
"deleted": true
},
"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"
},
"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
},
"trainer": {
"id": 42,
"first_name": "Lena",
"last_name": "Hartmann",
"title": "Beispiel",
"language": "de",
"support_description": "Text",
"profile_picture_url": "https://vynst.de",
"address_street": "Jakobistr. 39",
"address_city": "Hannover",
"address_zip": "30163"
},
"performed_at": "2026-10-15T09:30:00+02:00",
"duration_seconds": 1,
"status": "string",
"source": "string",
"rpe": 1.5
},
"plan_exercise": {
"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"
},
"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
},
"set_number": 1,
"repetitions": 1,
"weight": 1.5,
"weight_unit": "string",
"duration_seconds": 1
}StudioTrainingSessionEntry einzeln aktualisieren
PATCH/api/crm/studio_training/session_entry/{identifier}
Pfad-Parameter
identifierPflichtstring |
Request-Body application/json
dataStudioTrainingSessionEntryFelder anzeigen (19)
idintegerPrimärschlüssel des Sitzungseintrags. Interne ID.
sessionStudioTrainingSession2Trainingseinheit, zu der der Eintrag gehört.
plan_exerciseStudioTrainingPlanExerciseTrainingsvorgabe, gegen die dieser Eintrag ausgeführt wurde, falls die Einheit einem Plan folgte
presetStudioTrainingPresetDurchgeführte Trainingsvorlage.
deviceStudioDeviceGerät, das für die Übung verwendet wird.
set_numberintegerNummer des Satzes innerhalb der Übung, beginnend bei 1
repetitionsintegerAnzahl der durchgeführten Wiederholungen.
weightnumber (float)Verwendetes Gewicht.
weight_unitstringEinheit des Gewichts, zum Beispiel kg.
duration_secondsintegerDauer der Übung in Sekunden.
rest_secondsintegerPausenzeit nach der Übung in Sekunden.
distancenumber (float)Zurückgelegte Strecke.
rpenumber (float)Empfundene Anstrengung, von 1 bis 10.
completedbooleanDie Übung wurde absolviert.
notesstringAnmerkungen zur Übung.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
orderintegerPosition des Datensatzes in der Reihenfolge.
Antworten
200StudioTrainingSessionEntry einzeln aktualisierenStudioTrainingSessionEntry
Felder anzeigen (19)
idintegerPrimärschlüssel des Sitzungseintrags. Interne ID.
sessionStudioTrainingSession2Trainingseinheit, zu der der Eintrag gehört.
Felder anzeigen (16)
idintegerPrimärschlüssel der Trainingseinheit. Interne ID.
training_person_dataStudioTrainingPersonData2Trainingsdaten der Person, die trainiert hat.
planStudioTrainingPlanTrainingsplan, zu dem die Trainingseinheit gehört.
plan_dayStudioTrainingPlanDayPlantag, zu dem die Sitzung gehört.
trainerCRMPerson10Trainer, der die Einheit betreut hat, falls vorhanden
performed_atstring (date-time)Zeitpunkt, zu dem das Training durchgeführt wurde.
duration_secondsintegerDauer der Sitzung in Sekunden.
statusstringStatus des Termins, zum Beispiel geplant oder erledigt.
sourcestringQuelle der Sitzung, zum Beispiel App oder Gerät.
rpenumber (float)Gesamtbewertung der empfundenen Belastung der Einheit
average_heart_rateintegerDurchschnittliche Herzfrequenz in Schlägen pro Minute.
caloriesintegerVerbrannte Kalorien.
notesstringAnmerkungen zur Person.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
plan_exerciseStudioTrainingPlanExerciseTrainingsvorgabe, gegen die dieser Eintrag ausgeführt wurde, falls die Einheit einem Plan folgte
Felder anzeigen (21)
idintegerPrimärschlüssel der Planübung. Interne ID.
plan_dayStudioTrainingPlanDayPlantag, zu dem die Übung gehört.
presetStudioTrainingPresetTrainingsvorlage der Übung.
deviceStudioDeviceOptionale konkrete Maschine für diese Übung
namestringÜberschreibt den Vorgabenamen, wenn der Trainer die Übung für diesen Plan umbenannt hat
setsintegerAnzahl der Sätze.
repetitionsintegerAnzahl der Wiederholungen pro Satz.
repetitions_tointegerObere Grenze, wenn die Verordnung ein Wiederholungsbereich ist (z. B. 8 - 12)
weightnumber (float)Gewicht je Wiederholung.
weight_unitstringEinheit des Gewichts, zum Beispiel kg.
duration_secondsintegerDauer eines Satzes in Sekunden bei zeitbasierten Übungen
rest_secondsintegerPause zwischen den Sätzen in Sekunden
tempostringBewegungstempo-Notation, z. B. "2-0-2-0"
intensity_percentnumber (float)Zielintensität in Prozent des One-Repetition-Maximums
rpenumber (float)Zielwert der empfundenen Anstrengung / Wiederholungen in Reserve
circuit_groupstringÜbungen desselben Tages mit gleichem Schlüssel bilden einen Superset- / Zirkeltrainingsblock
notesstringAnmerkungen zur Übung.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
orderintegerPosition des Datensatzes in der Reihenfolge.
presetStudioTrainingPresetDurchgeführte Trainingsvorlage.
Felder anzeigen (25)
idintegerPrimärschlüssel der Trainingsvorlage. Interne ID.
namestringName der Übung.
descriptionstringBeschreibung der Übung.
imageAttachment10Bild der Übung.
videoAttachment10Video der Übung.
durationintegerTypische Dauer der Übung in Sekunden.
muscle_groupsarray<StudioTrainingMuscleGroup>Hauptsächlich trainierte Muskelgruppen
secondary_muscle_groupsarray<StudioTrainingMuscleGroup>Zusätzlich trainierte Muskelgruppen
exercise_typestringKategorie der Übung, z. B. Kraft, Cardio, Mobilität, Reha
equipmentstringBenötigte Ausstattung als Freitext, z. B. Langhantel, Kabelzug, Körpergewicht
execution_notesstringAusführungshinweise und Sicherheitshinweise für das Mitglied
default_setsintegerStandardverordnung, die vorgeschlagen wird, wenn die Vorlage dem Plan hinzugefügt wird
default_repetitionsintegerStandardanzahl der Wiederholungen.
default_rest_secondsintegerStandard-Ruhezeit in Sekunden.
content_sourcestringEine der CONTENT_SOURCE_*-Konstanten
content_source_namestringName des Katalogs, aus dem der Eintrag übernommen wurde, z. B. wger
licensestringLizenz des importierten Inhalts, z. B. CC-BY-SA 4.0
license_authorstringAutor, der zur Erfüllung der Lizenzangabe genannt werden muss
license_author_urlstringLink zum Urheber der Bild- oder Videolizenz.
review_statusstringEine der REVIEW_STATUS_*-Konstanten, um generierte oder importierte Übungsanleitungen unter menschlicher Kontrolle zu halten, bevor sie veröffentlicht werden
reviewed_atstring (date-time)Zeitpunkt, zu dem die Übung geprüft wurde.
reviewed_bystringName des Prüfers.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
deviceStudioDeviceGerät, das für die Übung verwendet wird.
Felder anzeigen (10)
idintegerPrimärschlüssel des Studiogeräts. Interne ID.
namestringName des Geräts.
descriptionstringBeschreibung des Geräts.
manufacturerstringHersteller des Geräts.
modelstringModell des Geräts.
device_typestringArt des Geräts, zum Beispiel Laufband oder Fahrrad.
identifierstringKennung des Geräts beim Hersteller.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
set_numberintegerNummer des Satzes innerhalb der Übung, beginnend bei 1
repetitionsintegerAnzahl der durchgeführten Wiederholungen.
weightnumber (float)Verwendetes Gewicht.
weight_unitstringEinheit des Gewichts, zum Beispiel kg.
duration_secondsintegerDauer der Übung in Sekunden.
rest_secondsintegerPausenzeit nach der Übung in Sekunden.
distancenumber (float)Zurückgelegte Strecke.
rpenumber (float)Empfundene Anstrengung, von 1 bis 10.
completedbooleanDie Übung wurde absolviert.
notesstringAnmerkungen zur Übung.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
orderintegerPosition des Datensatzes in der Reihenfolge.
curl --request PATCH \
--url https://eure-instanz.iw-erp.de/api/crm/studio_training/session_entry/42 \
--header 'content-type: application/json' \
--header 'x-iw-jwt-token: <TOKEN>' \
--data '
{
"data": {
"id": 42,
"session": {
"id": 42,
"performed_at": "2026-10-15T09:30:00+02:00",
"duration_seconds": 1,
"status": "string",
"source": "string",
"rpe": 1.5
},
"plan_exercise": {
"id": 42,
"name": "Beispiel",
"sets": 1,
"repetitions": 1,
"repetitions_to": 1,
"weight": 1.5
},
"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"
},
"set_number": 1
}
}
'const options = {
method: 'PATCH',
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: JSON.stringify({
data: {
id: 42,
session: {
id: 42,
performed_at: '2026-10-15T09:30:00+02:00',
duration_seconds: 1,
status: 'string',
source: 'string',
rpe: 1.5
},
plan_exercise: {
id: 42,
name: 'Beispiel',
sets: 1,
repetitions: 1,
repetitions_to: 1,
weight: 1.5
},
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'
},
set_number: 1
}
})
};
fetch('https://eure-instanz.iw-erp.de/api/crm/studio_training/session_entry/42', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/crm/studio_training/session_entry/42"
payload = { "data": {
"id": 42,
"session": {
"id": 42,
"performed_at": "2026-10-15T09:30:00+02:00",
"duration_seconds": 1,
"status": "string",
"source": "string",
"rpe": 1.5
},
"plan_exercise": {
"id": 42,
"name": "Beispiel",
"sets": 1,
"repetitions": 1,
"repetitions_to": 1,
"weight": 1.5
},
"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"
},
"set_number": 1
} }
headers = {
"x-iw-jwt-token": "<TOKEN>",
"content-type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('PATCH', 'https://eure-instanz.iw-erp.de/api/crm/studio_training/session_entry/42', [
'body' => '{"data":{"id":42,"session":{"id":42,"performed_at":"2026-10-15T09:30:00+02:00","duration_seconds":1,"status":"string","source":"string","rpe":1.5},"plan_exercise":{"id":42,"name":"Beispiel","sets":1,"repetitions":1,"repetitions_to":1,"weight":1.5},"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"},"set_number":1}}',
'headers' => [
'content-type' => 'application/json',
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Patch,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/crm/studio_training/session_entry/42"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
Content = new StringContent("{\"data\":{\"id\":42,\"session\":{\"id\":42,\"performed_at\":\"2026-10-15T09:30:00+02:00\",\"duration_seconds\":1,\"status\":\"string\",\"source\":\"string\",\"rpe\":1.5},\"plan_exercise\":{\"id\":42,\"name\":\"Beispiel\",\"sets\":1,\"repetitions\":1,\"repetitions_to\":1,\"weight\":1.5},\"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\"},\"set_number\":1}}")
{
Headers =
{
ContentType = new MediaTypeHeaderValue("application/json")
}
}
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\"data\":{\"id\":42,\"session\":{\"id\":42,\"performed_at\":\"2026-10-15T09:30:00+02:00\",\"duration_seconds\":1,\"status\":\"string\",\"source\":\"string\",\"rpe\":1.5},\"plan_exercise\":{\"id\":42,\"name\":\"Beispiel\",\"sets\":1,\"repetitions\":1,\"repetitions_to\":1,\"weight\":1.5},\"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\"},\"set_number\":1}}");
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/crm/studio_training/session_entry/42")
.patch(body)
.addHeader("x-iw-jwt-token", "<TOKEN>")
.addHeader("content-type", "application/json")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/crm/studio_training/session_entry/42"
payload := strings.NewReader("{\"data\":{\"id\":42,\"session\":{\"id\":42,\"performed_at\":\"2026-10-15T09:30:00+02:00\",\"duration_seconds\":1,\"status\":\"string\",\"source\":\"string\",\"rpe\":1.5},\"plan_exercise\":{\"id\":42,\"name\":\"Beispiel\",\"sets\":1,\"repetitions\":1,\"repetitions_to\":1,\"weight\":1.5},\"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\"},\"set_number\":1}}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
req.Header.Add("content-type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart mit package:http (kein Controller im Package iw_erp_api)
import 'dart:convert';
import 'package:http/http.dart' as http;
final response = await http.patch(
Uri.parse('https://eure-instanz.iw-erp.de/api/crm/studio_training/session_entry/42'),
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: jsonEncode({
"data": {
"id": 42,
"session": {
"id": 42,
"performed_at": "2026-10-15T09:30:00+02:00",
"duration_seconds": 1,
"status": "string",
"source": "string",
"rpe": 1.5
},
"plan_exercise": {
"id": 42,
"name": "Beispiel",
"sets": 1,
"repetitions": 1,
"repetitions_to": 1,
"weight": 1.5
},
"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"
},
"set_number": 1
}
}),
);
print(response.body);{
"id": 42,
"session": {
"id": 42,
"training_person_data": {
"id": 42,
"weight": 1.5,
"created": "2026-10-15T09:30:00+02:00",
"updated": "2026-10-15T09:30:00+02:00",
"deleted": true
},
"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"
},
"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
},
"trainer": {
"id": 42,
"first_name": "Lena",
"last_name": "Hartmann",
"title": "Beispiel",
"language": "de",
"support_description": "Text",
"profile_picture_url": "https://vynst.de",
"address_street": "Jakobistr. 39",
"address_city": "Hannover",
"address_zip": "30163"
},
"performed_at": "2026-10-15T09:30:00+02:00",
"duration_seconds": 1,
"status": "string",
"source": "string",
"rpe": 1.5
},
"plan_exercise": {
"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"
},
"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
},
"set_number": 1,
"repetitions": 1,
"weight": 1.5,
"weight_unit": "string",
"duration_seconds": 1
}Einen einzelnen StudioTrainingSessionEntry löschen (Soft Delete)
DELETE/api/crm/studio_training/session_entry/{identifier}
Pfad-Parameter
identifierPflichtstring |
Antworten
200Einen einzelnen StudioTrainingSessionEntry löschenStudioTrainingSessionEntry
Felder anzeigen (19)
idintegerPrimärschlüssel des Sitzungseintrags. Interne ID.
sessionStudioTrainingSession2Trainingseinheit, zu der der Eintrag gehört.
Felder anzeigen (16)
idintegerPrimärschlüssel der Trainingseinheit. Interne ID.
training_person_dataStudioTrainingPersonData2Trainingsdaten der Person, die trainiert hat.
planStudioTrainingPlanTrainingsplan, zu dem die Trainingseinheit gehört.
plan_dayStudioTrainingPlanDayPlantag, zu dem die Sitzung gehört.
trainerCRMPerson10Trainer, der die Einheit betreut hat, falls vorhanden
performed_atstring (date-time)Zeitpunkt, zu dem das Training durchgeführt wurde.
duration_secondsintegerDauer der Sitzung in Sekunden.
statusstringStatus des Termins, zum Beispiel geplant oder erledigt.
sourcestringQuelle der Sitzung, zum Beispiel App oder Gerät.
rpenumber (float)Gesamtbewertung der empfundenen Belastung der Einheit
average_heart_rateintegerDurchschnittliche Herzfrequenz in Schlägen pro Minute.
caloriesintegerVerbrannte Kalorien.
notesstringAnmerkungen zur Person.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
plan_exerciseStudioTrainingPlanExerciseTrainingsvorgabe, gegen die dieser Eintrag ausgeführt wurde, falls die Einheit einem Plan folgte
Felder anzeigen (21)
idintegerPrimärschlüssel der Planübung. Interne ID.
plan_dayStudioTrainingPlanDayPlantag, zu dem die Übung gehört.
presetStudioTrainingPresetTrainingsvorlage der Übung.
deviceStudioDeviceOptionale konkrete Maschine für diese Übung
namestringÜberschreibt den Vorgabenamen, wenn der Trainer die Übung für diesen Plan umbenannt hat
setsintegerAnzahl der Sätze.
repetitionsintegerAnzahl der Wiederholungen pro Satz.
repetitions_tointegerObere Grenze, wenn die Verordnung ein Wiederholungsbereich ist (z. B. 8 - 12)
weightnumber (float)Gewicht je Wiederholung.
weight_unitstringEinheit des Gewichts, zum Beispiel kg.
duration_secondsintegerDauer eines Satzes in Sekunden bei zeitbasierten Übungen
rest_secondsintegerPause zwischen den Sätzen in Sekunden
tempostringBewegungstempo-Notation, z. B. "2-0-2-0"
intensity_percentnumber (float)Zielintensität in Prozent des One-Repetition-Maximums
rpenumber (float)Zielwert der empfundenen Anstrengung / Wiederholungen in Reserve
circuit_groupstringÜbungen desselben Tages mit gleichem Schlüssel bilden einen Superset- / Zirkeltrainingsblock
notesstringAnmerkungen zur Übung.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
orderintegerPosition des Datensatzes in der Reihenfolge.
presetStudioTrainingPresetDurchgeführte Trainingsvorlage.
Felder anzeigen (25)
idintegerPrimärschlüssel der Trainingsvorlage. Interne ID.
namestringName der Übung.
descriptionstringBeschreibung der Übung.
imageAttachment10Bild der Übung.
videoAttachment10Video der Übung.
durationintegerTypische Dauer der Übung in Sekunden.
muscle_groupsarray<StudioTrainingMuscleGroup>Hauptsächlich trainierte Muskelgruppen
secondary_muscle_groupsarray<StudioTrainingMuscleGroup>Zusätzlich trainierte Muskelgruppen
exercise_typestringKategorie der Übung, z. B. Kraft, Cardio, Mobilität, Reha
equipmentstringBenötigte Ausstattung als Freitext, z. B. Langhantel, Kabelzug, Körpergewicht
execution_notesstringAusführungshinweise und Sicherheitshinweise für das Mitglied
default_setsintegerStandardverordnung, die vorgeschlagen wird, wenn die Vorlage dem Plan hinzugefügt wird
default_repetitionsintegerStandardanzahl der Wiederholungen.
default_rest_secondsintegerStandard-Ruhezeit in Sekunden.
content_sourcestringEine der CONTENT_SOURCE_*-Konstanten
content_source_namestringName des Katalogs, aus dem der Eintrag übernommen wurde, z. B. wger
licensestringLizenz des importierten Inhalts, z. B. CC-BY-SA 4.0
license_authorstringAutor, der zur Erfüllung der Lizenzangabe genannt werden muss
license_author_urlstringLink zum Urheber der Bild- oder Videolizenz.
review_statusstringEine der REVIEW_STATUS_*-Konstanten, um generierte oder importierte Übungsanleitungen unter menschlicher Kontrolle zu halten, bevor sie veröffentlicht werden
reviewed_atstring (date-time)Zeitpunkt, zu dem die Übung geprüft wurde.
reviewed_bystringName des Prüfers.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
deviceStudioDeviceGerät, das für die Übung verwendet wird.
Felder anzeigen (10)
idintegerPrimärschlüssel des Studiogeräts. Interne ID.
namestringName des Geräts.
descriptionstringBeschreibung des Geräts.
manufacturerstringHersteller des Geräts.
modelstringModell des Geräts.
device_typestringArt des Geräts, zum Beispiel Laufband oder Fahrrad.
identifierstringKennung des Geräts beim Hersteller.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
set_numberintegerNummer des Satzes innerhalb der Übung, beginnend bei 1
repetitionsintegerAnzahl der durchgeführten Wiederholungen.
weightnumber (float)Verwendetes Gewicht.
weight_unitstringEinheit des Gewichts, zum Beispiel kg.
duration_secondsintegerDauer der Übung in Sekunden.
rest_secondsintegerPausenzeit nach der Übung in Sekunden.
distancenumber (float)Zurückgelegte Strecke.
rpenumber (float)Empfundene Anstrengung, von 1 bis 10.
completedbooleanDie Übung wurde absolviert.
notesstringAnmerkungen zur Übung.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
orderintegerPosition des Datensatzes in der Reihenfolge.
curl --request DELETE \
--url https://eure-instanz.iw-erp.de/api/crm/studio_training/session_entry/42 \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'DELETE', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/crm/studio_training/session_entry/42', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/crm/studio_training/session_entry/42"
headers = {"x-iw-jwt-token": "<TOKEN>"}
response = requests.delete(url, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('DELETE', 'https://eure-instanz.iw-erp.de/api/crm/studio_training/session_entry/42', [
'headers' => [
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Delete,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/crm/studio_training/session_entry/42"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/crm/studio_training/session_entry/42")
.delete(null)
.addHeader("x-iw-jwt-token", "<TOKEN>")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/crm/studio_training/session_entry/42"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart mit dem Package iw_erp_api
import 'package:iw_erp_api/clients/studio_training_session_entry_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
IwApiState().host = 'eure-instanz.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await StudioTrainingSessionEntryController.delete('42');
if (result.success) {
print(result.data);
}{
"id": 42,
"session": {
"id": 42,
"training_person_data": {
"id": 42,
"weight": 1.5,
"created": "2026-10-15T09:30:00+02:00",
"updated": "2026-10-15T09:30:00+02:00",
"deleted": true
},
"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"
},
"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
},
"trainer": {
"id": 42,
"first_name": "Lena",
"last_name": "Hartmann",
"title": "Beispiel",
"language": "de",
"support_description": "Text",
"profile_picture_url": "https://vynst.de",
"address_street": "Jakobistr. 39",
"address_city": "Hannover",
"address_zip": "30163"
},
"performed_at": "2026-10-15T09:30:00+02:00",
"duration_seconds": 1,
"status": "string",
"source": "string",
"rpe": 1.5
},
"plan_exercise": {
"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"
},
"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
},
"set_number": 1,
"repetitions": 1,
"weight": 1.5,
"weight_unit": "string",
"duration_seconds": 1
}