User Data Exports
This endpoint requires the user_data_export.create right.
List of valid attributes:
| Attribute | Description | Specifics |
|---|---|---|
| export_scope | Users included in the export | Required. Must be all, teams, or users |
| field_scope | Fields included in the export | Optional. Must be all or fields. Omit to export no fields |
| export_entity_ids | User or team IDs included in the export | Required for the users and teams scopes |
| field_ids | Field IDs included in the export | Required when field_scope is fields |
| file_format | Format of the exported user data file | Required. Must be json or csv |
| document_label_scope | Document labels included in the export | Optional. Must be all or labels. Omit to export no documents |
| document_label_ids | Account label IDs used to select documents | Required when document_label_scope is labels unless include_unlabelled_documents is true |
| include_unlabelled_documents | Include documents with no labels | Optional. Only used when document_label_scope is labels. Defaults to false |
Create
Section titled “Create”Example request:
{ "data": { "type": "user_data_export", "attributes": { "export_scope": "users", "field_scope": "fields", "export_entity_ids": ["c8b6859f-fc3d-4f6a-bf26-81993f087f37"], "field_ids": ["6d9a20ad-75c6-4875-9671-c77463904380"], "file_format": "csv", "document_label_scope": "labels", "document_label_ids": ["e7c1a9b2-3d4e-4f5a-8b6c-1d2e3f4a5b6c"], "include_unlabelled_documents": true } }}This endpoint creates a user data export synchronously. For the users scope,
export_entity_ids contains user IDs. For the teams scope, it contains team
IDs. The IDs are ignored when export_scope is all.
The field_ids are ignored when field_scope is all. When field_scope is
omitted, no field file is exported.
The document_label_ids and include_unlabelled_documents are ignored when
document_label_scope is all. When document_label_scope is omitted, no
documents or mapping file are exported. all includes every readable document,
including unlabelled ones. labels includes documents that have at least one of
the selected labels. When include_unlabelled_documents is true, unlabelled
documents are also included (and may be selected on their own without
document_label_ids). At least one of field_scope or document_label_scope
must be provided.
HTTP Request
Section titled “HTTP Request”POST /api/v1/user_data_exports
Response
Section titled “Response”Returns a 200 Success response with an application/zip attachment named
{datetime}_Stammdatenexport.zip. The datetime is expressed in UTC.
The archive contains a root folder with the same name. Each exported employee
has a numbered folder. When fields are exported, the folder contains a file
whose extension matches file_format (json or csv). When documents are
requested, the folder also contains the selected files and a UTF-8 CSV mapping
file:
2026-09-01_15-05-00_Stammdatenexport/└── 01_Dominik_Muster/ ├── Dominik_Muster.csv ├── Immatrikulationsbescheinigung_2025.pdf ├── payroll_09_2026.pdf └── mapping.csvDocument files keep their original names ({name}.{extension}). The mapping CSV
uses locale-specific headers: File, Description, and Person in English, or
Datei, Beschreibung, and Person in German. File is the exported file
name, Description is the document description, and Person is the employee
name.
JSON format
Section titled “JSON format”The JSON object groups readable field values by field group and field name.
Values retain their JSON type, and readable fields without a value are included
as null. Fields that the requesting user is not permitted to read are omitted.
CSV format
Section titled “CSV format”CSV files are UTF-8 with BOM, use a comma delimiter, " as the quote character,
and CRLF line endings. Each file has a header row and one row per field with the
columns field_group, field_name, and value. Empty field values are written
as empty cells. Fields that the requesting user is not permitted to read are
omitted.
Only documents the requesting user is permitted to read are exported. Sensitive
documents require document_sensitive.read.