openapi: 3.1.0
info:
  title: AbaNinja Time Tracking API - Employees
  version: 3.0.0
  x-domain-id: time-tracking
servers:
  - url: https://api.abaninja.ch
    description: The AbaNinja API server
tags:
  - name: time-tracking-employees
    description: Manage employees
    x-displayName: Employees
security:
  - ApiToken: []
paths:
  /accounts/{accountUuid}/time/v2/employees:
    get:
      tags:
        - time-tracking-employees
      summary: Get employees
      description: Get all employees for an account
      operationId: time_list_employees
      parameters:
        - name: accountUuid
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: onlyInactive
          in: query
          description: get only inactive employees
          required: false
          schema:
            type:
              - boolean
              - 'null'
            default: null
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                properties:
                  data:
                    type: array
                    items:
                      title: Employee Resource
                      properties:
                        uuid:
                          type: string
                          format: uuid
                        firstName:
                          type:
                            - string
                            - 'null'
                        lastName:
                          type:
                            - string
                            - 'null'
                        jobTitle:
                          type:
                            - string
                            - 'null'
                        employeeNumber:
                          type: string
                        birthDate:
                          type:
                            - string
                            - 'null'
                          format: date
                        employeeGroupUuid:
                          type: string
                          format: uuid
                        employeeGroup:
                          title: Employee Group Resource
                          properties:
                            uuid:
                              type: string
                              format: uuid
                            translations:
                              properties:
                                de:
                                  properties:
                                    description:
                                      type:
                                        - string
                                        - 'null'
                                    name:
                                      type: string
                                  type: object
                                en:
                                  properties:
                                    description:
                                      type:
                                        - string
                                        - 'null'
                                    name:
                                      type: string
                                  type: object
                                fr:
                                  properties:
                                    description:
                                      type:
                                        - string
                                        - 'null'
                                    name:
                                      type: string
                                  type: object
                                it:
                                  properties:
                                    description:
                                      type:
                                        - string
                                        - 'null'
                                    name:
                                      type: string
                                  type: object
                              type: object
                          type: object
                        employmentStartDate:
                          type: string
                          format: date
                        isActive:
                          type: boolean
                          deprecated: true
                        userUuid:
                          type:
                            - string
                            - 'null'
                          format: uuid
                        user:
                          deprecated: true
                          properties:
                            id:
                              type: integer
                              deprecated: true
                            uuid:
                              type: string
                              format: uuid
                            firstName:
                              type:
                                - string
                                - 'null'
                            lastName:
                              type:
                                - string
                                - 'null'
                            email:
                              type:
                                - string
                                - 'null'
                        accountUuid:
                          type: string
                          format: uuid
                        addressUuid:
                          type:
                            - string
                            - 'null'
                          format: uuid
                        personUuid:
                          type:
                            - string
                            - 'null'
                          format: uuid
                        timeTrackingStartDate:
                          type: string
                          format: date
                        timeTrackingStartDateEditable:
                          type: boolean
                          deprecated: true
                        isPresent:
                          type: boolean
                          deprecated: true
                        hasInvalidContracts:
                          type: boolean
                          deprecated: true
                        hasImage:
                          type: boolean
                        additionalInformation:
                          type:
                            - string
                            - 'null'
                        createdAt:
                          type: string
                          format: date-time
                        updatedAt:
                          type: string
                          format: date-time
                      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
      security:
        - ApiToken:
            - https://api.abaninja.ch/auth/time-tracking
      x-legacy-operation-id: e9417be2d3089e4cc8a5f763c109fd67
      x-required-scopes:
        - time-tracking
    post:
      tags:
        - time-tracking-employees
      summary: Add employee
      description: Add a new employee for an account
      operationId: time_create_employees
      parameters:
        - name: accountUuid
          in: path
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        description: Add employee
        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.schema.json
              description: A Schema for creating/updating timetracking employee in AbaNinja over API
              type: object
              properties:
                employeeNumber:
                  type: string
                  maxLength: 255
                firstName:
                  type: string
                  maxLength: 255
                lastName:
                  type:
                    - string
                    - 'null'
                  maxLength: 255
                jobTitle:
                  type:
                    - string
                    - 'null'
                  maxLength: 255
                userUuid:
                  type:
                    - string
                    - 'null'
                  format: uuid
                employmentStartDate:
                  type: string
                  format: date
                birthDate:
                  type:
                    - string
                    - 'null'
                  format: date
                addressUuid:
                  type:
                    - string
                    - 'null'
                  format: uuid
                employeeGroupUuid:
                  type:
                    - string
                  format: uuid
                timeTrackingStartDate:
                  type: string
                  format: date
                additionalInformation:
                  type:
                    - string
                    - 'null'
                  maxLength: 5000
              required:
                - employeeNumber
                - firstName
                - employmentStartDate
                - employeeGroupUuid
                - timeTrackingStartDate
      responses:
        '201':
          description: Successful response
          content:
            application/json:
              schema:
                properties:
                  data:
                    title: Employee Resource
                    properties:
                      uuid:
                        type: string
                        format: uuid
                      firstName:
                        type:
                          - string
                          - 'null'
                      lastName:
                        type:
                          - string
                          - 'null'
                      jobTitle:
                        type:
                          - string
                          - 'null'
                      employeeNumber:
                        type: string
                      birthDate:
                        type:
                          - string
                          - 'null'
                        format: date
                      employeeGroupUuid:
                        type: string
                        format: uuid
                      employeeGroup:
                        title: Employee Group Resource
                        properties:
                          uuid:
                            type: string
                            format: uuid
                          translations:
                            properties:
                              de:
                                properties:
                                  description:
                                    type:
                                      - string
                                      - 'null'
                                  name:
                                    type: string
                                type: object
                              en:
                                properties:
                                  description:
                                    type:
                                      - string
                                      - 'null'
                                  name:
                                    type: string
                                type: object
                              fr:
                                properties:
                                  description:
                                    type:
                                      - string
                                      - 'null'
                                  name:
                                    type: string
                                type: object
                              it:
                                properties:
                                  description:
                                    type:
                                      - string
                                      - 'null'
                                  name:
                                    type: string
                                type: object
                            type: object
                        type: object
                      employmentStartDate:
                        type: string
                        format: date
                      isActive:
                        type: boolean
                        deprecated: true
                      userUuid:
                        type:
                          - string
                          - 'null'
                        format: uuid
                      user:
                        deprecated: true
                        properties:
                          id:
                            type: integer
                            deprecated: true
                          uuid:
                            type: string
                            format: uuid
                          firstName:
                            type:
                              - string
                              - 'null'
                          lastName:
                            type:
                              - string
                              - 'null'
                          email:
                            type:
                              - string
                              - 'null'
                      accountUuid:
                        type: string
                        format: uuid
                      addressUuid:
                        type:
                          - string
                          - 'null'
                        format: uuid
                      personUuid:
                        type:
                          - string
                          - 'null'
                        format: uuid
                      timeTrackingStartDate:
                        type: string
                        format: date
                      timeTrackingStartDateEditable:
                        type: boolean
                        deprecated: true
                      isPresent:
                        type: boolean
                        deprecated: true
                      hasInvalidContracts:
                        type: boolean
                        deprecated: true
                      hasImage:
                        type: boolean
                      additionalInformation:
                        type:
                          - string
                          - 'null'
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                    type: object
                  message:
                    title: message
                    type: string
                  status:
                    example: 201
                  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
      security:
        - ApiToken:
            - https://api.abaninja.ch/auth/time-tracking
      x-legacy-operation-id: b58232b3b8e9ca03d689598cce510946
      x-required-scopes:
        - time-tracking
  /accounts/{accountUuid}/time/v2/employees/{employeeUuid}:
    get:
      tags:
        - time-tracking-employees
      summary: Get employee
      description: Get an employee for an account
      operationId: time_get_employees
      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 Resource
                    properties:
                      uuid:
                        type: string
                        format: uuid
                      firstName:
                        type:
                          - string
                          - 'null'
                      lastName:
                        type:
                          - string
                          - 'null'
                      jobTitle:
                        type:
                          - string
                          - 'null'
                      employeeNumber:
                        type: string
                      birthDate:
                        type:
                          - string
                          - 'null'
                        format: date
                      employeeGroupUuid:
                        type: string
                        format: uuid
                      employeeGroup:
                        title: Employee Group Resource
                        properties:
                          uuid:
                            type: string
                            format: uuid
                          translations:
                            properties:
                              de:
                                properties:
                                  description:
                                    type:
                                      - string
                                      - 'null'
                                  name:
                                    type: string
                                type: object
                              en:
                                properties:
                                  description:
                                    type:
                                      - string
                                      - 'null'
                                  name:
                                    type: string
                                type: object
                              fr:
                                properties:
                                  description:
                                    type:
                                      - string
                                      - 'null'
                                  name:
                                    type: string
                                type: object
                              it:
                                properties:
                                  description:
                                    type:
                                      - string
                                      - 'null'
                                  name:
                                    type: string
                                type: object
                            type: object
                        type: object
                      employmentStartDate:
                        type: string
                        format: date
                      isActive:
                        type: boolean
                        deprecated: true
                      userUuid:
                        type:
                          - string
                          - 'null'
                        format: uuid
                      user:
                        deprecated: true
                        properties:
                          id:
                            type: integer
                            deprecated: true
                          uuid:
                            type: string
                            format: uuid
                          firstName:
                            type:
                              - string
                              - 'null'
                          lastName:
                            type:
                              - string
                              - 'null'
                          email:
                            type:
                              - string
                              - 'null'
                      accountUuid:
                        type: string
                        format: uuid
                      addressUuid:
                        type:
                          - string
                          - 'null'
                        format: uuid
                      personUuid:
                        type:
                          - string
                          - 'null'
                        format: uuid
                      timeTrackingStartDate:
                        type: string
                        format: date
                      timeTrackingStartDateEditable:
                        type: boolean
                        deprecated: true
                      isPresent:
                        type: boolean
                        deprecated: true
                      hasInvalidContracts:
                        type: boolean
                        deprecated: true
                      hasImage:
                        type: boolean
                      additionalInformation:
                        type:
                          - string
                          - 'null'
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                    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: 7f7c81d0a693c85d1920c5f3fdc7633f
      x-required-scopes:
        - time-tracking
    patch:
      tags:
        - time-tracking-employees
      summary: Update employee
      description: Update an employee for an account
      operationId: time_update_employees
      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: Update employee
        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.schema.json
              description: A Schema for creating/updating timetracking employee in AbaNinja over API
              type: object
              properties:
                employeeNumber:
                  type: string
                  maxLength: 255
                firstName:
                  type: string
                  maxLength: 255
                lastName:
                  type:
                    - string
                    - 'null'
                  maxLength: 255
                jobTitle:
                  type:
                    - string
                    - 'null'
                  maxLength: 255
                userUuid:
                  type:
                    - string
                    - 'null'
                  format: uuid
                employmentStartDate:
                  type: string
                  format: date
                birthDate:
                  type:
                    - string
                    - 'null'
                  format: date
                addressUuid:
                  type:
                    - string
                    - 'null'
                  format: uuid
                employeeGroupUuid:
                  type:
                    - string
                  format: uuid
                timeTrackingStartDate:
                  type: string
                  format: date
                additionalInformation:
                  type:
                    - string
                    - 'null'
                  maxLength: 5000
              required:
                - employeeNumber
                - firstName
                - employmentStartDate
                - employeeGroupUuid
                - timeTrackingStartDate
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                properties:
                  data:
                    title: Employee Resource
                    properties:
                      uuid:
                        type: string
                        format: uuid
                      firstName:
                        type:
                          - string
                          - 'null'
                      lastName:
                        type:
                          - string
                          - 'null'
                      jobTitle:
                        type:
                          - string
                          - 'null'
                      employeeNumber:
                        type: string
                      birthDate:
                        type:
                          - string
                          - 'null'
                        format: date
                      employeeGroupUuid:
                        type: string
                        format: uuid
                      employeeGroup:
                        title: Employee Group Resource
                        properties:
                          uuid:
                            type: string
                            format: uuid
                          translations:
                            properties:
                              de:
                                properties:
                                  description:
                                    type:
                                      - string
                                      - 'null'
                                  name:
                                    type: string
                                type: object
                              en:
                                properties:
                                  description:
                                    type:
                                      - string
                                      - 'null'
                                  name:
                                    type: string
                                type: object
                              fr:
                                properties:
                                  description:
                                    type:
                                      - string
                                      - 'null'
                                  name:
                                    type: string
                                type: object
                              it:
                                properties:
                                  description:
                                    type:
                                      - string
                                      - 'null'
                                  name:
                                    type: string
                                type: object
                            type: object
                        type: object
                      employmentStartDate:
                        type: string
                        format: date
                      isActive:
                        type: boolean
                        deprecated: true
                      userUuid:
                        type:
                          - string
                          - 'null'
                        format: uuid
                      user:
                        deprecated: true
                        properties:
                          id:
                            type: integer
                            deprecated: true
                          uuid:
                            type: string
                            format: uuid
                          firstName:
                            type:
                              - string
                              - 'null'
                          lastName:
                            type:
                              - string
                              - 'null'
                          email:
                            type:
                              - string
                              - 'null'
                      accountUuid:
                        type: string
                        format: uuid
                      addressUuid:
                        type:
                          - string
                          - 'null'
                        format: uuid
                      personUuid:
                        type:
                          - string
                          - 'null'
                        format: uuid
                      timeTrackingStartDate:
                        type: string
                        format: date
                      timeTrackingStartDateEditable:
                        type: boolean
                        deprecated: true
                      isPresent:
                        type: boolean
                        deprecated: true
                      hasInvalidContracts:
                        type: boolean
                        deprecated: true
                      hasImage:
                        type: boolean
                      additionalInformation:
                        type:
                          - string
                          - 'null'
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                    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: b4f70d8252cbaad3d44b26e9eb30135d
      x-required-scopes:
        - time-tracking
    delete:
      tags:
        - time-tracking-employees
      summary: Delete employee
      description: Delete an employee of an account
      operationId: time_delete_employees
      parameters:
        - name: accountUuid
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: employeeUuid
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '204':
          description: Successful response
        '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: e5125798761e5f60b8dd7b097c21d753
      x-required-scopes:
        - time-tracking
  /accounts/{accountUuid}/time/v2/employees/available-users:
    get:
      tags:
        - time-tracking-employees
      summary: Get available users
      description: Get available users for employees
      operationId: time_list_available_users
      parameters:
        - name: accountUuid
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: employeeUuid
          in: query
          description: excluded employee
          required: false
          schema:
            type:
              - string
              - 'null'
            format: uuid
            default: null
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                properties:
                  data:
                    type: array
                    items:
                      title: User Resource
                      properties:
                        id:
                          type: integer
                          deprecated: true
                        uuid:
                          type: string
                          format: uuid
                        firstName:
                          type:
                            - string
                            - 'null'
                        lastName:
                          type:
                            - string
                            - 'null'
                        email:
                          type:
                            - string
                            - 'null'
                      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
      security:
        - ApiToken:
            - https://api.abaninja.ch/auth/time-tracking
      x-legacy-operation-id: f55306a075f622f14d9ca6d76b18a07b
      x-required-scopes:
        - time-tracking
  /accounts/{accountUuid}/time/v2/employees/me:
    get:
      tags:
        - time-tracking-employees
      summary: Get current employee
      description: Get the employee for the current user and account
      operationId: time_list_me
      parameters:
        - name: accountUuid
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                properties:
                  data:
                    title: Employee Resource
                    properties:
                      uuid:
                        type: string
                        format: uuid
                      firstName:
                        type:
                          - string
                          - 'null'
                      lastName:
                        type:
                          - string
                          - 'null'
                      jobTitle:
                        type:
                          - string
                          - 'null'
                      employeeNumber:
                        type: string
                      birthDate:
                        type:
                          - string
                          - 'null'
                        format: date
                      employeeGroupUuid:
                        type: string
                        format: uuid
                      employeeGroup:
                        title: Employee Group Resource
                        properties:
                          uuid:
                            type: string
                            format: uuid
                          translations:
                            properties:
                              de:
                                properties:
                                  description:
                                    type:
                                      - string
                                      - 'null'
                                  name:
                                    type: string
                                type: object
                              en:
                                properties:
                                  description:
                                    type:
                                      - string
                                      - 'null'
                                  name:
                                    type: string
                                type: object
                              fr:
                                properties:
                                  description:
                                    type:
                                      - string
                                      - 'null'
                                  name:
                                    type: string
                                type: object
                              it:
                                properties:
                                  description:
                                    type:
                                      - string
                                      - 'null'
                                  name:
                                    type: string
                                type: object
                            type: object
                        type: object
                      employmentStartDate:
                        type: string
                        format: date
                      isActive:
                        type: boolean
                        deprecated: true
                      userUuid:
                        type:
                          - string
                          - 'null'
                        format: uuid
                      user:
                        deprecated: true
                        properties:
                          id:
                            type: integer
                            deprecated: true
                          uuid:
                            type: string
                            format: uuid
                          firstName:
                            type:
                              - string
                              - 'null'
                          lastName:
                            type:
                              - string
                              - 'null'
                          email:
                            type:
                              - string
                              - 'null'
                      accountUuid:
                        type: string
                        format: uuid
                      addressUuid:
                        type:
                          - string
                          - 'null'
                        format: uuid
                      personUuid:
                        type:
                          - string
                          - 'null'
                        format: uuid
                      timeTrackingStartDate:
                        type: string
                        format: date
                      timeTrackingStartDateEditable:
                        type: boolean
                        deprecated: true
                      isPresent:
                        type: boolean
                        deprecated: true
                      hasInvalidContracts:
                        type: boolean
                        deprecated: true
                      hasImage:
                        type: boolean
                      additionalInformation:
                        type:
                          - string
                          - 'null'
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                    type: object
                  message:
                    title: message
                    type: string
                  status:
                    example: 200
                  meta:
                    title: meta
                    type:
                      - object
                      - 'null'
                required:
                  - data
                  - message
                  - status
        '204':
          description: User has no employee
      security:
        - ApiToken:
            - https://api.abaninja.ch/auth/time-tracking
      x-legacy-operation-id: 12bf9dbaa37a0e3e811c10c80ed45536
      x-required-scopes:
        - time-tracking
  /accounts/{accountUuid}/time/v2/employees/{employeeUuid}/attachments:
    get:
      tags:
        - time-tracking-employees
      summary: Get attachments
      description: Get all attachments of an employee
      operationId: time_list_attachments
      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 Attachment Resource
                      properties:
                        uuid:
                          type: string
                          format: uuid
                        name:
                          type: string
                        size:
                          type: integer
                        mimeType:
                          type: string
                        url:
                          type:
                            - string
                            - 'null'
                          format: uri
                      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: 665ee330632d7f17146669513b38ed8c
      x-required-scopes:
        - time-tracking
    post:
      tags:
        - time-tracking-employees
      summary: Upload attachment
      description: Upload an attachment for an employee
      operationId: time_create_attachments
      parameters:
        - name: accountUuid
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: employeeUuid
          in: path
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              required:
                - file
              properties:
                file:
                  type: string
                  format: binary
              type: object
      responses:
        '201':
          description: Successful response
          content:
            application/json:
              schema:
                properties:
                  data:
                    title: Employee Attachment Resource
                    properties:
                      uuid:
                        type: string
                        format: uuid
                      name:
                        type: string
                      size:
                        type: integer
                      mimeType:
                        type: string
                      url:
                        type:
                          - string
                          - 'null'
                        format: uri
                    type: object
                  message:
                    title: message
                    type: string
                  status:
                    example: 201
                  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: b1fd727027806e8272e4f4e7eef6a583
      x-required-scopes:
        - time-tracking
  /accounts/{accountUuid}/time/v2/employees/{employeeUuid}/image:
    get:
      tags:
        - time-tracking-employees
      summary: Get image
      description: Get the image of an employee
      operationId: time_list_image
      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 Attachment Resource
                    properties:
                      uuid:
                        type: string
                        format: uuid
                      name:
                        type: string
                      size:
                        type: integer
                      mimeType:
                        type: string
                      url:
                        type:
                          - string
                          - 'null'
                        format: uri
                    type: object
                  message:
                    title: message
                    type: string
                  status:
                    example: 200
                  meta:
                    title: meta
                    type:
                      - object
                      - 'null'
                required:
                  - data
                  - message
                  - status
        '204':
          description: No image exists
        '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: f6c9cad6e8b9bdd9e51b28a49aa84f15
      x-required-scopes:
        - time-tracking
    post:
      tags:
        - time-tracking-employees
      summary: Upload image
      description: Upload an image for an employee
      operationId: time_create_image
      parameters:
        - name: accountUuid
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: employeeUuid
          in: path
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              required:
                - file
              properties:
                file:
                  type: string
                  format: binary
              type: object
      responses:
        '201':
          description: Successful response
          content:
            application/json:
              schema:
                properties:
                  data:
                    title: Employee Attachment Resource
                    properties:
                      uuid:
                        type: string
                        format: uuid
                      name:
                        type: string
                      size:
                        type: integer
                      mimeType:
                        type: string
                      url:
                        type:
                          - string
                          - 'null'
                        format: uri
                    type: object
                  message:
                    title: message
                    type: string
                  status:
                    example: 201
                  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: 8d572ba53f829414f6a2c3e7a71760be
      x-required-scopes:
        - time-tracking
    delete:
      tags:
        - time-tracking-employees
      summary: Delete image
      description: Delete the image of an employee
      operationId: time_delete_image
      parameters:
        - name: accountUuid
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: employeeUuid
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '204':
          description: Successful response
        '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: 0bb68654d94316e2ba4e127350613b23
      x-required-scopes:
        - time-tracking
  /accounts/{accountUuid}/time/v2/employees/{employeeUuid}/attachments/{attachmentUuid}:
    delete:
      tags:
        - time-tracking-employees
      summary: Delete attachment
      description: Delete an attachment of an employee
      operationId: time_delete_attachments
      parameters:
        - name: accountUuid
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: employeeUuid
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: attachmentUuid
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '204':
          description: Successful response
        '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: c00817a49685aa4dce335a10a6821268
      x-required-scopes:
        - time-tracking
components:
  securitySchemes:
    ApiToken:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: Bearer token authentication. Create tokens in Settings > API Token.
