{
  "openapi": "3.1.0",
  "info": {
    "title": "tipee",
    "version": "25.09.01"
  },
  "paths": {
    "/api/directory/resources.list": {
      "post": {
        "tags": [
          "Directory"
        ],
        "summary": "List",
        "description": "Retrieves all resources of a specific kind, including those with no (or only past) sector contracts. Returns associated details related to that kind. Use the 'resource.team' filter to narrow down the search by contract period (e.g. only currently employed).",
        "operationId": "post_app_ui_api_directory_directoryquery_resourceslist",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ListResourcesQuery250901"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceListView250901"
                }
              }
            }
          }
        }
      }
    },
    "/api/directory/kinds.list": {
      "post": {
        "tags": [
          "Directory"
        ],
        "summary": "List",
        "description": "Retrieves all kinds of possible resources. Only 'employee' is available at the moment.",
        "operationId": "post_app_ui_api_directory_directoryquery_kindslist",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ListKindsQuery"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/KindSummaryView"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/directory/kinds.show": {
      "post": {
        "tags": [
          "Directory"
        ],
        "summary": "Show",
        "description": "Retrieves a specific kind with its attributes. Regarding attributes, while using 'api/directory/resources.list', 'searchable' refers to whether you can apply a filter to it or not (according to the filter type) and 'sortable' refers to 'orders'.",
        "operationId": "post_app_ui_api_directory_directoryquery_kindsshow",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ShowKindQuery"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/KindView"
                }
              }
            }
          }
        }
      }
    },
    "/api/directory/teams.list": {
      "post": {
        "tags": [
          "Directory"
        ],
        "summary": "List",
        "description": "Teams represent either the instance, a site or a sector",
        "operationId": "post_app_ui_api_directory_directoryquery_teamslist",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ListTeamQuery"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TeamView"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/directory/tags.list": {
      "post": {
        "tags": [
          "Directory"
        ],
        "summary": "List",
        "description": "Retrieves all tags that can describe actions in tipee (e.g. timechecks, activities, etc.). Several filters can be used to narrow down the search.",
        "operationId": "post_app_ui_api_directory_directoryquery_listtags",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ListTagsQuery"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TagView"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/schedule/schedules.list": {
      "post": {
        "tags": [
          "Schedule"
        ],
        "summary": "List",
        "description": "Retrieves all schedules (or the ones corresponding to the provided `ids`) within a date range.",
        "operationId": "post_app_ui_api_schedule_schedulequery_listschedules",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ListSchedulesQuery250901"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ScheduleView250901"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/schedule/absences.list": {
      "post": {
        "tags": [
          "Schedule"
        ],
        "summary": "List",
        "description": "Retrieves absence details within a date range, optionally restricted to specific persons through `resource_ids`. `time_range` will have a value if the absence does not cover the whole day.",
        "operationId": "post_app_ui_api_schedule_schedulequery_listabsences",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ListAbsencesQuery"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AbsenceView"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/schedule/absence-types.list": {
      "post": {
        "tags": [
          "Schedule"
        ],
        "summary": "List",
        "description": "Retrieves all absence types (or the ones corresponding to the provided ids) with details about their statuses.",
        "operationId": "post_app_ui_api_schedule_schedulequery_listabsencetypes",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ListAbsenceTypesQuery"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AbsenceTypeView"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/schedule/schedule-templates.list": {
      "post": {
        "tags": [
          "Schedule"
        ],
        "summary": "List",
        "description": "Retrieves all schedule templates (or the ones corresponding to the provided ids).",
        "operationId": "post_app_ui_api_schedule_scheduletemplatequery_listscheduletemplates",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ListScheduleTemplatesQuery250901"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ScheduleTemplateView250901"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/timeclock/timechecks.list": {
      "post": {
        "tags": [
          "Timeclock"
        ],
        "summary": "List timechecks",
        "description": "Retrieves all timecheck details (or the ones corresponding to the provided ids).<br />Several filters can be used to narrow down the search.",
        "operationId": "post_app_ui_api_timeclock_timeclockquery_listtimechecks",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ListTimechecksQuery250901"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TimecheckView250901"
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "AbsenceTypeSummary": {
        "required": [
          "id",
          "name",
          "short_name",
          "machine_name",
          "color"
        ],
        "properties": {
          "id": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Redacted"
              },
              {
                "$ref": "#/components/schemas/Snowflake"
              }
            ]
          },
          "name": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Redacted"
              },
              {
                "type": "string"
              }
            ]
          },
          "short_name": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Redacted"
              },
              {
                "type": "string"
              }
            ]
          },
          "machine_name": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Redacted"
              },
              {
                "type": "string"
              }
            ]
          },
          "color": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Redacted"
              },
              {
                "type": "string"
              }
            ]
          }
        },
        "type": "object"
      },
      "AbsenceTypeView": {
        "required": [
          "id",
          "name",
          "requestable",
          "enabled",
          "confidential",
          "machine_name"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "name": {
            "$ref": "#/components/schemas/TranslatedString"
          },
          "requestable": {
            "type": "boolean"
          },
          "enabled": {
            "type": "boolean"
          },
          "confidential": {
            "type": "boolean"
          },
          "machine_name": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "AbsenceView": {
        "required": [
          "id",
          "absence_type",
          "resource_id",
          "remark",
          "date",
          "percentage",
          "time_range",
          "repetition_id"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "absence_type": {
            "$ref": "#/components/schemas/AbsenceTypeSummary"
          },
          "resource_id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "remark": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Redacted"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "date": {
            "$ref": "#/components/schemas/LocalDate"
          },
          "percentage": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Redacted"
              },
              {
                "$ref": "#/components/schemas/Percentage"
              }
            ]
          },
          "time_range": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/LocalDateTimeInterval"
              },
              {
                "type": "null"
              }
            ]
          },
          "repetition_id": {
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "AccessLevel": {
        "type": "string",
        "example": "none",
        "enum": [
          "none",
          "read-own",
          "read",
          "write"
        ]
      },
      "AdjustmentView": {
        "required": [
          "value",
          "time"
        ],
        "properties": {
          "value": {
            "$ref": "#/components/schemas/Duration"
          },
          "time": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/LocalTime"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object"
      },
      "AttributeChoices": {
        "required": [
          "values",
          "strict",
          "input_type"
        ],
        "properties": {
          "values": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "strict": {
            "type": "boolean"
          },
          "input_type": {
            "$ref": "#/components/schemas/ChoicesInputType"
          }
        },
        "type": "object"
      },
      "AttributeFormatType": {
        "type": "string",
        "example": "avs",
        "enum": [
          "avs",
          "email",
          "phone",
          "address"
        ]
      },
      "AttributeIcon": {
        "type": "string",
        "example": "email",
        "enum": [
          "email",
          "phone",
          "mobile-phone",
          "address",
          "description",
          "external-id",
          "job",
          "company",
          "is-company",
          "civility",
          "first-name",
          "last-name",
          "joining-date",
          "website"
        ]
      },
      "AttributeMessage": {
        "type": "string",
        "example": "choice-validation-error",
        "enum": [
          "choice-validation-error",
          "non-writable-validation-error",
          "required-validation-error",
          "type-validation-error",
          "unique-validation-error"
        ]
      },
      "AttributeSummaryView": {
        "required": [
          "id",
          "content_type",
          "label",
          "choices",
          "icon",
          "type",
          "format"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "content_type": {
            "$ref": "#/components/schemas/ContentType"
          },
          "label": {
            "$ref": "#/components/schemas/TranslatedString"
          },
          "choices": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/AttributeChoices"
              },
              {
                "type": "null"
              }
            ]
          },
          "icon": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/AttributeIcon"
              },
              {
                "type": "null"
              }
            ]
          },
          "type": {
            "$ref": "#/components/schemas/AttributeType"
          },
          "format": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/AttributeFormatType"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object"
      },
      "AttributeType": {
        "type": "string",
        "example": "boolean",
        "enum": [
          "boolean",
          "date",
          "date-time",
          "decimal",
          "duration",
          "enum",
          "id",
          "int",
          "percentage",
          "string"
        ]
      },
      "Autocorrect": {
        "required": [
          "before_start",
          "after_start",
          "before_end",
          "after_end"
        ],
        "properties": {
          "before_start": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Duration"
              },
              {
                "type": "null"
              }
            ]
          },
          "after_start": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Duration"
              },
              {
                "type": "null"
              }
            ]
          },
          "before_end": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Duration"
              },
              {
                "type": "null"
              }
            ]
          },
          "after_end": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Duration"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object"
      },
      "BooleanFilterValue": {
        "required": [
          "attribute",
          "operator"
        ],
        "properties": {
          "attribute": {
            "type": "string"
          },
          "operator": {
            "$ref": "#/components/schemas/BooleanOperator"
          },
          "value": {
            "description": "Property can be omitted with 'none' operator. It is required for all other operators.",
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "BooleanOperator": {
        "type": "string",
        "example": "equals",
        "enum": [
          "equals",
          "not_equals",
          "none"
        ]
      },
      "BreakTimeView": {
        "required": [
          "min_duration",
          "hour_range"
        ],
        "properties": {
          "min_duration": {
            "$ref": "#/components/schemas/Duration"
          },
          "hour_range": {
            "$ref": "#/components/schemas/LocalTimeInterval"
          }
        },
        "type": "object"
      },
      "BuiltInAttribute": {
        "type": "string",
        "example": "last_name",
        "enum": [
          "last_name",
          "first_name",
          "company",
          "birthdate",
          "avs",
          "gender",
          "civility",
          "address",
          "city",
          "zip",
          "state",
          "country",
          "full_address",
          "nationality",
          "comment",
          "description",
          "is_company",
          "external_id",
          "tag_id",
          "regrouping",
          "resolved_regrouping",
          "private_phone",
          "mobile_phone",
          "fax",
          "private_email",
          "website",
          "job",
          "work_phone",
          "work_mobile_phone",
          "work_email",
          "work_permit",
          "work_permit_expiration_date",
          "rh_wedding_date",
          "rh_status",
          "rh_spouse_name",
          "rh_spouse_birthdate",
          "rh_education_level",
          "rh_driver_licence",
          "rh_specific_skills",
          "employee_custom1",
          "employee_custom2",
          "employee_custom3",
          "employee_custom4",
          "employee_custom5",
          "employee_custom6",
          "employee_custom7",
          "resident_custom1",
          "resident_custom2",
          "resident_custom3",
          "resident_custom4",
          "resident_custom5",
          "resident_custom6",
          "resident_custom7",
          "client_custom3",
          "client_custom4",
          "client_custom5",
          "client_custom6",
          "client_custom7",
          "has_compensation",
          "has_indemnity",
          "is_apprentice",
          "is_paid_hourly",
          "is_trainee",
          "seniority",
          "joining_date",
          "departure_date",
          "activity_rate",
          "schedule_period",
          "work_regime",
          "weekly_worked_hours",
          "holiday_regime",
          "holiday_right",
          "balance_mode",
          "timecheck_mode",
          "work_display_mode",
          "holiday_display_mode",
          "holiday_daily_display_mode",
          "time_breakdown_mode",
          "activity_breakdown_mode",
          "username",
          "last_authentication",
          "last_password_change",
          "is_two_factor_configured",
          "picture_blob_uri"
        ]
      },
      "BuiltInKind": {
        "type": "string",
        "example": "employee",
        "enum": [
          "employee",
          "resident",
          "client",
          "thing",
          "extern",
          "integration"
        ]
      },
      "BuiltInKindId": {
        "type": "string",
        "example": "362612800803058550",
        "enum": [
          "362612800803058550",
          "362612800803058551",
          "362612800803058552",
          "362612800803058553",
          "362612800803058554",
          "362612800803058555"
        ],
        "x-enum-varnames": [
          "Employee",
          "Resident",
          "Client",
          "Thing",
          "Extern",
          "Integration"
        ]
      },
      "ChoiceFilterValue": {
        "required": [
          "attribute",
          "operator"
        ],
        "properties": {
          "attribute": {
            "type": "string"
          },
          "operator": {
            "$ref": "#/components/schemas/ListOperator"
          },
          "value": {
            "description": "Property can be omitted with 'none' operator. It is required for all other operators.",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "type": "integer"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "type": "object"
      },
      "ChoicesInputType": {
        "type": "string",
        "example": "select",
        "enum": [
          "select",
          "combobox",
          "radio"
        ]
      },
      "ClassificationLevel": {
        "type": "string",
        "example": "unclassified",
        "enum": [
          "unclassified",
          "internal",
          "confidential",
          "secret"
        ]
      },
      "ContentType": {
        "type": "string",
        "example": "text/address",
        "enum": [
          "text/address",
          "text/avs",
          "boolean/plain",
          "date/plain",
          "date-time/plain",
          "decimal/plain",
          "duration/plain",
          "text/email",
          "enum/plain",
          "id/plain",
          "integer/plain",
          "text/multiline",
          "percentage/plain",
          "text/phone",
          "text/regrouping",
          "text/plain"
        ],
        "x-enum-varnames": [
          "Address",
          "Avs",
          "Boolean",
          "Date",
          "DateTime",
          "Decimal",
          "Duration",
          "Email",
          "Enum",
          "Id",
          "Integer",
          "Multiline",
          "Percentage",
          "Phone",
          "Regrouping",
          "Text"
        ]
      },
      "DateRangeFilterValue": {
        "required": [
          "attribute",
          "operator"
        ],
        "properties": {
          "attribute": {
            "type": "string"
          },
          "operator": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/DateTimeOperator"
              },
              {
                "$ref": "#/components/schemas/IntervalOperator"
              }
            ]
          },
          "value": {
            "$ref": "#/components/schemas/LocalDateInterval",
            "description": "Property can be omitted with 'none' operator. It is required for all other operators."
          }
        },
        "type": "object"
      },
      "DateTimeOperator": {
        "type": "string",
        "example": "equals",
        "enum": [
          "equals",
          "not_equals",
          "from",
          "until",
          "none"
        ]
      },
      "DecimalFilterValue": {
        "required": [
          "attribute",
          "operator"
        ],
        "properties": {
          "attribute": {
            "type": "string"
          },
          "operator": {
            "$ref": "#/components/schemas/NumericOperator"
          },
          "value": {
            "description": "Property can be omitted with 'none' operator. It is required for all other operators.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "DeviceClockView": {
        "required": [
          "time",
          "name",
          "beacon_name",
          "autocorrection",
          "autocorrection_source",
          "geolocation",
          "received_at"
        ],
        "properties": {
          "time": {
            "$ref": "#/components/schemas/LocalDateTime"
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "beacon_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "autocorrection": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/LocalDateTime"
              },
              {
                "type": "null"
              }
            ]
          },
          "autocorrection_source": {
            "type": [
              "string",
              "null"
            ]
          },
          "geolocation": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Geolocation"
              },
              {
                "type": "null"
              }
            ]
          },
          "received_at": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Instant"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object"
      },
      "Duration": {
        "description": "[ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations)",
        "type": "string",
        "format": "duration",
        "example": "PT1H30M20S"
      },
      "DurationFilterValue": {
        "required": [
          "attribute",
          "operator"
        ],
        "properties": {
          "attribute": {
            "type": "string"
          },
          "operator": {
            "$ref": "#/components/schemas/NumericOperator"
          },
          "value": {
            "$ref": "#/components/schemas/Duration",
            "description": "Property can be omitted with 'none' operator. It is required for all other operators."
          }
        },
        "type": "object"
      },
      "FulltextFilterValue": {
        "required": [
          "operator"
        ],
        "properties": {
          "attributes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "operator": {
            "$ref": "#/components/schemas/StringOperator"
          },
          "value": {
            "type": "string",
            "default": "",
            "maxLength": 255
          }
        },
        "type": "object"
      },
      "Geolocation": {
        "required": [
          "latitude",
          "longitude",
          "accuracy"
        ],
        "properties": {
          "latitude": {
            "type": [
              "number",
              "null"
            ],
            "format": "float",
            "default": null
          },
          "longitude": {
            "type": [
              "number",
              "null"
            ],
            "format": "float",
            "default": null
          },
          "accuracy": {
            "type": [
              "number",
              "null"
            ],
            "format": "float",
            "default": null
          }
        },
        "type": "object"
      },
      "HourRange": {
        "required": [
          "hour_range",
          "auto_correct",
          "paid_break"
        ],
        "properties": {
          "hour_range": {
            "$ref": "#/components/schemas/LocalTimeInterval"
          },
          "auto_correct": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Autocorrect"
              },
              {
                "type": "null"
              }
            ]
          },
          "paid_break": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/ScheduleTemplatePaidBreakTime"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object"
      },
      "Instant": {
        "type": "string",
        "format": "zoned-date-time",
        "example": "2025-10-30T10:40:22.01367Z"
      },
      "IntegerFilterValue": {
        "required": [
          "attribute",
          "operator"
        ],
        "properties": {
          "attribute": {
            "type": "string"
          },
          "operator": {
            "$ref": "#/components/schemas/NumericOperator"
          },
          "value": {
            "description": "Property can be omitted with 'none' operator. It is required for all other operators.",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "IntervalOperator": {
        "type": "string",
        "example": "in_range",
        "enum": [
          "in_range",
          "not_in_range",
          "none"
        ]
      },
      "KindAttributeView": {
        "required": [
          "attribute",
          "classification_level",
          "access_level",
          "searchable",
          "sortable"
        ],
        "properties": {
          "attribute": {
            "$ref": "#/components/schemas/AttributeSummaryView"
          },
          "classification_level": {
            "$ref": "#/components/schemas/ClassificationLevel"
          },
          "access_level": {
            "$ref": "#/components/schemas/AccessLevel"
          },
          "searchable": {
            "type": "boolean"
          },
          "sortable": {
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "KindRelationTypeView": {
        "required": [
          "id",
          "label",
          "inverse_label",
          "classification_level",
          "access_level",
          "inverse"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "label": {
            "$ref": "#/components/schemas/TranslatedString"
          },
          "inverse_label": {
            "$ref": "#/components/schemas/TranslatedString"
          },
          "classification_level": {
            "$ref": "#/components/schemas/ClassificationLevel"
          },
          "access_level": {
            "$ref": "#/components/schemas/AccessLevel"
          },
          "inverse": {
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "KindSectionView": {
        "required": [
          "id",
          "label",
          "classification_level",
          "attribute_ids",
          "relation_type_ids"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "classification_level": {
            "$ref": "#/components/schemas/ClassificationLevel"
          },
          "attribute_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "relation_type_ids": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Snowflake"
            }
          }
        },
        "type": "object"
      },
      "KindSummaryView": {
        "required": [
          "id",
          "machine_name"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "machine_name": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "KindView": {
        "required": [
          "id",
          "machine_name",
          "attributes",
          "relation_types",
          "sections",
          "sorting_attribute_ids"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "machine_name": {
            "type": "string"
          },
          "attributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KindAttributeView"
            }
          },
          "relation_types": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KindRelationTypeView"
            }
          },
          "sections": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KindSectionView"
            }
          },
          "sorting_attribute_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "type": "object"
      },
      "ListAbsenceTypesQuery": {
        "properties": {
          "ids": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Snowflake"
            }
          },
          "requestable": {
            "type": "boolean"
          },
          "enabled": {
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "ListAbsencesQuery": {
        "required": [
          "date_range"
        ],
        "properties": {
          "resource_ids": {
            "description": "When omitted, the only absences returned are those the current user is allowed to view.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Snowflake"
            }
          },
          "date_range": {
            "$ref": "#/components/schemas/LocalDateInterval"
          }
        },
        "type": "object"
      },
      "ListKindsQuery": {
        "type": "object"
      },
      "ListOperator": {
        "type": "string",
        "example": "in_list",
        "enum": [
          "in_list",
          "not_in_list",
          "none"
        ]
      },
      "ListResourcesQuery250901": {
        "required": [
          "kind_id"
        ],
        "properties": {
          "kind_id": {
            "$ref": "#/components/schemas/Snowflake",
            "description": "Only the \"employee\" kind is available at the moment."
          },
          "at_date": {
            "$ref": "#/components/schemas/LocalDate",
            "description": "If you do not specify a date, today's date will be used."
          },
          "attributes": {
            "description": "Several filters can be used to narrow down the search (except for activity rate). Correct filter types should be used based on the data type of the attribute. The 'api/directory/kinds.show' endpoint gives you information about attribute types and whether you can filter or order them.",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "with_teams": {
            "description": "Will give additional information about the team they are assigned to at the date provided.",
            "type": "boolean",
            "default": false
          },
          "with_relations": {
            "type": [
              "boolean",
              "null"
            ],
            "default": false
          },
          "with_total_count": {
            "type": "boolean",
            "default": false
          },
          "counting_mode": {
            "$ref": "#/components/schemas/ResourceCountingMode"
          },
          "filters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ListResourcesQuery250901Filter"
            }
          },
          "orders": {
            "type": "array",
            "items": {
              "discriminator": {
                "propertyName": "key"
              },
              "oneOf": [
                {
                  "required": [
                    "key"
                  ],
                  "properties": {
                    "key": {
                      "type": "string",
                      "example": "resource.attribute",
                      "enum": [
                        "resource.attribute"
                      ]
                    },
                    "direction": {
                      "$ref": "#/components/schemas/QueryOrderDirection"
                    },
                    "attribute": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              ]
            }
          },
          "pagination": {
            "$ref": "#/components/schemas/Pagination"
          }
        },
        "type": "object"
      },
      "ListResourcesQuery250901Filter": {
        "discriminator": {
          "propertyName": "key"
        },
        "oneOf": [
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "resource.ids",
                "enum": [
                  "resource.ids"
                ]
              },
              "value": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Snowflake"
                }
              }
            },
            "type": "object"
          },
          {
            "description": "Filter on a boolean attribute. The attribute identifier is given by `attribute_id`.",
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "resource.boolean",
                "enum": [
                  "resource.boolean"
                ]
              },
              "value": {
                "$ref": "#/components/schemas/BooleanFilterValue"
              }
            },
            "type": "object"
          },
          {
            "description": "Filter on a choice attribute by selected option identifiers (multi-valued, OR semantics).",
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "resource.choice",
                "enum": [
                  "resource.choice"
                ]
              },
              "value": {
                "$ref": "#/components/schemas/ChoiceFilterValue"
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "resource.date_range",
                "enum": [
                  "resource.date_range"
                ]
              },
              "value": {
                "$ref": "#/components/schemas/DateRangeFilterValue"
              }
            },
            "type": "object"
          },
          {
            "description": "Filter on a decimal attribute. Supports comparison operators (eq, gt, gte, lt, lte, between).",
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "resource.decimal",
                "enum": [
                  "resource.decimal"
                ]
              },
              "value": {
                "$ref": "#/components/schemas/DecimalFilterValue"
              }
            },
            "type": "object"
          },
          {
            "description": "Filter on a duration attribute (ISO 8601 duration). Supports comparison operators.",
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "resource.duration",
                "enum": [
                  "resource.duration"
                ]
              },
              "value": {
                "$ref": "#/components/schemas/DurationFilterValue"
              }
            },
            "type": "object"
          },
          {
            "description": "Filter on an integer attribute. Supports comparison operators (eq, gt, gte, lt, lte, between).",
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "resource.integer",
                "enum": [
                  "resource.integer"
                ]
              },
              "value": {
                "$ref": "#/components/schemas/IntegerFilterValue"
              }
            },
            "type": "object"
          },
          {
            "description": "Filter on a month/day attribute by an inclusive [start, end] interval (year-agnostic).",
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "resource.month_day_range",
                "enum": [
                  "resource.month_day_range"
                ]
              },
              "value": {
                "$ref": "#/components/schemas/MonthDayRangeFilterValue"
              }
            },
            "type": "object"
          },
          {
            "description": "Filter using the resolved regrouping (teams, main team, sources, date and pattern). Use this when you want to combine team-based scoping with a textual filter pattern.",
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "resource.regrouping",
                "enum": [
                  "resource.regrouping"
                ]
              },
              "value": {
                "$ref": "#/components/schemas/ResolveRegrouping"
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "resource.fulltext",
                "enum": [
                  "resource.fulltext"
                ]
              },
              "value": {
                "$ref": "#/components/schemas/FulltextFilterValue"
              }
            },
            "type": "object"
          },
          {
            "description": "Filter on a text attribute by exact or substring match (depending on operator).",
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "resource.text",
                "enum": [
                  "resource.text"
                ]
              },
              "value": {
                "$ref": "#/components/schemas/TextFilterValue"
              }
            },
            "type": "object"
          },
          {
            "description": "Restrict resources by team membership and contract period. Use this filter to limit the search to currently employed people, or to a specific team and date range.",
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "resource.team",
                "enum": [
                  "resource.team"
                ]
              },
              "value": {
                "$ref": "#/components/schemas/TeamFilterValue"
              }
            },
            "type": "object"
          },
          {
            "description": "Filter on a time-of-day attribute by an inclusive [start, end] interval.",
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "resource.time_range",
                "enum": [
                  "resource.time_range"
                ]
              },
              "value": {
                "$ref": "#/components/schemas/TimeRangeFilterValue"
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "or",
                "enum": [
                  "or"
                ]
              },
              "value": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ListResourcesQuery250901Filter"
                }
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "and",
                "enum": [
                  "and"
                ]
              },
              "value": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ListResourcesQuery250901Filter"
                }
              }
            },
            "type": "object"
          }
        ]
      },
      "ListScheduleTemplatesQuery250901": {
        "properties": {
          "ids": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Snowflake"
            }
          },
          "team_ids": {
            "description": "If used, it will limit the returned schedule template list to those that are associated with the given team ids (ignoring provided ids that are not).",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Snowflake"
            }
          },
          "date_range": {
            "$ref": "#/components/schemas/LocalDateInterval"
          },
          "is_on_call": {
            "type": "boolean"
          },
          "type_ids": {
            "description": "If used, it will limit the returned schedule template list to those that match one of the given schedule template type ids.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Snowflake"
            }
          }
        },
        "type": "object"
      },
      "ListSchedulesQuery250901": {
        "required": [
          "date_range"
        ],
        "properties": {
          "ids": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Snowflake"
            }
          },
          "resource_ids": {
            "description": "If used with `ids` filter, it will limit the returned schedules to those that are associated with the given resource ids (ignoring schedule ids that are not).",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Snowflake"
            }
          },
          "date_range": {
            "$ref": "#/components/schemas/LocalDateInterval"
          }
        },
        "type": "object"
      },
      "ListTagsQuery": {
        "properties": {
          "filters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ListTagsQueryFilter"
            }
          }
        },
        "type": "object"
      },
      "ListTagsQueryFilter": {
        "discriminator": {
          "propertyName": "key"
        },
        "oneOf": [
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "tag.ids",
                "enum": [
                  "tag.ids"
                ]
              },
              "value": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Snowflake"
                }
              }
            },
            "type": "object"
          },
          {
            "description": "Case-insensitive substring match on the tag name (any locale).",
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "tag.name",
                "enum": [
                  "tag.name"
                ]
              },
              "value": {
                "type": "string"
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "tag.with_disabled",
                "enum": [
                  "tag.with_disabled"
                ]
              },
              "value": {
                "type": "boolean"
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "tag.date_created",
                "enum": [
                  "tag.date_created"
                ]
              },
              "value": {
                "$ref": "#/components/schemas/LocalDateTime"
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "tag.date_updated",
                "enum": [
                  "tag.date_updated"
                ]
              },
              "value": {
                "$ref": "#/components/schemas/LocalDateTime"
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "or",
                "enum": [
                  "or"
                ]
              },
              "value": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ListTagsQueryFilter"
                }
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "and",
                "enum": [
                  "and"
                ]
              },
              "value": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ListTagsQueryFilter"
                }
              }
            },
            "type": "object"
          }
        ]
      },
      "ListTeamQuery": {
        "properties": {
          "team_ids": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Snowflake"
            }
          },
          "with_ancestors": {
            "type": "boolean"
          },
          "with_disabled": {
            "type": "boolean"
          },
          "exclude_instance": {
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "ListTimechecksQuery250901": {
        "properties": {
          "filters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ListTimechecksQuery250901Filter"
            }
          }
        },
        "type": "object"
      },
      "ListTimechecksQuery250901Filter": {
        "discriminator": {
          "propertyName": "key"
        },
        "oneOf": [
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "timecheck.ids",
                "enum": [
                  "timecheck.ids"
                ]
              },
              "value": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Snowflake"
                }
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "timecheck.resources",
                "enum": [
                  "timecheck.resources"
                ]
              },
              "value": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Snowflake"
                }
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "timecheck.date_range",
                "enum": [
                  "timecheck.date_range"
                ]
              },
              "value": {
                "$ref": "#/components/schemas/LocalDateInterval"
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "timecheck.datetime_range",
                "enum": [
                  "timecheck.datetime_range"
                ]
              },
              "value": {
                "$ref": "#/components/schemas/LocalDateTimeInterval"
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "timecheck.open",
                "enum": [
                  "timecheck.open"
                ]
              },
              "value": {
                "type": "boolean"
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "or",
                "enum": [
                  "or"
                ]
              },
              "value": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ListTimechecksQuery250901Filter"
                }
              }
            },
            "type": "object"
          },
          {
            "required": [
              "key",
              "value"
            ],
            "properties": {
              "key": {
                "type": "string",
                "example": "and",
                "enum": [
                  "and"
                ]
              },
              "value": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ListTimechecksQuery250901Filter"
                }
              }
            },
            "type": "object"
          }
        ]
      },
      "LocalDate": {
        "type": "string",
        "format": "local-date",
        "example": "2019-11-11"
      },
      "LocalDateInterval": {
        "type": "string",
        "format": "local-date-interval",
        "example": "2019-11-11/2019-12-12"
      },
      "LocalDateTime": {
        "type": "string",
        "format": "local-date-time",
        "example": "2019-11-11T12:34:56"
      },
      "LocalDateTimeInterval": {
        "type": "string",
        "format": "local-date-time-interval",
        "example": "2019-11-11T12:34:56/2019-12-12T23:59:59"
      },
      "LocalTime": {
        "type": "string",
        "format": "local-time",
        "example": "12:34:56"
      },
      "LocalTimeInterval": {
        "type": "string",
        "format": "local-time-interval",
        "example": "12:34:56/PT2H"
      },
      "MonthDayInterval": {
        "type": "string",
        "format": "local-month-day-interval",
        "example": "--11-11/--12-12"
      },
      "MonthDayRangeFilterValue": {
        "required": [
          "attribute",
          "operator"
        ],
        "properties": {
          "attribute": {
            "type": "string"
          },
          "operator": {
            "$ref": "#/components/schemas/IntervalOperator"
          },
          "value": {
            "$ref": "#/components/schemas/MonthDayInterval",
            "description": "Property can be omitted with 'none' operator. It is required for all other operators."
          }
        },
        "type": "object"
      },
      "NumericOperator": {
        "type": "string",
        "example": "equals",
        "enum": [
          "equals",
          "not_equals",
          "less_than",
          "less_than_or_equal",
          "greater_than",
          "greater_than_or_equal",
          "none"
        ]
      },
      "OptionsView": {
        "required": [
          "counts_in_balances",
          "timecheck_counted",
          "employee_resident_ratio",
          "auto_completable"
        ],
        "properties": {
          "counts_in_balances": {
            "type": "boolean"
          },
          "timecheck_counted": {
            "type": "boolean"
          },
          "employee_resident_ratio": {
            "type": "boolean"
          },
          "auto_completable": {
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "OptionsView250901": {
        "required": [
          "employee_resident_ratio",
          "text_color",
          "special_hours"
        ],
        "properties": {
          "employee_resident_ratio": {
            "type": "boolean"
          },
          "text_color": {
            "type": [
              "string",
              "null"
            ]
          },
          "special_hours": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/LocalDateTimeInterval"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object"
      },
      "Pagination": {
        "required": [
          "limit",
          "next_token"
        ],
        "properties": {
          "limit": {
            "type": [
              "integer",
              "null"
            ]
          },
          "next_token": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "ParameterType": {
        "type": "string",
        "example": "Resource",
        "enum": [
          "AbsenceType",
          "Compensation",
          "Resource",
          "ScheduleTemplate",
          "ScheduleTemplateType",
          "Tag",
          "TeamList",
          "Team"
        ]
      },
      "Percentage": {
        "type": "number",
        "format": "percentage",
        "example": 100
      },
      "PictureShape": {
        "type": "string",
        "example": "round",
        "enum": [
          "round",
          "rounded-square",
          "square"
        ]
      },
      "QueryOrderDirection": {
        "type": "string",
        "example": "asc",
        "enum": [
          "asc",
          "desc"
        ]
      },
      "Redacted": {
        "required": [
          "redacted"
        ],
        "properties": {
          "redacted": {
            "type": "string",
            "example": "forbidden",
            "enum": [
              "forbidden",
              "confidential"
            ]
          }
        },
        "type": "object",
        "x-tipee-bindgen-redacted": true
      },
      "RegroupingSource": {
        "type": "string",
        "example": "resource",
        "enum": [
          "resource",
          "team"
        ]
      },
      "ResolveRegrouping": {
        "properties": {
          "teams": {
            "$ref": "#/components/schemas/TeamList"
          },
          "main_team": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "filter_pattern": {
            "type": "string"
          },
          "operator": {
            "$ref": "#/components/schemas/ListOperator"
          },
          "sources": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RegroupingSource"
            }
          }
        },
        "type": "object"
      },
      "ResourceCountingMode": {
        "type": "string",
        "example": "strict",
        "enum": [
          "strict",
          "approximate"
        ]
      },
      "ResourceListView250901": {
        "required": [
          "data",
          "next_token"
        ],
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ResourceView250901"
            }
          },
          "next_token": {
            "type": [
              "string",
              "null"
            ]
          },
          "total_count": {
            "description": "Total number of resources matching filters in the request; only present if parameter \"with_total_count\" is set to \"true\".",
            "type": "integer"
          },
          "total_count_approximate": {
            "description": "TRUE if the returned number of resources is exact, FALSE if it is only an approximation; only present if parameter \"with_total_count\" is set to \"true\".",
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "ResourcePictureView": {
        "required": [
          "shape",
          "initial",
          "url"
        ],
        "properties": {
          "shape": {
            "$ref": "#/components/schemas/PictureShape"
          },
          "initial": {
            "type": "string"
          },
          "url": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "ResourceRelationSummaryView250901": {
        "required": [
          "relation_type_id",
          "related_to",
          "related_by"
        ],
        "properties": {
          "relation_type_id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "related_to": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Snowflake"
              },
              {
                "type": "null"
              }
            ]
          },
          "related_by": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Snowflake"
            }
          }
        },
        "type": "object"
      },
      "ResourceTeamSummaryView": {
        "required": [
          "id",
          "head",
          "name"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "head": {
            "type": "boolean"
          },
          "name": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "ResourceView250901": {
        "required": [
          "id",
          "kind_id",
          "label",
          "short_label",
          "sort_label",
          "picture",
          "attributes"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "kind_id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "label": {
            "type": "string"
          },
          "short_label": {
            "type": "string"
          },
          "sort_label": {
            "type": "string"
          },
          "picture": {
            "$ref": "#/components/schemas/ResourcePictureView"
          },
          "attributes": {
            "type": "object",
            "additionalProperties": {}
          },
          "teams": {
            "description": "Only present if parameter \"with_teams\" is set to \"true\".",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ResourceTeamSummaryView"
            }
          },
          "relations": {
            "description": "Only present if parameter \"with_relations\" is set to \"true\".",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ResourceRelationSummaryView250901"
            }
          }
        },
        "type": "object"
      },
      "ScheduleAdjustment": {
        "required": [
          "value",
          "time"
        ],
        "properties": {
          "value": {
            "$ref": "#/components/schemas/Duration"
          },
          "time": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/LocalDateTime"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object"
      },
      "ScheduleBreakTime": {
        "required": [
          "min_duration",
          "time_range"
        ],
        "properties": {
          "min_duration": {
            "$ref": "#/components/schemas/Duration"
          },
          "time_range": {
            "$ref": "#/components/schemas/LocalDateTimeInterval"
          }
        },
        "type": "object"
      },
      "ScheduleOptions": {
        "required": [
          "employee_resident_ratio",
          "text_color",
          "special_hour_range",
          "schedule_on_bank_holidays",
          "allow_partial"
        ],
        "properties": {
          "employee_resident_ratio": {
            "type": "boolean"
          },
          "text_color": {
            "type": [
              "string",
              "null"
            ]
          },
          "special_hour_range": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/LocalTimeInterval"
              },
              {
                "type": "null"
              }
            ]
          },
          "schedule_on_bank_holidays": {
            "type": "boolean"
          },
          "allow_partial": {
            "type": "boolean",
            "default": false
          }
        },
        "type": "object"
      },
      "SchedulePaidBreakTime": {
        "required": [
          "max_duration",
          "time_range"
        ],
        "properties": {
          "max_duration": {
            "$ref": "#/components/schemas/Duration"
          },
          "time_range": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/LocalDateTimeInterval"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object"
      },
      "ScheduleTemplateCreateAdjustment": {
        "required": [
          "value"
        ],
        "properties": {
          "value": {
            "$ref": "#/components/schemas/Duration"
          },
          "time": {
            "$ref": "#/components/schemas/LocalTime"
          }
        },
        "type": "object"
      },
      "ScheduleTemplateCreateBreakTime": {
        "required": [
          "min_duration",
          "hour_range"
        ],
        "properties": {
          "min_duration": {
            "$ref": "#/components/schemas/Duration"
          },
          "hour_range": {
            "$ref": "#/components/schemas/LocalTimeInterval"
          }
        },
        "type": "object"
      },
      "ScheduleTemplateCreateOptions": {
        "required": [
          "counts_in_balances",
          "timecheck_counted",
          "employee_resident_ratio",
          "auto_completable"
        ],
        "properties": {
          "counts_in_balances": {
            "type": "boolean",
            "default": true
          },
          "timecheck_counted": {
            "type": "boolean",
            "default": true
          },
          "employee_resident_ratio": {
            "type": "boolean",
            "default": false
          },
          "auto_completable": {
            "type": "boolean",
            "default": true
          }
        },
        "type": "object"
      },
      "ScheduleTemplatePaidBreakTime": {
        "required": [
          "max_duration",
          "hour_range"
        ],
        "properties": {
          "max_duration": {
            "$ref": "#/components/schemas/Duration"
          },
          "hour_range": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/LocalTimeInterval"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object"
      },
      "ScheduleTemplateSummary": {
        "required": [
          "id",
          "name",
          "description",
          "color"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "color": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "ScheduleTemplateTypeDisplayMode": {
        "type": "string",
        "example": "normal",
        "enum": [
          "normal",
          "hour",
          "corner"
        ]
      },
      "ScheduleTemplateTypeView": {
        "required": [
          "id",
          "name",
          "machine_name",
          "display_mode",
          "is_on_call"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "name": {
            "$ref": "#/components/schemas/TranslatedString"
          },
          "machine_name": {
            "type": "string"
          },
          "display_mode": {
            "$ref": "#/components/schemas/ScheduleTemplateTypeDisplayMode"
          },
          "is_on_call": {
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "ScheduleTemplateUpdateAdjustment": {
        "properties": {
          "value": {
            "$ref": "#/components/schemas/Duration"
          },
          "time": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/LocalTime"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object"
      },
      "ScheduleTemplateUpdateBreakTime": {
        "properties": {
          "min_duration": {
            "$ref": "#/components/schemas/Duration"
          },
          "hour_range": {
            "$ref": "#/components/schemas/LocalTimeInterval"
          }
        },
        "type": "object"
      },
      "ScheduleTemplateUpdateOptions": {
        "properties": {
          "counts_in_balances": {
            "type": "boolean"
          },
          "timecheck_counted": {
            "type": "boolean"
          },
          "employee_resident_ratio": {
            "type": "boolean"
          },
          "auto_completable": {
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "ScheduleTemplateView250901": {
        "required": [
          "id",
          "name",
          "description",
          "team_id",
          "type",
          "color",
          "hour_ranges",
          "adjustment",
          "tag_ids",
          "break_time",
          "validity",
          "options"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "name": {
            "$ref": "#/components/schemas/TranslatedString"
          },
          "description": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/TranslatedString"
              },
              {
                "type": "null"
              }
            ]
          },
          "team_id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "type": {
            "$ref": "#/components/schemas/ScheduleTemplateTypeView"
          },
          "color": {
            "type": "string"
          },
          "hour_ranges": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HourRange"
            }
          },
          "adjustment": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/AdjustmentView"
              },
              {
                "type": "null"
              }
            ]
          },
          "tag_ids": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Snowflake"
            }
          },
          "break_time": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/BreakTimeView"
              },
              {
                "type": "null"
              }
            ]
          },
          "validity": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/LocalDateInterval"
              },
              {
                "type": "null"
              }
            ]
          },
          "options": {
            "$ref": "#/components/schemas/OptionsView"
          }
        },
        "type": "object"
      },
      "ScheduleView250901": {
        "required": [
          "id",
          "resource_id",
          "team_id",
          "time_ranges",
          "schedule_template",
          "remark",
          "modified",
          "adjustment",
          "break_time",
          "options"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "resource_id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "team_id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "time_ranges": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TimeRange"
            }
          },
          "schedule_template": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/ScheduleTemplateSummary"
              },
              {
                "type": "null"
              }
            ]
          },
          "remark": {
            "type": "string"
          },
          "modified": {
            "type": "boolean"
          },
          "adjustment": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/ScheduleAdjustment"
              },
              {
                "type": "null"
              }
            ]
          },
          "break_time": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/ScheduleBreakTime"
              },
              {
                "type": "null"
              }
            ]
          },
          "options": {
            "$ref": "#/components/schemas/OptionsView250901"
          }
        },
        "type": "object"
      },
      "ShowKindQuery": {
        "required": [
          "id"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Snowflake"
          }
        },
        "type": "object"
      },
      "Snowflake": {
        "type": "string",
        "format": "snowflake",
        "example": "872815618512410358"
      },
      "StringOperator": {
        "type": "string",
        "example": "equals",
        "enum": [
          "equals",
          "not_equals",
          "contains",
          "not_contains",
          "starts_with",
          "ends_with",
          "none"
        ]
      },
      "TagView": {
        "required": [
          "id",
          "name",
          "external_id",
          "enabled",
          "icon"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "name": {
            "type": "string"
          },
          "external_id": {
            "type": [
              "string",
              "null"
            ],
            "default": null
          },
          "enabled": {
            "type": "boolean",
            "default": false
          },
          "icon": {
            "type": "string",
            "default": "tag"
          }
        },
        "type": "object"
      },
      "TeamFilterPeriod": {
        "required": [
          "operator"
        ],
        "properties": {
          "operator": {
            "$ref": "#/components/schemas/TeamPeriodOperator"
          },
          "date_range": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/LocalDateInterval"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object"
      },
      "TeamFilterValue": {
        "properties": {
          "teams": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/TeamList"
              },
              {
                "type": "null"
              }
            ]
          },
          "period": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/TeamFilterPeriod"
              },
              {
                "type": "null"
              }
            ]
          },
          "recursive": {
            "type": "boolean",
            "default": false
          },
          "head": {
            "type": [
              "boolean",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "TeamList": {
        "oneOf": [
          {
            "description": "Refers to all teams",
            "type": "string",
            "example": "*",
            "enum": [
              "*"
            ]
          },
          {
            "description": "Refers to a list of teams",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Snowflake"
            },
            "example": [
              "903956503593387633",
              "903956503593534034"
            ]
          }
        ]
      },
      "TeamPeriodOperator": {
        "type": "string",
        "example": "first_starts_in",
        "enum": [
          "first_starts_in",
          "starts_in",
          "intersects_with",
          "ends_in",
          "last_ends_in",
          "none"
        ]
      },
      "TeamView": {
        "required": [
          "id",
          "parent_id",
          "name",
          "short_name",
          "color"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "parent_id": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Snowflake"
              },
              {
                "type": "null"
              }
            ]
          },
          "name": {
            "type": "string"
          },
          "short_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "color": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "TextFilterValue": {
        "required": [
          "attribute",
          "operator"
        ],
        "properties": {
          "attribute": {
            "type": "string"
          },
          "operator": {
            "$ref": "#/components/schemas/StringOperator"
          },
          "value": {
            "description": "Property can be omitted with 'none' operator. It is required for all other operators.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "TimeRange": {
        "required": [
          "time_range",
          "auto_correct",
          "paid_break"
        ],
        "properties": {
          "time_range": {
            "$ref": "#/components/schemas/LocalDateTimeInterval"
          },
          "auto_correct": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Autocorrect"
              },
              {
                "type": "null"
              }
            ]
          },
          "paid_break": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/SchedulePaidBreakTime"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object"
      },
      "TimeRangeFilterValue": {
        "required": [
          "attribute",
          "operator"
        ],
        "properties": {
          "attribute": {
            "type": "string"
          },
          "operator": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/DateTimeOperator"
              },
              {
                "$ref": "#/components/schemas/IntervalOperator"
              }
            ]
          },
          "value": {
            "$ref": "#/components/schemas/LocalDateTimeInterval",
            "description": "Property can be omitted with 'none' operator. It is required for all other operators."
          }
        },
        "type": "object"
      },
      "TimecheckDeviceView": {
        "required": [
          "in",
          "out"
        ],
        "properties": {
          "in": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/DeviceClockView"
              },
              {
                "type": "null"
              }
            ]
          },
          "out": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/DeviceClockView"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object"
      },
      "TimecheckTagView250901": {
        "required": [
          "id",
          "added_at",
          "added_by",
          "removed_at",
          "removed_by"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "added_at": {
            "$ref": "#/components/schemas/LocalDateTime"
          },
          "added_by": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Snowflake"
              },
              {
                "type": "null"
              }
            ]
          },
          "removed_at": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/LocalDateTime"
              },
              {
                "type": "null"
              }
            ]
          },
          "removed_by": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Snowflake"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object"
      },
      "TimecheckTimeView": {
        "required": [
          "resource_id",
          "in",
          "out",
          "received_at",
          "comment"
        ],
        "properties": {
          "resource_id": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Snowflake"
              },
              {
                "type": "null"
              }
            ]
          },
          "in": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/LocalDateTime"
              },
              {
                "type": "null"
              }
            ]
          },
          "out": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/LocalDateTime"
              },
              {
                "type": "null"
              }
            ]
          },
          "received_at": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Instant"
              },
              {
                "type": "null"
              }
            ]
          },
          "comment": {
            "type": [
              "string",
              "null"
            ],
            "default": null
          }
        },
        "type": "object"
      },
      "TimecheckType": {
        "type": "string",
        "example": "device",
        "enum": [
          "device",
          "adjusted",
          "proposal",
          "validation"
        ]
      },
      "TimecheckView250901": {
        "required": [
          "id",
          "resource_id",
          "duration",
          "time_range",
          "expected_time_range",
          "type",
          "color",
          "device",
          "proposal",
          "validation",
          "is_adjusted",
          "matched_schedule_ids",
          "tags_comment",
          "tags"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "resource_id": {
            "$ref": "#/components/schemas/Snowflake"
          },
          "duration": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Duration"
              },
              {
                "type": "null"
              }
            ]
          },
          "time_range": {
            "$ref": "#/components/schemas/LocalDateTimeInterval"
          },
          "expected_time_range": {
            "$ref": "#/components/schemas/LocalDateTimeInterval"
          },
          "type": {
            "$ref": "#/components/schemas/TimecheckType"
          },
          "color": {
            "type": "string"
          },
          "device": {
            "$ref": "#/components/schemas/TimecheckDeviceView"
          },
          "proposal": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/TimecheckTimeView"
              },
              {
                "type": "null"
              }
            ]
          },
          "validation": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/TimecheckTimeView"
              },
              {
                "type": "null"
              }
            ]
          },
          "is_adjusted": {
            "type": "boolean"
          },
          "matched_schedule_ids": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Snowflake"
            }
          },
          "tags_comment": {
            "type": [
              "string",
              "null"
            ]
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TimecheckTagView250901"
            }
          }
        },
        "type": "object"
      },
      "TranslatedString": {
        "properties": {
          "fr": {
            "type": "string"
          },
          "en": {
            "type": "string"
          },
          "de": {
            "type": "string"
          }
        },
        "type": "object",
        "example": {
          "en": "Hello",
          "fr": "Bonjour",
          "de": "Guten Tag"
        }
      }
    }
  },
  "security": [
    {
      "basicAuth": []
    }
  ],
  "tags": [
    {
      "name": "Directory",
      "description": "Directory"
    },
    {
      "name": "Schedule",
      "description": "Schedule"
    },
    {
      "name": "Timeclock",
      "description": "Timeclock"
    }
  ]
}