openapi: 3.1.0
info:
  title: AbaNinja Time Tracking API - Employee Organigram
  version: 3.0.0
  x-domain-id: time-tracking
servers:
  - url: https://api.abaninja.ch
    description: The AbaNinja API server
tags:
  - name: time-tracking-employee-organigram
    description: Manage employee organigram
    x-displayName: Employee Organigram
security:
  - ApiToken: []
paths:
  /accounts/{accountUuid}/time/v2/employee-organigram/graphs/org-chart/config:
    get:
      tags:
        - time-tracking-employee-organigram
      summary: Get base config for OrgChart
      description: Get base config for OrgChart
      operationId: time_list_config
      parameters:
        - name: accountUuid
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                title: Employee Organigram base config Resource
                properties:
                  endpoints:
                    required:
                      - list
                      - detail
                      - settings
                    properties:
                      list:
                        description: |-
                          The structure of this resource is mainly controlled externally by the orgChart application
                          Changes need to be discussed/checked first with orgChart frontend
                        type: string
                        format: url
                      detail:
                        type: string
                        format: url
                      settings:
                        type: string
                        format: url
                    type: object
                  faviconUrl:
                    type: string
                    format: url
                  imagePath:
                    type: string
                    format: url
                  logoUrl:
                    type:
                      - string
                      - 'null'
                    format: url
                  permissions:
                    type: array
                    items:
                      title: Employee organigram base config permission resource
                      properties:
                        key:
                          description: |-
                            The structure of this resource is mainly controlled externally by the orgChart application
                            Changes need to be discussed/checked first with orgChart frontend
                          type: string
                        mode:
                          type: array
                          items:
                            type: string
                            enum:
                              - READ
                              - WRITE
                      type: object
                type: object
      security:
        - ApiToken:
            - https://api.abaninja.ch/auth/time-tracking
      x-legacy-operation-id: 013c4eb3046d1e83b1198c00ea7e29d1
      x-required-scopes:
        - time-tracking
  /accounts/{accountUuid}/time/v2/employee-organigram/graphs/org-chart/settings:
    get:
      tags:
        - time-tracking-employee-organigram
      summary: Get settings for OrgChart
      description: Get account-based settings for OrgChart
      operationId: time_list_settings
      parameters:
        - name: accountUuid
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema: {}
      security:
        - ApiToken:
            - https://api.abaninja.ch/auth/time-tracking
      x-legacy-operation-id: 43d850a9a571a760877e4754bb0679cd
      x-required-scopes:
        - time-tracking
    put:
      tags:
        - time-tracking-employee-organigram
      summary: Replace settings for OrgChart
      description: Replace account-based settings for OrgChart
      operationId: time_update_settings
      parameters:
        - name: accountUuid
          in: path
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $schema: https://json-schema.org/draft/2020-12/schema
              $id: https://api.abaninja.ch/schemas/2.0.0/orgchart-settings.schema.json
              description: A schema for OrgChart settings
              type: object
              properties:
                version:
                  type: integer
                  const: 1
                chart:
                  type: object
                  properties:
                    initialMode:
                      type: string
                      enum:
                        - collapsed
                        - level-1
                        - level-2
                    nodeTypes:
                      type: object
                      propertyNames:
                        type: string
                        enum:
                          - orgUnit
                          - partner
                          - assistant
                          - employee
                      additionalProperties:
                        type: object
                        properties:
                          groupTitle:
                            type: object
                            properties:
                              show:
                                type: boolean
                            required:
                              - show
                            additionalProperties: false
                          image:
                            type: object
                            properties:
                              show:
                                type: boolean
                            required:
                              - show
                            additionalProperties: false
                          jobDescription:
                            type: object
                            properties:
                              show:
                                type: boolean
                            required:
                              - show
                            additionalProperties: false
                          theme:
                            type: object
                            properties:
                              dark:
                                type: object
                                properties:
                                  tokens:
                                    type: object
                                    properties:
                                      backgroundColor:
                                        type: string
                                        pattern: ^#[0-9a-fA-F]{6}$
                                      badgeColor:
                                        type: string
                                        pattern: ^#[0-9a-fA-F]{6}$
                                      badgeTextColor:
                                        type: string
                                        pattern: ^#[0-9a-fA-F]{6}$
                                      fontColor:
                                        type: string
                                        pattern: ^#[0-9a-fA-F]{6}$
                                    required:
                                      - backgroundColor
                                      - badgeColor
                                      - badgeTextColor
                                      - fontColor
                                    additionalProperties: false
                                required:
                                  - tokens
                                additionalProperties: false
                              light:
                                type: object
                                properties:
                                  tokens:
                                    type: object
                                    properties:
                                      backgroundColor:
                                        type: string
                                        pattern: ^#[0-9a-fA-F]{6}$
                                      badgeColor:
                                        type: string
                                        pattern: ^#[0-9a-fA-F]{6}$
                                      badgeTextColor:
                                        type: string
                                        pattern: ^#[0-9a-fA-F]{6}$
                                      fontColor:
                                        type: string
                                        pattern: ^#[0-9a-fA-F]{6}$
                                    required:
                                      - backgroundColor
                                      - badgeColor
                                      - badgeTextColor
                                      - fontColor
                                    additionalProperties: false
                                required:
                                  - tokens
                                additionalProperties: false
                            required:
                              - dark
                              - light
                            additionalProperties: false
                        required:
                          - groupTitle
                          - image
                          - jobDescription
                          - theme
                        additionalProperties: false
                      required:
                        - orgUnit
                        - partner
                        - assistant
                        - employee
                  required:
                    - initialMode
                    - nodeTypes
                  additionalProperties: false
                features:
                  type: object
                  properties:
                    breadcrumb:
                      type: object
                      properties:
                        show:
                          type: boolean
                      required:
                        - show
                      additionalProperties: false
                    appBar:
                      type: object
                      properties:
                        collapse:
                          type: object
                          properties:
                            show:
                              type: boolean
                          required:
                            - show
                          additionalProperties: false
                        search:
                          type: object
                          properties:
                            show:
                              type: boolean
                            groupTitle:
                              type: object
                              properties:
                                show:
                                  type: boolean
                              required:
                                - show
                              additionalProperties: false
                            jobDescription:
                              type: object
                              properties:
                                show:
                                  type: boolean
                              required:
                                - show
                              additionalProperties: false
                          required:
                            - show
                            - groupTitle
                            - jobDescription
                          additionalProperties: false
                        theme:
                          type: object
                          properties:
                            show:
                              type: boolean
                          required:
                            - show
                          additionalProperties: false
                        zoom:
                          type: object
                          properties:
                            show:
                              type: boolean
                          required:
                            - show
                          additionalProperties: false
                      required:
                        - collapse
                        - search
                        - theme
                        - zoom
                      additionalProperties: false
                    detailView:
                      type: object
                      properties:
                        show:
                          type: boolean
                        groupTitle:
                          type: object
                          properties:
                            show:
                              type: boolean
                          required:
                            - show
                          additionalProperties: false
                        image:
                          type: object
                          properties:
                            show:
                              type: boolean
                          required:
                            - show
                          additionalProperties: false
                        jobDescription:
                          type: object
                          properties:
                            show:
                              type: boolean
                          required:
                            - show
                          additionalProperties: false
                      required:
                        - show
                        - groupTitle
                        - image
                        - jobDescription
                      additionalProperties: false
                    sidebar:
                      type: object
                      properties:
                        show:
                          type: boolean
                        search:
                          type: object
                          properties:
                            show:
                              type: boolean
                            groupTitle:
                              type: object
                              properties:
                                show:
                                  type: boolean
                              required:
                                - show
                              additionalProperties: false
                            jobDescription:
                              type: object
                              properties:
                                show:
                                  type: boolean
                              required:
                                - show
                              additionalProperties: false
                          required:
                            - show
                            - groupTitle
                            - jobDescription
                          additionalProperties: false
                      required:
                        - show
                        - search
                      additionalProperties: false
                  required:
                    - breadcrumb
                    - appBar
                    - detailView
                    - sidebar
                  additionalProperties: false
                theme:
                  type: object
                  properties:
                    dark:
                      type: object
                      properties:
                        tokens:
                          type: object
                          properties:
                            onPrimary:
                              type: string
                              pattern: ^#[0-9a-fA-F]{6}$
                            primary:
                              type: string
                              pattern: ^#[0-9a-fA-F]{6}$
                          required:
                            - onPrimary
                            - primary
                          additionalProperties: false
                      required:
                        - tokens
                      additionalProperties: false
                    light:
                      type: object
                      properties:
                        tokens:
                          type: object
                          properties:
                            onPrimary:
                              type: string
                              pattern: ^#[0-9a-fA-F]{6}$
                            primary:
                              type: string
                              pattern: ^#[0-9a-fA-F]{6}$
                          required:
                            - onPrimary
                            - primary
                          additionalProperties: false
                      required:
                        - tokens
                      additionalProperties: false
                  required:
                    - dark
                    - light
                  additionalProperties: false
              required:
                - version
                - chart
                - features
                - theme
              additionalProperties: false
              $defs:
                chartSettings:
                  type: object
                  properties:
                    initialMode:
                      type: string
                      enum:
                        - collapsed
                        - level-1
                        - level-2
                    nodeTypes:
                      type: object
                      propertyNames:
                        type: string
                        enum:
                          - orgUnit
                          - partner
                          - assistant
                          - employee
                      additionalProperties:
                        type: object
                        properties:
                          groupTitle:
                            type: object
                            properties:
                              show:
                                type: boolean
                            required:
                              - show
                            additionalProperties: false
                          image:
                            type: object
                            properties:
                              show:
                                type: boolean
                            required:
                              - show
                            additionalProperties: false
                          jobDescription:
                            type: object
                            properties:
                              show:
                                type: boolean
                            required:
                              - show
                            additionalProperties: false
                          theme:
                            type: object
                            properties:
                              dark:
                                type: object
                                properties:
                                  tokens:
                                    type: object
                                    properties:
                                      backgroundColor:
                                        type: string
                                        pattern: ^#[0-9a-fA-F]{6}$
                                      badgeColor:
                                        type: string
                                        pattern: ^#[0-9a-fA-F]{6}$
                                      badgeTextColor:
                                        type: string
                                        pattern: ^#[0-9a-fA-F]{6}$
                                      fontColor:
                                        type: string
                                        pattern: ^#[0-9a-fA-F]{6}$
                                    required:
                                      - backgroundColor
                                      - badgeColor
                                      - badgeTextColor
                                      - fontColor
                                    additionalProperties: false
                                required:
                                  - tokens
                                additionalProperties: false
                              light:
                                type: object
                                properties:
                                  tokens:
                                    type: object
                                    properties:
                                      backgroundColor:
                                        type: string
                                        pattern: ^#[0-9a-fA-F]{6}$
                                      badgeColor:
                                        type: string
                                        pattern: ^#[0-9a-fA-F]{6}$
                                      badgeTextColor:
                                        type: string
                                        pattern: ^#[0-9a-fA-F]{6}$
                                      fontColor:
                                        type: string
                                        pattern: ^#[0-9a-fA-F]{6}$
                                    required:
                                      - backgroundColor
                                      - badgeColor
                                      - badgeTextColor
                                      - fontColor
                                    additionalProperties: false
                                required:
                                  - tokens
                                additionalProperties: false
                            required:
                              - dark
                              - light
                            additionalProperties: false
                        required:
                          - groupTitle
                          - image
                          - jobDescription
                          - theme
                        additionalProperties: false
                      required:
                        - orgUnit
                        - partner
                        - assistant
                        - employee
                  required:
                    - initialMode
                    - nodeTypes
                  additionalProperties: false
                showSettings:
                  type: object
                  properties:
                    show:
                      type: boolean
                  required:
                    - show
                  additionalProperties: false
                themeModeSettings:
                  type: object
                  properties:
                    tokens:
                      type: object
                      properties:
                        backgroundColor:
                          type: string
                          pattern: ^#[0-9a-fA-F]{6}$
                        badgeColor:
                          type: string
                          pattern: ^#[0-9a-fA-F]{6}$
                        badgeTextColor:
                          type: string
                          pattern: ^#[0-9a-fA-F]{6}$
                        fontColor:
                          type: string
                          pattern: ^#[0-9a-fA-F]{6}$
                      required:
                        - backgroundColor
                        - badgeColor
                        - badgeTextColor
                        - fontColor
                      additionalProperties: false
                  required:
                    - tokens
                  additionalProperties: false
                colorField:
                  type: string
                  pattern: ^#[0-9a-fA-F]{6}$
                featuresSettings:
                  type: object
                  properties:
                    breadcrumb:
                      type: object
                      properties:
                        show:
                          type: boolean
                      required:
                        - show
                      additionalProperties: false
                    appBar:
                      type: object
                      properties:
                        collapse:
                          type: object
                          properties:
                            show:
                              type: boolean
                          required:
                            - show
                          additionalProperties: false
                        search:
                          type: object
                          properties:
                            show:
                              type: boolean
                            groupTitle:
                              type: object
                              properties:
                                show:
                                  type: boolean
                              required:
                                - show
                              additionalProperties: false
                            jobDescription:
                              type: object
                              properties:
                                show:
                                  type: boolean
                              required:
                                - show
                              additionalProperties: false
                          required:
                            - show
                            - groupTitle
                            - jobDescription
                          additionalProperties: false
                        theme:
                          type: object
                          properties:
                            show:
                              type: boolean
                          required:
                            - show
                          additionalProperties: false
                        zoom:
                          type: object
                          properties:
                            show:
                              type: boolean
                          required:
                            - show
                          additionalProperties: false
                      required:
                        - collapse
                        - search
                        - theme
                        - zoom
                      additionalProperties: false
                    detailView:
                      type: object
                      properties:
                        show:
                          type: boolean
                        groupTitle:
                          type: object
                          properties:
                            show:
                              type: boolean
                          required:
                            - show
                          additionalProperties: false
                        image:
                          type: object
                          properties:
                            show:
                              type: boolean
                          required:
                            - show
                          additionalProperties: false
                        jobDescription:
                          type: object
                          properties:
                            show:
                              type: boolean
                          required:
                            - show
                          additionalProperties: false
                      required:
                        - show
                        - groupTitle
                        - image
                        - jobDescription
                      additionalProperties: false
                    sidebar:
                      type: object
                      properties:
                        show:
                          type: boolean
                        search:
                          type: object
                          properties:
                            show:
                              type: boolean
                            groupTitle:
                              type: object
                              properties:
                                show:
                                  type: boolean
                              required:
                                - show
                              additionalProperties: false
                            jobDescription:
                              type: object
                              properties:
                                show:
                                  type: boolean
                              required:
                                - show
                              additionalProperties: false
                          required:
                            - show
                            - groupTitle
                            - jobDescription
                          additionalProperties: false
                      required:
                        - show
                        - search
                      additionalProperties: false
                  required:
                    - breadcrumb
                    - appBar
                    - detailView
                    - sidebar
                  additionalProperties: false
                searchSettings:
                  type: object
                  properties:
                    show:
                      type: boolean
                    groupTitle:
                      type: object
                      properties:
                        show:
                          type: boolean
                      required:
                        - show
                      additionalProperties: false
                    jobDescription:
                      type: object
                      properties:
                        show:
                          type: boolean
                      required:
                        - show
                      additionalProperties: false
                  required:
                    - show
                    - groupTitle
                    - jobDescription
                  additionalProperties: false
                themeSettings:
                  type: object
                  properties:
                    dark:
                      type: object
                      properties:
                        tokens:
                          type: object
                          properties:
                            onPrimary:
                              type: string
                              pattern: ^#[0-9a-fA-F]{6}$
                            primary:
                              type: string
                              pattern: ^#[0-9a-fA-F]{6}$
                          required:
                            - onPrimary
                            - primary
                          additionalProperties: false
                      required:
                        - tokens
                      additionalProperties: false
                    light:
                      type: object
                      properties:
                        tokens:
                          type: object
                          properties:
                            onPrimary:
                              type: string
                              pattern: ^#[0-9a-fA-F]{6}$
                            primary:
                              type: string
                              pattern: ^#[0-9a-fA-F]{6}$
                          required:
                            - onPrimary
                            - primary
                          additionalProperties: false
                      required:
                        - tokens
                      additionalProperties: false
                  required:
                    - dark
                    - light
                  additionalProperties: false
                primaryThemeSettings:
                  type: object
                  properties:
                    tokens:
                      type: object
                      properties:
                        onPrimary:
                          type: string
                          pattern: ^#[0-9a-fA-F]{6}$
                        primary:
                          type: string
                          pattern: ^#[0-9a-fA-F]{6}$
                      required:
                        - onPrimary
                        - primary
                      additionalProperties: false
                  required:
                    - tokens
                  additionalProperties: false
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $schema: https://json-schema.org/draft/2020-12/schema
                $id: https://api.abaninja.ch/schemas/2.0.0/orgchart-settings.schema.json
                description: A schema for OrgChart settings
                type: object
                properties:
                  version:
                    type: integer
                    const: 1
                  chart:
                    type: object
                    properties:
                      initialMode:
                        type: string
                        enum:
                          - collapsed
                          - level-1
                          - level-2
                      nodeTypes:
                        type: object
                        propertyNames:
                          type: string
                          enum:
                            - orgUnit
                            - partner
                            - assistant
                            - employee
                        additionalProperties:
                          type: object
                          properties:
                            groupTitle:
                              type: object
                              properties:
                                show:
                                  type: boolean
                              required:
                                - show
                              additionalProperties: false
                            image:
                              type: object
                              properties:
                                show:
                                  type: boolean
                              required:
                                - show
                              additionalProperties: false
                            jobDescription:
                              type: object
                              properties:
                                show:
                                  type: boolean
                              required:
                                - show
                              additionalProperties: false
                            theme:
                              type: object
                              properties:
                                dark:
                                  type: object
                                  properties:
                                    tokens:
                                      type: object
                                      properties:
                                        backgroundColor:
                                          type: string
                                          pattern: ^#[0-9a-fA-F]{6}$
                                        badgeColor:
                                          type: string
                                          pattern: ^#[0-9a-fA-F]{6}$
                                        badgeTextColor:
                                          type: string
                                          pattern: ^#[0-9a-fA-F]{6}$
                                        fontColor:
                                          type: string
                                          pattern: ^#[0-9a-fA-F]{6}$
                                      required:
                                        - backgroundColor
                                        - badgeColor
                                        - badgeTextColor
                                        - fontColor
                                      additionalProperties: false
                                  required:
                                    - tokens
                                  additionalProperties: false
                                light:
                                  type: object
                                  properties:
                                    tokens:
                                      type: object
                                      properties:
                                        backgroundColor:
                                          type: string
                                          pattern: ^#[0-9a-fA-F]{6}$
                                        badgeColor:
                                          type: string
                                          pattern: ^#[0-9a-fA-F]{6}$
                                        badgeTextColor:
                                          type: string
                                          pattern: ^#[0-9a-fA-F]{6}$
                                        fontColor:
                                          type: string
                                          pattern: ^#[0-9a-fA-F]{6}$
                                      required:
                                        - backgroundColor
                                        - badgeColor
                                        - badgeTextColor
                                        - fontColor
                                      additionalProperties: false
                                  required:
                                    - tokens
                                  additionalProperties: false
                              required:
                                - dark
                                - light
                              additionalProperties: false
                          required:
                            - groupTitle
                            - image
                            - jobDescription
                            - theme
                          additionalProperties: false
                        required:
                          - orgUnit
                          - partner
                          - assistant
                          - employee
                    required:
                      - initialMode
                      - nodeTypes
                    additionalProperties: false
                  features:
                    type: object
                    properties:
                      breadcrumb:
                        type: object
                        properties:
                          show:
                            type: boolean
                        required:
                          - show
                        additionalProperties: false
                      appBar:
                        type: object
                        properties:
                          collapse:
                            type: object
                            properties:
                              show:
                                type: boolean
                            required:
                              - show
                            additionalProperties: false
                          search:
                            type: object
                            properties:
                              show:
                                type: boolean
                              groupTitle:
                                type: object
                                properties:
                                  show:
                                    type: boolean
                                required:
                                  - show
                                additionalProperties: false
                              jobDescription:
                                type: object
                                properties:
                                  show:
                                    type: boolean
                                required:
                                  - show
                                additionalProperties: false
                            required:
                              - show
                              - groupTitle
                              - jobDescription
                            additionalProperties: false
                          theme:
                            type: object
                            properties:
                              show:
                                type: boolean
                            required:
                              - show
                            additionalProperties: false
                          zoom:
                            type: object
                            properties:
                              show:
                                type: boolean
                            required:
                              - show
                            additionalProperties: false
                        required:
                          - collapse
                          - search
                          - theme
                          - zoom
                        additionalProperties: false
                      detailView:
                        type: object
                        properties:
                          show:
                            type: boolean
                          groupTitle:
                            type: object
                            properties:
                              show:
                                type: boolean
                            required:
                              - show
                            additionalProperties: false
                          image:
                            type: object
                            properties:
                              show:
                                type: boolean
                            required:
                              - show
                            additionalProperties: false
                          jobDescription:
                            type: object
                            properties:
                              show:
                                type: boolean
                            required:
                              - show
                            additionalProperties: false
                        required:
                          - show
                          - groupTitle
                          - image
                          - jobDescription
                        additionalProperties: false
                      sidebar:
                        type: object
                        properties:
                          show:
                            type: boolean
                          search:
                            type: object
                            properties:
                              show:
                                type: boolean
                              groupTitle:
                                type: object
                                properties:
                                  show:
                                    type: boolean
                                required:
                                  - show
                                additionalProperties: false
                              jobDescription:
                                type: object
                                properties:
                                  show:
                                    type: boolean
                                required:
                                  - show
                                additionalProperties: false
                            required:
                              - show
                              - groupTitle
                              - jobDescription
                            additionalProperties: false
                        required:
                          - show
                          - search
                        additionalProperties: false
                    required:
                      - breadcrumb
                      - appBar
                      - detailView
                      - sidebar
                    additionalProperties: false
                  theme:
                    type: object
                    properties:
                      dark:
                        type: object
                        properties:
                          tokens:
                            type: object
                            properties:
                              onPrimary:
                                type: string
                                pattern: ^#[0-9a-fA-F]{6}$
                              primary:
                                type: string
                                pattern: ^#[0-9a-fA-F]{6}$
                            required:
                              - onPrimary
                              - primary
                            additionalProperties: false
                        required:
                          - tokens
                        additionalProperties: false
                      light:
                        type: object
                        properties:
                          tokens:
                            type: object
                            properties:
                              onPrimary:
                                type: string
                                pattern: ^#[0-9a-fA-F]{6}$
                              primary:
                                type: string
                                pattern: ^#[0-9a-fA-F]{6}$
                            required:
                              - onPrimary
                              - primary
                            additionalProperties: false
                        required:
                          - tokens
                        additionalProperties: false
                    required:
                      - dark
                      - light
                    additionalProperties: false
                required:
                  - version
                  - chart
                  - features
                  - theme
                additionalProperties: false
                $defs:
                  chartSettings:
                    type: object
                    properties:
                      initialMode:
                        type: string
                        enum:
                          - collapsed
                          - level-1
                          - level-2
                      nodeTypes:
                        type: object
                        propertyNames:
                          type: string
                          enum:
                            - orgUnit
                            - partner
                            - assistant
                            - employee
                        additionalProperties:
                          type: object
                          properties:
                            groupTitle:
                              type: object
                              properties:
                                show:
                                  type: boolean
                              required:
                                - show
                              additionalProperties: false
                            image:
                              type: object
                              properties:
                                show:
                                  type: boolean
                              required:
                                - show
                              additionalProperties: false
                            jobDescription:
                              type: object
                              properties:
                                show:
                                  type: boolean
                              required:
                                - show
                              additionalProperties: false
                            theme:
                              type: object
                              properties:
                                dark:
                                  type: object
                                  properties:
                                    tokens:
                                      type: object
                                      properties:
                                        backgroundColor:
                                          type: string
                                          pattern: ^#[0-9a-fA-F]{6}$
                                        badgeColor:
                                          type: string
                                          pattern: ^#[0-9a-fA-F]{6}$
                                        badgeTextColor:
                                          type: string
                                          pattern: ^#[0-9a-fA-F]{6}$
                                        fontColor:
                                          type: string
                                          pattern: ^#[0-9a-fA-F]{6}$
                                      required:
                                        - backgroundColor
                                        - badgeColor
                                        - badgeTextColor
                                        - fontColor
                                      additionalProperties: false
                                  required:
                                    - tokens
                                  additionalProperties: false
                                light:
                                  type: object
                                  properties:
                                    tokens:
                                      type: object
                                      properties:
                                        backgroundColor:
                                          type: string
                                          pattern: ^#[0-9a-fA-F]{6}$
                                        badgeColor:
                                          type: string
                                          pattern: ^#[0-9a-fA-F]{6}$
                                        badgeTextColor:
                                          type: string
                                          pattern: ^#[0-9a-fA-F]{6}$
                                        fontColor:
                                          type: string
                                          pattern: ^#[0-9a-fA-F]{6}$
                                      required:
                                        - backgroundColor
                                        - badgeColor
                                        - badgeTextColor
                                        - fontColor
                                      additionalProperties: false
                                  required:
                                    - tokens
                                  additionalProperties: false
                              required:
                                - dark
                                - light
                              additionalProperties: false
                          required:
                            - groupTitle
                            - image
                            - jobDescription
                            - theme
                          additionalProperties: false
                        required:
                          - orgUnit
                          - partner
                          - assistant
                          - employee
                    required:
                      - initialMode
                      - nodeTypes
                    additionalProperties: false
                  showSettings:
                    type: object
                    properties:
                      show:
                        type: boolean
                    required:
                      - show
                    additionalProperties: false
                  themeModeSettings:
                    type: object
                    properties:
                      tokens:
                        type: object
                        properties:
                          backgroundColor:
                            type: string
                            pattern: ^#[0-9a-fA-F]{6}$
                          badgeColor:
                            type: string
                            pattern: ^#[0-9a-fA-F]{6}$
                          badgeTextColor:
                            type: string
                            pattern: ^#[0-9a-fA-F]{6}$
                          fontColor:
                            type: string
                            pattern: ^#[0-9a-fA-F]{6}$
                        required:
                          - backgroundColor
                          - badgeColor
                          - badgeTextColor
                          - fontColor
                        additionalProperties: false
                    required:
                      - tokens
                    additionalProperties: false
                  colorField:
                    type: string
                    pattern: ^#[0-9a-fA-F]{6}$
                  featuresSettings:
                    type: object
                    properties:
                      breadcrumb:
                        type: object
                        properties:
                          show:
                            type: boolean
                        required:
                          - show
                        additionalProperties: false
                      appBar:
                        type: object
                        properties:
                          collapse:
                            type: object
                            properties:
                              show:
                                type: boolean
                            required:
                              - show
                            additionalProperties: false
                          search:
                            type: object
                            properties:
                              show:
                                type: boolean
                              groupTitle:
                                type: object
                                properties:
                                  show:
                                    type: boolean
                                required:
                                  - show
                                additionalProperties: false
                              jobDescription:
                                type: object
                                properties:
                                  show:
                                    type: boolean
                                required:
                                  - show
                                additionalProperties: false
                            required:
                              - show
                              - groupTitle
                              - jobDescription
                            additionalProperties: false
                          theme:
                            type: object
                            properties:
                              show:
                                type: boolean
                            required:
                              - show
                            additionalProperties: false
                          zoom:
                            type: object
                            properties:
                              show:
                                type: boolean
                            required:
                              - show
                            additionalProperties: false
                        required:
                          - collapse
                          - search
                          - theme
                          - zoom
                        additionalProperties: false
                      detailView:
                        type: object
                        properties:
                          show:
                            type: boolean
                          groupTitle:
                            type: object
                            properties:
                              show:
                                type: boolean
                            required:
                              - show
                            additionalProperties: false
                          image:
                            type: object
                            properties:
                              show:
                                type: boolean
                            required:
                              - show
                            additionalProperties: false
                          jobDescription:
                            type: object
                            properties:
                              show:
                                type: boolean
                            required:
                              - show
                            additionalProperties: false
                        required:
                          - show
                          - groupTitle
                          - image
                          - jobDescription
                        additionalProperties: false
                      sidebar:
                        type: object
                        properties:
                          show:
                            type: boolean
                          search:
                            type: object
                            properties:
                              show:
                                type: boolean
                              groupTitle:
                                type: object
                                properties:
                                  show:
                                    type: boolean
                                required:
                                  - show
                                additionalProperties: false
                              jobDescription:
                                type: object
                                properties:
                                  show:
                                    type: boolean
                                required:
                                  - show
                                additionalProperties: false
                            required:
                              - show
                              - groupTitle
                              - jobDescription
                            additionalProperties: false
                        required:
                          - show
                          - search
                        additionalProperties: false
                    required:
                      - breadcrumb
                      - appBar
                      - detailView
                      - sidebar
                    additionalProperties: false
                  searchSettings:
                    type: object
                    properties:
                      show:
                        type: boolean
                      groupTitle:
                        type: object
                        properties:
                          show:
                            type: boolean
                        required:
                          - show
                        additionalProperties: false
                      jobDescription:
                        type: object
                        properties:
                          show:
                            type: boolean
                        required:
                          - show
                        additionalProperties: false
                    required:
                      - show
                      - groupTitle
                      - jobDescription
                    additionalProperties: false
                  themeSettings:
                    type: object
                    properties:
                      dark:
                        type: object
                        properties:
                          tokens:
                            type: object
                            properties:
                              onPrimary:
                                type: string
                                pattern: ^#[0-9a-fA-F]{6}$
                              primary:
                                type: string
                                pattern: ^#[0-9a-fA-F]{6}$
                            required:
                              - onPrimary
                              - primary
                            additionalProperties: false
                        required:
                          - tokens
                        additionalProperties: false
                      light:
                        type: object
                        properties:
                          tokens:
                            type: object
                            properties:
                              onPrimary:
                                type: string
                                pattern: ^#[0-9a-fA-F]{6}$
                              primary:
                                type: string
                                pattern: ^#[0-9a-fA-F]{6}$
                            required:
                              - onPrimary
                              - primary
                            additionalProperties: false
                        required:
                          - tokens
                        additionalProperties: false
                    required:
                      - dark
                      - light
                    additionalProperties: false
                  primaryThemeSettings:
                    type: object
                    properties:
                      tokens:
                        type: object
                        properties:
                          onPrimary:
                            type: string
                            pattern: ^#[0-9a-fA-F]{6}$
                          primary:
                            type: string
                            pattern: ^#[0-9a-fA-F]{6}$
                        required:
                          - onPrimary
                          - primary
                        additionalProperties: false
                    required:
                      - tokens
                    additionalProperties: false
        '400':
          description: Bad request or validation error
          content:
            application/json:
              schema:
                properties:
                  detail:
                    title: details
                  type:
                    title: type
                    type: string
                  requestUuid:
                    title: requestUuid
                    type: string
                    format: uuid
                  path:
                    title: path
                    type: string
                  message:
                    title: message
                    type:
                      - string
                      - 'null'
                  status:
                    title: status
                    description: HTTP status code
                    type: integer
                required:
                  - detail
                  - type
                  - message
                  - status
      security:
        - ApiToken:
            - https://api.abaninja.ch/auth/time-tracking
      x-legacy-operation-id: 8d097edaef34f4bd02f2fa134ad30038
      x-required-scopes:
        - time-tracking
  /accounts/{accountUuid}/time/v2/employees/{employeeUuid}/relations/available-parents:
    get:
      tags:
        - time-tracking-employee-organigram
      summary: Get available parents for employee
      description: Get available parent employees for an employee
      operationId: time_list_available_parents
      parameters:
        - name: accountUuid
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: employeeUuid
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                properties:
                  data:
                    type: array
                    items:
                      title: Employee Minimal Resource
                      properties:
                        uuid:
                          type: string
                          format: uuid
                        firstName:
                          type:
                            - string
                            - 'null'
                        lastName:
                          type:
                            - string
                            - 'null'
                        jobTitle:
                          type:
                            - string
                            - 'null'
                        employeeNumber:
                          type: string
                        employeeGroup:
                          properties:
                            uuid:
                              type: string
                              format: uuid
                            name:
                              type: string
                          type: object
                      type: object
                  message:
                    title: message
                    type: string
                  status:
                    example: 200
                  meta:
                    title: meta
                    type:
                      - object
                      - 'null'
                required:
                  - data
                  - message
                  - status
        '404':
          description: Resource not found
          content:
            application/json:
              schema:
                properties:
                  detail:
                    title: details
                  type:
                    title: type
                    type: string
                  requestUuid:
                    title: requestUuid
                    type: string
                    format: uuid
                  path:
                    title: path
                    type: string
                  message:
                    title: message
                    type:
                      - string
                      - 'null'
                  status:
                    title: status
                    description: HTTP status code
                    type: integer
                required:
                  - detail
                  - type
                  - message
                  - status
      security:
        - ApiToken:
            - https://api.abaninja.ch/auth/time-tracking
      x-legacy-operation-id: f3dc1092b6cbda6c0d077a3fcb12a94f
      x-required-scopes:
        - time-tracking
  /accounts/{accountUuid}/time/v2/employees/{employeeUuid}/relations/parent:
    get:
      tags:
        - time-tracking-employee-organigram
      summary: Get related parent for employee
      description: Get the related parent employee for an employee
      operationId: time_list_parent
      parameters:
        - name: accountUuid
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: employeeUuid
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                properties:
                  data:
                    title: Employee Parent Relation Resource
                    properties:
                      parentEmployeeUuid:
                        type:
                          - string
                          - 'null'
                        format: uuid
                      relationshipType:
                        type:
                          - string
                          - 'null'
                        enum:
                          - assistant
                          - employee
                          - partner
                    type: object
                  message:
                    title: message
                    type: string
                  status:
                    example: 200
                  meta:
                    title: meta
                    type:
                      - object
                      - 'null'
                required:
                  - data
                  - message
                  - status
        '404':
          description: Resource not found
          content:
            application/json:
              schema:
                properties:
                  detail:
                    title: details
                  type:
                    title: type
                    type: string
                  requestUuid:
                    title: requestUuid
                    type: string
                    format: uuid
                  path:
                    title: path
                    type: string
                  message:
                    title: message
                    type:
                      - string
                      - 'null'
                  status:
                    title: status
                    description: HTTP status code
                    type: integer
                required:
                  - detail
                  - type
                  - message
                  - status
      security:
        - ApiToken:
            - https://api.abaninja.ch/auth/time-tracking
      x-legacy-operation-id: 080012a505ed471b85261543e201f47f
      x-required-scopes:
        - time-tracking
    patch:
      tags:
        - time-tracking-employee-organigram
      summary: Set related parent for employee
      description: Set the related parent employee for an employee
      operationId: time_update_parent
      parameters:
        - name: accountUuid
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: employeeUuid
          in: path
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        description: Set parent relation
        required: true
        content:
          application/json:
            schema:
              $schema: https://json-schema.org/draft/2020-12/schema
              $id: https://api.abaninja.ch/schemas/2.0.0/time-employee-set-parent-relation.schema.json
              description: A Schema for setting the parent relation of an employee
              type: object
              properties:
                parentEmployeeUuid:
                  type:
                    - string
                    - 'null'
                  format: uuid
                relationshipType:
                  type:
                    - string
                    - 'null'
                  enum:
                    - null
                    - assistant
                    - partner
                    - employee
              required:
                - parentEmployeeUuid
              additionalProperties: false
              if:
                properties:
                  parentEmployeeUuid:
                    type: 'null'
              then:
                properties:
                  relationshipType:
                    type: 'null'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                properties:
                  data:
                    title: Employee Parent Relation Resource
                    properties:
                      parentEmployeeUuid:
                        type:
                          - string
                          - 'null'
                        format: uuid
                      relationshipType:
                        type:
                          - string
                          - 'null'
                        enum:
                          - assistant
                          - employee
                          - partner
                    type: object
                  message:
                    title: message
                    type: string
                  status:
                    example: 200
                  meta:
                    title: meta
                    type:
                      - object
                      - 'null'
                required:
                  - data
                  - message
                  - status
        '400':
          description: Bad request or validation error
          content:
            application/json:
              schema:
                properties:
                  detail:
                    title: details
                  type:
                    title: type
                    type: string
                  requestUuid:
                    title: requestUuid
                    type: string
                    format: uuid
                  path:
                    title: path
                    type: string
                  message:
                    title: message
                    type:
                      - string
                      - 'null'
                  status:
                    title: status
                    description: HTTP status code
                    type: integer
                required:
                  - detail
                  - type
                  - message
                  - status
        '404':
          description: Resource not found
          content:
            application/json:
              schema:
                properties:
                  detail:
                    title: details
                  type:
                    title: type
                    type: string
                  requestUuid:
                    title: requestUuid
                    type: string
                    format: uuid
                  path:
                    title: path
                    type: string
                  message:
                    title: message
                    type:
                      - string
                      - 'null'
                  status:
                    title: status
                    description: HTTP status code
                    type: integer
                required:
                  - detail
                  - type
                  - message
                  - status
      security:
        - ApiToken:
            - https://api.abaninja.ch/auth/time-tracking
      x-legacy-operation-id: 468032f0dada7b2624f1930a6ee70764
      x-required-scopes:
        - time-tracking
components:
  securitySchemes:
    ApiToken:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: Bearer token authentication. Create tokens in Settings > API Token.
