{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/eightfold-ai/main/json-schema/eightfold-ai-hrisemployee-schema-schema.json", "title": "HRISEmployeeSchema", "x-generated": "2026-10-14", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/eightfold-ai-api-server-v2-service-service-openapi.yml#/components/schemas/HRISEmployeeSchema", "type": "object", "properties": { "employeeType": { "type": [ "string", "null" ], "readOnly": true, "description": "Type of the employee" }, "locationCountry": { "type": [ "string", "null" ], "readOnly": true, "description": "The location country of the employee" }, "bonusAmount": { "type": [ "integer", "null" ], "format": "int32", "readOnly": true, "description": "The amount of the bonus of the employee" }, "middleName": { "type": [ "string", "null" ], "readOnly": true, "description": "Middle name of the employee" }, "employmentStatus": { "type": [ "string", "null" ], "readOnly": true, "description": "Current employment status" }, "managerEmail": { "type": [ "string", "null" ], "readOnly": true, "description": "The email of the manager" }, "positionCriticality": { "type": [ "array", "null" ], "readOnly": true, "description": "The criticality of the position of the employee", "items": { "type": "string" } }, "isContingent": { "type": [ "boolean", "null" ], "readOnly": true, "description": "Is contingent" }, "bonusAmountCurrency": { "type": [ "string", "null" ], "readOnly": true, "description": "The currency of the bonus given to the employee" }, "location": { "type": [ "string", "null" ], "readOnly": true, "description": "The location of the employee" }, "badges": { "readOnly": true, "description": "The badges of the employee", "type": [ "array", "null" ], "items": { "$ref": "#/$defs/EmployeeBadge" } }, "firstName": { "type": [ "string", "null" ], "readOnly": true, "description": "First Name of employee" }, "mobility": { "readOnly": true, "nullable": true, "description": "The mobility of the employee", "allOf": [ { "$ref": "#/$defs/EmployeeMobility" } ] }, "bu": { "type": [ "string", "null" ], "readOnly": true, "description": "The Business unit of the employee" }, "email": { "type": [ "string", "null" ], "readOnly": true, "description": "List of Emails of the employee comma seperated" }, "bonusAmountFrequency": { "type": [ "string", "null" ], "readOnly": true, "description": "The frequency of the bonus pay to the employee" }, "basePayCurrency": { "type": [ "string", "null" ], "readOnly": true, "description": "The currency of the base pay of the employee" }, "basePay": { "readOnly": true, "nullable": true, "description": "The base pay of the employee", "allOf": [ { "$ref": "#/$defs/Pay" } ] }, "level": { "type": [ "string", "null" ], "readOnly": true, "description": "The job level of the employee" }, "maritalStatus": { "type": [ "string", "null" ], "readOnly": true, "description": "Marital status of the employee" }, "terminationType": { "type": [ "string", "null" ], "readOnly": true, "description": "Type of termination (voluntary / involuntary)" }, "userId": { "type": [ "string", "null" ], "readOnly": true, "description": "The userId of the employee" }, "lastReviewRating": { "type": [ "string", "null" ], "readOnly": true, "description": "The last review rating of the employee" }, "externalJobId": { "type": [ "string", "null" ], "readOnly": true, "description": "External job id of the employee" }, "additionalManagers": { "readOnly": true, "description": "The additional managers of the employee", "type": [ "array", "null" ], "items": { "$ref": "#/$defs/AdditionalManager" } }, "customInfo": { "type": [ "object", "null" ], "readOnly": true, "description": "The custom info captured for the employee by custom fields" }, "employmentDates": { "readOnly": true, "description": "Employee lifecycle dates not covered by hiringDate / roleChangeDate / terminationDate, as a typed list of {type, date}", "type": [ "array", "null" ], "items": { "$ref": "#/$defs/EmployeeEmploymentDate" } }, "tenureYears": { "type": [ "number", "null" ], "format": "float", "readOnly": true, "description": "The total tenure years of the employee" }, "systemId": { "type": [ "string", "null" ], "readOnly": true, "description": "The system id of the HRIS system in EF" }, "employeeCriticality": { "readOnly": true, "nullable": true, "description": "The criticality information of the employee", "allOf": [ { "$ref": "#/$defs/EmployeeCriticality" } ] }, "salutation": { "type": [ "string", "null" ], "readOnly": true, "description": "Salutation / title prefix (Mr, Ms, Dr, etc.)" }, "companyName": { "type": [ "string", "null" ], "readOnly": true, "description": "The company name of the employee" }, "phone": { "type": [ "string", "null" ], "readOnly": true, "description": "The phone number of the employee" }, "employmentBasis": { "type": [ "string", "null" ], "readOnly": true, "description": "Employment basis (full-time / part-time)" }, "performanceRatings": { "readOnly": true, "description": "The performance rating of the employee", "type": [ "array", "null" ], "items": { "$ref": "#/$defs/EmployeePerformanceRating" } }, "languages": { "readOnly": true, "description": "The employee language proficiencies", "type": [ "array", "null" ], "items": { "$ref": "#/$defs/EmployeeLanguageProficiency" } }, "title": { "type": [ "string", "null" ], "readOnly": true, "description": "The title of the employee" }, "pronouns": { "type": [ "string", "null" ], "readOnly": true, "description": "Preferred pronouns of the employee" }, "externalSystemIds": { "readOnly": true, "description": "The employee's identifier in each external system (payroll vendor, etc.), as a typed list of {type, value}", "type": [ "array", "null" ], "items": { "$ref": "#/$defs/EmployeeExternalSystemId" } }, "id": { "type": [ "string", "null" ], "readOnly": true, "description": "The unique id of the Employee in the HRIS system" }, "terminationDate": { "type": [ "string", "null" ], "readOnly": true, "description": "The termination date of the employee" }, "hiringDate": { "type": [ "string", "null" ], "readOnly": true, "description": "The hiring date of the employee" }, "managerUserId": { "type": [ "string", "null" ], "readOnly": true, "description": "The user id of the manager in HRIS system" }, "citizenship": { "type": [ "array", "null" ], "readOnly": true, "description": "Citizenships held by the employee (a list, to carry dual citizenship)", "items": { "type": "string" } }, "preferredLastName": { "type": [ "string", "null" ], "readOnly": true, "description": "Last name the employee goes by" }, "terminationRegrettable": { "type": [ "string", "null" ], "readOnly": true, "description": "Whether the termination was regrettable" }, "successionPlan": { "readOnly": true, "nullable": true, "description": "The succession plan of the employee", "allOf": [ { "$ref": "#/$defs/EmployeeSuccessionPlan" } ] }, "bonus": { "readOnly": true, "nullable": true, "description": "The bonus given to the employee", "allOf": [ { "$ref": "#/$defs/Pay" } ] }, "lastActivityTs": { "type": [ "integer", "null" ], "format": "int32", "readOnly": true, "description": "The last activity timestamp" }, "managerFullname": { "type": [ "string", "null" ], "readOnly": true, "description": "The full name of the manager" }, "rehireEligibility": { "type": [ "string", "null" ], "readOnly": true, "description": "Rehire eligibility status of the employee" }, "jobCode": { "type": [ "string", "null" ], "readOnly": true, "description": "The job code of the employee" }, "timezone": { "type": [ "string", "null" ], "readOnly": true, "description": "Working time zone" }, "tenureCurrentRoleYears": { "type": [ "number", "null" ], "format": "float", "readOnly": true, "description": "The no of years the employee is in current role" }, "basePayFrequency": { "type": [ "string", "null" ], "readOnly": true, "description": "The frequency of the base pay of the employee" }, "shift": { "type": [ "string", "null" ], "readOnly": true, "description": "Shift label (morning / evening / night / general)" }, "lob": { "type": [ "string", "null" ], "readOnly": true, "description": "The lob of the employee" }, "roleChangeDate": { "type": [ "string", "null" ], "readOnly": true, "description": "The last role change date of the employee" }, "preferredFirstName": { "type": [ "string", "null" ], "readOnly": true, "description": "First name the employee goes by" }, "role": { "type": [ "string", "null" ], "readOnly": true, "description": "The role of the employee" }, "eligibleForTransfer": { "type": [ "boolean", "null" ], "readOnly": true, "description": "Is the employee eligible for transfer or not" }, "workplaceModel": { "type": [ "string", "null" ], "readOnly": true, "description": "Workplace model (office / hybrid / remote)" }, "lastName": { "type": [ "string", "null" ], "readOnly": true, "description": "Last Name of employee" } }, "$defs": { "AdditionalManager": { "type": "object", "properties": { "capacityManagerEmail": { "type": [ "string", "null" ], "readOnly": true, "description": "The email of the capacity manager" }, "employeeId": { "type": [ "string", "null" ], "description": "Employee id of the additional manager in the HRIS system" }, "type": { "type": [ "string", "null" ], "description": "Type of the additional manager (e.g. capacity)" }, "email": { "type": [ "string", "null" ], "description": "Email of the additional manager" } } }, "EmployeeBadge": { "type": "object", "properties": { "badgeId": { "type": [ "string", "null" ], "description": "The id of the badge" }, "userId": { "type": [ "string", "null" ], "description": "The user id the badge belongs to." }, "creator": { "type": [ "string", "null" ], "description": "The creator of the badge" }, "photoUrl": { "type": [ "string", "null" ], "description": "The photo url" }, "lastModifiedTs": { "type": [ "integer", "null" ], "format": "int32", "description": "The last modified timestamp of the badge" }, "photoContent": { "nullable": true, "description": "The photo content", "allOf": [ { "$ref": "#/$defs/PhotoContent" } ] }, "comment": { "type": [ "string", "null" ], "description": "comment on the badge" }, "title": { "type": [ "string", "null" ], "description": "The title of the badge" } } }, "EmployeeCriticality": { "type": "object", "properties": { "riskOfLoss": { "type": [ "string", "null" ], "description": "The risk of looking the employee" }, "impactOfLoss": { "type": [ "string", "null" ], "description": "The impact of loss of the employee" } } }, "EmployeeEmploymentDate": { "type": "object", "properties": { "date": { "type": [ "string", "null" ], "description": "The date itself, as YYYY-MM-DD" }, "type": { "type": "string", "enum": [ "original_hire", "continuous_service", "internal_transfer", "probation_end", "employment_confirmation", "last_working_day", "resignation" ], "description": "Type of lifecycle date. One of ats.base.EmploymentDateType" } }, "required": [ "type" ] }, "EmployeeExternalSystemId": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "paylocity", "greythr" ], "description": "External system holding the id. One of ats.base.ExternalSystemType" }, "value": { "type": [ "string", "null" ], "description": "Identifier of the employee in that system" } }, "required": [ "type" ] }, "EmployeeLanguageProficiency": { "type": "object", "properties": { "read": { "type": [ "string", "null" ], "description": "The reading proficiency" }, "speak": { "type": [ "string", "null" ], "description": "The speaking proficiency" }, "overall": { "type": [ "string", "null" ], "description": "The overall proficiency" }, "language": { "type": [ "string", "null" ], "description": "The language string" }, "write": { "type": [ "string", "null" ], "description": "The writing proficiency" } } }, "EmployeeMobility": { "type": "object", "properties": { "comments": { "type": [ "string", "null" ], "description": "The comments" }, "travelPercentageMin": { "type": [ "number", "null" ], "format": "float", "description": "The min travel percentage" }, "relocationLocations": { "type": [ "array", "null" ], "description": "The relocation locations", "items": { "type": "string" } }, "relocation": { "type": [ "string", "null" ], "description": "The relocation information" }, "travel": { "type": [ "string", "null" ], "description": "The travel detail" }, "travelPercentageMax": { "type": [ "number", "null" ], "format": "float", "description": "The max travel percentage" } } }, "EmployeePerformanceRating": { "type": "object", "properties": { "periodEndDate": { "type": [ "string", "null" ], "description": "The performance period end date" }, "rating": { "type": [ "number", "null" ], "format": "float", "description": "The rating given" }, "reviewedBy": { "nullable": true, "description": "The reviewer info", "allOf": [ { "$ref": "#/$defs/User" } ] }, "ratingLabel": { "type": [ "string", "null" ], "description": "The rating level" }, "reviewComments": { "type": [ "string", "null" ], "description": "The review comments" }, "periodStartDate": { "type": [ "string", "null" ], "description": "The performance period start date" }, "reviewType": { "type": [ "string", "null" ], "description": "The review type" } } }, "EmployeeSuccessionPlan": { "type": "object", "properties": { "comments": { "type": [ "string", "null" ], "description": "The comments" }, "planDate": { "type": [ "string", "null" ], "description": "The date of the plan" }, "planName": { "type": [ "string", "null" ], "description": "The name of the plan" }, "successors": { "description": "The successors of an employee", "type": [ "array", "null" ], "items": { "$ref": "#/$defs/EmployeeSuccessor" } } } }, "EmployeeSuccessor": { "type": "object", "properties": { "employeeDetails": { "nullable": true, "description": "The employee details", "allOf": [ { "$ref": "#/$defs/User" } ] }, "readiness": { "type": [ "string", "null" ], "description": "The readiness of the successor" }, "rank": { "type": [ "integer", "null" ], "format": "int32", "description": "The rank" }, "comments": { "type": [ "string", "null" ], "description": "The comments" } } }, "Pay": { "type": "object", "properties": { "frequency": { "type": [ "string", "null" ], "description": "The frequency of pay" }, "amount": { "type": [ "number", "null" ], "format": "float", "description": "The amount of pay" }, "currency": { "type": [ "string", "null" ], "description": "The currency of pay in ISO format" } } }, "PhotoContent": { "type": "object", "properties": { "extension": { "type": [ "string", "null" ], "readOnly": true, "description": "The extension of the photo" }, "content": { "type": [ "string", "null" ], "readOnly": true, "description": "The actual string content" }, "isBase64": { "type": [ "boolean", "null" ], "readOnly": true, "description": "Is the content base 64 encoded" } } }, "User": { "type": "object", "properties": { "atsUserGroups": { "description": "The user groups", "type": [ "array", "null" ], "items": { "$ref": "#/$defs/UserGroup" } }, "name": { "type": [ "string", "null" ], "description": "The name of the user" }, "atsRoles": { "type": [ "array", "null" ], "description": "The ats roles", "items": { "type": "string" } }, "userId": { "type": [ "string", "null" ], "description": "The user id of the user" }, "firstName": { "type": [ "string", "null" ], "description": "The first name of the user" }, "lastName": { "type": [ "string", "null" ], "description": "The last name of the user" }, "email": { "type": [ "string", "null" ], "format": "email", "description": "The email of the user" } } }, "UserGroup": { "type": "object", "properties": { "userGroupId": { "type": [ "string", "null" ], "format": "email", "description": "" } } } } }