{
  "openapi": "3.0.4",
  "info": {
    "title": "360Score.me API 1.0",
    "description": "Get Employee Survey Responses and Scores",
    "contact": {
      "name": "360Score.me Support",
      "email": "support@360score.me"
    },
    "license": {
      "name": "MIT",
      "url": "https://opensource.org/licenses/MIT"
    },
    "version": "1.0"
  },
  "paths": {
    "/api/v1/Company/activeemployees": {
      "get": {
        "tags": [
          "Company"
        ],
        "summary": "Active Employees List",
        "parameters": [
          {
            "name": "PageNumber",
            "in": "query",
            "description": "Gets or sets the page number (1-based)",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "description": "Gets or sets the page size",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "employeeName",
            "in": "query",
            "description": "search by employee name",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "departmentName",
            "in": "query",
            "description": "search by employee dept",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "tagName",
            "in": "query",
            "description": "search by employee location",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "title",
            "in": "query",
            "description": "search by employee title",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the paged list of nodes",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Nodes_ResultLinkedPagedResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Nodes_ResultLinkedPagedResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Nodes_ResultLinkedPagedResponse"
                }
              }
            }
          },
          "401": {
            "description": "If the API key is invalid or missing",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/Company/departments": {
      "get": {
        "tags": [
          "Company"
        ],
        "summary": "Active Departments",
        "responses": {
          "200": {
            "description": "Returns Active Departments",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Department_Result"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Department_Result"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Department_Result"
                  }
                }
              }
            }
          },
          "401": {
            "description": "If the API key is invalid or missing",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/Company/titles": {
      "get": {
        "tags": [
          "Company"
        ],
        "summary": "Active Titles",
        "responses": {
          "200": {
            "description": "Returns Active Titles",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Title_Result"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Title_Result"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Title_Result"
                  }
                }
              }
            }
          },
          "401": {
            "description": "If the API key is invalid or missing",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/Company/tags": {
      "get": {
        "tags": [
          "Company"
        ],
        "summary": "Active Tags",
        "responses": {
          "200": {
            "description": "Returns Active Departments",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Tag_Result"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Tag_Result"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Tag_Result"
                  }
                }
              }
            }
          },
          "401": {
            "description": "If the API key is invalid or missing",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/Company/closedhappinesssurveys": {
      "get": {
        "tags": [
          "Company"
        ],
        "summary": "Closed Happiness Surveys",
        "responses": {
          "200": {
            "description": "Returns List of Survey Schedules that are closed",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/HappinessSurveySchedules_Result"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/HappinessSurveySchedules_Result"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/HappinessSurveySchedules_Result"
                  }
                }
              }
            }
          },
          "401": {
            "description": "If the API key is invalid or missing",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/Employee/contributorscore": {
      "get": {
        "tags": [
          "Employee"
        ],
        "summary": "Contributor Score",
        "parameters": [
          {
            "name": "PageNumber",
            "in": "query",
            "description": "Gets or sets the page number (1-based)",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "description": "Gets or sets the page size",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "employeeName",
            "in": "query",
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "departmentName",
            "in": "query",
            "description": "Search by department",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "tagName",
            "in": "query",
            "description": "Search by Location",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "title",
            "in": "query",
            "description": "Search by employee title",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ContributorScoreStartDate",
            "in": "query",
            "description": "Optional Contributor start date",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "ContributorScoreEndDate",
            "in": "query",
            "description": "Optional Contributor end date",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "ResponseRateStartDate",
            "in": "query",
            "description": "Optional Response start date",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "ResponseRateEndDate",
            "in": "query",
            "description": "Optional Response start date",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the employee list with their contributor score",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ContributorScores_ResultLinkedPagedResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContributorScores_ResultLinkedPagedResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContributorScores_ResultLinkedPagedResponse"
                }
              }
            }
          },
          "401": {
            "description": "If the API key is invalid or missing",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/Employee/happinesssurveyresponse": {
      "get": {
        "tags": [
          "Employee"
        ],
        "summary": "Happiness Survey Responses",
        "parameters": [
          {
            "name": "PageNumber",
            "in": "query",
            "description": "Gets or sets the page number (1-based)",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "description": "Gets or sets the page size",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "SurveyScheduleID",
            "in": "query",
            "description": "Survey ID",
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "SurveyScheduleName",
            "in": "query",
            "description": "Happiness Survey Title",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "StartDate",
            "in": "query",
            "description": "Survey Start Date",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "EndDate",
            "in": "query",
            "description": "Survey End Date",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the employee response score, comments and replies of closed happiness surveys",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HappinessSurveyResponseWithFeedback_ResultLinkedPagedResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HappinessSurveyResponseWithFeedback_ResultLinkedPagedResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HappinessSurveyResponseWithFeedback_ResultLinkedPagedResponse"
                }
              }
            }
          },
          "401": {
            "description": "If the API key is invalid or missing",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/Employee/happinesssurveysummary": {
      "get": {
        "tags": [
          "Employee"
        ],
        "summary": "Happiness Survey Summary",
        "parameters": [
          {
            "name": "PageNumber",
            "in": "query",
            "description": "Gets or sets the page number (1-based)",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "description": "Gets or sets the page size",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "SurveyScheduleID",
            "in": "query",
            "description": "Schedule ID",
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "SurveyTitle",
            "in": "query",
            "description": "Happiness Survey Title",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "DepartmentId",
            "in": "query",
            "description": "Deptartment internal ID",
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "DepartmentName",
            "in": "query",
            "description": "Name of Department",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "TagtId",
            "in": "query",
            "description": "Location internal ID",
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "TagName",
            "in": "query",
            "description": "Location Name",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "StartDate",
            "in": "query",
            "description": "Happiness survey starting period",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "EndDate",
            "in": "query",
            "description": "Happiness survey ending period",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns Response Rate and Happiness score summary for each closed happiness survey",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HappinessSurveySummary_ResultLinkedPagedResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HappinessSurveySummary_ResultLinkedPagedResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HappinessSurveySummary_ResultLinkedPagedResponse"
                }
              }
            }
          },
          "401": {
            "description": "If the API key is invalid or missing",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/Employee/happinessquestionratings": {
      "get": {
        "tags": [
          "Employee"
        ],
        "summary": "Happiness Survey Question Ratings",
        "parameters": [
          {
            "name": "PageNumber",
            "in": "query",
            "description": "Gets or sets the page number (1-based)",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "description": "Gets or sets the page size",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "SurveyScheduleID",
            "in": "query",
            "description": "Survey Schedule ID",
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "SurveyTitle",
            "in": "query",
            "description": "Scheduled Survey Title",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "StartDate",
            "in": "query",
            "description": "Happiness Survey sent after this date",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "EndDate",
            "in": "query",
            "description": "Happiness Survey sent before this date",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns Average ratings received on happiness survey questions",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HappinessSurveyQuestionRatings_ResultLinkedPagedResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HappinessSurveyQuestionRatings_ResultLinkedPagedResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HappinessSurveyQuestionRatings_ResultLinkedPagedResponse"
                }
              }
            }
          },
          "401": {
            "description": "If the API key is invalid or missing",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "ContributorScores_Result": {
        "type": "object",
        "properties": {
          "nodeID": {
            "type": "integer",
            "description": "Id of Employee in the system",
            "format": "int64"
          },
          "employeeName": {
            "type": "string",
            "description": "Full name of Employee",
            "nullable": true
          },
          "employeePhoto": {
            "type": "string",
            "description": "Employee Photo otherwise empty string",
            "nullable": true
          },
          "email": {
            "type": "string",
            "description": "Email of Employee",
            "nullable": true
          },
          "departmentName": {
            "type": "string",
            "description": "Name of Employee Department",
            "nullable": true
          },
          "tagName": {
            "type": "string",
            "description": "Tag Represent Location",
            "nullable": true
          },
          "title": {
            "type": "string",
            "description": "Title of Employee",
            "nullable": true
          },
          "responseRate": {
            "type": "number",
            "description": "Employee Response Rate",
            "format": "float",
            "nullable": true
          },
          "contributorScore": {
            "type": "string",
            "description": "Employee contributor score",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "It gives employee Contributor Score and Response Rate"
      },
      "ContributorScores_ResultLinkedPagedResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ContributorScores_Result"
            },
            "description": "Gets the current page items",
            "nullable": true,
            "readOnly": true
          },
          "pagination": {
            "$ref": "#/components/schemas/PaginationMetadata"
          },
          "links": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LinkedResource"
            },
            "description": "Gets the links",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Paged response with hypermedia links"
      },
      "Department_Result": {
        "type": "object",
        "properties": {
          "departmentID": {
            "type": "integer",
            "description": "Department internal ID",
            "format": "int64"
          },
          "departmentName": {
            "type": "string",
            "description": "Department Name",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Company active Departments"
      },
      "HappinessSurveyEmployeeFeedback_Result": {
        "type": "object",
        "properties": {
          "feedback_ID": {
            "type": "integer",
            "description": "Feedback/Reply left on Employee Response",
            "format": "int64",
            "nullable": true
          },
          "feedback_Comment": {
            "type": "string",
            "description": "Comments replied to Employee Response",
            "nullable": true
          },
          "feedback_Date": {
            "type": "string",
            "description": "Date of Reply/Feedback",
            "format": "date-time",
            "nullable": true
          },
          "feedback_ContactName": {
            "type": "string",
            "description": "Feedback left by Employee",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Employee Feedback on Happiness Survey Response"
      },
      "HappinessSurveyQuestionRatings_Result": {
        "type": "object",
        "properties": {
          "questionID": {
            "type": "integer",
            "description": "Rec Id of Survey Question",
            "format": "int64"
          },
          "questionTitle": {
            "type": "string",
            "description": "Additional Question asked in happiness survey",
            "nullable": true
          },
          "averageRating": {
            "type": "number",
            "description": "Average of rating on this question from all recipietns",
            "format": "float",
            "nullable": true
          },
          "totalRecipients": {
            "type": "integer",
            "description": "Total Employees responded to this question",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Average Scores received for happiness survey questions"
      },
      "HappinessSurveyQuestionRatings_ResultLinkedPagedResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HappinessSurveyQuestionRatings_Result"
            },
            "description": "Gets the current page items",
            "nullable": true,
            "readOnly": true
          },
          "pagination": {
            "$ref": "#/components/schemas/PaginationMetadata"
          },
          "links": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LinkedResource"
            },
            "description": "Gets the links",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Paged response with hypermedia links"
      },
      "HappinessSurveyResponseWithFeedback_Result": {
        "type": "object",
        "properties": {
          "response_RecipientID": {
            "type": "integer",
            "description": "Internal Recipient ID",
            "format": "int64"
          },
          "response_SurveyID": {
            "type": "integer",
            "description": "Happiness Survey Internal ID",
            "format": "int64"
          },
          "response_SurveyTitle": {
            "type": "string",
            "description": "Title of Happiness Survey",
            "nullable": true
          },
          "response_SurveySent": {
            "type": "string",
            "description": "Happiness Survey Sent Date",
            "format": "date-time",
            "nullable": true
          },
          "response_Score": {
            "type": "integer",
            "description": "[1-10] Score received from Employee",
            "format": "int32"
          },
          "response_Comment": {
            "type": "string",
            "description": "Optional Comments received from Employee",
            "nullable": true
          },
          "response_Date": {
            "type": "string",
            "description": "Response Date",
            "format": "date-time",
            "nullable": true
          },
          "feedbacks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HappinessSurveyEmployeeFeedback_Result"
            },
            "description": "List of Feedback recieved on each response",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Happiness Survey Responses with their feedback from other employees"
      },
      "HappinessSurveyResponseWithFeedback_ResultLinkedPagedResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HappinessSurveyResponseWithFeedback_Result"
            },
            "description": "Gets the current page items",
            "nullable": true,
            "readOnly": true
          },
          "pagination": {
            "$ref": "#/components/schemas/PaginationMetadata"
          },
          "links": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LinkedResource"
            },
            "description": "Gets the links",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Paged response with hypermedia links"
      },
      "HappinessSurveySchedules_Result": {
        "type": "object",
        "properties": {
          "surveyScheduleID": {
            "type": "integer",
            "description": "Schedule Rec Id",
            "format": "int64"
          },
          "surveyTitle": {
            "type": "string",
            "description": "Title of Survey",
            "nullable": true
          },
          "sentOn": {
            "type": "string",
            "description": "Date survey sent to employees",
            "format": "date-time",
            "nullable": true
          },
          "expiredOn": {
            "type": "string",
            "description": "Survey close date",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Happiness Surveys that are closed"
      },
      "HappinessSurveySummary_Result": {
        "type": "object",
        "properties": {
          "scheduleID": {
            "type": "integer",
            "description": "Schedule ID",
            "format": "int64"
          },
          "surveyTitle": {
            "type": "string",
            "description": "Survey Title",
            "nullable": true
          },
          "surveySentOn": {
            "type": "string",
            "description": "Happiness Survey Sent date",
            "format": "date-time",
            "nullable": true
          },
          "totalRecipients": {
            "type": "integer",
            "description": "Total Employees Received the survey",
            "format": "int32",
            "nullable": true
          },
          "totalResponses": {
            "type": "integer",
            "description": "Number of Employees Responded to survey",
            "format": "int32",
            "nullable": true
          },
          "avgResponseRate": {
            "type": "number",
            "description": "Average Response Rate on Happiness Survey",
            "format": "float",
            "nullable": true
          },
          "score": {
            "type": "number",
            "description": "Happiness Score",
            "format": "float",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Responses Summary by Surveys"
      },
      "HappinessSurveySummary_ResultLinkedPagedResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HappinessSurveySummary_Result"
            },
            "description": "Gets the current page items",
            "nullable": true,
            "readOnly": true
          },
          "pagination": {
            "$ref": "#/components/schemas/PaginationMetadata"
          },
          "links": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LinkedResource"
            },
            "description": "Gets the links",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Paged response with hypermedia links"
      },
      "LinkedResource": {
        "type": "object",
        "properties": {
          "href": {
            "type": "string",
            "description": "Gets the link href",
            "nullable": true
          },
          "rel": {
            "type": "string",
            "description": "Gets the link relation",
            "nullable": true
          },
          "method": {
            "type": "string",
            "description": "Gets the HTTP method",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents a link to a resource"
      },
      "Nodes_Result": {
        "type": "object",
        "properties": {
          "nodeID": {
            "type": "integer",
            "description": "Id of Employee in the system",
            "format": "int64"
          },
          "employeeName": {
            "type": "string",
            "description": "Full name of Employee",
            "nullable": true
          },
          "employeePhoto": {
            "type": "string",
            "description": "Employee Photo otherwise empty string",
            "nullable": true
          },
          "email": {
            "type": "string",
            "description": "Email of Employee",
            "nullable": true
          },
          "departmentName": {
            "type": "string",
            "description": "Name of Employee Department",
            "nullable": true
          },
          "tagName": {
            "type": "string",
            "description": "Tag Represent Location",
            "nullable": true
          },
          "title": {
            "type": "string",
            "description": "Title of Employee",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represent a employee node data item in the system"
      },
      "Nodes_ResultLinkedPagedResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Nodes_Result"
            },
            "description": "Gets the current page items",
            "nullable": true,
            "readOnly": true
          },
          "pagination": {
            "$ref": "#/components/schemas/PaginationMetadata"
          },
          "links": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LinkedResource"
            },
            "description": "Gets the links",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Paged response with hypermedia links"
      },
      "PaginationMetadata": {
        "type": "object",
        "properties": {
          "currentPage": {
            "type": "integer",
            "description": "Gets or sets the current page",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Gets or sets the page size",
            "format": "int32"
          },
          "totalCount": {
            "type": "integer",
            "description": "Gets or sets the total count",
            "format": "int32"
          },
          "totalPages": {
            "type": "integer",
            "description": "Gets or sets the total pages",
            "format": "int32"
          },
          "hasPrevious": {
            "type": "boolean",
            "description": "Gets or sets a value indicating whether there is a previous page"
          },
          "hasNext": {
            "type": "boolean",
            "description": "Gets or sets a value indicating whether there is a next page"
          }
        },
        "additionalProperties": false,
        "description": "Metadata for pagination"
      },
      "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
          }
        },
        "additionalProperties": { }
      },
      "Tag_Result": {
        "type": "object",
        "properties": {
          "tagID": {
            "type": "integer",
            "description": "Intenal Tag ID",
            "format": "int64",
            "nullable": true
          },
          "tagName": {
            "type": "string",
            "description": "Tag/Title Name",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Company Tags/Locations"
      },
      "Title_Result": {
        "type": "object",
        "properties": {
          "titleID": {
            "type": "integer",
            "description": "Title internal ID",
            "format": "int64"
          },
          "titleName": {
            "type": "string",
            "description": "Title Name",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Employee Titles"
      }
    },
    "securitySchemes": {
      "ApiKey": {
        "type": "apiKey",
        "description": "API Key Authentication using the X-API-KEY header",
        "name": "X-API-KEY",
        "in": "header"
      }
    }
  },
  "security": [
    {
      "ApiKey": [ ]
    }
  ]
}