EmployeeDocumentResponse
List the responses of one person, across all documents.
GET/api/employee_documents/response
Scoped to a person on purpose - a filled in form is personnel data, and an unbounded list of them is not something to hand out by accident. The person is required, and reading somebody else's needs HR access or leadership.
Query parameters
idinteger | |
documentstring | |
userstring | |
personstring | |
statusstring | |
reviewedByUserstring | |
reviewedAtstring | |
createdstring | |
searchStringstring | text to search for in the list |
orderFieldNamestring | name of the order field |
orderFieldSortstring | sorting modeAllowed: DESCASC |
pageinteger | page of the list |
pageSizeinteger | number of entries for each page |
withMaxPageNumberstring | returns the number of pages available as a header if this is set |
Responses
200Responses of one personarray<EmployeeDocumentResponse>
Show fields (11)
idintegerPrimary key of the employee document response. Internal ID.
documentEmployeeDocument5Document the response belongs to.
Show fields (18)
idintegerPrimary key of the employee document. Internal ID.
tokenstringPublic token of the document. Used instead of the ID.
titlestringTitle of the document.
descriptionstringDescription of the document.
document_typestringType of the document, for example contract or notice.
categorystringCategory of the document.
statusstringStatus of the document, for example draft or published.
requires_acknowledgmentbooleanEmployees must acknowledge the document.
requires_signaturebooleanEmployees must sign the document.
requires_form_fillingbooleanEmployees must fill in a form.
target_all_employeesbooleanThe document is for all employees.
due_datestring (date-time)Date until which the response is due.
published_atstring (date-time)Time the document was published.
attachmentAttachment10File attached to the document.
created_by_userUser14Login user who created the document.
search_stringstringText that the entity can be searched by.
createdstring (date-time)Point in time the entity was created.
updatedstring (date-time)Point in time the entity was last updated.
userUser14Login user who responded.
Show fields (10)
idintegerPrimary key of the user. Internal ID of the login user.
namestringDisplay name of the user. Shown in the UI and in audit entries.
usernamestringLogin name of the user. Must be unique across all users.
emailstringE-mail address of the user. Used for login notifications, password resets and as a login alias.
positioningeneralstringFree text describing the position or role of the user.
crm_personCRMPerson10CRM person linked to this login user. Connects the login account with the person record.
profile_picture_urlstringURL of the profile picture of the user.
archivedbooleanMarks the user as archived. Archived users are kept for history and are not active.
require2fabooleanTwo-factor authentication is required for this user.
search_stringstringText that the entity can be searched by.
personCRMPerson10Person who responded.
Show fields (81)
idintegerPrimary key of the person. Internal ID.
first_namestringFirst name of the person.
last_namestringLast name of the person.
numberintegerMember or customer number of the person.
manual_numberintegerNumber set manually instead of the automatic number.
number_stringstringMember or customer number as text, including prefix.
genderstringGender of the person.
titlestringAcademic or other title of the person.
positionstringPosition or role of the person.
languagestringPreferred language of the person.
special_salutationstringSpecial salutation text for letters.
form_of_salutationstringForm of salutation, for example formal or informal.
birthdaystring (date-time)Birthday of the person.
known_allergiesstringKnown allergies of the person.
confirmed_no_allergiesbooleanGuardian confirmed that there are no known allergies.
allow_photosbooleanPhotos of the person may be taken and published.
allow_leaving_alonebooleanThe person may leave the event alone.
authorized_pickupstringPersons who are allowed to pick up the person.
needs_supportbooleanThe person needs support, for example for inclusion.
support_descriptionstringDescription of the support the person needs.
financial_supportbooleanThe person receives financial support.
financial_support_numberstringNumber of the financial support.
municipal_supportbooleanThe person receives municipal support.
municipal_support_numberstringNumber of the municipal support.
grade_levelintegerSchool grade level of the person.
school_classstringSchool class of the person.
start_timestring (date-time)Start of the membership or activity.
start_time_reasonstringReason for the start.
end_timestring (date-time)End of the membership or activity.
end_time_reasonstringReason for the end.
confirmed_gtc_timestring (date-time)Time the general terms and conditions were confirmed.
chatbot_opt_inbooleanEinwilligung in die Nutzung des KI-Assistenten. Denormalisierter aktueller Stand - das pruefbare Protokoll steht in ChatbotConsent.
chatbot_opt_in_atstring (date-time)Time the person opted in to the chatbot.
chatbot_opt_in_text_versionstringVersion des Einwilligungstextes, dem zugestimmt wurde. Weicht sie von der aktuellen Version ab, ist das Opt-in abgelaufen.
app_usage_statistics_opt_outbooleanWiderspruch gegen die anonyme Nutzungsstatistik der Mitglieder-App. Die App liest ihn aus den StaticData und schickt dann nichts mehr; die gezaehlten Aufrufe selbst haben keinen Bezug zur Person.
crm_person_contact_dataarray<CRMPersonContactData>Contact data of the person, for example phone and e-mail.
archivedbooleanWhether the person is archived.
subscribed_newsletterbooleanWhether the person subscribed to the newsletter.
subscribed_magazinebooleanWhether the person subscribed to the magazine.
printed_member_cardbooleanWhether a member card has been printed for the person.
has_login_userbooleanWhether the person has a login user.
profile_picture_urlstringURL of the profile picture of the person.
log_book_staffbooleanLog book flag: staff.
log_book_staff1booleanLog book flag: staff, level 1.
log_book_staff2booleanLog book flag: staff, level 2.
log_book_memberbooleanLog book flag: member.
log_book_trainerbooleanLog book flag: trainer.
log_book_trainer1booleanLog book flag: trainer, level 1.
log_book_trainer2booleanLog book flag: trainer, level 2.
log_book_head_of_departmentbooleanLog book flag: head of department.
log_book_supervisory_boardbooleanLog book flag: supervisory board.
log_book_board_of_directorsbooleanLog book flag: board of directors.
log_book_honorary_memberbooleanLog book flag: honorary member.
log_book_club_card_onebooleanLog book flag: club card.
log_book_health_recoveredbooleanLog book flag: recovered from illness.
log_book_health_vaccinatedbooleanLog book flag: vaccinated.
log_book_health_vaccinated_additionstringDetails of the vaccination.
log_book_good_conductbooleanLog book flag: certificate of good conduct.
log_book_first_aidbooleanLog book flag: first aid training.
log_book_measles_vaccinationbooleanLog book flag: measles vaccination.
sync_lanistabooleanWhether the person is synchronized with Lanista.
categoryCRMPersonCategoryPerson category.
nicknamestringNickname of the person.
preferred_color_hexstringPreferred color of the person as hex value.
avatar_tokenstringToken of the avatar image.
search_stringstringText that the entity can be searched by.
addressstringAddress as text.
address_streetstringStreet of the address.
address_house_numberstringHouse number of the address.
address_street_levelstringStreet and house number of the address.
address_costringCare-of line of the address.
address_citystringCity of the address.
address_zipstringPostal code of the address.
address_admin_level1stringFirst administrative level of the address, e.g. the federal state.
address_countrystringCountry code of the address.
address_full_countrystringFull name of the country of the address.
address_geo_latstringLatitude of the address.
address_geo_lngstringLongitude of the address.
address_external_provider_idstringfield to store the external provider id of the address. e.g. Google Maps PlaceID like google:ChIJVcKw5r90sEcRhdjNq6NItqE
createdstring (date-time)Point in time the entity was created.
- … 2 more fields
attachmentAttachment10File sent with the response.
Show fields (25)
idintegerPrimary key of the attachment. Internal ID.
filenamestringOriginal file name.
filesizestringSize of the file in bytes.
mimetypestringMIME type of the file.
createdbyusernamestringName of the user who uploaded the file, as text.
createdstring (date-time)Point in time the attachment was created.
googleidstringID of the file in Google Drive.
scopestringScope that controls who can see the attachment.
ocr_document_typestringDocument type recognized by OCR.
ocr_from_namestringSender name recognized by OCR.
ocr_from_companystringSender company recognized by OCR.
ocr_from_addressstringSender address recognized by OCR.
ocr_from_emailstringSender e-mail address recognized by OCR.
ocr_from_phonestringSender phone number recognized by OCR.
ocr_to_namestringRecipient name recognized by OCR.
ocr_to_companystringRecipient company recognized by OCR.
ocr_to_addressstringRecipient address recognized by OCR.
ocr_to_emailstringRecipient e-mail address recognized by OCR.
ocr_to_phonestringRecipient phone number recognized by OCR.
ocr_summarystringSummary of the document created by OCR.
ocr_statusstringOCR processing status: null=not processed, pending, processing, done, error
ocr_errorstringReason of the last failed or incomplete OCR run, null when it went through
ocr_processed_atstring (date-time)Point in time OCR processing finished.
virus_checkedboolean1 once the virus scan has passed for this file. The scan runs in the background (AttachmentVirusScanCommand), so a freshly uploaded file starts at 0 and stays there until it was really checked. An infected file never reaches 1 - it is deleted instead. UIs use this to decide whether a file may be handed to a user, so it must stay false until proven otherwise.
virus_checked_atstring (date-time)When the virus scan passed. Null while the file is still waiting.
statusstringStatus of the response, for example submitted or accepted.
review_notestringNote of the reviewer.
reviewed_by_userUser14Login user who reviewed the response.
Show fields (10)
idintegerPrimary key of the user. Internal ID of the login user.
namestringDisplay name of the user. Shown in the UI and in audit entries.
usernamestringLogin name of the user. Must be unique across all users.
emailstringE-mail address of the user. Used for login notifications, password resets and as a login alias.
positioningeneralstringFree text describing the position or role of the user.
crm_personCRMPerson10CRM person linked to this login user. Connects the login account with the person record.
profile_picture_urlstringURL of the profile picture of the user.
archivedbooleanMarks the user as archived. Archived users are kept for history and are not active.
require2fabooleanTwo-factor authentication is required for this user.
search_stringstringText that the entity can be searched by.
reviewed_atstring (date-time)Time the response was reviewed.
createdstring (date-time)Point in time the entity was created.
updatedstring (date-time)Point in time the entity was last updated.
curl --request GET \
--url https://your-instance.iw-erp.de/api/employee_documents/response \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'GET', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://your-instance.iw-erp.de/api/employee_documents/response', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://your-instance.iw-erp.de/api/employee_documents/response"
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://your-instance.iw-erp.de/api/employee_documents/response', [
'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://your-instance.iw-erp.de/api/employee_documents/response"),
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://your-instance.iw-erp.de/api/employee_documents/response")
.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://your-instance.iw-erp.de/api/employee_documents/response"
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 with the iw_erp_api package
import 'package:iw_erp_api/clients/time_tracking_employee_document_response_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
import 'package:iw_erp_api/model/crm_person.dart';
IwApiState().host = 'your-instance.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await TimeTrackingEmployeeDocumentResponseController.getAllForPerson(CrmPerson.fromJson({}));
if (result.success) {
print(result.data);
}[
{
"id": 42,
"document": {
"id": 42,
"title": "Beispiel",
"description": "Text",
"token": "string",
"document_type": "string",
"category": "string",
"status": "string",
"requires_acknowledgment": true,
"requires_signature": true,
"requires_form_filling": true
},
"user": {
"id": 42,
"name": "Beispiel",
"username": "lena.hartmann@example.org",
"email": "lena.hartmann@example.org",
"profile_picture_url": "https://vynst.de",
"positioningeneral": "string",
"archived": true,
"require2fa": true,
"search_string": "string"
},
"person": {
"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"
},
"attachment": {
"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"
},
"status": "string",
"review_note": "string",
"reviewed_by_user": {
"id": 42,
"name": "Beispiel",
"username": "lena.hartmann@example.org",
"email": "lena.hartmann@example.org",
"profile_picture_url": "https://vynst.de",
"positioningeneral": "string",
"archived": true,
"require2fa": true,
"search_string": "string"
},
"reviewed_at": "2026-10-15T09:30:00+02:00",
"created": "2026-10-15T09:30:00+02:00"
}
]Get all EmployeeDocumentResponse for a single EmployeeDocument
GET/api/employee_documents/response/for_parent/{parentIdentifier}
Path parameters
parentIdentifierrequiredstring |
Query parameters
idinteger | |
documentstring | |
userstring | |
personstring | |
statusstring | |
reviewedByUserstring | |
reviewedAtstring | |
createdstring | |
searchStringstring | text to search for in the list |
orderFieldNamestring | name of the order field |
orderFieldSortstring | sorting modeAllowed: DESCASC |
pageinteger | page of the list |
pageSizeinteger | number of entries for each page |
withMaxPageNumberstring | returns the number of pages available as a header if this is set |
Responses
200Get all EmployeeDocumentResponse for a single EmployeeDocumentarray<EmployeeDocumentResponse2>
Show fields (10)
idintegerPrimary key of the employee document response. Internal ID.
userUser14Login user who responded.
Show fields (10)
idintegerPrimary key of the user. Internal ID of the login user.
namestringDisplay name of the user. Shown in the UI and in audit entries.
usernamestringLogin name of the user. Must be unique across all users.
emailstringE-mail address of the user. Used for login notifications, password resets and as a login alias.
positioningeneralstringFree text describing the position or role of the user.
crm_personCRMPerson10CRM person linked to this login user. Connects the login account with the person record.
profile_picture_urlstringURL of the profile picture of the user.
archivedbooleanMarks the user as archived. Archived users are kept for history and are not active.
require2fabooleanTwo-factor authentication is required for this user.
search_stringstringText that the entity can be searched by.
personCRMPerson10Person who responded.
Show fields (81)
idintegerPrimary key of the person. Internal ID.
first_namestringFirst name of the person.
last_namestringLast name of the person.
numberintegerMember or customer number of the person.
manual_numberintegerNumber set manually instead of the automatic number.
number_stringstringMember or customer number as text, including prefix.
genderstringGender of the person.
titlestringAcademic or other title of the person.
positionstringPosition or role of the person.
languagestringPreferred language of the person.
special_salutationstringSpecial salutation text for letters.
form_of_salutationstringForm of salutation, for example formal or informal.
birthdaystring (date-time)Birthday of the person.
known_allergiesstringKnown allergies of the person.
confirmed_no_allergiesbooleanGuardian confirmed that there are no known allergies.
allow_photosbooleanPhotos of the person may be taken and published.
allow_leaving_alonebooleanThe person may leave the event alone.
authorized_pickupstringPersons who are allowed to pick up the person.
needs_supportbooleanThe person needs support, for example for inclusion.
support_descriptionstringDescription of the support the person needs.
financial_supportbooleanThe person receives financial support.
financial_support_numberstringNumber of the financial support.
municipal_supportbooleanThe person receives municipal support.
municipal_support_numberstringNumber of the municipal support.
grade_levelintegerSchool grade level of the person.
school_classstringSchool class of the person.
start_timestring (date-time)Start of the membership or activity.
start_time_reasonstringReason for the start.
end_timestring (date-time)End of the membership or activity.
end_time_reasonstringReason for the end.
confirmed_gtc_timestring (date-time)Time the general terms and conditions were confirmed.
chatbot_opt_inbooleanEinwilligung in die Nutzung des KI-Assistenten. Denormalisierter aktueller Stand - das pruefbare Protokoll steht in ChatbotConsent.
chatbot_opt_in_atstring (date-time)Time the person opted in to the chatbot.
chatbot_opt_in_text_versionstringVersion des Einwilligungstextes, dem zugestimmt wurde. Weicht sie von der aktuellen Version ab, ist das Opt-in abgelaufen.
app_usage_statistics_opt_outbooleanWiderspruch gegen die anonyme Nutzungsstatistik der Mitglieder-App. Die App liest ihn aus den StaticData und schickt dann nichts mehr; die gezaehlten Aufrufe selbst haben keinen Bezug zur Person.
crm_person_contact_dataarray<CRMPersonContactData>Contact data of the person, for example phone and e-mail.
archivedbooleanWhether the person is archived.
subscribed_newsletterbooleanWhether the person subscribed to the newsletter.
subscribed_magazinebooleanWhether the person subscribed to the magazine.
printed_member_cardbooleanWhether a member card has been printed for the person.
has_login_userbooleanWhether the person has a login user.
profile_picture_urlstringURL of the profile picture of the person.
log_book_staffbooleanLog book flag: staff.
log_book_staff1booleanLog book flag: staff, level 1.
log_book_staff2booleanLog book flag: staff, level 2.
log_book_memberbooleanLog book flag: member.
log_book_trainerbooleanLog book flag: trainer.
log_book_trainer1booleanLog book flag: trainer, level 1.
log_book_trainer2booleanLog book flag: trainer, level 2.
log_book_head_of_departmentbooleanLog book flag: head of department.
log_book_supervisory_boardbooleanLog book flag: supervisory board.
log_book_board_of_directorsbooleanLog book flag: board of directors.
log_book_honorary_memberbooleanLog book flag: honorary member.
log_book_club_card_onebooleanLog book flag: club card.
log_book_health_recoveredbooleanLog book flag: recovered from illness.
log_book_health_vaccinatedbooleanLog book flag: vaccinated.
log_book_health_vaccinated_additionstringDetails of the vaccination.
log_book_good_conductbooleanLog book flag: certificate of good conduct.
log_book_first_aidbooleanLog book flag: first aid training.
log_book_measles_vaccinationbooleanLog book flag: measles vaccination.
sync_lanistabooleanWhether the person is synchronized with Lanista.
categoryCRMPersonCategoryPerson category.
nicknamestringNickname of the person.
preferred_color_hexstringPreferred color of the person as hex value.
avatar_tokenstringToken of the avatar image.
search_stringstringText that the entity can be searched by.
addressstringAddress as text.
address_streetstringStreet of the address.
address_house_numberstringHouse number of the address.
address_street_levelstringStreet and house number of the address.
address_costringCare-of line of the address.
address_citystringCity of the address.
address_zipstringPostal code of the address.
address_admin_level1stringFirst administrative level of the address, e.g. the federal state.
address_countrystringCountry code of the address.
address_full_countrystringFull name of the country of the address.
address_geo_latstringLatitude of the address.
address_geo_lngstringLongitude of the address.
address_external_provider_idstringfield to store the external provider id of the address. e.g. Google Maps PlaceID like google:ChIJVcKw5r90sEcRhdjNq6NItqE
createdstring (date-time)Point in time the entity was created.
- … 2 more fields
attachmentAttachment10File sent with the response.
Show fields (25)
idintegerPrimary key of the attachment. Internal ID.
filenamestringOriginal file name.
filesizestringSize of the file in bytes.
mimetypestringMIME type of the file.
createdbyusernamestringName of the user who uploaded the file, as text.
createdstring (date-time)Point in time the attachment was created.
googleidstringID of the file in Google Drive.
scopestringScope that controls who can see the attachment.
ocr_document_typestringDocument type recognized by OCR.
ocr_from_namestringSender name recognized by OCR.
ocr_from_companystringSender company recognized by OCR.
ocr_from_addressstringSender address recognized by OCR.
ocr_from_emailstringSender e-mail address recognized by OCR.
ocr_from_phonestringSender phone number recognized by OCR.
ocr_to_namestringRecipient name recognized by OCR.
ocr_to_companystringRecipient company recognized by OCR.
ocr_to_addressstringRecipient address recognized by OCR.
ocr_to_emailstringRecipient e-mail address recognized by OCR.
ocr_to_phonestringRecipient phone number recognized by OCR.
ocr_summarystringSummary of the document created by OCR.
ocr_statusstringOCR processing status: null=not processed, pending, processing, done, error
ocr_errorstringReason of the last failed or incomplete OCR run, null when it went through
ocr_processed_atstring (date-time)Point in time OCR processing finished.
virus_checkedboolean1 once the virus scan has passed for this file. The scan runs in the background (AttachmentVirusScanCommand), so a freshly uploaded file starts at 0 and stays there until it was really checked. An infected file never reaches 1 - it is deleted instead. UIs use this to decide whether a file may be handed to a user, so it must stay false until proven otherwise.
virus_checked_atstring (date-time)When the virus scan passed. Null while the file is still waiting.
statusstringStatus of the response, for example submitted or accepted.
review_notestringNote of the reviewer.
reviewed_by_userUser14Login user who reviewed the response.
Show fields (10)
idintegerPrimary key of the user. Internal ID of the login user.
namestringDisplay name of the user. Shown in the UI and in audit entries.
usernamestringLogin name of the user. Must be unique across all users.
emailstringE-mail address of the user. Used for login notifications, password resets and as a login alias.
positioningeneralstringFree text describing the position or role of the user.
crm_personCRMPerson10CRM person linked to this login user. Connects the login account with the person record.
profile_picture_urlstringURL of the profile picture of the user.
archivedbooleanMarks the user as archived. Archived users are kept for history and are not active.
require2fabooleanTwo-factor authentication is required for this user.
search_stringstringText that the entity can be searched by.
reviewed_atstring (date-time)Time the response was reviewed.
createdstring (date-time)Point in time the entity was created.
updatedstring (date-time)Point in time the entity was last updated.
curl --request GET \
--url https://your-instance.iw-erp.de/api/employee_documents/response/for_parent/42 \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'GET', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://your-instance.iw-erp.de/api/employee_documents/response/for_parent/42', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://your-instance.iw-erp.de/api/employee_documents/response/for_parent/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://your-instance.iw-erp.de/api/employee_documents/response/for_parent/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://your-instance.iw-erp.de/api/employee_documents/response/for_parent/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://your-instance.iw-erp.de/api/employee_documents/response/for_parent/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://your-instance.iw-erp.de/api/employee_documents/response/for_parent/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 with the iw_erp_api package
import 'package:iw_erp_api/clients/time_tracking_employee_document_response_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
import 'package:iw_erp_api/model/time_tracking_employee_document.dart';
IwApiState().host = 'your-instance.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await TimeTrackingEmployeeDocumentResponseController.getAllForParent(TimeTrackingEmployeeDocument.fromJson({}));
if (result.success) {
print(result.data);
}[
{
"id": 42,
"user": {
"id": 42,
"name": "Beispiel",
"username": "lena.hartmann@example.org",
"email": "lena.hartmann@example.org",
"profile_picture_url": "https://vynst.de",
"positioningeneral": "string",
"archived": true,
"require2fa": true,
"search_string": "string"
},
"person": {
"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"
},
"attachment": {
"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"
},
"status": "string",
"review_note": "string",
"reviewed_by_user": {
"id": 42,
"name": "Beispiel",
"username": "lena.hartmann@example.org",
"email": "lena.hartmann@example.org",
"profile_picture_url": "https://vynst.de",
"positioningeneral": "string",
"archived": true,
"require2fa": true,
"search_string": "string"
},
"reviewed_at": "2026-10-15T09:30:00+02:00",
"created": "2026-10-15T09:30:00+02:00",
"updated": "2026-10-15T09:30:00+02:00"
}
]Submit a response (filled form re-upload) for an EmployeeDocument
POST/api/employee_documents/response/{parentIdentifier}
Path parameters
parentIdentifierrequiredstring |
Responses
200Submit a response for an EmployeeDocumentEmployeeDocumentResponse2
Show fields (10)
idintegerPrimary key of the employee document response. Internal ID.
userUser14Login user who responded.
Show fields (10)
idintegerPrimary key of the user. Internal ID of the login user.
namestringDisplay name of the user. Shown in the UI and in audit entries.
usernamestringLogin name of the user. Must be unique across all users.
emailstringE-mail address of the user. Used for login notifications, password resets and as a login alias.
positioningeneralstringFree text describing the position or role of the user.
crm_personCRMPerson10CRM person linked to this login user. Connects the login account with the person record.
profile_picture_urlstringURL of the profile picture of the user.
archivedbooleanMarks the user as archived. Archived users are kept for history and are not active.
require2fabooleanTwo-factor authentication is required for this user.
search_stringstringText that the entity can be searched by.
personCRMPerson10Person who responded.
Show fields (81)
idintegerPrimary key of the person. Internal ID.
first_namestringFirst name of the person.
last_namestringLast name of the person.
numberintegerMember or customer number of the person.
manual_numberintegerNumber set manually instead of the automatic number.
number_stringstringMember or customer number as text, including prefix.
genderstringGender of the person.
titlestringAcademic or other title of the person.
positionstringPosition or role of the person.
languagestringPreferred language of the person.
special_salutationstringSpecial salutation text for letters.
form_of_salutationstringForm of salutation, for example formal or informal.
birthdaystring (date-time)Birthday of the person.
known_allergiesstringKnown allergies of the person.
confirmed_no_allergiesbooleanGuardian confirmed that there are no known allergies.
allow_photosbooleanPhotos of the person may be taken and published.
allow_leaving_alonebooleanThe person may leave the event alone.
authorized_pickupstringPersons who are allowed to pick up the person.
needs_supportbooleanThe person needs support, for example for inclusion.
support_descriptionstringDescription of the support the person needs.
financial_supportbooleanThe person receives financial support.
financial_support_numberstringNumber of the financial support.
municipal_supportbooleanThe person receives municipal support.
municipal_support_numberstringNumber of the municipal support.
grade_levelintegerSchool grade level of the person.
school_classstringSchool class of the person.
start_timestring (date-time)Start of the membership or activity.
start_time_reasonstringReason for the start.
end_timestring (date-time)End of the membership or activity.
end_time_reasonstringReason for the end.
confirmed_gtc_timestring (date-time)Time the general terms and conditions were confirmed.
chatbot_opt_inbooleanEinwilligung in die Nutzung des KI-Assistenten. Denormalisierter aktueller Stand - das pruefbare Protokoll steht in ChatbotConsent.
chatbot_opt_in_atstring (date-time)Time the person opted in to the chatbot.
chatbot_opt_in_text_versionstringVersion des Einwilligungstextes, dem zugestimmt wurde. Weicht sie von der aktuellen Version ab, ist das Opt-in abgelaufen.
app_usage_statistics_opt_outbooleanWiderspruch gegen die anonyme Nutzungsstatistik der Mitglieder-App. Die App liest ihn aus den StaticData und schickt dann nichts mehr; die gezaehlten Aufrufe selbst haben keinen Bezug zur Person.
crm_person_contact_dataarray<CRMPersonContactData>Contact data of the person, for example phone and e-mail.
archivedbooleanWhether the person is archived.
subscribed_newsletterbooleanWhether the person subscribed to the newsletter.
subscribed_magazinebooleanWhether the person subscribed to the magazine.
printed_member_cardbooleanWhether a member card has been printed for the person.
has_login_userbooleanWhether the person has a login user.
profile_picture_urlstringURL of the profile picture of the person.
log_book_staffbooleanLog book flag: staff.
log_book_staff1booleanLog book flag: staff, level 1.
log_book_staff2booleanLog book flag: staff, level 2.
log_book_memberbooleanLog book flag: member.
log_book_trainerbooleanLog book flag: trainer.
log_book_trainer1booleanLog book flag: trainer, level 1.
log_book_trainer2booleanLog book flag: trainer, level 2.
log_book_head_of_departmentbooleanLog book flag: head of department.
log_book_supervisory_boardbooleanLog book flag: supervisory board.
log_book_board_of_directorsbooleanLog book flag: board of directors.
log_book_honorary_memberbooleanLog book flag: honorary member.
log_book_club_card_onebooleanLog book flag: club card.
log_book_health_recoveredbooleanLog book flag: recovered from illness.
log_book_health_vaccinatedbooleanLog book flag: vaccinated.
log_book_health_vaccinated_additionstringDetails of the vaccination.
log_book_good_conductbooleanLog book flag: certificate of good conduct.
log_book_first_aidbooleanLog book flag: first aid training.
log_book_measles_vaccinationbooleanLog book flag: measles vaccination.
sync_lanistabooleanWhether the person is synchronized with Lanista.
categoryCRMPersonCategoryPerson category.
nicknamestringNickname of the person.
preferred_color_hexstringPreferred color of the person as hex value.
avatar_tokenstringToken of the avatar image.
search_stringstringText that the entity can be searched by.
addressstringAddress as text.
address_streetstringStreet of the address.
address_house_numberstringHouse number of the address.
address_street_levelstringStreet and house number of the address.
address_costringCare-of line of the address.
address_citystringCity of the address.
address_zipstringPostal code of the address.
address_admin_level1stringFirst administrative level of the address, e.g. the federal state.
address_countrystringCountry code of the address.
address_full_countrystringFull name of the country of the address.
address_geo_latstringLatitude of the address.
address_geo_lngstringLongitude of the address.
address_external_provider_idstringfield to store the external provider id of the address. e.g. Google Maps PlaceID like google:ChIJVcKw5r90sEcRhdjNq6NItqE
createdstring (date-time)Point in time the entity was created.
- … 2 more fields
attachmentAttachment10File sent with the response.
Show fields (25)
idintegerPrimary key of the attachment. Internal ID.
filenamestringOriginal file name.
filesizestringSize of the file in bytes.
mimetypestringMIME type of the file.
createdbyusernamestringName of the user who uploaded the file, as text.
createdstring (date-time)Point in time the attachment was created.
googleidstringID of the file in Google Drive.
scopestringScope that controls who can see the attachment.
ocr_document_typestringDocument type recognized by OCR.
ocr_from_namestringSender name recognized by OCR.
ocr_from_companystringSender company recognized by OCR.
ocr_from_addressstringSender address recognized by OCR.
ocr_from_emailstringSender e-mail address recognized by OCR.
ocr_from_phonestringSender phone number recognized by OCR.
ocr_to_namestringRecipient name recognized by OCR.
ocr_to_companystringRecipient company recognized by OCR.
ocr_to_addressstringRecipient address recognized by OCR.
ocr_to_emailstringRecipient e-mail address recognized by OCR.
ocr_to_phonestringRecipient phone number recognized by OCR.
ocr_summarystringSummary of the document created by OCR.
ocr_statusstringOCR processing status: null=not processed, pending, processing, done, error
ocr_errorstringReason of the last failed or incomplete OCR run, null when it went through
ocr_processed_atstring (date-time)Point in time OCR processing finished.
virus_checkedboolean1 once the virus scan has passed for this file. The scan runs in the background (AttachmentVirusScanCommand), so a freshly uploaded file starts at 0 and stays there until it was really checked. An infected file never reaches 1 - it is deleted instead. UIs use this to decide whether a file may be handed to a user, so it must stay false until proven otherwise.
virus_checked_atstring (date-time)When the virus scan passed. Null while the file is still waiting.
statusstringStatus of the response, for example submitted or accepted.
review_notestringNote of the reviewer.
reviewed_by_userUser14Login user who reviewed the response.
Show fields (10)
idintegerPrimary key of the user. Internal ID of the login user.
namestringDisplay name of the user. Shown in the UI and in audit entries.
usernamestringLogin name of the user. Must be unique across all users.
emailstringE-mail address of the user. Used for login notifications, password resets and as a login alias.
positioningeneralstringFree text describing the position or role of the user.
crm_personCRMPerson10CRM person linked to this login user. Connects the login account with the person record.
profile_picture_urlstringURL of the profile picture of the user.
archivedbooleanMarks the user as archived. Archived users are kept for history and are not active.
require2fabooleanTwo-factor authentication is required for this user.
search_stringstringText that the entity can be searched by.
reviewed_atstring (date-time)Time the response was reviewed.
createdstring (date-time)Point in time the entity was created.
updatedstring (date-time)Point in time the entity was last updated.
curl --request POST \
--url https://your-instance.iw-erp.de/api/employee_documents/response/42 \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'POST', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://your-instance.iw-erp.de/api/employee_documents/response/42', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://your-instance.iw-erp.de/api/employee_documents/response/42"
headers = {"x-iw-jwt-token": "<TOKEN>"}
response = requests.post(url, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('POST', 'https://your-instance.iw-erp.de/api/employee_documents/response/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.Post,
RequestUri = new Uri("https://your-instance.iw-erp.de/api/employee_documents/response/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://your-instance.iw-erp.de/api/employee_documents/response/42")
.post(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://your-instance.iw-erp.de/api/employee_documents/response/42"
req, _ := http.NewRequest("POST", 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 with the iw_erp_api package
import 'package:iw_erp_api/clients/time_tracking_employee_document_response_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
import 'package:iw_erp_api/model/time_tracking_employee_document.dart';
IwApiState().host = 'your-instance.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await TimeTrackingEmployeeDocumentResponseController.post(TimeTrackingEmployeeDocument.fromJson({}), '42');
if (result.success) {
print(result.data);
}{
"id": 42,
"user": {
"id": 42,
"name": "Beispiel",
"username": "lena.hartmann@example.org",
"email": "lena.hartmann@example.org",
"profile_picture_url": "https://vynst.de",
"positioningeneral": "string",
"crm_person": {
"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"
},
"archived": true,
"require2fa": true,
"search_string": "string"
},
"person": {
"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"
},
"attachment": {
"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"
},
"status": "string",
"review_note": "string",
"reviewed_by_user": {
"id": 42,
"name": "Beispiel",
"username": "lena.hartmann@example.org",
"email": "lena.hartmann@example.org",
"profile_picture_url": "https://vynst.de",
"positioningeneral": "string",
"crm_person": {
"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"
},
"archived": true,
"require2fa": true,
"search_string": "string"
},
"reviewed_at": "2026-10-15T09:30:00+02:00",
"created": "2026-10-15T09:30:00+02:00",
"updated": "2026-10-15T09:30:00+02:00"
}Review a response (accept or reject)
PUT/api/employee_documents/response/{id}
Path parameters
idrequiredstring |
Request body application/json
dataEmployeeDocumentResponse2Show fields (10)
idintegerPrimary key of the employee document response. Internal ID.
userUser14Login user who responded.
personCRMPerson10Person who responded.
attachmentAttachment10File sent with the response.
statusstringStatus of the response, for example submitted or accepted.
review_notestringNote of the reviewer.
reviewed_by_userUser14Login user who reviewed the response.
reviewed_atstring (date-time)Time the response was reviewed.
createdstring (date-time)Point in time the entity was created.
updatedstring (date-time)Point in time the entity was last updated.
Responses
200Review a responseEmployeeDocumentResponse2
Show fields (10)
idintegerPrimary key of the employee document response. Internal ID.
userUser14Login user who responded.
Show fields (10)
idintegerPrimary key of the user. Internal ID of the login user.
namestringDisplay name of the user. Shown in the UI and in audit entries.
usernamestringLogin name of the user. Must be unique across all users.
emailstringE-mail address of the user. Used for login notifications, password resets and as a login alias.
positioningeneralstringFree text describing the position or role of the user.
crm_personCRMPerson10CRM person linked to this login user. Connects the login account with the person record.
profile_picture_urlstringURL of the profile picture of the user.
archivedbooleanMarks the user as archived. Archived users are kept for history and are not active.
require2fabooleanTwo-factor authentication is required for this user.
search_stringstringText that the entity can be searched by.
personCRMPerson10Person who responded.
Show fields (81)
idintegerPrimary key of the person. Internal ID.
first_namestringFirst name of the person.
last_namestringLast name of the person.
numberintegerMember or customer number of the person.
manual_numberintegerNumber set manually instead of the automatic number.
number_stringstringMember or customer number as text, including prefix.
genderstringGender of the person.
titlestringAcademic or other title of the person.
positionstringPosition or role of the person.
languagestringPreferred language of the person.
special_salutationstringSpecial salutation text for letters.
form_of_salutationstringForm of salutation, for example formal or informal.
birthdaystring (date-time)Birthday of the person.
known_allergiesstringKnown allergies of the person.
confirmed_no_allergiesbooleanGuardian confirmed that there are no known allergies.
allow_photosbooleanPhotos of the person may be taken and published.
allow_leaving_alonebooleanThe person may leave the event alone.
authorized_pickupstringPersons who are allowed to pick up the person.
needs_supportbooleanThe person needs support, for example for inclusion.
support_descriptionstringDescription of the support the person needs.
financial_supportbooleanThe person receives financial support.
financial_support_numberstringNumber of the financial support.
municipal_supportbooleanThe person receives municipal support.
municipal_support_numberstringNumber of the municipal support.
grade_levelintegerSchool grade level of the person.
school_classstringSchool class of the person.
start_timestring (date-time)Start of the membership or activity.
start_time_reasonstringReason for the start.
end_timestring (date-time)End of the membership or activity.
end_time_reasonstringReason for the end.
confirmed_gtc_timestring (date-time)Time the general terms and conditions were confirmed.
chatbot_opt_inbooleanEinwilligung in die Nutzung des KI-Assistenten. Denormalisierter aktueller Stand - das pruefbare Protokoll steht in ChatbotConsent.
chatbot_opt_in_atstring (date-time)Time the person opted in to the chatbot.
chatbot_opt_in_text_versionstringVersion des Einwilligungstextes, dem zugestimmt wurde. Weicht sie von der aktuellen Version ab, ist das Opt-in abgelaufen.
app_usage_statistics_opt_outbooleanWiderspruch gegen die anonyme Nutzungsstatistik der Mitglieder-App. Die App liest ihn aus den StaticData und schickt dann nichts mehr; die gezaehlten Aufrufe selbst haben keinen Bezug zur Person.
crm_person_contact_dataarray<CRMPersonContactData>Contact data of the person, for example phone and e-mail.
archivedbooleanWhether the person is archived.
subscribed_newsletterbooleanWhether the person subscribed to the newsletter.
subscribed_magazinebooleanWhether the person subscribed to the magazine.
printed_member_cardbooleanWhether a member card has been printed for the person.
has_login_userbooleanWhether the person has a login user.
profile_picture_urlstringURL of the profile picture of the person.
log_book_staffbooleanLog book flag: staff.
log_book_staff1booleanLog book flag: staff, level 1.
log_book_staff2booleanLog book flag: staff, level 2.
log_book_memberbooleanLog book flag: member.
log_book_trainerbooleanLog book flag: trainer.
log_book_trainer1booleanLog book flag: trainer, level 1.
log_book_trainer2booleanLog book flag: trainer, level 2.
log_book_head_of_departmentbooleanLog book flag: head of department.
log_book_supervisory_boardbooleanLog book flag: supervisory board.
log_book_board_of_directorsbooleanLog book flag: board of directors.
log_book_honorary_memberbooleanLog book flag: honorary member.
log_book_club_card_onebooleanLog book flag: club card.
log_book_health_recoveredbooleanLog book flag: recovered from illness.
log_book_health_vaccinatedbooleanLog book flag: vaccinated.
log_book_health_vaccinated_additionstringDetails of the vaccination.
log_book_good_conductbooleanLog book flag: certificate of good conduct.
log_book_first_aidbooleanLog book flag: first aid training.
log_book_measles_vaccinationbooleanLog book flag: measles vaccination.
sync_lanistabooleanWhether the person is synchronized with Lanista.
categoryCRMPersonCategoryPerson category.
nicknamestringNickname of the person.
preferred_color_hexstringPreferred color of the person as hex value.
avatar_tokenstringToken of the avatar image.
search_stringstringText that the entity can be searched by.
addressstringAddress as text.
address_streetstringStreet of the address.
address_house_numberstringHouse number of the address.
address_street_levelstringStreet and house number of the address.
address_costringCare-of line of the address.
address_citystringCity of the address.
address_zipstringPostal code of the address.
address_admin_level1stringFirst administrative level of the address, e.g. the federal state.
address_countrystringCountry code of the address.
address_full_countrystringFull name of the country of the address.
address_geo_latstringLatitude of the address.
address_geo_lngstringLongitude of the address.
address_external_provider_idstringfield to store the external provider id of the address. e.g. Google Maps PlaceID like google:ChIJVcKw5r90sEcRhdjNq6NItqE
createdstring (date-time)Point in time the entity was created.
- … 2 more fields
attachmentAttachment10File sent with the response.
Show fields (25)
idintegerPrimary key of the attachment. Internal ID.
filenamestringOriginal file name.
filesizestringSize of the file in bytes.
mimetypestringMIME type of the file.
createdbyusernamestringName of the user who uploaded the file, as text.
createdstring (date-time)Point in time the attachment was created.
googleidstringID of the file in Google Drive.
scopestringScope that controls who can see the attachment.
ocr_document_typestringDocument type recognized by OCR.
ocr_from_namestringSender name recognized by OCR.
ocr_from_companystringSender company recognized by OCR.
ocr_from_addressstringSender address recognized by OCR.
ocr_from_emailstringSender e-mail address recognized by OCR.
ocr_from_phonestringSender phone number recognized by OCR.
ocr_to_namestringRecipient name recognized by OCR.
ocr_to_companystringRecipient company recognized by OCR.
ocr_to_addressstringRecipient address recognized by OCR.
ocr_to_emailstringRecipient e-mail address recognized by OCR.
ocr_to_phonestringRecipient phone number recognized by OCR.
ocr_summarystringSummary of the document created by OCR.
ocr_statusstringOCR processing status: null=not processed, pending, processing, done, error
ocr_errorstringReason of the last failed or incomplete OCR run, null when it went through
ocr_processed_atstring (date-time)Point in time OCR processing finished.
virus_checkedboolean1 once the virus scan has passed for this file. The scan runs in the background (AttachmentVirusScanCommand), so a freshly uploaded file starts at 0 and stays there until it was really checked. An infected file never reaches 1 - it is deleted instead. UIs use this to decide whether a file may be handed to a user, so it must stay false until proven otherwise.
virus_checked_atstring (date-time)When the virus scan passed. Null while the file is still waiting.
statusstringStatus of the response, for example submitted or accepted.
review_notestringNote of the reviewer.
reviewed_by_userUser14Login user who reviewed the response.
Show fields (10)
idintegerPrimary key of the user. Internal ID of the login user.
namestringDisplay name of the user. Shown in the UI and in audit entries.
usernamestringLogin name of the user. Must be unique across all users.
emailstringE-mail address of the user. Used for login notifications, password resets and as a login alias.
positioningeneralstringFree text describing the position or role of the user.
crm_personCRMPerson10CRM person linked to this login user. Connects the login account with the person record.
profile_picture_urlstringURL of the profile picture of the user.
archivedbooleanMarks the user as archived. Archived users are kept for history and are not active.
require2fabooleanTwo-factor authentication is required for this user.
search_stringstringText that the entity can be searched by.
reviewed_atstring (date-time)Time the response was reviewed.
createdstring (date-time)Point in time the entity was created.
updatedstring (date-time)Point in time the entity was last updated.
curl --request PUT \
--url https://your-instance.iw-erp.de/api/employee_documents/response/42 \
--header 'content-type: application/json' \
--header 'x-iw-jwt-token: <TOKEN>' \
--data '
{
"data": {
"id": 42,
"user": {
"id": 42,
"name": "Beispiel",
"username": "lena.hartmann@example.org",
"email": "lena.hartmann@example.org",
"profile_picture_url": "https://vynst.de",
"positioningeneral": "string"
},
"person": {
"id": 42,
"first_name": "Lena",
"last_name": "Hartmann",
"title": "Beispiel",
"language": "de",
"support_description": "Text"
},
"attachment": {
"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"
},
"status": "string",
"review_note": "string"
}
}
'const options = {
method: 'PUT',
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: JSON.stringify({
data: {
id: 42,
user: {
id: 42,
name: 'Beispiel',
username: 'lena.hartmann@example.org',
email: 'lena.hartmann@example.org',
profile_picture_url: 'https://vynst.de',
positioningeneral: 'string'
},
person: {
id: 42,
first_name: 'Lena',
last_name: 'Hartmann',
title: 'Beispiel',
language: 'de',
support_description: 'Text'
},
attachment: {
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'
},
status: 'string',
review_note: 'string'
}
})
};
fetch('https://your-instance.iw-erp.de/api/employee_documents/response/42', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://your-instance.iw-erp.de/api/employee_documents/response/42"
payload = { "data": {
"id": 42,
"user": {
"id": 42,
"name": "Beispiel",
"username": "lena.hartmann@example.org",
"email": "lena.hartmann@example.org",
"profile_picture_url": "https://vynst.de",
"positioningeneral": "string"
},
"person": {
"id": 42,
"first_name": "Lena",
"last_name": "Hartmann",
"title": "Beispiel",
"language": "de",
"support_description": "Text"
},
"attachment": {
"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"
},
"status": "string",
"review_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://your-instance.iw-erp.de/api/employee_documents/response/42', [
'body' => '{"data":{"id":42,"user":{"id":42,"name":"Beispiel","username":"lena.hartmann@example.org","email":"lena.hartmann@example.org","profile_picture_url":"https://vynst.de","positioningeneral":"string"},"person":{"id":42,"first_name":"Lena","last_name":"Hartmann","title":"Beispiel","language":"de","support_description":"Text"},"attachment":{"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"},"status":"string","review_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://your-instance.iw-erp.de/api/employee_documents/response/42"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
Content = new StringContent("{\"data\":{\"id\":42,\"user\":{\"id\":42,\"name\":\"Beispiel\",\"username\":\"lena.hartmann@example.org\",\"email\":\"lena.hartmann@example.org\",\"profile_picture_url\":\"https://vynst.de\",\"positioningeneral\":\"string\"},\"person\":{\"id\":42,\"first_name\":\"Lena\",\"last_name\":\"Hartmann\",\"title\":\"Beispiel\",\"language\":\"de\",\"support_description\":\"Text\"},\"attachment\":{\"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\"},\"status\":\"string\",\"review_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\":{\"id\":42,\"user\":{\"id\":42,\"name\":\"Beispiel\",\"username\":\"lena.hartmann@example.org\",\"email\":\"lena.hartmann@example.org\",\"profile_picture_url\":\"https://vynst.de\",\"positioningeneral\":\"string\"},\"person\":{\"id\":42,\"first_name\":\"Lena\",\"last_name\":\"Hartmann\",\"title\":\"Beispiel\",\"language\":\"de\",\"support_description\":\"Text\"},\"attachment\":{\"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\"},\"status\":\"string\",\"review_note\":\"string\"}}");
Request request = new Request.Builder()
.url("https://your-instance.iw-erp.de/api/employee_documents/response/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://your-instance.iw-erp.de/api/employee_documents/response/42"
payload := strings.NewReader("{\"data\":{\"id\":42,\"user\":{\"id\":42,\"name\":\"Beispiel\",\"username\":\"lena.hartmann@example.org\",\"email\":\"lena.hartmann@example.org\",\"profile_picture_url\":\"https://vynst.de\",\"positioningeneral\":\"string\"},\"person\":{\"id\":42,\"first_name\":\"Lena\",\"last_name\":\"Hartmann\",\"title\":\"Beispiel\",\"language\":\"de\",\"support_description\":\"Text\"},\"attachment\":{\"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\"},\"status\":\"string\",\"review_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 with the iw_erp_api package
import 'package:iw_erp_api/clients/time_tracking_employee_document_response_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
import 'package:iw_erp_api/model/time_tracking_employee_document_response.dart';
IwApiState().host = 'your-instance.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await TimeTrackingEmployeeDocumentResponseController.review(TimeTrackingEmployeeDocumentResponse.fromJson({
"id": 42,
"user": {
"id": 42,
"name": "Beispiel",
"username": "lena.hartmann@example.org",
"email": "lena.hartmann@example.org",
"profile_picture_url": "https://vynst.de",
"positioningeneral": "string"
},
"person": {
"id": 42,
"first_name": "Lena",
"last_name": "Hartmann",
"title": "Beispiel",
"language": "de",
"support_description": "Text"
},
"attachment": {
"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"
},
"status": "string",
"review_note": "string"
}));
if (result.success) {
print(result.data);
}{
"id": 42,
"user": {
"id": 42,
"name": "Beispiel",
"username": "lena.hartmann@example.org",
"email": "lena.hartmann@example.org",
"profile_picture_url": "https://vynst.de",
"positioningeneral": "string",
"crm_person": {
"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"
},
"archived": true,
"require2fa": true,
"search_string": "string"
},
"person": {
"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"
},
"attachment": {
"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"
},
"status": "string",
"review_note": "string",
"reviewed_by_user": {
"id": 42,
"name": "Beispiel",
"username": "lena.hartmann@example.org",
"email": "lena.hartmann@example.org",
"profile_picture_url": "https://vynst.de",
"positioningeneral": "string",
"crm_person": {
"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"
},
"archived": true,
"require2fa": true,
"search_string": "string"
},
"reviewed_at": "2026-10-15T09:30:00+02:00",
"created": "2026-10-15T09:30:00+02:00",
"updated": "2026-10-15T09:30:00+02:00"
}