VolunteerShiftAssignment
Die Helfer der Schichten auflisten (Filter `shift`, `person`, `status`)
GET/api/time/volunteer_shift_assignment
Query-Parameter
idinteger | |
shiftstring | |
personstring | |
statusstring | |
createdstring | |
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 VolunteerShiftAssignment-Objekte.array<VolunteerShiftAssignment>
Felder anzeigen (8)
hour_entry_idintegeridintegerPrimärschlüssel der Ehrenamtsschicht-Zuordnung. Interne ID.
shiftVolunteerShift3Ehrenamtsschicht, zu der die Zuweisung gehört.
Felder anzeigen (16)
effective_credited_minutesintegerMinuten, die einem anwesenden Helfer gutgeschrieben werden.
signed_up_countintegerHelfer, die angemeldet sind oder teilgenommen haben - stornierte Anmeldungen geben ihren Platz wieder frei.
open_slotsintegerFreie Plätze, null wenn die Schicht kein Limit hat.
idintegerPrimärschlüssel der Ehrenamtsschicht. Interne ID.
namestringName der Ehrenamtsschicht.
descriptionstringBeschreibung der Ehrenamtsschicht.
locationstringOrt, an dem die Ehrenamtsschicht stattfindet.
startstring (date-time)Beginn des ehrenamtlichen Dienstes.
endstring (date-time)Ende der Ehrenamtsschicht.
required_helpersintegerBenötigte Helfer. 0 = kein Limit.
credited_minutesintegerMinuten je anwesendem Helfer gutgeschrieben. null = die Länge der Schicht.
signup_untilstring (date-time)Die Anmeldung endet zu diesem Zeitpunkt. null = bis zum Beginn des Dienstes.
eventBaseEvent25Event, zu dem die Helferschicht gehört.
deletedbooleanDie Ehrenamts-Schicht wird gelöscht.
createdstring (date-time)Zeitpunkt, zu dem die Ehrenamtsschicht angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem die Ehrenamtsschicht zuletzt geändert wurde.
personCRMPerson27Person, die der Schicht zugewiesen ist.
Felder anzeigen (11)
idintegerPrimärschlüssel der Person. Interne ID.
first_namestringVorname der Person.
last_namestringNachname der Person.
numberintegerMitglieds- oder Kundennummer der Person.
manual_numberintegerManuell gesetzte Nummer statt der automatischen Nummer.
number_stringstringMitglieds- oder Kundennummer als Text, einschließlich Präfix.
genderstringGeschlecht der Person.
titlestringAkademischer oder sonstiger Titel der Person.
nicknamestringSpitzname der Person.
preferred_color_hexstringBevorzugte Farbe der Person als Hexwert.
avatar_tokenstringToken des Avatarbildes.
statusstringStatus der Zuweisung, zum Beispiel zugewiesen oder storniert.
notestringAnmerkung zur Zuweisung.
cancelled_atstring (date-time)Zeitpunkt, zu dem die Zuordnung storniert wurde.
createdstring (date-time)Zeitpunkt, zu dem die Zuordnung angelegt wurde.
curl --request GET \
--url https://eure-instanz.iw-erp.de/api/time/volunteer_shift_assignment \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'GET', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/time/volunteer_shift_assignment', 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/time/volunteer_shift_assignment"
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/time/volunteer_shift_assignment', [
'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/time/volunteer_shift_assignment"),
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/time/volunteer_shift_assignment")
.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/time/volunteer_shift_assignment"
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/volunteer_shift_assignment_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 VolunteerShiftAssignmentController.getAll();
if (result.success) {
print(result.data);
}[
{
"id": 42,
"hour_entry_id": 42,
"shift": {
"id": 42,
"name": "Beispiel",
"description": "Text",
"effective_credited_minutes": 1,
"signed_up_count": 1,
"open_slots": 1,
"location": "string",
"start": "2026-10-15T09:30:00+02:00",
"end": "2026-10-15T09:30:00+02:00",
"required_helpers": 1
},
"person": {
"id": 42,
"first_name": "Lena",
"last_name": "Hartmann",
"title": "Beispiel",
"number": 1,
"manual_number": 1,
"number_string": "string",
"gender": "string",
"nickname": "string",
"preferred_color_hex": "string"
},
"status": "string",
"note": "string",
"cancelled_at": "2026-10-15T09:30:00+02:00",
"created": "2026-10-15T09:30:00+02:00"
}
]Helfer zu einer Schicht hinzufügen. Die Verwaltung darf eine Schicht über ihr Limit hinaus besetzen.
POST/api/time/volunteer_shift_assignment
Request-Body application/json
dataVolunteerShiftAssignment2Felder anzeigen (4)
shiftVolunteerShift4Ehrenamtsschicht, zu der die Zuweisung gehört.
personCRMPerson34Person, die der Schicht zugewiesen ist.
statusstringStatus der Zuweisung, zum Beispiel zugewiesen oder storniert.
notestringAnmerkung zur Zuweisung.
Antworten
200VolunteerShiftAssignment neu anlegenVolunteerShiftAssignment
Felder anzeigen (8)
hour_entry_idintegeridintegerPrimärschlüssel der Ehrenamtsschicht-Zuordnung. Interne ID.
shiftVolunteerShift3Ehrenamtsschicht, zu der die Zuweisung gehört.
Felder anzeigen (16)
effective_credited_minutesintegerMinuten, die einem anwesenden Helfer gutgeschrieben werden.
signed_up_countintegerHelfer, die angemeldet sind oder teilgenommen haben - stornierte Anmeldungen geben ihren Platz wieder frei.
open_slotsintegerFreie Plätze, null wenn die Schicht kein Limit hat.
idintegerPrimärschlüssel der Ehrenamtsschicht. Interne ID.
namestringName der Ehrenamtsschicht.
descriptionstringBeschreibung der Ehrenamtsschicht.
locationstringOrt, an dem die Ehrenamtsschicht stattfindet.
startstring (date-time)Beginn des ehrenamtlichen Dienstes.
endstring (date-time)Ende der Ehrenamtsschicht.
required_helpersintegerBenötigte Helfer. 0 = kein Limit.
credited_minutesintegerMinuten je anwesendem Helfer gutgeschrieben. null = die Länge der Schicht.
signup_untilstring (date-time)Die Anmeldung endet zu diesem Zeitpunkt. null = bis zum Beginn des Dienstes.
eventBaseEvent25Event, zu dem die Helferschicht gehört.
deletedbooleanDie Ehrenamts-Schicht wird gelöscht.
createdstring (date-time)Zeitpunkt, zu dem die Ehrenamtsschicht angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem die Ehrenamtsschicht zuletzt geändert wurde.
personCRMPerson27Person, die der Schicht zugewiesen ist.
Felder anzeigen (11)
idintegerPrimärschlüssel der Person. Interne ID.
first_namestringVorname der Person.
last_namestringNachname der Person.
numberintegerMitglieds- oder Kundennummer der Person.
manual_numberintegerManuell gesetzte Nummer statt der automatischen Nummer.
number_stringstringMitglieds- oder Kundennummer als Text, einschließlich Präfix.
genderstringGeschlecht der Person.
titlestringAkademischer oder sonstiger Titel der Person.
nicknamestringSpitzname der Person.
preferred_color_hexstringBevorzugte Farbe der Person als Hexwert.
avatar_tokenstringToken des Avatarbildes.
statusstringStatus der Zuweisung, zum Beispiel zugewiesen oder storniert.
notestringAnmerkung zur Zuweisung.
cancelled_atstring (date-time)Zeitpunkt, zu dem die Zuordnung storniert wurde.
createdstring (date-time)Zeitpunkt, zu dem die Zuordnung angelegt wurde.
curl --request POST \
--url https://eure-instanz.iw-erp.de/api/time/volunteer_shift_assignment \
--header 'content-type: application/json' \
--header 'x-iw-jwt-token: <TOKEN>' \
--data '
{
"data": {
"status": "string",
"note": "string"
}
}
'const options = {
method: 'POST',
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: JSON.stringify({data: {status: 'string', note: 'string'}})
};
fetch('https://eure-instanz.iw-erp.de/api/time/volunteer_shift_assignment', 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/time/volunteer_shift_assignment"
payload = { "data": {
"status": "string",
"note": "string"
} }
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/time/volunteer_shift_assignment', [
'body' => '{"data":{"status":"string","note":"string"}}',
'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/time/volunteer_shift_assignment"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
Content = new StringContent("{\"data\":{\"status\":\"string\",\"note\":\"string\"}}")
{
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\":{\"status\":\"string\",\"note\":\"string\"}}");
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/time/volunteer_shift_assignment")
.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/time/volunteer_shift_assignment"
payload := strings.NewReader("{\"data\":{\"status\":\"string\",\"note\":\"string\"}}")
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/volunteer_shift_assignment_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
import 'package:iw_erp_api/model/volunteer_shift_assignment.dart';
IwApiState().host = 'eure-instanz.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await VolunteerShiftAssignmentController.post(VolunteerShiftAssignment.fromJson({
"status": "string",
"note": "string"
}));
if (result.success) {
print(result.data);
}{
"id": 42,
"hour_entry_id": 42,
"shift": {
"id": 42,
"name": "Beispiel",
"description": "Text",
"effective_credited_minutes": 1,
"signed_up_count": 1,
"open_slots": 1,
"location": "string",
"start": "2026-10-15T09:30:00+02:00",
"end": "2026-10-15T09:30:00+02:00",
"required_helpers": 1
},
"person": {
"id": 42,
"first_name": "Lena",
"last_name": "Hartmann",
"title": "Beispiel",
"number": 1,
"manual_number": 1,
"number_string": "string",
"gender": "string",
"nickname": "string",
"preferred_color_hex": "string"
},
"status": "string",
"note": "string",
"cancelled_at": "2026-10-15T09:30:00+02:00",
"created": "2026-10-15T09:30:00+02:00"
}Einzelne Helferzuweisung abrufen
GET/api/time/volunteer_shift_assignment/{id}
Pfad-Parameter
idPflichtstring |
Antworten
200Liefert ein einzelnes VolunteerShiftAssignment-Objekt.VolunteerShiftAssignment
Felder anzeigen (8)
hour_entry_idintegeridintegerPrimärschlüssel der Ehrenamtsschicht-Zuordnung. Interne ID.
shiftVolunteerShift3Ehrenamtsschicht, zu der die Zuweisung gehört.
Felder anzeigen (16)
effective_credited_minutesintegerMinuten, die einem anwesenden Helfer gutgeschrieben werden.
signed_up_countintegerHelfer, die angemeldet sind oder teilgenommen haben - stornierte Anmeldungen geben ihren Platz wieder frei.
open_slotsintegerFreie Plätze, null wenn die Schicht kein Limit hat.
idintegerPrimärschlüssel der Ehrenamtsschicht. Interne ID.
namestringName der Ehrenamtsschicht.
descriptionstringBeschreibung der Ehrenamtsschicht.
locationstringOrt, an dem die Ehrenamtsschicht stattfindet.
startstring (date-time)Beginn des ehrenamtlichen Dienstes.
endstring (date-time)Ende der Ehrenamtsschicht.
required_helpersintegerBenötigte Helfer. 0 = kein Limit.
credited_minutesintegerMinuten je anwesendem Helfer gutgeschrieben. null = die Länge der Schicht.
signup_untilstring (date-time)Die Anmeldung endet zu diesem Zeitpunkt. null = bis zum Beginn des Dienstes.
eventBaseEvent25Event, zu dem die Helferschicht gehört.
deletedbooleanDie Ehrenamts-Schicht wird gelöscht.
createdstring (date-time)Zeitpunkt, zu dem die Ehrenamtsschicht angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem die Ehrenamtsschicht zuletzt geändert wurde.
personCRMPerson27Person, die der Schicht zugewiesen ist.
Felder anzeigen (11)
idintegerPrimärschlüssel der Person. Interne ID.
first_namestringVorname der Person.
last_namestringNachname der Person.
numberintegerMitglieds- oder Kundennummer der Person.
manual_numberintegerManuell gesetzte Nummer statt der automatischen Nummer.
number_stringstringMitglieds- oder Kundennummer als Text, einschließlich Präfix.
genderstringGeschlecht der Person.
titlestringAkademischer oder sonstiger Titel der Person.
nicknamestringSpitzname der Person.
preferred_color_hexstringBevorzugte Farbe der Person als Hexwert.
avatar_tokenstringToken des Avatarbildes.
statusstringStatus der Zuweisung, zum Beispiel zugewiesen oder storniert.
notestringAnmerkung zur Zuweisung.
cancelled_atstring (date-time)Zeitpunkt, zu dem die Zuordnung storniert wurde.
createdstring (date-time)Zeitpunkt, zu dem die Zuordnung angelegt wurde.
curl --request GET \
--url https://eure-instanz.iw-erp.de/api/time/volunteer_shift_assignment/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/time/volunteer_shift_assignment/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/time/volunteer_shift_assignment/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/time/volunteer_shift_assignment/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/time/volunteer_shift_assignment/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/time/volunteer_shift_assignment/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/time/volunteer_shift_assignment/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/volunteer_shift_assignment_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 VolunteerShiftAssignmentController.get('42');
if (result.success) {
print(result.data);
}{
"id": 42,
"hour_entry_id": 42,
"shift": {
"id": 42,
"name": "Beispiel",
"description": "Text",
"effective_credited_minutes": 1,
"signed_up_count": 1,
"open_slots": 1,
"location": "string",
"start": "2026-10-15T09:30:00+02:00",
"end": "2026-10-15T09:30:00+02:00",
"required_helpers": 1
},
"person": {
"id": 42,
"first_name": "Lena",
"last_name": "Hartmann",
"title": "Beispiel",
"number": 1,
"manual_number": 1,
"number_string": "string",
"gender": "string",
"nickname": "string",
"preferred_color_hex": "string"
},
"status": "string",
"note": "string",
"cancelled_at": "2026-10-15T09:30:00+02:00",
"created": "2026-10-15T09:30:00+02:00"
}Status eines Helfenden ändern: `attended` schreibt die Schicht gut, `no_show` / `cancelled` nehmen diese Gutschrift wieder zurück
PUT/api/time/volunteer_shift_assignment/{id}
Pfad-Parameter
idPflichtstring |
Request-Body application/json
dataVolunteerShiftAssignment2Felder anzeigen (4)
shiftVolunteerShift4Ehrenamtsschicht, zu der die Zuweisung gehört.
personCRMPerson34Person, die der Schicht zugewiesen ist.
statusstringStatus der Zuweisung, zum Beispiel zugewiesen oder storniert.
notestringAnmerkung zur Zuweisung.
Antworten
200VolunteerShiftAssignment aktualisierenVolunteerShiftAssignment
Felder anzeigen (8)
hour_entry_idintegeridintegerPrimärschlüssel der Ehrenamtsschicht-Zuordnung. Interne ID.
shiftVolunteerShift3Ehrenamtsschicht, zu der die Zuweisung gehört.
Felder anzeigen (16)
effective_credited_minutesintegerMinuten, die einem anwesenden Helfer gutgeschrieben werden.
signed_up_countintegerHelfer, die angemeldet sind oder teilgenommen haben - stornierte Anmeldungen geben ihren Platz wieder frei.
open_slotsintegerFreie Plätze, null wenn die Schicht kein Limit hat.
idintegerPrimärschlüssel der Ehrenamtsschicht. Interne ID.
namestringName der Ehrenamtsschicht.
descriptionstringBeschreibung der Ehrenamtsschicht.
locationstringOrt, an dem die Ehrenamtsschicht stattfindet.
startstring (date-time)Beginn des ehrenamtlichen Dienstes.
endstring (date-time)Ende der Ehrenamtsschicht.
required_helpersintegerBenötigte Helfer. 0 = kein Limit.
credited_minutesintegerMinuten je anwesendem Helfer gutgeschrieben. null = die Länge der Schicht.
signup_untilstring (date-time)Die Anmeldung endet zu diesem Zeitpunkt. null = bis zum Beginn des Dienstes.
eventBaseEvent25Event, zu dem die Helferschicht gehört.
deletedbooleanDie Ehrenamts-Schicht wird gelöscht.
createdstring (date-time)Zeitpunkt, zu dem die Ehrenamtsschicht angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem die Ehrenamtsschicht zuletzt geändert wurde.
personCRMPerson27Person, die der Schicht zugewiesen ist.
Felder anzeigen (11)
idintegerPrimärschlüssel der Person. Interne ID.
first_namestringVorname der Person.
last_namestringNachname der Person.
numberintegerMitglieds- oder Kundennummer der Person.
manual_numberintegerManuell gesetzte Nummer statt der automatischen Nummer.
number_stringstringMitglieds- oder Kundennummer als Text, einschließlich Präfix.
genderstringGeschlecht der Person.
titlestringAkademischer oder sonstiger Titel der Person.
nicknamestringSpitzname der Person.
preferred_color_hexstringBevorzugte Farbe der Person als Hexwert.
avatar_tokenstringToken des Avatarbildes.
statusstringStatus der Zuweisung, zum Beispiel zugewiesen oder storniert.
notestringAnmerkung zur Zuweisung.
cancelled_atstring (date-time)Zeitpunkt, zu dem die Zuordnung storniert wurde.
createdstring (date-time)Zeitpunkt, zu dem die Zuordnung angelegt wurde.
curl --request PUT \
--url https://eure-instanz.iw-erp.de/api/time/volunteer_shift_assignment/42 \
--header 'content-type: application/json' \
--header 'x-iw-jwt-token: <TOKEN>' \
--data '
{
"data": {
"status": "string",
"note": "string"
}
}
'const options = {
method: 'PUT',
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: JSON.stringify({data: {status: 'string', note: 'string'}})
};
fetch('https://eure-instanz.iw-erp.de/api/time/volunteer_shift_assignment/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/time/volunteer_shift_assignment/42"
payload = { "data": {
"status": "string",
"note": "string"
} }
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/time/volunteer_shift_assignment/42', [
'body' => '{"data":{"status":"string","note":"string"}}',
'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/time/volunteer_shift_assignment/42"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
Content = new StringContent("{\"data\":{\"status\":\"string\",\"note\":\"string\"}}")
{
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\":{\"status\":\"string\",\"note\":\"string\"}}");
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/time/volunteer_shift_assignment/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/time/volunteer_shift_assignment/42"
payload := strings.NewReader("{\"data\":{\"status\":\"string\",\"note\":\"string\"}}")
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 dem Package iw_erp_api
import 'package:iw_erp_api/clients/volunteer_shift_assignment_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
import 'package:iw_erp_api/model/volunteer_shift_assignment.dart';
IwApiState().host = 'eure-instanz.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await VolunteerShiftAssignmentController.put(VolunteerShiftAssignment.fromJson({
"status": "string",
"note": "string"
}));
if (result.success) {
print(result.data);
}{
"id": 42,
"hour_entry_id": 42,
"shift": {
"id": 42,
"name": "Beispiel",
"description": "Text",
"effective_credited_minutes": 1,
"signed_up_count": 1,
"open_slots": 1,
"location": "string",
"start": "2026-10-15T09:30:00+02:00",
"end": "2026-10-15T09:30:00+02:00",
"required_helpers": 1
},
"person": {
"id": 42,
"first_name": "Lena",
"last_name": "Hartmann",
"title": "Beispiel",
"number": 1,
"manual_number": 1,
"number_string": "string",
"gender": "string",
"nickname": "string",
"preferred_color_hex": "string"
},
"status": "string",
"note": "string",
"cancelled_at": "2026-10-15T09:30:00+02:00",
"created": "2026-10-15T09:30:00+02:00"
}Status eines Helfenden ändern: `attended` schreibt die Schicht gut, `no_show` / `cancelled` nehmen diese Gutschrift wieder zurück
PATCH/api/time/volunteer_shift_assignment/{id}
Pfad-Parameter
idPflichtstring |
Request-Body application/json
dataVolunteerShiftAssignment2Felder anzeigen (4)
shiftVolunteerShift4Ehrenamtsschicht, zu der die Zuweisung gehört.
personCRMPerson34Person, die der Schicht zugewiesen ist.
statusstringStatus der Zuweisung, zum Beispiel zugewiesen oder storniert.
notestringAnmerkung zur Zuweisung.
Antworten
200VolunteerShiftAssignment aktualisierenVolunteerShiftAssignment
Felder anzeigen (8)
hour_entry_idintegeridintegerPrimärschlüssel der Ehrenamtsschicht-Zuordnung. Interne ID.
shiftVolunteerShift3Ehrenamtsschicht, zu der die Zuweisung gehört.
Felder anzeigen (16)
effective_credited_minutesintegerMinuten, die einem anwesenden Helfer gutgeschrieben werden.
signed_up_countintegerHelfer, die angemeldet sind oder teilgenommen haben - stornierte Anmeldungen geben ihren Platz wieder frei.
open_slotsintegerFreie Plätze, null wenn die Schicht kein Limit hat.
idintegerPrimärschlüssel der Ehrenamtsschicht. Interne ID.
namestringName der Ehrenamtsschicht.
descriptionstringBeschreibung der Ehrenamtsschicht.
locationstringOrt, an dem die Ehrenamtsschicht stattfindet.
startstring (date-time)Beginn des ehrenamtlichen Dienstes.
endstring (date-time)Ende der Ehrenamtsschicht.
required_helpersintegerBenötigte Helfer. 0 = kein Limit.
credited_minutesintegerMinuten je anwesendem Helfer gutgeschrieben. null = die Länge der Schicht.
signup_untilstring (date-time)Die Anmeldung endet zu diesem Zeitpunkt. null = bis zum Beginn des Dienstes.
eventBaseEvent25Event, zu dem die Helferschicht gehört.
deletedbooleanDie Ehrenamts-Schicht wird gelöscht.
createdstring (date-time)Zeitpunkt, zu dem die Ehrenamtsschicht angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem die Ehrenamtsschicht zuletzt geändert wurde.
personCRMPerson27Person, die der Schicht zugewiesen ist.
Felder anzeigen (11)
idintegerPrimärschlüssel der Person. Interne ID.
first_namestringVorname der Person.
last_namestringNachname der Person.
numberintegerMitglieds- oder Kundennummer der Person.
manual_numberintegerManuell gesetzte Nummer statt der automatischen Nummer.
number_stringstringMitglieds- oder Kundennummer als Text, einschließlich Präfix.
genderstringGeschlecht der Person.
titlestringAkademischer oder sonstiger Titel der Person.
nicknamestringSpitzname der Person.
preferred_color_hexstringBevorzugte Farbe der Person als Hexwert.
avatar_tokenstringToken des Avatarbildes.
statusstringStatus der Zuweisung, zum Beispiel zugewiesen oder storniert.
notestringAnmerkung zur Zuweisung.
cancelled_atstring (date-time)Zeitpunkt, zu dem die Zuordnung storniert wurde.
createdstring (date-time)Zeitpunkt, zu dem die Zuordnung angelegt wurde.
curl --request PATCH \
--url https://eure-instanz.iw-erp.de/api/time/volunteer_shift_assignment/42 \
--header 'content-type: application/json' \
--header 'x-iw-jwt-token: <TOKEN>' \
--data '
{
"data": {
"status": "string",
"note": "string"
}
}
'const options = {
method: 'PATCH',
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: JSON.stringify({data: {status: 'string', note: 'string'}})
};
fetch('https://eure-instanz.iw-erp.de/api/time/volunteer_shift_assignment/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/time/volunteer_shift_assignment/42"
payload = { "data": {
"status": "string",
"note": "string"
} }
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/time/volunteer_shift_assignment/42', [
'body' => '{"data":{"status":"string","note":"string"}}',
'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/time/volunteer_shift_assignment/42"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
Content = new StringContent("{\"data\":{\"status\":\"string\",\"note\":\"string\"}}")
{
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\":{\"status\":\"string\",\"note\":\"string\"}}");
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/time/volunteer_shift_assignment/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/time/volunteer_shift_assignment/42"
payload := strings.NewReader("{\"data\":{\"status\":\"string\",\"note\":\"string\"}}")
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/time/volunteer_shift_assignment/42'),
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: jsonEncode({
"data": {
"status": "string",
"note": "string"
}
}),
);
print(response.body);{
"id": 42,
"hour_entry_id": 42,
"shift": {
"id": 42,
"name": "Beispiel",
"description": "Text",
"effective_credited_minutes": 1,
"signed_up_count": 1,
"open_slots": 1,
"location": "string",
"start": "2026-10-15T09:30:00+02:00",
"end": "2026-10-15T09:30:00+02:00",
"required_helpers": 1
},
"person": {
"id": 42,
"first_name": "Lena",
"last_name": "Hartmann",
"title": "Beispiel",
"number": 1,
"manual_number": 1,
"number_string": "string",
"gender": "string",
"nickname": "string",
"preferred_color_hex": "string"
},
"status": "string",
"note": "string",
"cancelled_at": "2026-10-15T09:30:00+02:00",
"created": "2026-10-15T09:30:00+02:00"
}Einen Helfer aus einer Schicht entfernen, zusammen mit einem offenen Guthaben
DELETE/api/time/volunteer_shift_assignment/{id}
Pfad-Parameter
idPflichtstring |
Antworten
default
curl --request DELETE \
--url https://eure-instanz.iw-erp.de/api/time/volunteer_shift_assignment/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/time/volunteer_shift_assignment/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/time/volunteer_shift_assignment/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/time/volunteer_shift_assignment/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/time/volunteer_shift_assignment/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/time/volunteer_shift_assignment/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/time/volunteer_shift_assignment/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/volunteer_shift_assignment_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 VolunteerShiftAssignmentController.delete('42');
if (result.success) {
print(result.data);
}