{
  "openapi": "3.0.4",
  "info": {
    "title": "Omaha API",
    "version": "1.0.0"
  },
  "servers": [
    {
      "url": "https://ip-pod-dev11-omaha.azurewebsites.net/"
    }
  ],
  "paths": {
    "/v1/workplaces/{id}": {
      "get": {
        "tags": [
          "Workplace"
        ],
        "operationId": "GetWorkplace",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Workplace"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "502": {
            "description": "Bad Gateway",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "503": {
            "description": "Service Unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "504": {
            "description": "Gateway Timeout",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2": [
              "omaha"
            ],
            "ApiKey": [ ]
          }
        ]
      }
    },
    "/v1/persons/{id}": {
      "get": {
        "tags": [
          "Person"
        ],
        "operationId": "GetPerson",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Person"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "502": {
            "description": "Bad Gateway",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "503": {
            "description": "Service Unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "504": {
            "description": "Gateway Timeout",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2": [
              "omaha"
            ],
            "ApiKey": [ ]
          }
        ]
      }
    },
    "/v1/persons": {
      "get": {
        "tags": [
          "Person"
        ],
        "operationId": "GetPersons",
        "parameters": [
          {
            "name": "PersonType",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "OrgUnitId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "UserGroupId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "AssignmentId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageToken",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResultOfPersonListItem"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "502": {
            "description": "Bad Gateway",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "503": {
            "description": "Service Unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "504": {
            "description": "Gateway Timeout",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2": [
              "omaha"
            ],
            "ApiKey": [ ]
          }
        ]
      }
    },
    "/v1/organisations/{id}": {
      "get": {
        "tags": [
          "Organisation"
        ],
        "operationId": "GetOrganisation",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Organisation"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "502": {
            "description": "Bad Gateway",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "503": {
            "description": "Service Unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "504": {
            "description": "Gateway Timeout",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2": [
              "omaha"
            ],
            "ApiKey": [ ]
          }
        ]
      }
    },
    "/v1/orders/{id}": {
      "get": {
        "tags": [
          "Order"
        ],
        "operationId": "GetOrder",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Order"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "502": {
            "description": "Bad Gateway",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "503": {
            "description": "Service Unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "504": {
            "description": "Gateway Timeout",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2": [
              "omaha"
            ],
            "ApiKey": [ ]
          }
        ]
      }
    },
    "/v1/offices/{id}": {
      "get": {
        "tags": [
          "Office"
        ],
        "operationId": "GetOffice",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Office"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "502": {
            "description": "Bad Gateway",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "503": {
            "description": "Service Unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "504": {
            "description": "Gateway Timeout",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2": [
              "omaha"
            ],
            "ApiKey": [ ]
          }
        ]
      }
    },
    "/v1/employments/{id}": {
      "get": {
        "tags": [
          "Employment"
        ],
        "operationId": "GetEmployment",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Employment"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "502": {
            "description": "Bad Gateway",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "503": {
            "description": "Service Unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "504": {
            "description": "Gateway Timeout",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2": [
              "omaha"
            ],
            "ApiKey": [ ]
          }
        ]
      }
    },
    "/v1/employments": {
      "get": {
        "tags": [
          "Employment"
        ],
        "operationId": "GetEmployments",
        "parameters": [
          {
            "name": "PersonId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "DateFrom",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "DateTo",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "EmploymentTypeId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "EmploymentCategoryId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "OrgUnitId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "BossId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "StaffingServiceId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageToken",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "LegalEntityId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "OfficeId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "TeamId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResultOfEmploymentListItem"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "502": {
            "description": "Bad Gateway",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "503": {
            "description": "Service Unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "504": {
            "description": "Gateway Timeout",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2": [
              "omaha"
            ],
            "ApiKey": [ ]
          }
        ]
      }
    },
    "/v1/contacts/{id}": {
      "get": {
        "tags": [
          "Contact"
        ],
        "operationId": "GetContact",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Contact"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "502": {
            "description": "Bad Gateway",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "503": {
            "description": "Service Unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "504": {
            "description": "Gateway Timeout",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2": [
              "omaha"
            ],
            "ApiKey": [ ]
          }
        ]
      }
    },
    "/v1/absence-codes/{id}": {
      "get": {
        "tags": [
          "AbsenceCode"
        ],
        "operationId": "GetAbsenceCode",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AbsenceCode"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "502": {
            "description": "Bad Gateway",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "503": {
            "description": "Service Unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "504": {
            "description": "Gateway Timeout",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2": [
              "omaha"
            ],
            "ApiKey": [ ]
          }
        ]
      },
      "patch": {
        "tags": [
          "AbsenceCode"
        ],
        "operationId": "PatchAbsenceCode",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateAbsenceCodeRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateAbsenceCodeRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateAbsenceCodeRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AbsenceCode"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "502": {
            "description": "Bad Gateway",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "503": {
            "description": "Service Unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "504": {
            "description": "Gateway Timeout",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2": [
              "omaha"
            ],
            "ApiKey": [ ]
          }
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "AbsenceCode": {
        "required": [
          "id",
          "name",
          "description",
          "category",
          "ruleType",
          "refWeeksQty",
          "isArchived",
          "allowConsultantTimeReport",
          "dayToArticle1",
          "dayToArticle2",
          "exportCode",
          "allowForMonthlySalary",
          "allowForGuaranteeSalary",
          "allowForHourlySalary",
          "allowForSubContractor"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "category": {
            "type": "string",
            "nullable": true
          },
          "ruleType": {
            "type": "string",
            "nullable": true
          },
          "refWeeksQty": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "isArchived": {
            "type": "boolean",
            "nullable": true
          },
          "allowConsultantTimeReport": {
            "type": "boolean",
            "nullable": true
          },
          "dayToArticle1": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "dayToArticle2": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "exportCode": {
            "type": "string",
            "nullable": true
          },
          "allowForMonthlySalary": {
            "type": "boolean",
            "nullable": true
          },
          "allowForGuaranteeSalary": {
            "type": "boolean",
            "nullable": true
          },
          "allowForHourlySalary": {
            "type": "boolean",
            "nullable": true
          },
          "allowForSubContractor": {
            "type": "boolean",
            "nullable": true
          }
        }
      },
      "Contact": {
        "required": [
          "id",
          "firstName",
          "lastName",
          "note",
          "email",
          "phone",
          "mobilePhone",
          "role",
          "title",
          "linkedInUrl",
          "active",
          "portalUser"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "firstName": {
            "type": "string",
            "nullable": true
          },
          "lastName": {
            "type": "string",
            "nullable": true
          },
          "note": {
            "type": "string",
            "nullable": true
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "phone": {
            "type": "string",
            "nullable": true
          },
          "mobilePhone": {
            "type": "string",
            "nullable": true
          },
          "role": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "linkedInUrl": {
            "type": "string",
            "nullable": true
          },
          "active": {
            "type": "boolean",
            "nullable": true
          },
          "portalUser": {
            "type": "boolean",
            "nullable": true
          }
        }
      },
      "Employment": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "note": {
            "type": "string",
            "nullable": true
          },
          "personId": {
            "type": "integer",
            "format": "int32"
          },
          "employmentNumber": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "dateFrom": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "dateTo": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "employmentPercentage": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "employmentExtent": {
            "type": "string",
            "nullable": true
          },
          "bookable": {
            "type": "boolean",
            "nullable": true
          },
          "salaryType": {
            "type": "string",
            "nullable": true
          },
          "guaranteePercentage": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "hourlySalary": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "monthlySalary": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "useStandardCost": {
            "type": "boolean",
            "nullable": true
          },
          "vacationCostFactor": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "pensionCostFactor": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "otherCostFactor": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "unemploymentInsurance": {
            "type": "boolean",
            "nullable": true
          },
          "ongoingHolidayPay": {
            "type": "boolean",
            "nullable": true
          },
          "labourMarketRuleId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "employmentTypeId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "employmentCategoryId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "terminationReasonId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "staffingServiceId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "orgUnitId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "bossId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "salaryGroupId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "subContractorCompanyId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "scheduleId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "exportCategoryId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "createdDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "modifiedDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        }
      },
      "EmploymentListItem": {
        "required": [
          "id",
          "personId",
          "employmentNumber",
          "dateFrom",
          "dateTo",
          "employmentPercentage",
          "employmentTypeId",
          "employmentCategoryId",
          "orgUnitId",
          "bossId",
          "createdDate",
          "modifiedDate",
          "terminationReasonId"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "personId": {
            "type": "integer",
            "format": "int32"
          },
          "employmentNumber": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "dateFrom": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "dateTo": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "employmentPercentage": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "employmentTypeId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "employmentCategoryId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "orgUnitId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "bossId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "createdDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "modifiedDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "terminationReasonId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        }
      },
      "Office": {
        "required": [
          "id",
          "name",
          "fixedPhone",
          "preStreetAddress",
          "streetAddress",
          "postStreetAddress",
          "zipCode",
          "city",
          "countryCode"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "fixedPhone": {
            "type": "string",
            "nullable": true
          },
          "preStreetAddress": {
            "type": "string",
            "nullable": true
          },
          "streetAddress": {
            "type": "string",
            "nullable": true
          },
          "postStreetAddress": {
            "type": "string",
            "nullable": true
          },
          "zipCode": {
            "type": "string",
            "nullable": true
          },
          "city": {
            "type": "string",
            "nullable": true
          },
          "countryCode": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "Order": {
        "required": [
          "id",
          "description",
          "orderType",
          "isActive",
          "staffingServiceAlias",
          "recruitmentEnabled",
          "staffingState"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "orderType": {
            "type": "string",
            "nullable": true
          },
          "isActive": {
            "type": "boolean",
            "nullable": true
          },
          "staffingServiceAlias": {
            "type": "string",
            "nullable": true
          },
          "recruitmentEnabled": {
            "type": "boolean",
            "nullable": true
          },
          "staffingState": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "Organisation": {
        "required": [
          "id",
          "name",
          "treeLevel",
          "resultAccount",
          "canContainSalesAccount",
          "canContainCustOrder",
          "canContainOpportunity",
          "canContainEmployee",
          "descendantCount"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string"
          },
          "treeLevel": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "resultAccount": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "canContainSalesAccount": {
            "type": "boolean",
            "nullable": true
          },
          "canContainCustOrder": {
            "type": "boolean",
            "nullable": true
          },
          "canContainOpportunity": {
            "type": "boolean",
            "nullable": true
          },
          "canContainEmployee": {
            "type": "boolean",
            "nullable": true
          },
          "descendantCount": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        }
      },
      "PagedResultOfEmploymentListItem": {
        "required": [
          "pageSize",
          "nextPageToken",
          "totalCount",
          "items"
        ],
        "type": "object",
        "properties": {
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "nextPageToken": {
            "type": "string",
            "nullable": true
          },
          "totalCount": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EmploymentListItem"
            }
          }
        }
      },
      "PagedResultOfPersonListItem": {
        "required": [
          "pageSize",
          "nextPageToken",
          "totalCount",
          "items"
        ],
        "type": "object",
        "properties": {
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "nextPageToken": {
            "type": "string",
            "nullable": true
          },
          "totalCount": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PersonListItem"
            }
          }
        }
      },
      "Person": {
        "required": [
          "id",
          "firstName",
          "lastName",
          "note",
          "active",
          "userGroupId",
          "orgUnitId",
          "responsiblePersonId",
          "internalUser",
          "consultant",
          "activeEmployment",
          "candidate",
          "email",
          "phone",
          "mobilePhone",
          "workPhone",
          "otherPhone",
          "linkedinUrl",
          "title",
          "nationalIdentityNumber",
          "birthDate",
          "gender",
          "department",
          "createdDate",
          "modifiedDate",
          "modifiedBy",
          "careOf",
          "streetAddress",
          "addressLine2",
          "postalCode",
          "city",
          "countryCode",
          "pictureUrl",
          "thumbnailUrl",
          "pendingDeletion"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "firstName": {
            "type": "string",
            "nullable": true
          },
          "lastName": {
            "type": "string",
            "nullable": true
          },
          "note": {
            "type": "string",
            "nullable": true
          },
          "active": {
            "type": "boolean"
          },
          "userGroupId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "orgUnitId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "responsiblePersonId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "internalUser": {
            "type": "boolean"
          },
          "consultant": {
            "type": "boolean"
          },
          "activeEmployment": {
            "type": "boolean"
          },
          "candidate": {
            "type": "boolean"
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "phone": {
            "type": "string",
            "nullable": true
          },
          "mobilePhone": {
            "type": "string",
            "nullable": true
          },
          "workPhone": {
            "type": "string",
            "nullable": true
          },
          "otherPhone": {
            "type": "string",
            "nullable": true
          },
          "linkedinUrl": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "nationalIdentityNumber": {
            "type": "string",
            "nullable": true
          },
          "birthDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "gender": {
            "type": "string",
            "nullable": true
          },
          "department": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "createdDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "modifiedDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "modifiedBy": {
            "type": "string",
            "nullable": true
          },
          "careOf": {
            "type": "string",
            "nullable": true
          },
          "streetAddress": {
            "type": "string",
            "nullable": true
          },
          "addressLine2": {
            "type": "string",
            "nullable": true
          },
          "postalCode": {
            "type": "string",
            "nullable": true
          },
          "city": {
            "type": "string",
            "nullable": true
          },
          "countryCode": {
            "type": "string",
            "nullable": true
          },
          "pictureUrl": {
            "type": "string",
            "nullable": true
          },
          "thumbnailUrl": {
            "type": "string",
            "nullable": true
          },
          "pendingDeletion": {
            "type": "boolean"
          }
        }
      },
      "PersonListItem": {
        "required": [
          "id",
          "firstName",
          "lastName",
          "title",
          "email",
          "mobilePhone",
          "active",
          "internalUser",
          "consultant",
          "activeEmployment",
          "candidate",
          "managerId",
          "orgUnitId",
          "userGroupId",
          "modifiedDate",
          "pendingDeletion"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "firstName": {
            "type": "string",
            "nullable": true
          },
          "lastName": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "mobilePhone": {
            "type": "string",
            "nullable": true
          },
          "active": {
            "type": "boolean"
          },
          "internalUser": {
            "type": "boolean"
          },
          "consultant": {
            "type": "boolean"
          },
          "activeEmployment": {
            "type": "boolean"
          },
          "candidate": {
            "type": "boolean"
          },
          "managerId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "orgUnitId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "userGroupId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "modifiedDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "pendingDeletion": {
            "type": "boolean"
          }
        }
      },
      "ProblemDetails": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "detail": {
            "type": "string",
            "nullable": true
          },
          "instance": {
            "type": "string",
            "nullable": true
          }
        },
        "description": "RFC 9457 problem-details error body. Every Omaha error response carries two extensions: `errorCode`, a stable machine-readable code from the catalogue below, and `traceId` for support correlation. The `errorCode` values are part of the public contract and safe to key on; `title` and `detail` are human-readable and may change without notice.\r\n\r\n| errorCode | HTTP status | Meaning |\r\n| --- | --- | --- |\r\n| `validation_failed` | 400 | The request body failed Omaha's validation rules. |\r\n| `api_key_required` | 400 | The request is missing the X-Api-Key header required on business endpoints. |\r\n| `malformed_request` | 400 | The HTTP request could not be parsed or processed. |\r\n| `resource_not_found` | 404 | The requested resource does not exist. |\r\n| `request_too_large` | 413 | The request body exceeds the maximum allowed size. |\r\n| `rate_limit_exceeded` | 429 | The client exceeded its request rate limit; retry after the number of seconds in the Retry-After header. |\r\n| `internal_error` | 500 | An unexpected error occurred inside Omaha. |\r\n| `dependency_failure` | 502 | A downstream service returned an unexpected response. |\r\n| `dependency_unavailable` | 503 | A downstream service is temporarily unavailable. |\r\n| `dependency_timeout` | 504 | A downstream service did not respond in time. |\r\n"
      },
      "UpdateAbsenceCodeRequest": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "default": null,
            "nullable": true
          },
          "description": {
            "type": "string",
            "default": null,
            "nullable": true
          },
          "category": {
            "type": "string",
            "default": null,
            "nullable": true
          },
          "ruleType": {
            "type": "string",
            "default": null,
            "nullable": true
          },
          "refWeeksQty": {
            "type": "integer",
            "format": "int32",
            "default": null,
            "nullable": true
          },
          "isArchived": {
            "type": "boolean",
            "default": null,
            "nullable": true
          },
          "allowConsultantTimeReport": {
            "type": "boolean",
            "default": null,
            "nullable": true
          },
          "dayToArticle1": {
            "type": "integer",
            "format": "int32",
            "default": null,
            "nullable": true
          },
          "dayToArticle2": {
            "type": "integer",
            "format": "int32",
            "default": null,
            "nullable": true
          },
          "exportCode": {
            "type": "string",
            "default": null,
            "nullable": true
          },
          "allowForMonthlySalary": {
            "type": "boolean",
            "default": null,
            "nullable": true
          },
          "allowForGuaranteeSalary": {
            "type": "boolean",
            "default": null,
            "nullable": true
          },
          "allowForHourlySalary": {
            "type": "boolean",
            "default": null,
            "nullable": true
          },
          "allowForSubContractor": {
            "type": "boolean",
            "default": null,
            "nullable": true
          }
        }
      },
      "Workplace": {
        "required": [
          "id",
          "name",
          "orgNumber",
          "active",
          "headquarter",
          "supplier",
          "orgUnitId",
          "customerGroupId",
          "legalCompanyId",
          "parentId",
          "phone",
          "note",
          "createdDate",
          "modifiedDate"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "orgNumber": {
            "type": "string",
            "nullable": true
          },
          "active": {
            "type": "boolean",
            "nullable": true
          },
          "headquarter": {
            "type": "boolean",
            "nullable": true
          },
          "supplier": {
            "type": "boolean",
            "nullable": true
          },
          "orgUnitId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "customerGroupId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "legalCompanyId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "parentId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "phone": {
            "type": "string",
            "nullable": true
          },
          "note": {
            "type": "string",
            "nullable": true
          },
          "createdDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "modifiedDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        }
      }
    },
    "securitySchemes": {
      "OAuth2": {
        "type": "oauth2",
        "flows": {
          "authorizationCode": {
            "authorizationUrl": "https://900477.idp.intelliplan.eu/connect/authorize",
            "tokenUrl": "https://900477.idp.intelliplan.eu/connect/token",
            "scopes": {
              "omaha": "Access Omaha API"
            }
          }
        }
      },
      "ApiKey": {
        "type": "apiKey",
        "description": "Required for Omaha business API calls.",
        "name": "X-Api-Key",
        "in": "header"
      }
    }
  },
  "tags": [
    {
      "name": "Workplace"
    },
    {
      "name": "Person"
    },
    {
      "name": "Organisation"
    },
    {
      "name": "Order"
    },
    {
      "name": "Office"
    },
    {
      "name": "Employment"
    },
    {
      "name": "Contact"
    },
    {
      "name": "AbsenceCode"
    }
  ]
}