{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/gloat/main/json-schema/gloat-job-title-read-schema.json", "title": "JobTitleRead", "x-generated": "2026-10-14", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/gloat-skills-foundation-api-openapi.yml#/components/schemas/JobTitleRead", "properties": { "skills": { "anyOf": [ { "items": { "$ref": "#/$defs/SkillAPI" }, "type": "array" }, { "type": "null" } ], "title": "Skills" }, "skillComponents": { "anyOf": [ { "items": { "$ref": "#/$defs/SkillComponent-Output" }, "type": "array" }, { "type": "null" } ], "title": "Skillcomponents" }, "titleId": { "type": "string", "title": "Titleid" }, "name": { "type": "string", "title": "Name" }, "jobCode": { "anyOf": [ { "$ref": "#/$defs/SimpleJobCodeResponse-Output" }, { "type": "null" } ] }, "family": { "anyOf": [ { "$ref": "#/$defs/JobCodeFamilyAPI-Output" }, { "type": "null" } ] }, "gradeLevel": { "type": "string", "title": "Gradelevel" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Description" }, "descriptionSource": { "anyOf": [ { "$ref": "#/$defs/DescriptionSource" }, { "type": "null" } ] }, "promoted": { "type": "boolean", "title": "Promoted" }, "status": { "$ref": "#/$defs/Status" }, "jobType": { "anyOf": [ { "$ref": "#/$defs/JobType" }, { "type": "null" } ] }, "id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Id" }, "lastUpdated": { "anyOf": [ { "$ref": "#/$defs/ChangeInfoRead" }, { "type": "null" } ] }, "created": { "anyOf": [ { "$ref": "#/$defs/ChangeInfoRead" }, { "type": "null" } ] }, "areRequiredSkillsDescriptionBased": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Arerequiredskillsdescriptionbased", "default": false } }, "type": "object", "$defs": { "ChangeInfoRead": { "properties": { "date": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Date" }, "userId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Userid" }, "userName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Username" } }, "type": "object", "title": "ChangeInfoRead" }, "DescriptionSource": { "type": "string", "enum": [ "source", "ai" ], "title": "DescriptionSource" }, "DisplayedTerm": { "properties": { "id": { "type": "string", "title": "Id" }, "display": { "type": "string", "title": "Display" }, "language": { "type": "string", "title": "Language" } }, "additionalProperties": true, "type": "object", "required": [ "id", "display", "language" ], "title": "DisplayedTerm", "description": "Represents a displayed term with basic properties.\n\nThis model is configured to allow additional fields beyond those explicitly defined.\nThis flexibility enables the incorporation of extra keys from the ontology without enforcing a rigid schema." }, "ImportanceEnum": { "type": "string", "enum": [ "low", "medium", "high", "crucial" ], "title": "ImportanceEnum" }, "JobCodeFamilyAPI-Output": { "properties": { "id": { "type": "string", "title": "Id" }, "name": { "type": "string", "title": "Name" } }, "type": "object", "required": [ "id", "name" ], "title": "JobCodeFamilyAPI" }, "JobType": { "type": "string", "enum": [ "manager", "individual" ], "title": "JobType" }, "SimpleJobCodeResponse-Output": { "properties": { "id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Id" }, "code": { "type": "string", "title": "Code" }, "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Name" } }, "type": "object", "required": [ "code" ], "title": "SimpleJobCodeResponse" }, "SkillAPI": { "properties": { "name": { "type": "string", "title": "Name" }, "language": { "type": "string", "title": "Language", "default": "en" }, "level": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Level" }, "source": { "$ref": "#/$defs/SkillSource", "default": "company" }, "importance": { "anyOf": [ { "$ref": "#/$defs/ImportanceEnum" }, { "type": "null" } ] }, "entitySource": { "anyOf": [ { "type": "string", "enum": [ "job_title", "job_code", "job_family" ] }, { "type": "null" } ], "title": "Entitysource" }, "isDeleted": { "type": "boolean", "title": "Isdeleted", "default": false }, "isCascaded": { "type": "boolean", "title": "Iscascaded", "default": false }, "createdAt": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Createdat" }, "modifiedAt": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Modifiedat" }, "externalId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Externalid" }, "taxonomy": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Taxonomy" } }, "type": "object", "required": [ "name" ], "title": "SkillAPI", "description": "Skill model for API responses (GET) - no validation to support legacy data" }, "SkillComponent-Output": { "properties": { "skill": { "anyOf": [ { "$ref": "#/$defs/DisplayedTerm" }, { "type": "null" } ] }, "tags": { "items": { "$ref": "#/$defs/Tag" }, "type": "array", "title": "Tags" }, "entity": { "additionalProperties": true, "type": "object", "title": "Entity" }, "is_unknown_skill": { "type": "boolean", "title": "Is Unknown Skill", "readOnly": true }, "name": { "type": "string", "title": "Name", "readOnly": true } }, "type": "object", "required": [ "tags", "is_unknown_skill", "name" ], "title": "SkillComponent", "description": "Represents a grouped skill component.\n\nAttributes:\n - skill: The associated DisplayedTerm (if found).\n - tags: A list of Tag objects grouped for this skill.\n - entity: A dictionary containing additional merged entity data." }, "SkillSource": { "type": "string", "enum": [ "company", "enrichment" ], "title": "SkillSource" }, "Status": { "type": "string", "enum": [ "Active", "Inactive", "Draft" ], "title": "Status", "description": "a class represents the status" }, "Tag": { "properties": { "name": { "type": "string", "title": "Name" }, "language": { "type": "string", "title": "Language" } }, "additionalProperties": true, "type": "object", "required": [ "name", "language" ], "title": "Tag", "description": "Represents a tag with basic attributes.\n\nThe model accepts extra entity data beyond the defined fields, allowing for the inclusion of\nadditional metadata without a strict format requirement." } } }