> ## Documentation Index
> Fetch the complete documentation index at: https://docs.stampfactory.eu/llms.txt
> Use this file to discover all available pages before exploring further.

# Konfiguration abrufen



## OpenAPI

````yaml GET /
openapi: 3.1.0
info:
  title: Stampfactory API
  version: 1.0.0
  description: >-
    REST API für die Stampfactory Zeiterfassungs- und
    Personalverwaltungsplattform.


    ## Basis-URL


    Jeder Mandant hat eine eigene Subdomain: `https://{tenant}.stamp.eu/rest/…`.

    Custom Domains werden unterstützt; der Pfad-Präfix ist immer `/rest`.

    Authentifizierung über `POST /rest/login` (Bearer-Token, Laravel Sanctum).


    ## Datenformate (verbindlich, ADR 0005)


    | Typ | Format | Beispiel |

    |---|---|---|

    | Dauer (Anzeige) | String `HH:MM:SS.mmm`, Feldname ohne Suffix |
    `"08:00:00.000"` |

    | Dauer (Rohwert) | Integer Millisekunden, Feldname mit Suffix `_ms` |
    `28800000` |

    | Datum | ISO 8601 (`YYYY-MM-DD`) | `"2026-07-25"` |

    | Fachliche Zeitstempel (Stempelungen, Korrekturen) | ISO 8601 in
    Mandanten-Zeitzone | `"2026-07-25T08:00:00+02:00"` |

    | Technische Metadaten (`created_at`, `updated_at`) | ISO 8601 UTC |
    `"2026-07-25T06:00:00+00:00"` |

    | IDs | UUID bzw. TypeID-String | `"9d3f…"` |

    | Arbeitszeit-Flags | Integer-Bitmaske (`flags`), Bits siehe
    `WorkingTimeFlag` | `512` = Feiertag |

    | Monats-Perioden | `YYYY-MM` | `"2026-07"` |


    ## Responses


    Erfolgs-Responses liefern die fachliche Payload unter `data`

    (dokumentierte Ausnahmen: `POST /rest/terminal/{code}` und `/rest/mobile`).

    Listen sind, wo paginiert, im Laravel-Paginator-Format (`data` + `links` +
    `meta`).


    ## Fehlerformat


    Alle Fehler (4xx/5xx) folgen einem einheitlichen Envelope:


    ```json

    {
      "request_id": "…",
      "timestamp": "2026-07-25T06:00:00Z",
      "message": "Menschlich lesbare Meldung",
      "field_errors": { "feld": ["Meldung"] },
      "errors": [{ "title": "…", "detail": "…", "type": "https://docs.stampfactory.eu/errors#…", "_meta": { } }]
    }

    ```


    `field_errors` erscheint bei Validierungsfehlern (422). Endpoint-spezifische

    Zusatzdaten (z. B. `warnings`, `earliest`, `code`) stehen kanonisch in

    `errors[0]._meta`; Top-Level-Duplikate sind eine
    Übergangs-Kompatibilitätsschicht.

    Die `type`-URLs verlinken auf die Fehlerdokumentation.
servers:
  - url: https://{tenant}.stamp.eu/rest
    description: Production
    variables:
      tenant:
        default: demo
        description: Subdomain des Mandanten
security:
  - http: []
paths:
  /:
    get:
      tags:
        - Konfiguration
      operationId: tenant.config
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties:
                  tenant_name:
                    type: string
                  timezone:
                    type: string
                  tenant_plan:
                    type: string
                  trial_ends_at:
                    type:
                      - string
                      - 'null'
                  user:
                    $ref: '#/components/schemas/UserResource'
                  modules:
                    type: string
                  available_modules:
                    type: array
                    items: {}
                  add_ons:
                    type: string
                  features:
                    type: object
                    additionalProperties:
                      type: string
                  unit_permissions:
                    anyOf:
                      - type: object
                        properties:
                          employees:
                            type: string
                          units:
                            type: string
                          departments:
                            type: string
                          events:
                            type: string
                          leave:
                            type: string
                          schedules:
                            type: string
                          holidays:
                            type: string
                          cost_centers:
                            type: string
                          short_work:
                            type: string
                          export:
                            type: string
                          projects:
                            type: string
                          absence_overlap:
                            type: string
                          mood:
                            type: string
                          documents:
                            type: string
                        required:
                          - employees
                          - units
                          - departments
                          - events
                          - leave
                          - schedules
                          - holidays
                          - cost_centers
                          - short_work
                          - export
                          - projects
                          - absence_overlap
                          - mood
                          - documents
                      - type: array
                        items: {}
                  compliance:
                    type: object
                    properties:
                      min_rest_hours:
                        type: integer
                      night_start:
                        type: integer
                      night_end:
                        type: integer
                      min_free_sundays:
                        type: integer
                      average_period_weeks:
                        type: integer
                      night_worker_avg_weeks:
                        type: integer
                    required:
                      - min_rest_hours
                      - night_start
                      - night_end
                      - min_free_sundays
                      - average_period_weeks
                      - night_worker_avg_weeks
                  export_format:
                    type: string
                  language:
                    type: string
                required:
                  - tenant_name
                  - timezone
                  - tenant_plan
                  - trial_ends_at
                  - user
                  - modules
                  - available_modules
                  - add_ons
                  - features
                  - unit_permissions
                  - compliance
                  - export_format
                  - language
        '401':
          $ref: '#/components/responses/AuthenticationException'
components:
  schemas:
    UserResource:
      type: object
      properties:
        id:
          type: string
        code:
          type: string
        name:
          type: string
        surname:
          type: string
        email:
          type: string
        locale:
          type: string
        type:
          type: string
        role:
          type: string
        role_display_name:
          type: string
        permissions:
          type: array
          items: {}
        employee:
          $ref: '#/components/schemas/EmployeeResource'
        created_at:
          type: string
        updated_at:
          type: string
      required:
        - id
        - code
        - name
        - surname
        - email
        - locale
        - type
        - created_at
        - updated_at
      title: UserResource
    EmployeeResource:
      type: object
      properties:
        id:
          type: string
        code:
          type: string
        name:
          type: string
        surname:
          type: string
        gender:
          type: string
        birthday:
          type: string
        working_hours:
          type: string
        vacation_days:
          type: number
        employed_start:
          type: string
        employed_end:
          type: string
        unit:
          $ref: '#/components/schemas/UnitResource'
        location:
          $ref: '#/components/schemas/LocationResource'
        department:
          $ref: '#/components/schemas/DepartmentResource'
        cost_center:
          $ref: '#/components/schemas/CostCenterResource'
        position:
          type: string
        avatar_url:
          type: string
        email:
          type: string
        locale:
          type: string
        private_email:
          type: string
        phone:
          type: string
        emergency_contact_name:
          type: string
        emergency_contact_relation:
          type: string
        emergency_contact_phone:
          type: string
        role:
          type: string
        role_display_name:
          type: string
        active:
          type: string
        uses_projects:
          type: string
        reference_no:
          type: string
        salary_type_work:
          type: string
        salary_type_overtime:
          type: string
        include_in_export:
          type: string
        time_account_enabled:
          type: string
        weekly_hours_limit:
          type: string
        holiday_auto_compensation:
          type: string
        latest_overtime_account:
          type:
            - array
            - 'null'
          items: {}
        work_area_ids:
          type: array
          items: {}
        onboarding:
          type: object
          properties:
            has_reference_no:
              type: boolean
            has_email:
              type: boolean
            has_schedule_model:
              type: boolean
            has_holiday_calendar:
              type: boolean
            has_payroll_data:
              type: boolean
          required:
            - has_reference_no
            - has_email
            - has_schedule_model
            - has_holiday_calendar
            - has_payroll_data
        created_at:
          type: string
        updated_at:
          type: string
      required:
        - id
        - code
        - name
        - surname
        - gender
        - birthday
        - working_hours
        - vacation_days
        - employed_start
        - employed_end
        - position
        - avatar_url
        - private_email
        - phone
        - emergency_contact_name
        - emergency_contact_relation
        - emergency_contact_phone
        - active
        - uses_projects
        - reference_no
        - salary_type_work
        - salary_type_overtime
        - include_in_export
        - time_account_enabled
        - weekly_hours_limit
        - holiday_auto_compensation
        - latest_overtime_account
        - created_at
        - updated_at
      title: EmployeeResource
    UnitResource:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        parent_id:
          type:
            - string
            - 'null'
        permissions:
          type: object
          additionalProperties:
            type: boolean
        children:
          type: array
          items:
            $ref: '#/components/schemas/UnitResource'
        created_at:
          type: string
        updated_at:
          type: string
      required:
        - id
        - name
        - parent_id
        - permissions
        - created_at
        - updated_at
      title: UnitResource
    LocationResource:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        phone:
          type: string
        address:
          type: string
        address_additional:
          type: string
        city:
          type: string
        postal_code:
          type: string
        state_region:
          type: string
        country:
          type: string
        timezone:
          type: string
        holidays:
          type: array
          items:
            $ref: '#/components/schemas/HolidayResource'
        employees_count:
          type: integer
        created_at:
          type: string
        updated_at:
          type: string
      required:
        - id
        - name
        - phone
        - address
        - address_additional
        - city
        - postal_code
        - state_region
        - country
        - timezone
        - created_at
        - updated_at
      title: LocationResource
    DepartmentResource:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        description:
          type: string
        created_at:
          type: string
        updated_at:
          type: string
      required:
        - id
        - name
        - description
        - created_at
        - updated_at
      title: DepartmentResource
    CostCenterResource:
      type: object
      properties:
        id:
          type: string
        code:
          type: string
        name:
          type: string
        description:
          type: string
        created_at:
          type: string
        updated_at:
          type: string
      required:
        - id
        - code
        - name
        - description
        - created_at
        - updated_at
      title: CostCenterResource
    HolidayResource:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        is_system:
          type: string
        source_key:
          type: string
        entries:
          type: array
          items:
            $ref: '#/components/schemas/HolidayEntryResource'
        created_at:
          type: string
        updated_at:
          type: string
      required:
        - id
        - name
        - is_system
        - source_key
        - created_at
        - updated_at
      title: HolidayResource
    HolidayEntryResource:
      type: object
      properties:
        id:
          type: string
        date:
          type: string
        name:
          type: string
        half_day:
          type: string
      required:
        - id
        - date
        - name
        - half_day
      title: HolidayEntryResource
  responses:
    AuthenticationException:
      description: Unauthenticated
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
                description: Error overview.
            required:
              - message
  securitySchemes:
    http:
      type: http
      description: Bearer-Token, erhalten über den Login-Endpunkt (POST /rest/login).
      scheme: bearer

````