{
  "openapi": "3.1.0",
  "info": {
    "version": "v0.0.120 build:4575 sha:55469627621e3f33346feaf3cb659410dba9cdb6",
    "title": "Taxonomy Model API",
    "description": "Taxonomy Model API Documentation",
    "license": {
      "name": "MIT",
      "url": "https://github.com/tabiya-tech/taxonomy-model-application/blob/main/LICENSE"
    }
  },
  "components": {
    "responses": {
      "AcceptOnlyJSONResponse": {
        "description": "Only 'application/json' is supported as request payload.",
        "content": {
          "application /json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorSchema"
            }
          }
        }
      },
      "InternalServerErrorResponse": {
        "description": "The server encountered an unexpected condition.",
        "content": {
          "application /json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorSchema"
            }
          }
        }
      },
      "UnAuthorizedResponse": {
        "description": "The request failed because it lacks valid authentication credentials for the target resource.",
        "content": {
          "application /json": {
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Unauthorized"
                }
              }
            }
          }
        }
      },
      "ForbiddenResponse": {
        "description": "The request has not been applied because you don't have the right permissions to access this resource.",
        "content": {
          "application /json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorSchema"
            }
          }
        }
      }
    },
    "schemas": {
      "AllForbidden401ResponseSchema": {
        "$id": "/components/schemas/ALLUnauthorized401ErrorSchema",
        "type": "object",
        "properties": {
          "errorCode": {
            "description": "A code that API consumers can use to determine the Unauthorized 401 for ALL error that occurred",
            "type": "string",
            "enum": [
              "FORBIDDEN"
            ],
            "pattern": "\\S"
          },
          "message": {
            "description": "A human readable description of the error",
            "type": "string",
            "maxLength": 256
          },
          "details": {
            "description": "Additional details about the error. Might be an empty string if no additional details are available",
            "type": "string",
            "maxLength": 4000
          }
        },
        "required": [
          "errorCode",
          "message",
          "details"
        ],
        "additionalProperties": false
      },
      "AllForbidden403ResponseSchema": {
        "$id": "/components/schemas/ALLForbidden403ErrorSchema",
        "type": "object",
        "properties": {
          "errorCode": {
            "description": "A code that API consumers can use to determine the Forbidden 403 for ALL error that occurred",
            "type": "string",
            "enum": [
              "FORBIDDEN"
            ],
            "pattern": "\\S"
          },
          "message": {
            "description": "A human readable description of the error",
            "type": "string",
            "maxLength": 256
          },
          "details": {
            "description": "Additional details about the error. Might be an empty string if no additional details are available",
            "type": "string",
            "maxLength": 4000
          }
        },
        "required": [
          "errorCode",
          "message",
          "details"
        ],
        "additionalProperties": false
      },
      "AllContentType415ResponseSchema": {
        "$id": "/components/schemas/ALLContentType415ErrorSchema",
        "type": "object",
        "properties": {
          "errorCode": {
            "description": "A code that API consumers can use to determine the ContentType 415 for ALL error that occurred",
            "type": "string",
            "enum": [
              "MALFORMED_BODY"
            ],
            "pattern": "\\S"
          },
          "message": {
            "description": "A human readable description of the error",
            "type": "string",
            "maxLength": 256
          },
          "details": {
            "description": "Additional details about the error. Might be an empty string if no additional details are available",
            "type": "string",
            "maxLength": 4000
          }
        },
        "required": [
          "errorCode",
          "message",
          "details"
        ],
        "additionalProperties": false
      },
      "All500ResponseSchema": {
        "$id": "/components/schemas/POSTAll500ErrorSchema",
        "type": "object",
        "properties": {
          "errorCode": {
            "description": "A code that API consumers can use to determine the All 500 for POST error that occurred",
            "type": "string",
            "enum": [
              "INTERNAL_SERVER_ERROR"
            ],
            "pattern": "\\S"
          },
          "message": {
            "description": "A human readable description of the error",
            "type": "string",
            "maxLength": 256
          },
          "details": {
            "description": "Additional details about the error. Might be an empty string if no additional details are available",
            "type": "string",
            "maxLength": 4000
          }
        },
        "required": [
          "errorCode",
          "message",
          "details"
        ],
        "additionalProperties": false
      },
      "AllNotFound404ResponseSchema": {
        "$id": "/components/schemas/ALLNotFound404ErrorSchema",
        "type": "object",
        "properties": {
          "errorCode": {
            "description": "A code that API consumers can use to determine the NotFound 404 for ALL error that occurred",
            "type": "string",
            "enum": [
              "NOT_FOUND"
            ],
            "pattern": "\\S"
          },
          "message": {
            "description": "A human readable description of the error",
            "type": "string",
            "maxLength": 256
          },
          "details": {
            "description": "Additional details about the error. Might be an empty string if no additional details are available",
            "type": "string",
            "maxLength": 4000
          }
        },
        "required": [
          "errorCode",
          "message",
          "details"
        ],
        "additionalProperties": false
      },
      "ErrorSchema": {
        "type": "object",
        "properties": {
          "errorCode": {
            "description": "A code that API consumers can use to determine the type of error that occurred",
            "type": "string",
            "enum": [
              "MALFORMED_BODY",
              "METHOD_NOT_ALLOWED",
              "NOT_FOUND",
              "INTERNAL_SERVER_ERROR",
              "UNSUPPORTED_MEDIA_TYPE",
              "TOO_LARGE_PAYLOAD",
              "BAD_REQUEST",
              "INVALID_JSON_SCHEMA",
              "FORBIDDEN",
              "FAILED_TO_TRIGGER_IMPORT",
              "FAILED_TO_TRIGGER_EXPORT",
              "DB_FAILED_TO_CREATE_MODEL",
              "MODEL_COULD_NOT_VALIDATE",
              "OCCUPATION_GROUP_COULD_NOT_VALIDATE",
              "UNABLE_TO_ALTER_RELEASED_MODEL",
              "POST_MODEL_NOT_FOUND",
              "DB_FAILED_TO_CREATE_OCCUPATION_GROUP",
              "INVALID_LIMIT_PARAMETER",
              "INVALID_NEXT_CURSOR_PARAMETER",
              "OCCUPATION_GROUP_NOT_FOUND",
              "GET_MODEL_NOT_FOUND",
              "DB_FAILED_TO_RETRIEVE_OCCUPATION_GROUPS",
              "DB_FAILED_TO_RETRIEVE_OCCUPATION_GROUP_DETAIL",
              "OCCUPATION_GROUP_PARENT_NOT_FOUND",
              "DB_FAILED_TO_RETRIEVE_OCCUPATION_GROUP_PARENT",
              "DB_FAILED_TO_RETRIEVE_OCCUPATION_GROUP_CHILDREN",
              "OCCUPATION_COULD_NOT_VALIDATE",
              "INVALID_MODEL_ID",
              "MODEL_NOT_FOUND",
              "DB_FAILED_TO_CREATE_OCCUPATION",
              "INVALID_OCCUPATION_ID",
              "OCCUPATION_NOT_FOUND",
              "DB_FAILED_TO_RETRIEVE_OCCUPATIONS",
              "DB_FAILED_TO_RETRIEVE_OCCUPATION_PARENT",
              "DB_FAILED_TO_RETRIEVE_OCCUPATION_CHILDREN",
              "DB_FAILED_TO_RETRIEVE_OCCUPATION_SKILLS",
              "SKILL_COULD_NOT_VALIDATE",
              "DB_FAILED_TO_CREATE_SKILL",
              "INVALID_SKILL_ID",
              "SKILL_NOT_FOUND",
              "DB_FAILED_TO_RETRIEVE_SKILLS",
              "DB_FAILED_TO_RETRIEVE_SKILL",
              "SKILL_GROUP_COULD_NOT_VALIDATE",
              "DB_FAILED_TO_CREATE_SKILL_GROUP",
              "SKILL_GROUP_NOT_FOUND",
              "DB_FAILED_TO_RETRIEVE_SKILL_GROUPS",
              "DB_FAILED_TO_RETRIEVE_SKILL_GROUP_DETAIL",
              "SKILL_GROUP_PARENT_NOT_FOUND",
              "DB_FAILED_TO_RETRIEVE_SKILL_GROUP_PARENT",
              "DB_FAILED_TO_RETRIEVE_SKILL_GROUP_CHILDREN"
            ],
            "pattern": "\\S"
          },
          "message": {
            "description": "A human readable description of the error",
            "type": "string",
            "maxLength": 256
          },
          "details": {
            "description": "Additional details about the error. Might be an empty string if no additional details are available",
            "type": "string",
            "maxLength": 4000
          }
        },
        "required": [
          "errorCode",
          "message",
          "details"
        ],
        "additionalProperties": false
      },
      "ErrorSchemaPOST": {
        "type": "object",
        "properties": {
          "errorCode": {
            "description": "A code that API consumers can use to determine the type of error that occurred on POST method",
            "type": "string",
            "enum": [
              "INTERNAL_SERVER_ERROR",
              "METHOD_NOT_ALLOWED",
              "NOT_FOUND",
              "UNSUPPORTED_MEDIA_TYPE",
              "BAD_REQUEST",
              "FORBIDDEN",
              "MALFORMED_BODY",
              "TOO_LARGE_PAYLOAD",
              "INVALID_JSON_SCHEMA",
              "FAILED_TO_TRIGGER_EXPORT",
              "DB_FAILED_TO_CREATE_MODEL",
              "MODEL_COULD_NOT_VALIDATE",
              "OCCUPATION_GROUP_COULD_NOT_VALIDATE",
              "UNABLE_TO_ALTER_RELEASED_MODEL",
              "POST_MODEL_NOT_FOUND",
              "DB_FAILED_TO_CREATE_OCCUPATION_GROUP",
              "SKILL_GROUP_COULD_NOT_VALIDATE",
              "DB_FAILED_TO_CREATE_SKILL_GROUP",
              "SKILL_COULD_NOT_VALIDATE",
              "INVALID_MODEL_ID",
              "MODEL_NOT_FOUND",
              "DB_FAILED_TO_CREATE_SKILL",
              "OCCUPATION_COULD_NOT_VALIDATE",
              "DB_FAILED_TO_CREATE_OCCUPATION"
            ],
            "pattern": "\\S"
          },
          "message": {
            "description": "A human readable description of the error",
            "type": "string",
            "maxLength": 256
          },
          "details": {
            "description": "Additional details about the error. Might be an empty string if no additional details are available",
            "type": "string",
            "maxLength": 4000
          }
        },
        "required": [
          "errorCode",
          "message",
          "details"
        ],
        "additionalProperties": false
      },
      "ErrorSchemaGET": {
        "type": "object",
        "properties": {
          "errorCode": {
            "description": "A code that API consumers can use to determine the type of error that occurred on GET method",
            "type": "string",
            "enum": [
              "INTERNAL_SERVER_ERROR",
              "METHOD_NOT_ALLOWED",
              "NOT_FOUND",
              "UNSUPPORTED_MEDIA_TYPE",
              "BAD_REQUEST",
              "FORBIDDEN",
              "INVALID_QUERY_PARAMETER",
              "DB_FAILED_TO_RETRIEVE_MODELS",
              "INVALID_LIMIT_PARAMETER",
              "INVALID_NEXT_CURSOR_PARAMETER",
              "OCCUPATION_GROUP_NOT_FOUND",
              "GET_MODEL_NOT_FOUND",
              "DB_FAILED_TO_RETRIEVE_OCCUPATION_GROUPS",
              "DB_FAILED_TO_RETRIEVE_OCCUPATION_GROUP_DETAIL",
              "OCCUPATION_GROUP_PARENT_NOT_FOUND",
              "DB_FAILED_TO_RETRIEVE_OCCUPATION_GROUP_PARENT",
              "DB_FAILED_TO_RETRIEVE_OCCUPATION_GROUP_CHILDREN",
              "INVALID_OCCUPATION_ID",
              "INVALID_MODEL_ID",
              "OCCUPATION_NOT_FOUND",
              "MODEL_NOT_FOUND",
              "DB_FAILED_TO_RETRIEVE_OCCUPATIONS",
              "DB_FAILED_TO_RETRIEVE_OCCUPATION_PARENT",
              "DB_FAILED_TO_RETRIEVE_OCCUPATION_CHILDREN",
              "DB_FAILED_TO_RETRIEVE_OCCUPATION_SKILLS",
              "SKILL_GROUP_NOT_FOUND",
              "DB_FAILED_TO_RETRIEVE_SKILL_GROUPS",
              "DB_FAILED_TO_RETRIEVE_SKILL_GROUP_DETAIL",
              "SKILL_GROUP_PARENT_NOT_FOUND",
              "DB_FAILED_TO_RETRIEVE_SKILL_GROUP_PARENT",
              "DB_FAILED_TO_RETRIEVE_SKILL_GROUP_CHILDREN",
              "INVALID_SKILL_ID",
              "SKILL_NOT_FOUND",
              "DB_FAILED_TO_RETRIEVE_SKILLS",
              "DB_FAILED_TO_RETRIEVE_SKILL"
            ],
            "pattern": "\\S"
          },
          "message": {
            "description": "A human readable description of the error",
            "type": "string",
            "maxLength": 256
          },
          "details": {
            "description": "Additional details about the error. Might be an empty string if no additional details are available",
            "type": "string",
            "maxLength": 4000
          }
        },
        "required": [
          "errorCode",
          "message",
          "details"
        ],
        "additionalProperties": false
      },
      "ErrorSchemaPATCH": {
        "type": "object",
        "properties": {
          "errorCode": {
            "description": "A code that API consumers can use to determine the type of error that occurred on PATCH method",
            "type": "string",
            "enum": [
              "INTERNAL_SERVER_ERROR",
              "METHOD_NOT_ALLOWED",
              "NOT_FOUND",
              "UNSUPPORTED_MEDIA_TYPE",
              "BAD_REQUEST",
              "FORBIDDEN",
              "MALFORMED_BODY",
              "TOO_LARGE_PAYLOAD",
              "INVALID_JSON_SCHEMA"
            ],
            "pattern": "\\S"
          },
          "message": {
            "description": "A human readable description of the error",
            "type": "string",
            "maxLength": 256
          },
          "details": {
            "description": "Additional details about the error. Might be an empty string if no additional details are available",
            "type": "string",
            "maxLength": 4000
          }
        },
        "required": [
          "errorCode",
          "message",
          "details"
        ],
        "additionalProperties": false
      },
      "POSTOccupationGroup400ErrorSchema": {
        "$id": "/components/schemas/POSTOccupationGroup400ErrorSchema",
        "type": "object",
        "properties": {
          "errorCode": {
            "description": "A code that API consumers can use to determine the OccupationGroup 400 for POST error that occurred",
            "type": "string",
            "enum": [
              "OCCUPATION_GROUP_COULD_NOT_VALIDATE",
              "UNABLE_TO_ALTER_RELEASED_MODEL"
            ],
            "pattern": "\\S"
          },
          "message": {
            "description": "A human readable description of the error",
            "type": "string",
            "maxLength": 256
          },
          "details": {
            "description": "Additional details about the error. Might be an empty string if no additional details are available",
            "type": "string",
            "maxLength": 4000
          }
        },
        "required": [
          "errorCode",
          "message",
          "details"
        ],
        "additionalProperties": false
      },
      "GETOccupationGroup400ErrorSchema": {
        "$id": "/components/schemas/GETOccupationGroup400ErrorSchema",
        "type": "object",
        "properties": {
          "errorCode": {
            "description": "A code that API consumers can use to determine the OccupationGroup 400 for GET error that occurred",
            "type": "string",
            "enum": [
              "INVALID_LIMIT_PARAMETER",
              "INVALID_NEXT_CURSOR_PARAMETER"
            ],
            "pattern": "\\S"
          },
          "message": {
            "description": "A human readable description of the error",
            "type": "string",
            "maxLength": 256
          },
          "details": {
            "description": "Additional details about the error. Might be an empty string if no additional details are available",
            "type": "string",
            "maxLength": 4000
          }
        },
        "required": [
          "errorCode",
          "message",
          "details"
        ],
        "additionalProperties": false
      },
      "GETOccupationGroupParent404ErrorSchema": {
        "$id": "/components/schemas/GETOccupationGroupParent404ErrorSchema",
        "type": "object",
        "properties": {
          "errorCode": {
            "description": "A code that API consumers can use to determine the OccupationGroupParent 404 for GET error that occurred",
            "type": "string",
            "enum": [
              "GET_MODEL_NOT_FOUND",
              "OCCUPATION_GROUP_PARENT_NOT_FOUND",
              "OCCUPATION_GROUP_PARENT_NOT_FOUND"
            ],
            "pattern": "\\S"
          },
          "message": {
            "description": "A human readable description of the error",
            "type": "string",
            "maxLength": 256
          },
          "details": {
            "description": "Additional details about the error. Might be an empty string if no additional details are available",
            "type": "string",
            "maxLength": 4000
          }
        },
        "required": [
          "errorCode",
          "message",
          "details"
        ],
        "additionalProperties": false
      },
      "GETOccupationGroupChildren404ErrorSchema": {
        "$id": "/components/schemas/GETOccupationGroupChildren404ErrorSchema",
        "type": "object",
        "properties": {
          "errorCode": {
            "description": "A code that API consumers can use to determine the OccupationGroupChildren 404 for GET error that occurred",
            "type": "string",
            "enum": [
              "GET_MODEL_NOT_FOUND"
            ],
            "pattern": "\\S"
          },
          "message": {
            "description": "A human readable description of the error",
            "type": "string",
            "maxLength": 256
          },
          "details": {
            "description": "Additional details about the error. Might be an empty string if no additional details are available",
            "type": "string",
            "maxLength": 4000
          }
        },
        "required": [
          "errorCode",
          "message",
          "details"
        ],
        "additionalProperties": false
      },
      "GETOccupationGroup404ErrorSchema": {
        "$id": "/components/schemas/GETOccupationGroup404ErrorSchema",
        "type": "object",
        "properties": {
          "errorCode": {
            "description": "A code that API consumers can use to determine the OccupationGroup 404 for GET error that occurred",
            "type": "string",
            "enum": [
              "OCCUPATION_GROUP_NOT_FOUND",
              "GET_MODEL_NOT_FOUND"
            ],
            "pattern": "\\S"
          },
          "message": {
            "description": "A human readable description of the error",
            "type": "string",
            "maxLength": 256
          },
          "details": {
            "description": "Additional details about the error. Might be an empty string if no additional details are available",
            "type": "string",
            "maxLength": 4000
          }
        },
        "required": [
          "errorCode",
          "message",
          "details"
        ],
        "additionalProperties": false
      },
      "GETOccupationGroups404ErrorSchema": {
        "$id": "/components/schemas/GETOccupationGroups404ErrorSchema",
        "type": "object",
        "properties": {
          "errorCode": {
            "description": "A code that API consumers can use to determine the OccupationGroups 404 for GET error that occurred",
            "type": "string",
            "enum": [
              "GET_MODEL_NOT_FOUND"
            ],
            "pattern": "\\S"
          },
          "message": {
            "description": "A human readable description of the error",
            "type": "string",
            "maxLength": 256
          },
          "details": {
            "description": "Additional details about the error. Might be an empty string if no additional details are available",
            "type": "string",
            "maxLength": 4000
          }
        },
        "required": [
          "errorCode",
          "message",
          "details"
        ],
        "additionalProperties": false
      },
      "POSTOccupation400ErrorSchema": {
        "$id": "/components/schemas/POSTOccupation400ErrorSchema",
        "type": "object",
        "properties": {
          "errorCode": {
            "description": "A code that API consumers can use to determine the Occupation 400 for POST error that occurred",
            "type": "string",
            "enum": [
              "OCCUPATION_COULD_NOT_VALIDATE",
              "UNABLE_TO_ALTER_RELEASED_MODEL",
              "INVALID_MODEL_ID"
            ],
            "pattern": "\\S"
          },
          "message": {
            "description": "A human readable description of the error",
            "type": "string",
            "maxLength": 256
          },
          "details": {
            "description": "Additional details about the error. Might be an empty string if no additional details are available",
            "type": "string",
            "maxLength": 4000
          }
        },
        "required": [
          "errorCode",
          "message",
          "details"
        ],
        "additionalProperties": false
      },
      "GETOccupation400ErrorSchema": {
        "$id": "/components/schemas/GETOccupation400ErrorSchema",
        "type": "object",
        "properties": {
          "errorCode": {
            "description": "A code that API consumers can use to determine the Occupation 400 for GET error that occurred",
            "type": "string",
            "enum": [
              "INVALID_LIMIT_PARAMETER",
              "INVALID_NEXT_CURSOR_PARAMETER",
              "INVALID_OCCUPATION_ID",
              "INVALID_MODEL_ID"
            ],
            "pattern": "\\S"
          },
          "message": {
            "description": "A human readable description of the error",
            "type": "string",
            "maxLength": 256
          },
          "details": {
            "description": "Additional details about the error. Might be an empty string if no additional details are available",
            "type": "string",
            "maxLength": 4000
          }
        },
        "required": [
          "errorCode",
          "message",
          "details"
        ],
        "additionalProperties": false
      },
      "GETOccupation404ErrorSchema": {
        "$id": "/components/schemas/GETOccupation404ErrorSchema",
        "type": "object",
        "properties": {
          "errorCode": {
            "description": "A code that API consumers can use to determine the Occupation 404 for GET error that occurred",
            "type": "string",
            "enum": [
              "OCCUPATION_NOT_FOUND",
              "MODEL_NOT_FOUND"
            ],
            "pattern": "\\S"
          },
          "message": {
            "description": "A human readable description of the error",
            "type": "string",
            "maxLength": 256
          },
          "details": {
            "description": "Additional details about the error. Might be an empty string if no additional details are available",
            "type": "string",
            "maxLength": 4000
          }
        },
        "required": [
          "errorCode",
          "message",
          "details"
        ],
        "additionalProperties": false
      },
      "GETOccupations404ErrorSchema": {
        "$id": "/components/schemas/GETOccupations404ErrorSchema",
        "type": "object",
        "properties": {
          "errorCode": {
            "description": "A code that API consumers can use to determine the Occupations 404 for GET error that occurred",
            "type": "string",
            "enum": [
              "MODEL_NOT_FOUND"
            ],
            "pattern": "\\S"
          },
          "message": {
            "description": "A human readable description of the error",
            "type": "string",
            "maxLength": 256
          },
          "details": {
            "description": "Additional details about the error. Might be an empty string if no additional details are available",
            "type": "string",
            "maxLength": 4000
          }
        },
        "required": [
          "errorCode",
          "message",
          "details"
        ],
        "additionalProperties": false
      },
      "GETOccupationParent404ErrorSchema": {
        "$id": "/components/schemas/GETOccupationParent404ErrorSchema",
        "type": "object",
        "properties": {
          "errorCode": {
            "description": "A code that API consumers can use to determine the OccupationParent 404 for GET error that occurred",
            "type": "string",
            "enum": [
              "OCCUPATION_NOT_FOUND",
              "MODEL_NOT_FOUND"
            ],
            "pattern": "\\S"
          },
          "message": {
            "description": "A human readable description of the error",
            "type": "string",
            "maxLength": 256
          },
          "details": {
            "description": "Additional details about the error. Might be an empty string if no additional details are available",
            "type": "string",
            "maxLength": 4000
          }
        },
        "required": [
          "errorCode",
          "message",
          "details"
        ],
        "additionalProperties": false
      },
      "GETOccupationChildren404ErrorSchema": {
        "$id": "/components/schemas/GETOccupationChildren404ErrorSchema",
        "type": "object",
        "properties": {
          "errorCode": {
            "description": "A code that API consumers can use to determine the OccupationChildren 404 for GET error that occurred",
            "type": "string",
            "enum": [
              "OCCUPATION_NOT_FOUND",
              "MODEL_NOT_FOUND"
            ],
            "pattern": "\\S"
          },
          "message": {
            "description": "A human readable description of the error",
            "type": "string",
            "maxLength": 256
          },
          "details": {
            "description": "Additional details about the error. Might be an empty string if no additional details are available",
            "type": "string",
            "maxLength": 4000
          }
        },
        "required": [
          "errorCode",
          "message",
          "details"
        ],
        "additionalProperties": false
      },
      "GETOccupationSkills404ErrorSchema": {
        "$id": "/components/schemas/GETOccupationSkills404ErrorSchema",
        "type": "object",
        "properties": {
          "errorCode": {
            "description": "A code that API consumers can use to determine the OccupationSkills 404 for GET error that occurred",
            "type": "string",
            "enum": [
              "OCCUPATION_NOT_FOUND",
              "MODEL_NOT_FOUND"
            ],
            "pattern": "\\S"
          },
          "message": {
            "description": "A human readable description of the error",
            "type": "string",
            "maxLength": 256
          },
          "details": {
            "description": "Additional details about the error. Might be an empty string if no additional details are available",
            "type": "string",
            "maxLength": 4000
          }
        },
        "required": [
          "errorCode",
          "message",
          "details"
        ],
        "additionalProperties": false
      },
      "GETSkillGroup400ErrorSchema": {
        "$id": "/components/schemas/GETSkillGroup400ErrorSchema",
        "type": "object",
        "properties": {
          "errorCode": {
            "description": "A code that API consumers can use to determine the SkillGroup 400 for GET error that occurred",
            "type": "string",
            "enum": [
              "INVALID_LIMIT_PARAMETER",
              "INVALID_NEXT_CURSOR_PARAMETER"
            ],
            "pattern": "\\S"
          },
          "message": {
            "description": "A human readable description of the error",
            "type": "string",
            "maxLength": 256
          },
          "details": {
            "description": "Additional details about the error. Might be an empty string if no additional details are available",
            "type": "string",
            "maxLength": 4000
          }
        },
        "required": [
          "errorCode",
          "message",
          "details"
        ],
        "additionalProperties": false
      },
      "GETSkillGroup404ErrorSchema": {
        "$id": "/components/schemas/GETSkillGroup404ErrorSchema",
        "type": "object",
        "properties": {
          "errorCode": {
            "description": "A code that API consumers can use to determine the SkillGroup 404 for GET error that occurred",
            "type": "string",
            "enum": [
              "SKILL_GROUP_NOT_FOUND",
              "GET_MODEL_NOT_FOUND"
            ],
            "pattern": "\\S"
          },
          "message": {
            "description": "A human readable description of the error",
            "type": "string",
            "maxLength": 256
          },
          "details": {
            "description": "Additional details about the error. Might be an empty string if no additional details are available",
            "type": "string",
            "maxLength": 4000
          }
        },
        "required": [
          "errorCode",
          "message",
          "details"
        ],
        "additionalProperties": false
      },
      "GETSkillGroups404ErrorSchema": {
        "$id": "/components/schemas/GETSkillGroups404ErrorSchema",
        "type": "object",
        "properties": {
          "errorCode": {
            "description": "A code that API consumers can use to determine the SkillGroups 404 for GET error that occurred",
            "type": "string",
            "enum": [
              "SKILL_GROUP_NOT_FOUND",
              "GET_MODEL_NOT_FOUND",
              "SKILL_GROUP_PARENT_NOT_FOUND"
            ],
            "pattern": "\\S"
          },
          "message": {
            "description": "A human readable description of the error",
            "type": "string",
            "maxLength": 256
          },
          "details": {
            "description": "Additional details about the error. Might be an empty string if no additional details are available",
            "type": "string",
            "maxLength": 4000
          }
        },
        "required": [
          "errorCode",
          "message",
          "details"
        ],
        "additionalProperties": false
      },
      "GETSkillGroupParents404ErrorSchema": {
        "$id": "/components/schemas/GETSkillGroupParent404ErrorSchema",
        "type": "object",
        "properties": {
          "errorCode": {
            "description": "A code that API consumers can use to determine the SkillGroupParent 404 for GET error that occurred",
            "type": "string",
            "enum": [
              "SKILL_GROUP_PARENT_NOT_FOUND",
              "GET_MODEL_NOT_FOUND"
            ],
            "pattern": "\\S"
          },
          "message": {
            "description": "A human readable description of the error",
            "type": "string",
            "maxLength": 256
          },
          "details": {
            "description": "Additional details about the error. Might be an empty string if no additional details are available",
            "type": "string",
            "maxLength": 4000
          }
        },
        "required": [
          "errorCode",
          "message",
          "details"
        ],
        "additionalProperties": false
      },
      "GETSkillGroupChildren404ErrorSchema": {
        "$id": "/components/schemas/GETSkillGroupChildren404ErrorSchema",
        "type": "object",
        "properties": {
          "errorCode": {
            "description": "A code that API consumers can use to determine the SkillGroupChildren 404 for GET error that occurred",
            "type": "string",
            "enum": [
              "GET_MODEL_NOT_FOUND"
            ],
            "pattern": "\\S"
          },
          "message": {
            "description": "A human readable description of the error",
            "type": "string",
            "maxLength": 256
          },
          "details": {
            "description": "Additional details about the error. Might be an empty string if no additional details are available",
            "type": "string",
            "maxLength": 4000
          }
        },
        "required": [
          "errorCode",
          "message",
          "details"
        ],
        "additionalProperties": false
      },
      "POSTSkill400ErrorSchema": {
        "$id": "/components/schemas/POSTSkill400ErrorSchema",
        "type": "object",
        "properties": {
          "errorCode": {
            "description": "A code that API consumers can use to determine the Skill 400 for POST error that occurred",
            "type": "string",
            "enum": [
              "SKILL_COULD_NOT_VALIDATE",
              "UNABLE_TO_ALTER_RELEASED_MODEL",
              "INVALID_MODEL_ID"
            ],
            "pattern": "\\S"
          },
          "message": {
            "description": "A human readable description of the error",
            "type": "string",
            "maxLength": 256
          },
          "details": {
            "description": "Additional details about the error. Might be an empty string if no additional details are available",
            "type": "string",
            "maxLength": 4000
          }
        },
        "required": [
          "errorCode",
          "message",
          "details"
        ],
        "additionalProperties": false
      },
      "GETSkill400ErrorSchema": {
        "$id": "/components/schemas/GETSkill400ErrorSchema",
        "type": "object",
        "properties": {
          "errorCode": {
            "description": "A code that API consumers can use to determine the Skill 400 for GET error that occurred",
            "type": "string",
            "enum": [
              "INVALID_LIMIT_PARAMETER",
              "INVALID_NEXT_CURSOR_PARAMETER",
              "INVALID_SKILL_ID",
              "INVALID_MODEL_ID"
            ],
            "pattern": "\\S"
          },
          "message": {
            "description": "A human readable description of the error",
            "type": "string",
            "maxLength": 256
          },
          "details": {
            "description": "Additional details about the error. Might be an empty string if no additional details are available",
            "type": "string",
            "maxLength": 4000
          }
        },
        "required": [
          "errorCode",
          "message",
          "details"
        ],
        "additionalProperties": false
      },
      "GETSkill404ErrorSchema": {
        "$id": "/components/schemas/GETSkill404ErrorSchema",
        "type": "object",
        "properties": {
          "errorCode": {
            "description": "A code that API consumers can use to determine the Skill 404 for GET error that occurred",
            "type": "string",
            "enum": [
              "SKILL_NOT_FOUND",
              "MODEL_NOT_FOUND"
            ],
            "pattern": "\\S"
          },
          "message": {
            "description": "A human readable description of the error",
            "type": "string",
            "maxLength": 256
          },
          "details": {
            "description": "Additional details about the error. Might be an empty string if no additional details are available",
            "type": "string",
            "maxLength": 4000
          }
        },
        "required": [
          "errorCode",
          "message",
          "details"
        ],
        "additionalProperties": false
      },
      "GETSkills404ErrorSchema": {
        "$id": "/components/schemas/GETSkills404ErrorSchema",
        "type": "object",
        "properties": {
          "errorCode": {
            "description": "A code that API consumers can use to determine the Skills 404 for GET error that occurred",
            "type": "string",
            "enum": [
              "MODEL_NOT_FOUND"
            ],
            "pattern": "\\S"
          },
          "message": {
            "description": "A human readable description of the error",
            "type": "string",
            "maxLength": 256
          },
          "details": {
            "description": "Additional details about the error. Might be an empty string if no additional details are available",
            "type": "string",
            "maxLength": 4000
          }
        },
        "required": [
          "errorCode",
          "message",
          "details"
        ],
        "additionalProperties": false
      },
      "GETSkillParents400ErrorSchema": {
        "$id": "/components/schemas/GETSkillParents400ErrorSchema",
        "type": "object",
        "properties": {
          "errorCode": {
            "description": "A code that API consumers can use to determine the SkillParents 400 for GET error that occurred",
            "type": "string",
            "enum": [
              "INVALID_SKILL_ID",
              "INVALID_MODEL_ID"
            ],
            "pattern": "\\S"
          },
          "message": {
            "description": "A human readable description of the error",
            "type": "string",
            "maxLength": 256
          },
          "details": {
            "description": "Additional details about the error. Might be an empty string if no additional details are available",
            "type": "string",
            "maxLength": 4000
          }
        },
        "required": [
          "errorCode",
          "message",
          "details"
        ],
        "additionalProperties": false
      },
      "GETSkillParents404ErrorSchema": {
        "$id": "/components/schemas/GETSkillParents404ErrorSchema",
        "type": "object",
        "properties": {
          "errorCode": {
            "description": "A code that API consumers can use to determine the SkillParents 404 for GET error that occurred",
            "type": "string",
            "enum": [
              "SKILL_NOT_FOUND",
              "MODEL_NOT_FOUND"
            ],
            "pattern": "\\S"
          },
          "message": {
            "description": "A human readable description of the error",
            "type": "string",
            "maxLength": 256
          },
          "details": {
            "description": "Additional details about the error. Might be an empty string if no additional details are available",
            "type": "string",
            "maxLength": 4000
          }
        },
        "required": [
          "errorCode",
          "message",
          "details"
        ],
        "additionalProperties": false
      },
      "GETSkillChildren400ErrorSchema": {
        "$id": "/components/schemas/GETSkillChildren400ErrorSchema",
        "type": "object",
        "properties": {
          "errorCode": {
            "description": "A code that API consumers can use to determine the SkillChildren 400 for GET error that occurred",
            "type": "string",
            "enum": [
              "INVALID_SKILL_ID",
              "INVALID_MODEL_ID"
            ],
            "pattern": "\\S"
          },
          "message": {
            "description": "A human readable description of the error",
            "type": "string",
            "maxLength": 256
          },
          "details": {
            "description": "Additional details about the error. Might be an empty string if no additional details are available",
            "type": "string",
            "maxLength": 4000
          }
        },
        "required": [
          "errorCode",
          "message",
          "details"
        ],
        "additionalProperties": false
      },
      "GETSkillChildren404ErrorSchema": {
        "$id": "/components/schemas/GETSkillChildren404ErrorSchema",
        "type": "object",
        "properties": {
          "errorCode": {
            "description": "A code that API consumers can use to determine the SkillChildren 404 for GET error that occurred",
            "type": "string",
            "enum": [
              "SKILL_NOT_FOUND",
              "MODEL_NOT_FOUND"
            ],
            "pattern": "\\S"
          },
          "message": {
            "description": "A human readable description of the error",
            "type": "string",
            "maxLength": 256
          },
          "details": {
            "description": "Additional details about the error. Might be an empty string if no additional details are available",
            "type": "string",
            "maxLength": 4000
          }
        },
        "required": [
          "errorCode",
          "message",
          "details"
        ],
        "additionalProperties": false
      },
      "GETSkillOccupations400ErrorSchema": {
        "$id": "/components/schemas/GETSkillOccupations400ErrorSchema",
        "type": "object",
        "properties": {
          "errorCode": {
            "description": "A code that API consumers can use to determine the SkillOccupations 400 for GET error that occurred",
            "type": "string",
            "enum": [
              "INVALID_SKILL_ID",
              "INVALID_MODEL_ID"
            ],
            "pattern": "\\S"
          },
          "message": {
            "description": "A human readable description of the error",
            "type": "string",
            "maxLength": 256
          },
          "details": {
            "description": "Additional details about the error. Might be an empty string if no additional details are available",
            "type": "string",
            "maxLength": 4000
          }
        },
        "required": [
          "errorCode",
          "message",
          "details"
        ],
        "additionalProperties": false
      },
      "GETSkillOccupations404ErrorSchema": {
        "$id": "/components/schemas/GETSkillOccupations404ErrorSchema",
        "type": "object",
        "properties": {
          "errorCode": {
            "description": "A code that API consumers can use to determine the SkillOccupations 404 for GET error that occurred",
            "type": "string",
            "enum": [
              "SKILL_NOT_FOUND",
              "MODEL_NOT_FOUND"
            ],
            "pattern": "\\S"
          },
          "message": {
            "description": "A human readable description of the error",
            "type": "string",
            "maxLength": 256
          },
          "details": {
            "description": "Additional details about the error. Might be an empty string if no additional details are available",
            "type": "string",
            "maxLength": 4000
          }
        },
        "required": [
          "errorCode",
          "message",
          "details"
        ],
        "additionalProperties": false
      },
      "GETSkillRelated400ErrorSchema": {
        "$id": "/components/schemas/GETSkillRelated400ErrorSchema",
        "type": "object",
        "properties": {
          "errorCode": {
            "description": "A code that API consumers can use to determine the SkillRelated 400 for GET error that occurred",
            "type": "string",
            "enum": [
              "INVALID_SKILL_ID",
              "INVALID_MODEL_ID"
            ],
            "pattern": "\\S"
          },
          "message": {
            "description": "A human readable description of the error",
            "type": "string",
            "maxLength": 256
          },
          "details": {
            "description": "Additional details about the error. Might be an empty string if no additional details are available",
            "type": "string",
            "maxLength": 4000
          }
        },
        "required": [
          "errorCode",
          "message",
          "details"
        ],
        "additionalProperties": false
      },
      "GETSkillRelated404ErrorSchema": {
        "$id": "/components/schemas/GETSkillRelated404ErrorSchema",
        "type": "object",
        "properties": {
          "errorCode": {
            "description": "A code that API consumers can use to determine the SkillRelated 404 for GET error that occurred",
            "type": "string",
            "enum": [
              "SKILL_NOT_FOUND",
              "MODEL_NOT_FOUND"
            ],
            "pattern": "\\S"
          },
          "message": {
            "description": "A human readable description of the error",
            "type": "string",
            "maxLength": 256
          },
          "details": {
            "description": "Additional details about the error. Might be an empty string if no additional details are available",
            "type": "string",
            "maxLength": 4000
          }
        },
        "required": [
          "errorCode",
          "message",
          "details"
        ],
        "additionalProperties": false
      },
      "PresignedSchema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "url": {
            "description": "The url to upload the files to",
            "type": "string",
            "format": "uri",
            "pattern": "^https://.*",
            "maxLength": 4096
          },
          "fields": {
            "description": "The fields should be added to the form-data when uploading the files",
            "type": "array",
            "minItems": 1,
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "pattern": "\\S"
                },
                "value": {
                  "type": "string",
                  "pattern": "\\S"
                }
              },
              "required": [
                "name",
                "value"
              ]
            }
          },
          "folder": {
            "description": "The folder name to upload the files to",
            "type": "string",
            "pattern": "\\S",
            "maxLength": 256
          }
        },
        "required": [
          "url",
          "fields",
          "folder"
        ]
      },
      "ModelInfoResponseSchemaPOST": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "description": "The id of the model. It can be used to retrieve the model from the server.",
            "type": "string",
            "pattern": "^[0-9a-f]{24}$"
          },
          "UUID": {
            "description": "The UUID of the model. It can be used to identify the model across systems.",
            "type": "string",
            "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
          },
          "path": {
            "description": "The path to the model resource using the resource id",
            "type": "string",
            "format": "uri",
            "pattern": "^https://.*",
            "maxLength": 4096
          },
          "tabiyaPath": {
            "description": "The path to the model resource using the resource UUID",
            "type": "string",
            "format": "uri",
            "pattern": "^https://.*",
            "maxLength": 4096
          },
          "released": {
            "description": "Whether the model is released or not",
            "type": "boolean"
          },
          "releaseNotes": {
            "description": "The release notes of the model",
            "type": "string",
            "maxLength": 100000
          },
          "version": {
            "description": "The version of the model. It should follow the conventions of semantic versioning.",
            "type": "string",
            "maxLength": 256
          },
          "exportProcessState": {
            "description": "The export process state of the model.",
            "type": "array",
            "minItems": 0,
            "items": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "id": {
                  "description": "The identifier of the specific export state.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{24}$"
                },
                "status": {
                  "description": "The status of the export process of the model.",
                  "type": "string",
                  "enum": [
                    "pending",
                    "running",
                    "completed"
                  ]
                },
                "result": {
                  "description": "The result of the export process of the model. It can be errored, export errors or export warnings.",
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "errored": {
                      "description": "if the export process has completed or it was did not complete due to some unexpected error.",
                      "type": "boolean"
                    },
                    "exportErrors": {
                      "description": "if the export encountered errors while export the csv files.",
                      "type": "boolean"
                    },
                    "exportWarnings": {
                      "description": "if the export encountered warnings while export the csv files.",
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "errored",
                    "exportErrors",
                    "exportWarnings"
                  ]
                },
                "downloadUrl": {
                  "description": "The url to download the exported model. It can be empty if the export process is still in running or it has not completed successfully.",
                  "type": "string",
                  "anyOf": [
                    {
                      "pattern": "^$"
                    },
                    {
                      "format": "uri",
                      "pattern": "^https://.*"
                    }
                  ],
                  "maxLength": 4096
                },
                "timestamp": {
                  "description": "The timestamp of the export process.",
                  "type": "string",
                  "format": "date-time"
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time"
                },
                "updatedAt": {
                  "type": "string",
                  "format": "date-time"
                }
              },
              "required": [
                "id",
                "status",
                "downloadUrl",
                "timestamp",
                "result",
                "createdAt",
                "updatedAt"
              ]
            }
          },
          "importProcessState": {
            "description": "The import process state of the model.",
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "id": {
                "description": "The identifier of the specific import state.",
                "type": "string",
                "pattern": "^[0-9a-f]{24}$"
              },
              "status": {
                "description": "The status of the import process of the model.",
                "type": "string",
                "enum": [
                  "pending",
                  "running",
                  "completed"
                ]
              },
              "result": {
                "description": "The result of the import process of the model. It can be errored, parsing errors or parsing warnings.",
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "errored": {
                    "description": "if the import process has completed or it was did not complete due to some unexpected error.",
                    "type": "boolean"
                  },
                  "parsingErrors": {
                    "description": "if the import encountered errors while parsing the csv files.",
                    "type": "boolean"
                  },
                  "parsingWarnings": {
                    "description": "if the import encountered warnings while parsing the csv files.",
                    "type": "boolean"
                  }
                },
                "required": [
                  "errored",
                  "parsingErrors",
                  "parsingWarnings"
                ]
              },
              "createdAt": {
                "type": "string",
                "format": "date-time"
              },
              "updatedAt": {
                "type": "string",
                "format": "date-time"
              }
            },
            "required": [
              "id",
              "status",
              "result"
            ]
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "name": {
            "description": "The name of the model",
            "type": "string",
            "pattern": "\\S",
            "maxLength": 256
          },
          "description": {
            "description": "The description of the model",
            "type": "string",
            "maxLength": 6000
          },
          "license": {
            "description": "The license of the model",
            "type": "string",
            "maxLength": 100000
          },
          "locale": {
            "$ref": "#/components/schemas/LocaleSchema"
          },
          "UUIDHistory": {
            "description": "The UUIDs history of the model.",
            "type": "array",
            "minItems": 0,
            "items": {
              "type": "string",
              "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
            }
          },
          "modelHistory": {
            "description": "The history of the model based on its UUIDHistory.",
            "type": "array",
            "minItems": 1,
            "items": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "id": {
                  "description": "The identifier of the specific model.",
                  "type": [
                    "string",
                    "null"
                  ],
                  "pattern": "^[0-9a-f]{24}$"
                },
                "UUID": {
                  "description": "The UUID of the model.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                },
                "name": {
                  "description": "The name of the model.",
                  "type": [
                    "string",
                    "null"
                  ],
                  "pattern": "\\S",
                  "maxLength": 256
                },
                "version": {
                  "description": "The version of the model.",
                  "type": [
                    "string",
                    "null"
                  ],
                  "maxLength": 256
                },
                "localeShortCode": {
                  "description": "The short code of the locale",
                  "type": [
                    "string",
                    "null"
                  ],
                  "pattern": "\\S",
                  "maxLength": 20
                }
              },
              "required": [
                "id",
                "UUID",
                "name",
                "version",
                "localeShortCode"
              ]
            }
          }
        },
        "required": [
          "name",
          "description",
          "locale",
          "license",
          "id",
          "UUID",
          "path",
          "tabiyaPath",
          "released",
          "releaseNotes",
          "version",
          "exportProcessState",
          "importProcessState",
          "createdAt",
          "updatedAt",
          "modelHistory"
        ]
      },
      "ModelInfoRequestSchemaPOST": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "name": {
            "description": "The name of the model",
            "type": "string",
            "pattern": "\\S",
            "maxLength": 256
          },
          "description": {
            "description": "The description of the model",
            "type": "string",
            "maxLength": 6000
          },
          "license": {
            "description": "The license of the model",
            "type": "string",
            "maxLength": 100000
          },
          "locale": {
            "$ref": "#/components/schemas/LocaleSchema"
          },
          "UUIDHistory": {
            "description": "The UUIDs history of the model.",
            "type": "array",
            "minItems": 0,
            "items": {
              "type": "string",
              "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
            }
          }
        },
        "required": [
          "name",
          "description",
          "locale",
          "license",
          "UUIDHistory"
        ]
      },
      "ModelInfoResponseSchemaGET": {
        "type": "array",
        "items": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "id": {
              "description": "The id of the model. It can be used to retrieve the model from the server.",
              "type": "string",
              "pattern": "^[0-9a-f]{24}$"
            },
            "UUID": {
              "description": "The UUID of the model. It can be used to identify the model across systems.",
              "type": "string",
              "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
            },
            "path": {
              "description": "The path to the model resource using the resource id",
              "type": "string",
              "format": "uri",
              "pattern": "^https://.*",
              "maxLength": 4096
            },
            "tabiyaPath": {
              "description": "The path to the model resource using the resource UUID",
              "type": "string",
              "format": "uri",
              "pattern": "^https://.*",
              "maxLength": 4096
            },
            "released": {
              "description": "Whether the model is released or not",
              "type": "boolean"
            },
            "releaseNotes": {
              "description": "The release notes of the model",
              "type": "string",
              "maxLength": 100000
            },
            "version": {
              "description": "The version of the model. It should follow the conventions of semantic versioning.",
              "type": "string",
              "maxLength": 256
            },
            "exportProcessState": {
              "description": "The export process state of the model.",
              "type": "array",
              "minItems": 0,
              "items": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "id": {
                    "description": "The identifier of the specific export state.",
                    "type": "string",
                    "pattern": "^[0-9a-f]{24}$"
                  },
                  "status": {
                    "description": "The status of the export process of the model.",
                    "type": "string",
                    "enum": [
                      "pending",
                      "running",
                      "completed"
                    ]
                  },
                  "result": {
                    "description": "The result of the export process of the model. It can be errored, export errors or export warnings.",
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                      "errored": {
                        "description": "if the export process has completed or it was did not complete due to some unexpected error.",
                        "type": "boolean"
                      },
                      "exportErrors": {
                        "description": "if the export encountered errors while export the csv files.",
                        "type": "boolean"
                      },
                      "exportWarnings": {
                        "description": "if the export encountered warnings while export the csv files.",
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "errored",
                      "exportErrors",
                      "exportWarnings"
                    ]
                  },
                  "downloadUrl": {
                    "description": "The url to download the exported model. It can be empty if the export process is still in running or it has not completed successfully.",
                    "type": "string",
                    "anyOf": [
                      {
                        "pattern": "^$"
                      },
                      {
                        "format": "uri",
                        "pattern": "^https://.*"
                      }
                    ],
                    "maxLength": 4096
                  },
                  "timestamp": {
                    "description": "The timestamp of the export process.",
                    "type": "string",
                    "format": "date-time"
                  },
                  "createdAt": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "updatedAt": {
                    "type": "string",
                    "format": "date-time"
                  }
                },
                "required": [
                  "id",
                  "status",
                  "downloadUrl",
                  "timestamp",
                  "result",
                  "createdAt",
                  "updatedAt"
                ]
              }
            },
            "importProcessState": {
              "description": "The import process state of the model.",
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "id": {
                  "description": "The identifier of the specific import state.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{24}$"
                },
                "status": {
                  "description": "The status of the import process of the model.",
                  "type": "string",
                  "enum": [
                    "pending",
                    "running",
                    "completed"
                  ]
                },
                "result": {
                  "description": "The result of the import process of the model. It can be errored, parsing errors or parsing warnings.",
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "errored": {
                      "description": "if the import process has completed or it was did not complete due to some unexpected error.",
                      "type": "boolean"
                    },
                    "parsingErrors": {
                      "description": "if the import encountered errors while parsing the csv files.",
                      "type": "boolean"
                    },
                    "parsingWarnings": {
                      "description": "if the import encountered warnings while parsing the csv files.",
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "errored",
                    "parsingErrors",
                    "parsingWarnings"
                  ]
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time"
                },
                "updatedAt": {
                  "type": "string",
                  "format": "date-time"
                }
              },
              "required": [
                "id",
                "status",
                "result"
              ]
            },
            "createdAt": {
              "type": "string",
              "format": "date-time"
            },
            "updatedAt": {
              "type": "string",
              "format": "date-time"
            },
            "name": {
              "description": "The name of the model",
              "type": "string",
              "pattern": "\\S",
              "maxLength": 256
            },
            "description": {
              "description": "The description of the model",
              "type": "string",
              "maxLength": 6000
            },
            "license": {
              "description": "The license of the model",
              "type": "string",
              "maxLength": 100000
            },
            "locale": {
              "$ref": "#/components/schemas/LocaleSchema"
            },
            "UUIDHistory": {
              "description": "The UUIDs history of the model.",
              "type": "array",
              "minItems": 0,
              "items": {
                "type": "string",
                "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
              }
            },
            "modelHistory": {
              "description": "The history of the model based on its UUIDHistory.",
              "type": "array",
              "minItems": 1,
              "items": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "id": {
                    "description": "The identifier of the specific model.",
                    "type": [
                      "string",
                      "null"
                    ],
                    "pattern": "^[0-9a-f]{24}$"
                  },
                  "UUID": {
                    "description": "The UUID of the model.",
                    "type": "string",
                    "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                  },
                  "name": {
                    "description": "The name of the model.",
                    "type": [
                      "string",
                      "null"
                    ],
                    "pattern": "\\S",
                    "maxLength": 256
                  },
                  "version": {
                    "description": "The version of the model.",
                    "type": [
                      "string",
                      "null"
                    ],
                    "maxLength": 256
                  },
                  "localeShortCode": {
                    "description": "The short code of the locale",
                    "type": [
                      "string",
                      "null"
                    ],
                    "pattern": "\\S",
                    "maxLength": 20
                  }
                },
                "required": [
                  "id",
                  "UUID",
                  "name",
                  "version",
                  "localeShortCode"
                ]
              }
            }
          },
          "required": [
            "name",
            "description",
            "locale",
            "license",
            "id",
            "UUID",
            "path",
            "tabiyaPath",
            "released",
            "releaseNotes",
            "version",
            "exportProcessState",
            "importProcessState",
            "createdAt",
            "updatedAt",
            "modelHistory"
          ]
        }
      },
      "LocaleSchema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "UUID": {
            "description": "The UUID of the locale",
            "type": "string",
            "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
          },
          "shortCode": {
            "description": "The short code of the locale",
            "type": "string",
            "pattern": "\\S",
            "maxLength": 20
          },
          "name": {
            "description": "The name of the locale",
            "type": "string",
            "pattern": "\\S",
            "maxLength": 256
          }
        },
        "required": [
          "UUID",
          "shortCode",
          "name"
        ]
      },
      "ImportSchema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "modelId": {
            "description": "The identifier of the model for importing the files to.",
            "type": "string",
            "pattern": "^[0-9a-f]{24}$"
          },
          "filePaths": {
            "description": "A key value map of the files to import. The key represents the type of the file, and the value the path to the file. The path is relative to the root of the upload bucket and starts with the folder name that the presigned url was generated for.",
            "type": "object",
            "examples": [
              {
                "OCCUPATION_GROUPS": "some-random-folder/OccupationGroups_en.csv",
                "ESCO_SKILL_GROUPS": "some-random-folder/skillGroups_en.csv"
              }
            ],
            "anyOf": [
              {
                "properties": {
                  "OCCUPATION_GROUPS": {
                    "type": "string",
                    "maxLength": 255,
                    "pattern": "\\S"
                  }
                },
                "required": [
                  "OCCUPATION_GROUPS"
                ]
              },
              {
                "properties": {
                  "OCCUPATIONS": {
                    "type": "string",
                    "maxLength": 255,
                    "pattern": "\\S"
                  }
                },
                "required": [
                  "OCCUPATIONS"
                ]
              },
              {
                "properties": {
                  "ESCO_SKILL_GROUPS": {
                    "type": "string",
                    "maxLength": 255,
                    "pattern": "\\S"
                  }
                },
                "required": [
                  "ESCO_SKILL_GROUPS"
                ]
              },
              {
                "properties": {
                  "ESCO_SKILLS": {
                    "type": "string",
                    "maxLength": 255,
                    "pattern": "\\S"
                  }
                },
                "required": [
                  "ESCO_SKILLS"
                ]
              },
              {
                "properties": {
                  "OCCUPATION_HIERARCHY": {
                    "type": "string",
                    "maxLength": 255,
                    "pattern": "\\S"
                  }
                },
                "required": [
                  "OCCUPATION_HIERARCHY"
                ]
              },
              {
                "properties": {
                  "ESCO_SKILL_HIERARCHY": {
                    "type": "string",
                    "maxLength": 255,
                    "pattern": "\\S"
                  }
                },
                "required": [
                  "ESCO_SKILL_HIERARCHY"
                ]
              },
              {
                "properties": {
                  "ESCO_SKILL_SKILL_RELATIONS": {
                    "type": "string",
                    "maxLength": 255,
                    "pattern": "\\S"
                  }
                },
                "required": [
                  "ESCO_SKILL_SKILL_RELATIONS"
                ]
              },
              {
                "properties": {
                  "OCCUPATION_SKILL_RELATIONS": {
                    "type": "string",
                    "maxLength": 255,
                    "pattern": "\\S"
                  }
                },
                "required": [
                  "OCCUPATION_SKILL_RELATIONS"
                ]
              }
            ]
          },
          "isOriginalESCOModel": {
            "description": "Flag indicating if the model is an original ESCO model.",
            "type": "boolean"
          }
        },
        "required": [
          "modelId",
          "filePaths",
          "isOriginalESCOModel"
        ]
      },
      "ExportSchema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "modelId": {
            "description": "The identifier of the model to be exported.",
            "type": "string",
            "pattern": "^[0-9a-f]{24}$"
          }
        },
        "required": [
          "modelId"
        ]
      },
      "InfoSchema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "date": {
            "type": "string",
            "format": "date-time",
            "description": "The date and time when the application was built."
          },
          "version": {
            "type": "string",
            "description": "The name of the git tag/branch the application was built from.",
            "maxLength": 256
          },
          "buildNumber": {
            "type": "string",
            "description": "The build number of the application.",
            "maxLength": 256
          },
          "sha": {
            "type": "string",
            "description": "The git SHA of the commit used to build the application.",
            "maxLength": 40
          },
          "path": {
            "type": "string",
            "description": "The URL path of the endpoint.",
            "format": "uri",
            "pattern": "^https://.*",
            "maxLength": 4096
          },
          "database": {
            "type": "string",
            "enum": [
              "connected",
              "not connected"
            ],
            "description": "The database connection status."
          }
        },
        "required": [
          "date",
          "version",
          "buildNumber",
          "sha",
          "path",
          "database"
        ]
      },
      "AuthContextSchema": {
        "$id": "/components/schemas/AuthCognitoRequestContextSchema",
        "type": "object",
        "oneOf": [
          {
            "$id": "/components/schemas/AuthCognitoHumanInTheLoopRequestContext",
            "type": "object",
            "properties": {
              "authType": {
                "description": "The type of authentication which is Human in the loop in this case",
                "const": "human-in-the-loop"
              },
              "groups": {
                "type": "string",
                "description": "The coman separated list of the AWS Cognito groups the user belongs to",
                "maxLength": 256
              }
            },
            "required": [
              "authType"
            ]
          },
          {
            "$id": "/components/schemas/AuthCognitoMachine2MachineRequestContext",
            "type": "object",
            "properties": {
              "authType": {
                "description": "The type of authentication which is Machine to machine in this case",
                "const": "machine-to-machine"
              },
              "clientId": {
                "type": "string",
                "description": "The client id of the machine to machine application",
                "maxLength": 256
              }
            },
            "required": [
              "authType",
              "clientId"
            ]
          }
        ]
      },
      "OccupationGroupRequestSchemaPOST": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "UUIDHistory": {
            "description": "The UUIDs history of the occupation group.",
            "type": "array",
            "minItems": 0,
            "maxItems": 10000,
            "uniqueItems": true,
            "items": {
              "type": "string",
              "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
              "maxLength": 36
            }
          },
          "originUri": {
            "description": "The origin URI of the occupation group.",
            "type": "string",
            "maxLength": 4096,
            "format": "uri",
            "pattern": "\\S"
          },
          "code": {
            "description": "The code of the occupation group.",
            "type": "string",
            "maxLength": 256
          },
          "description": {
            "description": "The description of the occupation group.",
            "type": "string",
            "maxLength": 6000
          },
          "preferredLabel": {
            "description": "The preferred label of the occupation group.",
            "type": "string",
            "maxLength": 256,
            "pattern": "\\S"
          },
          "altLabels": {
            "description": "The alternative labels of the occupation group.",
            "type": "array",
            "minItems": 0,
            "maxItems": 100,
            "uniqueItems": true,
            "items": {
              "type": "string",
              "maxLength": 256
            }
          },
          "groupType": {
            "description": "The type of the occupation group, e.g., ISCOGroup or LocalGroup.",
            "type": "string",
            "enum": [
              "iscogroup",
              "localgroup"
            ]
          },
          "modelId": {
            "description": "The identifier of the model for occupation group.",
            "type": "string",
            "pattern": "^[0-9a-f]{24}$"
          }
        },
        "if": {
          "properties": {
            "groupType": {
              "enum": [
                "iscogroup"
              ]
            }
          }
        },
        "then": {
          "properties": {
            "code": {
              "type": "string",
              "maxLength": 256,
              "pattern": "^\\d{1,4}$"
            }
          }
        },
        "else": {
          "properties": {
            "code": {
              "type": "string",
              "maxLength": 256,
              "pattern": "^(?:\\d{1,4})?[a-zA-Z]+[a-zA-Z\\d]*$"
            }
          }
        },
        "required": [
          "preferredLabel",
          "groupType",
          "originUri",
          "UUIDHistory",
          "code",
          "description",
          "altLabels",
          "modelId"
        ]
      },
      "OccupationGroupResponseSchemaPOST": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "description": "The id of the occupation group. It can be used to retrieve the occupation group from the server.",
            "type": "string",
            "pattern": "^[0-9a-f]{24}$"
          },
          "UUID": {
            "description": "The UUID of the occupation group. It can be used to identify the occupation group across systems.",
            "type": "string",
            "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
          },
          "originUUID": {
            "description": "The last UUID in the UUIDHistory of occupation group. It can be used to identify the occupation group across systems.",
            "type": "string",
            "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
          },
          "path": {
            "description": "The path to the occupation group resource using the resource id",
            "type": "string",
            "format": "uri",
            "pattern": "^https://.*",
            "maxLength": 4096
          },
          "tabiyaPath": {
            "description": "The path to the occupation group resource using the resource UUID",
            "type": "string",
            "format": "uri",
            "pattern": "^https://.*",
            "maxLength": 4096
          },
          "parent": {
            "description": "The parent occupation group of this occupation group.",
            "type": [
              "object",
              "null"
            ],
            "additionalProperties": false,
            "properties": {
              "id": {
                "description": "The id of the parent occupation group.",
                "type": "string",
                "pattern": "^[0-9a-f]{24}$"
              },
              "UUID": {
                "description": "The UUID of the occupation group. It can be used to identify the parent occupation group.",
                "type": "string",
                "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
              },
              "code": {
                "description": "The code of the parent occupation group.",
                "type": "string",
                "maxLength": 256
              },
              "preferredLabel": {
                "description": "The preferred label of the parent occupation group.",
                "type": "string",
                "maxLength": 256,
                "pattern": "\\S"
              },
              "objectType": {
                "description": "The type of the occupation group, e.g., ISCOGroup or LocalGroup.",
                "type": "string",
                "enum": [
                  "iscogroup",
                  "localgroup"
                ]
              }
            },
            "if": {
              "properties": {
                "objectType": {
                  "enum": [
                    "iscogroup"
                  ]
                }
              }
            },
            "then": {
              "properties": {
                "code": {
                  "type": "string",
                  "maxLength": 256,
                  "pattern": "^\\d{1,4}$"
                }
              }
            },
            "else": {
              "properties": {
                "code": {
                  "type": "string",
                  "maxLength": 256,
                  "pattern": "^(?:\\d{1,4})?[a-zA-Z]+[a-zA-Z\\d]*$"
                }
              }
            }
          },
          "children": {
            "description": "The children of this occupation group, which can be either occupation groups or occupations.",
            "type": "array",
            "minItems": 0,
            "items": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "id": {
                  "description": "The id of the parent occupation group.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{24}$"
                },
                "UUID": {
                  "description": "The UUID of the occupation group. It can be used to identify the parent occupation group.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                },
                "code": {
                  "description": "The code of the parent occupation group.",
                  "type": "string",
                  "maxLength": 256
                },
                "preferredLabel": {
                  "description": "The preferred label of the parent occupation group.",
                  "type": "string",
                  "maxLength": 256,
                  "pattern": "\\S"
                },
                "objectType": {
                  "description": "The type of the occupation group | occupation, e.g., ISCOGroup, LocalGroup, ESCOOccupation, LocalOccupation.",
                  "type": "string",
                  "enum": [
                    "iscogroup",
                    "localgroup",
                    "escooccupation",
                    "localoccupation"
                  ]
                }
              },
              "allOf": [
                {
                  "if": {
                    "properties": {
                      "objectType": {
                        "const": "iscogroup"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "code": {
                        "type": "string",
                        "maxLength": 256,
                        "pattern": "^\\d{1,4}$"
                      }
                    }
                  }
                },
                {
                  "if": {
                    "properties": {
                      "objectType": {
                        "const": "localgroup"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "code": {
                        "type": "string",
                        "maxLength": 256,
                        "pattern": "^(?:\\d{1,4})?[a-zA-Z]+[a-zA-Z\\d]*$"
                      }
                    }
                  }
                },
                {
                  "if": {
                    "properties": {
                      "objectType": {
                        "const": "escooccupation"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "code": {
                        "type": "string",
                        "maxLength": 256,
                        "pattern": "^\\d{4}(?:\\.\\d+)+$"
                      }
                    }
                  }
                },
                {
                  "if": {
                    "properties": {
                      "objectType": {
                        "const": "localoccupation"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "code": {
                        "type": "string",
                        "maxLength": 256,
                        "pattern": "^(?:\\d{4}(?:\\.\\d+)*(?:_\\d+)+|[a-zA-Z\\d]+(?:_\\d+)+)$"
                      }
                    }
                  }
                }
              ]
            }
          },
          "UUIDHistory": {
            "description": "The UUIDs history of the occupation group.",
            "type": "array",
            "minItems": 0,
            "maxItems": 10000,
            "uniqueItems": true,
            "items": {
              "type": "string",
              "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
              "maxLength": 36
            }
          },
          "originUri": {
            "description": "The origin URI of the occupation group.",
            "type": "string",
            "maxLength": 4096,
            "format": "uri",
            "pattern": "\\S"
          },
          "code": {
            "description": "The code of the occupation group.",
            "type": "string",
            "maxLength": 256
          },
          "description": {
            "description": "The description of the occupation group.",
            "type": "string",
            "maxLength": 6000
          },
          "preferredLabel": {
            "description": "The preferred label of the occupation group.",
            "type": "string",
            "maxLength": 256,
            "pattern": "\\S"
          },
          "altLabels": {
            "description": "The alternative labels of the occupation group.",
            "type": "array",
            "minItems": 0,
            "maxItems": 100,
            "uniqueItems": true,
            "items": {
              "type": "string",
              "maxLength": 256
            }
          },
          "groupType": {
            "description": "The type of the occupation group, e.g., ISCOGroup or LocalGroup.",
            "type": "string",
            "enum": [
              "iscogroup",
              "localgroup"
            ]
          },
          "modelId": {
            "description": "The identifier of the model for occupation group.",
            "type": "string",
            "pattern": "^[0-9a-f]{24}$"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "if": {
          "properties": {
            "groupType": {
              "enum": [
                "iscogroup"
              ]
            }
          }
        },
        "then": {
          "properties": {
            "code": {
              "type": "string",
              "maxLength": 256,
              "pattern": "^\\d{1,4}$"
            }
          }
        },
        "else": {
          "properties": {
            "code": {
              "type": "string",
              "maxLength": 256,
              "pattern": "^(?:\\d{1,4})?[a-zA-Z]+[a-zA-Z\\d]*$"
            }
          }
        },
        "required": [
          "id",
          "UUID",
          "originUUID",
          "path",
          "UUIDHistory",
          "tabiyaPath",
          "originUri",
          "code",
          "description",
          "preferredLabel",
          "parent",
          "children",
          "altLabels",
          "groupType",
          "modelId",
          "createdAt",
          "updatedAt"
        ]
      },
      "OccupationGroupParentResponseSchemaGET": {
        "$id": "/components/schemas/OccupationGroupParentResponseSchemaGET",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "description": "The id of the occupation group. It can be used to retrieve the occupation group from the server.",
            "type": "string",
            "pattern": "^[0-9a-f]{24}$"
          },
          "UUID": {
            "description": "The UUID of the occupation group. It can be used to identify the occupation group across systems.",
            "type": "string",
            "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
          },
          "originUUID": {
            "description": "The last UUID in the UUIDHistory of occupation group. It can be used to identify the occupation group across systems.",
            "type": "string",
            "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
          },
          "path": {
            "description": "The path to the occupation group resource using the resource id",
            "type": "string",
            "format": "uri",
            "pattern": "^https://.*",
            "maxLength": 4096
          },
          "tabiyaPath": {
            "description": "The path to the occupation group resource using the resource UUID",
            "type": "string",
            "format": "uri",
            "pattern": "^https://.*",
            "maxLength": 4096
          },
          "parent": {
            "description": "The parent occupation group of this occupation group.",
            "type": [
              "object",
              "null"
            ],
            "additionalProperties": false,
            "properties": {
              "id": {
                "description": "The id of the parent occupation group.",
                "type": "string",
                "pattern": "^[0-9a-f]{24}$"
              },
              "UUID": {
                "description": "The UUID of the occupation group. It can be used to identify the parent occupation group.",
                "type": "string",
                "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
              },
              "code": {
                "description": "The code of the parent occupation group.",
                "type": "string",
                "maxLength": 256
              },
              "preferredLabel": {
                "description": "The preferred label of the parent occupation group.",
                "type": "string",
                "maxLength": 256,
                "pattern": "\\S"
              },
              "objectType": {
                "description": "The type of the occupation group, e.g., ISCOGroup or LocalGroup.",
                "type": "string",
                "enum": [
                  "iscogroup",
                  "localgroup"
                ]
              }
            },
            "if": {
              "properties": {
                "objectType": {
                  "enum": [
                    "iscogroup"
                  ]
                }
              }
            },
            "then": {
              "properties": {
                "code": {
                  "type": "string",
                  "maxLength": 256,
                  "pattern": "^\\d{1,4}$"
                }
              }
            },
            "else": {
              "properties": {
                "code": {
                  "type": "string",
                  "maxLength": 256,
                  "pattern": "^(?:\\d{1,4})?[a-zA-Z]+[a-zA-Z\\d]*$"
                }
              }
            }
          },
          "children": {
            "description": "The children of this occupation group, which can be either occupation groups or occupations.",
            "type": "array",
            "minItems": 0,
            "items": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "id": {
                  "description": "The id of the parent occupation group.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{24}$"
                },
                "UUID": {
                  "description": "The UUID of the occupation group. It can be used to identify the parent occupation group.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                },
                "code": {
                  "description": "The code of the parent occupation group.",
                  "type": "string",
                  "maxLength": 256
                },
                "preferredLabel": {
                  "description": "The preferred label of the parent occupation group.",
                  "type": "string",
                  "maxLength": 256,
                  "pattern": "\\S"
                },
                "objectType": {
                  "description": "The type of the occupation group | occupation, e.g., ISCOGroup, LocalGroup, ESCOOccupation, LocalOccupation.",
                  "type": "string",
                  "enum": [
                    "iscogroup",
                    "localgroup",
                    "escooccupation",
                    "localoccupation"
                  ]
                }
              },
              "allOf": [
                {
                  "if": {
                    "properties": {
                      "objectType": {
                        "const": "iscogroup"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "code": {
                        "type": "string",
                        "maxLength": 256,
                        "pattern": "^\\d{1,4}$"
                      }
                    }
                  }
                },
                {
                  "if": {
                    "properties": {
                      "objectType": {
                        "const": "localgroup"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "code": {
                        "type": "string",
                        "maxLength": 256,
                        "pattern": "^(?:\\d{1,4})?[a-zA-Z]+[a-zA-Z\\d]*$"
                      }
                    }
                  }
                },
                {
                  "if": {
                    "properties": {
                      "objectType": {
                        "const": "escooccupation"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "code": {
                        "type": "string",
                        "maxLength": 256,
                        "pattern": "^\\d{4}(?:\\.\\d+)+$"
                      }
                    }
                  }
                },
                {
                  "if": {
                    "properties": {
                      "objectType": {
                        "const": "localoccupation"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "code": {
                        "type": "string",
                        "maxLength": 256,
                        "pattern": "^(?:\\d{4}(?:\\.\\d+)*(?:_\\d+)+|[a-zA-Z\\d]+(?:_\\d+)+)$"
                      }
                    }
                  }
                }
              ]
            }
          },
          "UUIDHistory": {
            "description": "The UUIDs history of the occupation group.",
            "type": "array",
            "minItems": 0,
            "maxItems": 10000,
            "uniqueItems": true,
            "items": {
              "type": "string",
              "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
              "maxLength": 36
            }
          },
          "originUri": {
            "description": "The origin URI of the occupation group.",
            "type": "string",
            "maxLength": 4096,
            "format": "uri",
            "pattern": "\\S"
          },
          "code": {
            "description": "The code of the occupation group.",
            "type": "string",
            "maxLength": 256
          },
          "description": {
            "description": "The description of the occupation group.",
            "type": "string",
            "maxLength": 6000
          },
          "preferredLabel": {
            "description": "The preferred label of the occupation group.",
            "type": "string",
            "maxLength": 256,
            "pattern": "\\S"
          },
          "altLabels": {
            "description": "The alternative labels of the occupation group.",
            "type": "array",
            "minItems": 0,
            "maxItems": 100,
            "uniqueItems": true,
            "items": {
              "type": "string",
              "maxLength": 256
            }
          },
          "groupType": {
            "description": "The type of the occupation group, e.g., ISCOGroup or LocalGroup.",
            "type": "string",
            "enum": [
              "iscogroup",
              "localgroup"
            ]
          },
          "modelId": {
            "description": "The identifier of the model for occupation group.",
            "type": "string",
            "pattern": "^[0-9a-f]{24}$"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "if": {
          "properties": {
            "groupType": {
              "enum": [
                "iscogroup"
              ]
            }
          }
        },
        "then": {
          "properties": {
            "code": {
              "type": "string",
              "maxLength": 256,
              "pattern": "^\\d{1,4}$"
            }
          }
        },
        "else": {
          "properties": {
            "code": {
              "type": "string",
              "maxLength": 256,
              "pattern": "^(?:\\d{1,4})?[a-zA-Z]+[a-zA-Z\\d]*$"
            }
          }
        },
        "required": [
          "id",
          "UUID",
          "originUUID",
          "path",
          "UUIDHistory",
          "tabiyaPath",
          "originUri",
          "code",
          "description",
          "preferredLabel",
          "parent",
          "children",
          "altLabels",
          "groupType",
          "modelId",
          "createdAt",
          "updatedAt"
        ]
      },
      "OccupationGroupChildrenResponseSchemaGET": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "id": {
                  "description": "The id of the child of occupation group. It can be used to retrieve the single child from the server.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{24}$"
                },
                "parentId": {
                  "description": "The id of the parent occupation group. It can be used to retrieve the single parent from the server.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{24}$"
                },
                "UUID": {
                  "description": "The UUID of the child of occupation group. It can be used to identify the child across systems.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                },
                "originUUID": {
                  "description": "The last UUID in the UUIDHistory of child of occupation group. It can be used to identify the child across systems.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                },
                "path": {
                  "description": "The path to the child of occupation group resource using the resource id",
                  "type": "string",
                  "format": "uri",
                  "pattern": "^https://.*",
                  "maxLength": 4096
                },
                "tabiyaPath": {
                  "description": "The path to the child of occupation group resource using the resource UUID",
                  "type": "string",
                  "format": "uri",
                  "pattern": "^https://.*",
                  "maxLength": 4096
                },
                "UUIDHistory": {
                  "description": "The UUIDs history of the child of occupation group.",
                  "type": "array",
                  "minItems": 0,
                  "maxItems": 10000,
                  "uniqueItems": true,
                  "items": {
                    "type": "string",
                    "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
                    "maxLength": 36
                  }
                },
                "originUri": {
                  "description": "The origin URI of the child of occupation group.",
                  "type": "string",
                  "maxLength": 4096,
                  "format": "uri",
                  "pattern": "\\S"
                },
                "code": {
                  "description": "The code of the child of occupation group.",
                  "type": "string",
                  "maxLength": 256
                },
                "description": {
                  "description": "The description of the child of the occupation group.",
                  "type": "string",
                  "maxLength": 6000
                },
                "preferredLabel": {
                  "description": "The preferred label of the child of occupation group.",
                  "type": "string",
                  "maxLength": 256,
                  "pattern": "\\S"
                },
                "altLabels": {
                  "description": "The alternative labels of the child of the occupation group.",
                  "type": "array",
                  "minItems": 0,
                  "maxItems": 100,
                  "uniqueItems": true,
                  "items": {
                    "type": "string",
                    "maxLength": 256
                  }
                },
                "objectType": {
                  "description": "The type of the child of occupation group, e.g., ISCOGroup, LocalGroup, ESCOOccupation, LocalOccupation.",
                  "type": "string",
                  "enum": [
                    "iscogroup",
                    "localgroup",
                    "escooccupation",
                    "localoccupation"
                  ]
                },
                "modelId": {
                  "description": "The identifier of the model for child of the occupation group.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{24}$"
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time"
                },
                "updatedAt": {
                  "type": "string",
                  "format": "date-time"
                }
              },
              "allOf": [
                {
                  "if": {
                    "properties": {
                      "objectType": {
                        "const": "iscogroup"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "code": {
                        "type": "string",
                        "maxLength": 256,
                        "pattern": "^\\d{1,4}$"
                      }
                    }
                  }
                },
                {
                  "if": {
                    "properties": {
                      "objectType": {
                        "const": "localgroup"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "code": {
                        "type": "string",
                        "maxLength": 256,
                        "pattern": "^(?:\\d{1,4})?[a-zA-Z]+[a-zA-Z\\d]*$"
                      }
                    }
                  }
                },
                {
                  "if": {
                    "properties": {
                      "objectType": {
                        "const": "escooccupation"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "code": {
                        "type": "string",
                        "maxLength": 256,
                        "pattern": "^\\d{4}(?:\\.\\d+)+$"
                      }
                    }
                  }
                },
                {
                  "if": {
                    "properties": {
                      "objectType": {
                        "const": "localoccupation"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "code": {
                        "type": "string",
                        "maxLength": 256,
                        "pattern": "^(?:\\d{4}(?:\\.\\d+)*(?:_\\d+)+|[a-zA-Z\\d]+(?:_\\d+)+)$"
                      }
                    }
                  }
                }
              ],
              "required": [
                "id",
                "parentId",
                "UUID",
                "originUUID",
                "path",
                "tabiyaPath",
                "UUIDHistory",
                "originUri",
                "code",
                "description",
                "preferredLabel",
                "altLabels",
                "objectType",
                "modelId",
                "createdAt",
                "updatedAt"
              ]
            }
          },
          "limit": {
            "type": [
              "integer",
              "null"
            ],
            "minimum": 1,
            "maximum": 100,
            "default": 10,
            "description": "The maximum number of children of occupation groups that could be returned in the response."
          },
          "nextCursor": {
            "type": [
              "string",
              "null"
            ],
            "description": "A base64 string representing the cursor for the next page of results. Null if there is no next page.",
            "maxLength": 1720,
            "pattern": "\\S"
          }
        },
        "required": [
          "data",
          "limit"
        ],
        "additionalProperties": false
      },
      "OccupationGroupRequestParamSchemaGET": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "modelId": {
            "description": "The identifier of the model for occupation group.",
            "type": "string",
            "pattern": "^[0-9a-f]{24}$"
          }
        },
        "required": [
          "modelId"
        ]
      },
      "OccupationGroupRequestQueryParamSchemaGET": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "limit": {
            "description": "The maximum number of items to return.",
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 10
          },
          "cursor": {
            "description": "A base64 string representing the cursor for pagination.",
            "type": "string",
            "maxLength": 1720,
            "pattern": "\\S"
          }
        }
      },
      "OccupationGroupResponseSchemaGET": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "id": {
                  "description": "The id of the occupation group. It can be used to retrieve the occupation group from the server.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{24}$"
                },
                "UUID": {
                  "description": "The UUID of the occupation group. It can be used to identify the occupation group across systems.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                },
                "originUUID": {
                  "description": "The last UUID in the UUIDHistory of occupation group. It can be used to identify the occupation group across systems.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                },
                "path": {
                  "description": "The path to the occupation group resource using the resource id",
                  "type": "string",
                  "format": "uri",
                  "pattern": "^https://.*",
                  "maxLength": 4096
                },
                "tabiyaPath": {
                  "description": "The path to the occupation group resource using the resource UUID",
                  "type": "string",
                  "format": "uri",
                  "pattern": "^https://.*",
                  "maxLength": 4096
                },
                "parent": {
                  "description": "The parent occupation group of this occupation group.",
                  "type": [
                    "object",
                    "null"
                  ],
                  "additionalProperties": false,
                  "properties": {
                    "id": {
                      "description": "The id of the parent occupation group.",
                      "type": "string",
                      "pattern": "^[0-9a-f]{24}$"
                    },
                    "UUID": {
                      "description": "The UUID of the occupation group. It can be used to identify the parent occupation group.",
                      "type": "string",
                      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                    },
                    "code": {
                      "description": "The code of the parent occupation group.",
                      "type": "string",
                      "maxLength": 256
                    },
                    "preferredLabel": {
                      "description": "The preferred label of the parent occupation group.",
                      "type": "string",
                      "maxLength": 256,
                      "pattern": "\\S"
                    },
                    "objectType": {
                      "description": "The type of the occupation group, e.g., ISCOGroup or LocalGroup.",
                      "type": "string",
                      "enum": [
                        "iscogroup",
                        "localgroup"
                      ]
                    }
                  },
                  "if": {
                    "properties": {
                      "objectType": {
                        "enum": [
                          "iscogroup"
                        ]
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "code": {
                        "type": "string",
                        "maxLength": 256,
                        "pattern": "^\\d{1,4}$"
                      }
                    }
                  },
                  "else": {
                    "properties": {
                      "code": {
                        "type": "string",
                        "maxLength": 256,
                        "pattern": "^(?:\\d{1,4})?[a-zA-Z]+[a-zA-Z\\d]*$"
                      }
                    }
                  }
                },
                "children": {
                  "description": "The children of this occupation group, which can be either occupation groups or occupations.",
                  "type": "array",
                  "minItems": 0,
                  "items": {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                      "id": {
                        "description": "The id of the parent occupation group.",
                        "type": "string",
                        "pattern": "^[0-9a-f]{24}$"
                      },
                      "UUID": {
                        "description": "The UUID of the occupation group. It can be used to identify the parent occupation group.",
                        "type": "string",
                        "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                      },
                      "code": {
                        "description": "The code of the parent occupation group.",
                        "type": "string",
                        "maxLength": 256
                      },
                      "preferredLabel": {
                        "description": "The preferred label of the parent occupation group.",
                        "type": "string",
                        "maxLength": 256,
                        "pattern": "\\S"
                      },
                      "objectType": {
                        "description": "The type of the occupation group | occupation, e.g., ISCOGroup, LocalGroup, ESCOOccupation, LocalOccupation.",
                        "type": "string",
                        "enum": [
                          "iscogroup",
                          "localgroup",
                          "escooccupation",
                          "localoccupation"
                        ]
                      }
                    },
                    "allOf": [
                      {
                        "if": {
                          "properties": {
                            "objectType": {
                              "const": "iscogroup"
                            }
                          }
                        },
                        "then": {
                          "properties": {
                            "code": {
                              "type": "string",
                              "maxLength": 256,
                              "pattern": "^\\d{1,4}$"
                            }
                          }
                        }
                      },
                      {
                        "if": {
                          "properties": {
                            "objectType": {
                              "const": "localgroup"
                            }
                          }
                        },
                        "then": {
                          "properties": {
                            "code": {
                              "type": "string",
                              "maxLength": 256,
                              "pattern": "^(?:\\d{1,4})?[a-zA-Z]+[a-zA-Z\\d]*$"
                            }
                          }
                        }
                      },
                      {
                        "if": {
                          "properties": {
                            "objectType": {
                              "const": "escooccupation"
                            }
                          }
                        },
                        "then": {
                          "properties": {
                            "code": {
                              "type": "string",
                              "maxLength": 256,
                              "pattern": "^\\d{4}(?:\\.\\d+)+$"
                            }
                          }
                        }
                      },
                      {
                        "if": {
                          "properties": {
                            "objectType": {
                              "const": "localoccupation"
                            }
                          }
                        },
                        "then": {
                          "properties": {
                            "code": {
                              "type": "string",
                              "maxLength": 256,
                              "pattern": "^(?:\\d{4}(?:\\.\\d+)*(?:_\\d+)+|[a-zA-Z\\d]+(?:_\\d+)+)$"
                            }
                          }
                        }
                      }
                    ]
                  }
                },
                "UUIDHistory": {
                  "description": "The UUIDs history of the occupation group.",
                  "type": "array",
                  "minItems": 0,
                  "maxItems": 10000,
                  "uniqueItems": true,
                  "items": {
                    "type": "string",
                    "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
                    "maxLength": 36
                  }
                },
                "originUri": {
                  "description": "The origin URI of the occupation group.",
                  "type": "string",
                  "maxLength": 4096,
                  "format": "uri",
                  "pattern": "\\S"
                },
                "code": {
                  "description": "The code of the occupation group.",
                  "type": "string",
                  "maxLength": 256
                },
                "description": {
                  "description": "The description of the occupation group.",
                  "type": "string",
                  "maxLength": 6000
                },
                "preferredLabel": {
                  "description": "The preferred label of the occupation group.",
                  "type": "string",
                  "maxLength": 256,
                  "pattern": "\\S"
                },
                "altLabels": {
                  "description": "The alternative labels of the occupation group.",
                  "type": "array",
                  "minItems": 0,
                  "maxItems": 100,
                  "uniqueItems": true,
                  "items": {
                    "type": "string",
                    "maxLength": 256
                  }
                },
                "groupType": {
                  "description": "The type of the occupation group, e.g., ISCOGroup or LocalGroup.",
                  "type": "string",
                  "enum": [
                    "iscogroup",
                    "localgroup"
                  ]
                },
                "modelId": {
                  "description": "The identifier of the model for occupation group.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{24}$"
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time"
                },
                "updatedAt": {
                  "type": "string",
                  "format": "date-time"
                }
              },
              "if": {
                "properties": {
                  "groupType": {
                    "enum": [
                      "iscogroup"
                    ]
                  }
                }
              },
              "then": {
                "properties": {
                  "code": {
                    "type": "string",
                    "maxLength": 256,
                    "pattern": "^\\d{1,4}$"
                  }
                }
              },
              "else": {
                "properties": {
                  "code": {
                    "type": "string",
                    "maxLength": 256,
                    "pattern": "^(?:\\d{1,4})?[a-zA-Z]+[a-zA-Z\\d]*$"
                  }
                }
              },
              "required": [
                "id",
                "UUID",
                "originUUID",
                "path",
                "UUIDHistory",
                "tabiyaPath",
                "originUri",
                "code",
                "description",
                "preferredLabel",
                "parent",
                "children",
                "altLabels",
                "groupType",
                "modelId",
                "createdAt",
                "updatedAt"
              ]
            }
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 10,
            "description": "The maximum number of occupation groups that could be returned in the response."
          },
          "nextCursor": {
            "type": [
              "string",
              "null"
            ],
            "description": "A base64 string representing the cursor for the next page of results. Null if there is no next page.",
            "maxLength": 1720,
            "pattern": "\\S"
          }
        },
        "required": [
          "data",
          "limit"
        ],
        "additionalProperties": false
      },
      "OccupationGroupRequestByIdParamSchemaGET": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "modelId": {
            "description": "The identifier of the model for occupation group.",
            "type": "string",
            "pattern": "^[0-9a-f]{24}$"
          },
          "id": {
            "description": "The id of the occupation group. It can be used to retrieve the occupation group from the server.",
            "type": "string",
            "pattern": "^[0-9a-f]{24}$"
          }
        },
        "required": [
          "modelId",
          "id"
        ]
      },
      "OccupationRequestSchemaPOST": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "UUIDHistory": {
            "description": "The UUIDs history of the occupation.",
            "type": "array",
            "minItems": 0,
            "maxItems": 10000,
            "uniqueItems": true,
            "items": {
              "type": "string",
              "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
              "maxLength": 50
            }
          },
          "originUri": {
            "description": "The origin URI of the occupation.",
            "type": "string",
            "format": "uri",
            "maxLength": 4096,
            "pattern": "\\S"
          },
          "occupationType": {
            "description": "The occupation classification type (e.g., ESCOOccupation or LocalOccupation).",
            "type": "string",
            "enum": [
              "escooccupation",
              "localoccupation"
            ]
          },
          "code": {
            "description": "The code of the occupation.",
            "type": "string",
            "maxLength": 256
          },
          "occupationGroupCode": {
            "description": "The code of the parent occupation group.",
            "type": "string",
            "maxLength": 256
          },
          "preferredLabel": {
            "description": "The preferred label of the occupation.",
            "type": "string",
            "maxLength": 256,
            "pattern": "\\S"
          },
          "altLabels": {
            "description": "Alternative labels for the occupation.",
            "type": "array",
            "minItems": 0,
            "maxItems": 100,
            "uniqueItems": true,
            "items": {
              "type": "string",
              "maxLength": 256
            }
          },
          "definition": {
            "description": "The formal definition of the occupation.",
            "type": "string",
            "maxLength": 4000
          },
          "description": {
            "description": "Additional descriptive information about the occupation.",
            "type": "string",
            "maxLength": 6000
          },
          "regulatedProfessionNote": {
            "description": "Regulatory information for legally regulated professions.",
            "type": "string",
            "maxLength": 4000
          },
          "scopeNote": {
            "description": "Scope clarification for the occupation's application.",
            "type": "string",
            "maxLength": 4000
          },
          "isLocalized": {
            "description": "Indicates if the occupation has localized variants. Must be false for LocalOccupation.",
            "type": "boolean"
          },
          "modelId": {
            "description": "The identifier of the model containing this occupation.",
            "type": "string",
            "pattern": "^[0-9a-f]{24}$"
          }
        },
        "if": {
          "properties": {
            "occupationType": {
              "const": "escooccupation"
            }
          }
        },
        "then": {
          "properties": {
            "code": {
              "type": "string",
              "maxLength": 100,
              "pattern": "^\\d{4}(?:\\.\\d+)+$"
            },
            "occupationGroupCode": {
              "type": "string",
              "maxLength": 100,
              "pattern": "^\\d{1,4}$"
            }
          }
        },
        "else": {
          "properties": {
            "code": {
              "type": "string",
              "maxLength": 100,
              "pattern": "^(?:\\d{4}(?:\\.\\d+)*(?:_\\d+)+|[a-zA-Z\\d]+(?:_\\d+)+)$"
            },
            "occupationGroupCode": {
              "type": "string",
              "maxLength": 100,
              "pattern": "^(?:\\d{1,4})?[a-zA-Z]+[a-zA-Z\\d]*$"
            }
          }
        },
        "required": [
          "code",
          "occupationGroupCode",
          "preferredLabel",
          "originUri",
          "UUIDHistory",
          "altLabels",
          "definition",
          "description",
          "regulatedProfessionNote",
          "scopeNote",
          "modelId",
          "occupationType",
          "isLocalized"
        ]
      },
      "OccupationResponseSchemaPOST": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "description": "The unique identifier of the occupation.",
            "type": "string",
            "pattern": "^[0-9a-f]{24}$"
          },
          "UUID": {
            "description": "The UUID of the occupation for cross-system identification.",
            "type": "string",
            "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
          },
          "originUUID": {
            "description": "The original UUID of the occupation, i.e., the first UUID in UUIDHistory",
            "type": "string",
            "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
            "maxLength": 50
          },
          "path": {
            "description": "Resource path using the occupation's ID.",
            "type": "string",
            "format": "uri",
            "pattern": "^https://.*",
            "maxLength": 4096
          },
          "tabiyaPath": {
            "description": "Resource path using the occupation's UUID.",
            "type": "string",
            "format": "uri",
            "pattern": "^https://.*",
            "maxLength": 4096
          },
          "parent": {
            "description": "The parent occupation of this occupation.",
            "type": [
              "object",
              "null"
            ],
            "additionalProperties": false,
            "properties": {
              "id": {
                "description": "The id of the parent occupation.",
                "type": "string",
                "pattern": "^[0-9a-f]{24}$"
              },
              "UUID": {
                "description": "The UUID of the occupation. It can be used to identify the parent occupation.",
                "type": "string",
                "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
              },
              "code": {
                "description": "The code of the parent occupation.",
                "type": "string",
                "maxLength": 256
              },
              "occupationGroupCode": {
                "description": "The code of the parent occupation group.",
                "type": "string",
                "maxLength": 256
              },
              "preferredLabel": {
                "description": "The preferred label of the parent occupation.",
                "type": "string",
                "maxLength": 256,
                "pattern": "\\S"
              },
              "objectType": {
                "description": "The type of the occupation parent (LocalOccupation, ESCOOccupation, ISCOGroup or LocalGroup).",
                "type": "string",
                "enum": [
                  "iscogroup",
                  "localgroup",
                  "escooccupation",
                  "localoccupation"
                ]
              }
            },
            "allOf": [
              {
                "if": {
                  "properties": {
                    "objectType": {
                      "const": "iscogroup"
                    }
                  }
                },
                "then": {
                  "properties": {
                    "code": {
                      "type": "string",
                      "pattern": "^\\d{1,4}$",
                      "maxLength": 256
                    },
                    "occupationGroupCode": {
                      "type": "string",
                      "pattern": "^\\d{1,4}$",
                      "maxLength": 256
                    }
                  }
                }
              },
              {
                "if": {
                  "properties": {
                    "objectType": {
                      "const": "localgroup"
                    }
                  }
                },
                "then": {
                  "properties": {
                    "code": {
                      "type": "string",
                      "pattern": "^(?:\\d{1,4})?[a-zA-Z]+[a-zA-Z\\d]*$",
                      "maxLength": 256
                    },
                    "occupationGroupCode": {
                      "type": "string",
                      "pattern": "^(?:\\d{1,4})?[a-zA-Z]+[a-zA-Z\\d]*$",
                      "maxLength": 256
                    }
                  }
                }
              },
              {
                "if": {
                  "properties": {
                    "objectType": {
                      "const": "escooccupation"
                    }
                  }
                },
                "then": {
                  "properties": {
                    "code": {
                      "type": "string",
                      "pattern": "^\\d{4}(?:\\.\\d+)+$",
                      "maxLength": 256
                    },
                    "occupationGroupCode": {
                      "type": "string",
                      "pattern": "^\\d{1,4}$",
                      "maxLength": 256
                    }
                  }
                }
              },
              {
                "if": {
                  "properties": {
                    "objectType": {
                      "const": "localoccupation"
                    }
                  }
                },
                "then": {
                  "properties": {
                    "code": {
                      "type": "string",
                      "pattern": "^(?:\\d{4}(?:\\.\\d+)*(?:_\\d+)+|[a-zA-Z\\d]+(?:_\\d+)+)$",
                      "maxLength": 256
                    },
                    "occupationGroupCode": {
                      "type": "string",
                      "pattern": "^(?:\\d{1,4})?[a-zA-Z]+[a-zA-Z\\d]*$|^\\d{1,4}$",
                      "maxLength": 256
                    }
                  }
                }
              }
            ]
          },
          "children": {
            "description": "The children of this occupation.",
            "type": "array",
            "minItems": 0,
            "items": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "id": {
                  "description": "The id of the child occupation.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{24}$"
                },
                "UUID": {
                  "description": "The UUID of the child occupation.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                },
                "code": {
                  "description": "The code of the child occupation.",
                  "type": "string",
                  "maxLength": 256
                },
                "occupationGroupCode": {
                  "description": "The code of the child occupation group.",
                  "type": "string",
                  "maxLength": 256
                },
                "preferredLabel": {
                  "description": "The preferred label of the child occupation.",
                  "type": "string",
                  "maxLength": 256,
                  "pattern": "\\S"
                },
                "objectType": {
                  "description": "The type of the occupation child (EscoOccupation or LocalOccupation).",
                  "type": "string",
                  "enum": [
                    "escooccupation",
                    "localoccupation"
                  ]
                }
              },
              "allOf": [
                {
                  "if": {
                    "properties": {
                      "objectType": {
                        "const": "escooccupation"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "code": {
                        "type": "string",
                        "pattern": "^\\d{4}(?:\\.\\d+)+$",
                        "maxLength": 256
                      },
                      "occupationGroupCode": {
                        "type": "string",
                        "pattern": "^\\d{1,4}$",
                        "maxLength": 256
                      }
                    }
                  }
                },
                {
                  "if": {
                    "properties": {
                      "objectType": {
                        "const": "localoccupation"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "code": {
                        "type": "string",
                        "pattern": "^(?:\\d{4}(?:\\.\\d+)*(?:_\\d+)+|[a-zA-Z\\d]+(?:_\\d+)+)$",
                        "maxLength": 256
                      },
                      "occupationGroupCode": {
                        "type": "string",
                        "pattern": "^(?:\\d{1,4})?[a-zA-Z]+[a-zA-Z\\d]*$|^\\d{1,4}$",
                        "maxLength": 256
                      }
                    }
                  }
                }
              ]
            }
          },
          "requiresSkills": {
            "description": "Skills required for this occupation with relationship metadata.",
            "type": "array",
            "minItems": 0,
            "items": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "id": {
                  "description": "The ID of the required skill.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{24}$"
                },
                "UUID": {
                  "description": "The UUID of the required skill.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                },
                "preferredLabel": {
                  "description": "The preferred label of the required skill.",
                  "type": "string",
                  "maxLength": 256,
                  "pattern": "\\S"
                },
                "isLocalized": {
                  "description": "Indicates if the required skill is localized.",
                  "type": "boolean"
                },
                "objectType": {
                  "description": "The object type of the required skill.",
                  "type": "string",
                  "enum": [
                    "skill"
                  ]
                },
                "relationType": {
                  "description": "Used for ESCOOccupations only.",
                  "type": [
                    "string",
                    "null"
                  ],
                  "enum": [
                    "",
                    "essential",
                    "optional",
                    null
                  ]
                },
                "signallingValue": {
                  "description": "Used for LocalOccupations only.",
                  "type": [
                    "number",
                    "null"
                  ],
                  "minimum": 0,
                  "maximum": 100
                },
                "signallingValueLabel": {
                  "description": "Used for LocalOccupations only.",
                  "type": [
                    "string",
                    "null"
                  ],
                  "maxLength": 256,
                  "pattern": "\\S"
                }
              },
              "required": [
                "id",
                "UUID",
                "preferredLabel",
                "isLocalized",
                "objectType"
              ]
            }
          },
          "UUIDHistory": {
            "description": "The UUIDs history of the occupation.",
            "type": "array",
            "minItems": 0,
            "maxItems": 10000,
            "uniqueItems": true,
            "items": {
              "type": "string",
              "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
              "maxLength": 50
            }
          },
          "originUri": {
            "description": "The origin URI of the occupation.",
            "type": "string",
            "format": "uri",
            "maxLength": 4096,
            "pattern": "\\S"
          },
          "occupationType": {
            "description": "The occupation classification type (e.g., ESCOOccupation or LocalOccupation).",
            "type": "string",
            "enum": [
              "escooccupation",
              "localoccupation"
            ]
          },
          "code": {
            "description": "The code of the occupation.",
            "type": "string",
            "maxLength": 256
          },
          "occupationGroupCode": {
            "description": "The code of the parent occupation group.",
            "type": "string",
            "maxLength": 256
          },
          "preferredLabel": {
            "description": "The preferred label of the occupation.",
            "type": "string",
            "maxLength": 256,
            "pattern": "\\S"
          },
          "altLabels": {
            "description": "Alternative labels for the occupation.",
            "type": "array",
            "minItems": 0,
            "maxItems": 100,
            "uniqueItems": true,
            "items": {
              "type": "string",
              "maxLength": 256
            }
          },
          "definition": {
            "description": "The formal definition of the occupation.",
            "type": "string",
            "maxLength": 4000
          },
          "description": {
            "description": "Additional descriptive information about the occupation.",
            "type": "string",
            "maxLength": 6000
          },
          "regulatedProfessionNote": {
            "description": "Regulatory information for legally regulated professions.",
            "type": "string",
            "maxLength": 4000
          },
          "scopeNote": {
            "description": "Scope clarification for the occupation's application.",
            "type": "string",
            "maxLength": 4000
          },
          "isLocalized": {
            "description": "Indicates if the occupation has localized variants. Must be false for LocalOccupation.",
            "type": "boolean"
          },
          "modelId": {
            "description": "The identifier of the model containing this occupation.",
            "type": "string",
            "pattern": "^[0-9a-f]{24}$"
          },
          "createdAt": {
            "description": "Timestamp of record creation.",
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "description": "Timestamp of last record modification.",
            "type": "string",
            "format": "date-time"
          }
        },
        "allOf": [
          {
            "if": {
              "properties": {
                "occupationType": {
                  "const": "escooccupation"
                }
              }
            },
            "then": {
              "properties": {
                "code": {
                  "type": "string",
                  "pattern": "^\\d{4}(?:\\.\\d+)+$",
                  "maxLength": 256
                },
                "occupationGroupCode": {
                  "type": "string",
                  "pattern": "^\\d{1,4}$",
                  "maxLength": 256
                }
              }
            }
          },
          {
            "if": {
              "properties": {
                "occupationType": {
                  "const": "localoccupation"
                }
              }
            },
            "then": {
              "properties": {
                "code": {
                  "type": "string",
                  "pattern": "^(?:\\d{4}(?:\\.\\d+)*(?:_\\d+)+|[a-zA-Z\\d]+(?:_\\d+)+)$",
                  "maxLength": 256
                },
                "occupationGroupCode": {
                  "type": "string",
                  "pattern": "^(?:\\d{1,4})?[a-zA-Z]+[a-zA-Z\\d]*$|^\\d{1,4}$",
                  "maxLength": 256
                }
              }
            }
          },
          {
            "if": {
              "properties": {
                "occupationType": {
                  "const": "escooccupation"
                }
              }
            },
            "then": {
              "properties": {
                "requiresSkills": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "relationType": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "relationType"
                    ]
                  }
                }
              }
            }
          },
          {
            "if": {
              "properties": {
                "occupationType": {
                  "const": "localoccupation"
                }
              }
            },
            "then": {
              "properties": {
                "requiresSkills": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "signallingValue": {
                        "type": "number"
                      },
                      "signallingValueLabel": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "signallingValue",
                      "signallingValueLabel"
                    ]
                  }
                }
              }
            }
          }
        ],
        "required": [
          "id",
          "UUID",
          "originUUID",
          "UUIDHistory",
          "path",
          "tabiyaPath",
          "code",
          "occupationGroupCode",
          "originUri",
          "preferredLabel",
          "altLabels",
          "definition",
          "description",
          "regulatedProfessionNote",
          "scopeNote",
          "occupationType",
          "modelId",
          "isLocalized",
          "parent",
          "requiresSkills",
          "children",
          "createdAt",
          "updatedAt"
        ]
      },
      "OccupationRequestParamSchemaGET": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "modelId": {
            "description": "The identifier of the model for occupation.",
            "type": "string",
            "pattern": "^[0-9a-f]{24}$"
          }
        },
        "required": [
          "modelId"
        ]
      },
      "OccupationRequestByIdParamSchemaGET": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "modelId": {
            "description": "The identifier of the model for occupation.",
            "type": "string",
            "pattern": "^[0-9a-f]{24}$"
          },
          "id": {
            "description": "The id of the occupation. It can be used to retrieve the occupation from the server.",
            "type": "string",
            "pattern": "^[0-9a-f]{24}$"
          }
        },
        "required": [
          "modelId",
          "id"
        ]
      },
      "OccupationRequestQueryParamSchemaGET": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "limit": {
            "description": "The maximum number of items to return.",
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 10
          },
          "cursor": {
            "description": "A base64 string representing the cursor for pagination.",
            "type": "string",
            "maxLength": 1024,
            "pattern": "\\S"
          }
        }
      },
      "OccupationResponseSchemaGET": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$id": "/components/schemas/OccupationItem",
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "id": {
                  "description": "The unique identifier of the occupation.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{24}$"
                },
                "UUID": {
                  "description": "The UUID of the occupation for cross-system identification.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                },
                "originUUID": {
                  "description": "The original UUID of the occupation, i.e., the first UUID in UUIDHistory",
                  "type": "string",
                  "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
                  "maxLength": 50
                },
                "path": {
                  "description": "Resource path using the occupation's ID.",
                  "type": "string",
                  "format": "uri",
                  "pattern": "^https://.*",
                  "maxLength": 4096
                },
                "tabiyaPath": {
                  "description": "Resource path using the occupation's UUID.",
                  "type": "string",
                  "format": "uri",
                  "pattern": "^https://.*",
                  "maxLength": 4096
                },
                "parent": {
                  "description": "The parent occupation of this occupation.",
                  "type": [
                    "object",
                    "null"
                  ],
                  "additionalProperties": false,
                  "properties": {
                    "id": {
                      "description": "The id of the parent occupation.",
                      "type": "string",
                      "pattern": "^[0-9a-f]{24}$"
                    },
                    "UUID": {
                      "description": "The UUID of the occupation. It can be used to identify the parent occupation.",
                      "type": "string",
                      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                    },
                    "code": {
                      "description": "The code of the parent occupation.",
                      "type": "string",
                      "maxLength": 256
                    },
                    "occupationGroupCode": {
                      "description": "The code of the parent occupation group.",
                      "type": "string",
                      "maxLength": 256
                    },
                    "preferredLabel": {
                      "description": "The preferred label of the parent occupation.",
                      "type": "string",
                      "maxLength": 256,
                      "pattern": "\\S"
                    },
                    "objectType": {
                      "description": "The type of the occupation parent (LocalOccupation, ESCOOccupation, ISCOGroup or LocalGroup).",
                      "type": "string",
                      "enum": [
                        "iscogroup",
                        "localgroup",
                        "escooccupation",
                        "localoccupation"
                      ]
                    }
                  },
                  "allOf": [
                    {
                      "if": {
                        "properties": {
                          "objectType": {
                            "const": "iscogroup"
                          }
                        }
                      },
                      "then": {
                        "properties": {
                          "code": {
                            "type": "string",
                            "pattern": "^\\d{1,4}$",
                            "maxLength": 256
                          },
                          "occupationGroupCode": {
                            "type": "string",
                            "pattern": "^\\d{1,4}$",
                            "maxLength": 256
                          }
                        }
                      }
                    },
                    {
                      "if": {
                        "properties": {
                          "objectType": {
                            "const": "localgroup"
                          }
                        }
                      },
                      "then": {
                        "properties": {
                          "code": {
                            "type": "string",
                            "pattern": "^(?:\\d{1,4})?[a-zA-Z]+[a-zA-Z\\d]*$",
                            "maxLength": 256
                          },
                          "occupationGroupCode": {
                            "type": "string",
                            "pattern": "^(?:\\d{1,4})?[a-zA-Z]+[a-zA-Z\\d]*$",
                            "maxLength": 256
                          }
                        }
                      }
                    },
                    {
                      "if": {
                        "properties": {
                          "objectType": {
                            "const": "escooccupation"
                          }
                        }
                      },
                      "then": {
                        "properties": {
                          "code": {
                            "type": "string",
                            "pattern": "^\\d{4}(?:\\.\\d+)+$",
                            "maxLength": 256
                          },
                          "occupationGroupCode": {
                            "type": "string",
                            "pattern": "^\\d{1,4}$",
                            "maxLength": 256
                          }
                        }
                      }
                    },
                    {
                      "if": {
                        "properties": {
                          "objectType": {
                            "const": "localoccupation"
                          }
                        }
                      },
                      "then": {
                        "properties": {
                          "code": {
                            "type": "string",
                            "pattern": "^(?:\\d{4}(?:\\.\\d+)*(?:_\\d+)+|[a-zA-Z\\d]+(?:_\\d+)+)$",
                            "maxLength": 256
                          },
                          "occupationGroupCode": {
                            "type": "string",
                            "pattern": "^(?:\\d{1,4})?[a-zA-Z]+[a-zA-Z\\d]*$|^\\d{1,4}$",
                            "maxLength": 256
                          }
                        }
                      }
                    }
                  ]
                },
                "children": {
                  "description": "The children of this occupation.",
                  "type": "array",
                  "minItems": 0,
                  "items": {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                      "id": {
                        "description": "The id of the child occupation.",
                        "type": "string",
                        "pattern": "^[0-9a-f]{24}$"
                      },
                      "UUID": {
                        "description": "The UUID of the child occupation.",
                        "type": "string",
                        "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                      },
                      "code": {
                        "description": "The code of the child occupation.",
                        "type": "string",
                        "maxLength": 256
                      },
                      "occupationGroupCode": {
                        "description": "The code of the child occupation group.",
                        "type": "string",
                        "maxLength": 256
                      },
                      "preferredLabel": {
                        "description": "The preferred label of the child occupation.",
                        "type": "string",
                        "maxLength": 256,
                        "pattern": "\\S"
                      },
                      "objectType": {
                        "description": "The type of the occupation child (EscoOccupation or LocalOccupation).",
                        "type": "string",
                        "enum": [
                          "escooccupation",
                          "localoccupation"
                        ]
                      }
                    },
                    "allOf": [
                      {
                        "if": {
                          "properties": {
                            "objectType": {
                              "const": "escooccupation"
                            }
                          }
                        },
                        "then": {
                          "properties": {
                            "code": {
                              "type": "string",
                              "pattern": "^\\d{4}(?:\\.\\d+)+$",
                              "maxLength": 256
                            },
                            "occupationGroupCode": {
                              "type": "string",
                              "pattern": "^\\d{1,4}$",
                              "maxLength": 256
                            }
                          }
                        }
                      },
                      {
                        "if": {
                          "properties": {
                            "objectType": {
                              "const": "localoccupation"
                            }
                          }
                        },
                        "then": {
                          "properties": {
                            "code": {
                              "type": "string",
                              "pattern": "^(?:\\d{4}(?:\\.\\d+)*(?:_\\d+)+|[a-zA-Z\\d]+(?:_\\d+)+)$",
                              "maxLength": 256
                            },
                            "occupationGroupCode": {
                              "type": "string",
                              "pattern": "^(?:\\d{1,4})?[a-zA-Z]+[a-zA-Z\\d]*$|^\\d{1,4}$",
                              "maxLength": 256
                            }
                          }
                        }
                      }
                    ]
                  }
                },
                "requiresSkills": {
                  "description": "Skills required for this occupation with relationship metadata.",
                  "type": "array",
                  "minItems": 0,
                  "items": {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                      "id": {
                        "description": "The ID of the required skill.",
                        "type": "string",
                        "pattern": "^[0-9a-f]{24}$"
                      },
                      "UUID": {
                        "description": "The UUID of the required skill.",
                        "type": "string",
                        "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                      },
                      "preferredLabel": {
                        "description": "The preferred label of the required skill.",
                        "type": "string",
                        "maxLength": 256,
                        "pattern": "\\S"
                      },
                      "isLocalized": {
                        "description": "Indicates if the required skill is localized.",
                        "type": "boolean"
                      },
                      "objectType": {
                        "description": "The object type of the required skill.",
                        "type": "string",
                        "enum": [
                          "skill"
                        ]
                      },
                      "relationType": {
                        "description": "Used for ESCOOccupations only.",
                        "type": [
                          "string",
                          "null"
                        ],
                        "enum": [
                          "",
                          "essential",
                          "optional",
                          null
                        ]
                      },
                      "signallingValue": {
                        "description": "Used for LocalOccupations only.",
                        "type": [
                          "number",
                          "null"
                        ],
                        "minimum": 0,
                        "maximum": 100
                      },
                      "signallingValueLabel": {
                        "description": "Used for LocalOccupations only.",
                        "type": [
                          "string",
                          "null"
                        ],
                        "maxLength": 256,
                        "pattern": "\\S"
                      }
                    },
                    "required": [
                      "id",
                      "UUID",
                      "preferredLabel",
                      "isLocalized",
                      "objectType"
                    ]
                  }
                },
                "UUIDHistory": {
                  "description": "The UUIDs history of the occupation.",
                  "type": "array",
                  "minItems": 0,
                  "maxItems": 10000,
                  "uniqueItems": true,
                  "items": {
                    "type": "string",
                    "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
                    "maxLength": 50
                  }
                },
                "originUri": {
                  "description": "The origin URI of the occupation.",
                  "type": "string",
                  "format": "uri",
                  "maxLength": 4096,
                  "pattern": "\\S"
                },
                "occupationType": {
                  "description": "The occupation classification type (e.g., ESCOOccupation or LocalOccupation).",
                  "type": "string",
                  "enum": [
                    "escooccupation",
                    "localoccupation"
                  ]
                },
                "code": {
                  "description": "The code of the occupation.",
                  "type": "string",
                  "maxLength": 256
                },
                "occupationGroupCode": {
                  "description": "The code of the parent occupation group.",
                  "type": "string",
                  "maxLength": 256
                },
                "preferredLabel": {
                  "description": "The preferred label of the occupation.",
                  "type": "string",
                  "maxLength": 256,
                  "pattern": "\\S"
                },
                "altLabels": {
                  "description": "Alternative labels for the occupation.",
                  "type": "array",
                  "minItems": 0,
                  "maxItems": 100,
                  "uniqueItems": true,
                  "items": {
                    "type": "string",
                    "maxLength": 256
                  }
                },
                "definition": {
                  "description": "The formal definition of the occupation.",
                  "type": "string",
                  "maxLength": 4000
                },
                "description": {
                  "description": "Additional descriptive information about the occupation.",
                  "type": "string",
                  "maxLength": 6000
                },
                "regulatedProfessionNote": {
                  "description": "Regulatory information for legally regulated professions.",
                  "type": "string",
                  "maxLength": 4000
                },
                "scopeNote": {
                  "description": "Scope clarification for the occupation's application.",
                  "type": "string",
                  "maxLength": 4000
                },
                "isLocalized": {
                  "description": "Indicates if the occupation has localized variants. Must be false for LocalOccupation.",
                  "type": "boolean"
                },
                "modelId": {
                  "description": "The identifier of the model containing this occupation.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{24}$"
                },
                "createdAt": {
                  "description": "Timestamp of record creation.",
                  "type": "string",
                  "format": "date-time"
                },
                "updatedAt": {
                  "description": "Timestamp of last record modification.",
                  "type": "string",
                  "format": "date-time"
                }
              },
              "allOf": [
                {
                  "if": {
                    "properties": {
                      "occupationType": {
                        "const": "escooccupation"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "code": {
                        "type": "string",
                        "pattern": "^\\d{4}(?:\\.\\d+)+$",
                        "maxLength": 256
                      },
                      "occupationGroupCode": {
                        "type": "string",
                        "pattern": "^\\d{1,4}$",
                        "maxLength": 256
                      }
                    }
                  }
                },
                {
                  "if": {
                    "properties": {
                      "occupationType": {
                        "const": "localoccupation"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "code": {
                        "type": "string",
                        "pattern": "^(?:\\d{4}(?:\\.\\d+)*(?:_\\d+)+|[a-zA-Z\\d]+(?:_\\d+)+)$",
                        "maxLength": 256
                      },
                      "occupationGroupCode": {
                        "type": "string",
                        "pattern": "^(?:\\d{1,4})?[a-zA-Z]+[a-zA-Z\\d]*$|^\\d{1,4}$",
                        "maxLength": 256
                      }
                    }
                  }
                },
                {
                  "if": {
                    "properties": {
                      "occupationType": {
                        "const": "escooccupation"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "requiresSkills": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "relationType": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "relationType"
                          ]
                        }
                      }
                    }
                  }
                },
                {
                  "if": {
                    "properties": {
                      "occupationType": {
                        "const": "localoccupation"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "requiresSkills": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "signallingValue": {
                              "type": "number"
                            },
                            "signallingValueLabel": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "signallingValue",
                            "signallingValueLabel"
                          ]
                        }
                      }
                    }
                  }
                }
              ],
              "required": [
                "id",
                "UUID",
                "originUUID",
                "UUIDHistory",
                "path",
                "tabiyaPath",
                "code",
                "occupationGroupCode",
                "originUri",
                "preferredLabel",
                "altLabels",
                "definition",
                "description",
                "regulatedProfessionNote",
                "scopeNote",
                "occupationType",
                "modelId",
                "isLocalized",
                "parent",
                "requiresSkills",
                "children",
                "createdAt",
                "updatedAt"
              ]
            },
            "description": "Array of occupation data for the current page"
          },
          "limit": {
            "type": "integer",
            "description": "Number of data returned in this page.",
            "minimum": 1,
            "maximum": 100,
            "default": 10
          },
          "nextCursor": {
            "type": [
              "string",
              "null"
            ],
            "description": "Cursor to fetch the next page of results. Opaque token encoding the last item's sort key(s). Returns null if this is the last page.",
            "maxLength": 1024,
            "pattern": "\\S"
          }
        },
        "required": [
          "data",
          "limit"
        ]
      },
      "OccupationResponseSchemaGETParent": {
        "anyOf": [
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "id": {
                "description": "The unique identifier of the occupation.",
                "type": "string",
                "pattern": "^[0-9a-f]{24}$"
              },
              "UUID": {
                "description": "The UUID of the occupation for cross-system identification.",
                "type": "string",
                "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
              },
              "originUUID": {
                "description": "The original UUID of the occupation, i.e., the first UUID in UUIDHistory",
                "type": "string",
                "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
                "maxLength": 50
              },
              "path": {
                "description": "Resource path using the occupation's ID.",
                "type": "string",
                "format": "uri",
                "pattern": "^https://.*",
                "maxLength": 4096
              },
              "tabiyaPath": {
                "description": "Resource path using the occupation's UUID.",
                "type": "string",
                "format": "uri",
                "pattern": "^https://.*",
                "maxLength": 4096
              },
              "parent": {
                "description": "The parent occupation of this occupation.",
                "type": [
                  "object",
                  "null"
                ],
                "additionalProperties": false,
                "properties": {
                  "id": {
                    "description": "The id of the parent occupation.",
                    "type": "string",
                    "pattern": "^[0-9a-f]{24}$"
                  },
                  "UUID": {
                    "description": "The UUID of the occupation. It can be used to identify the parent occupation.",
                    "type": "string",
                    "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                  },
                  "code": {
                    "description": "The code of the parent occupation.",
                    "type": "string",
                    "maxLength": 256
                  },
                  "occupationGroupCode": {
                    "description": "The code of the parent occupation group.",
                    "type": "string",
                    "maxLength": 256
                  },
                  "preferredLabel": {
                    "description": "The preferred label of the parent occupation.",
                    "type": "string",
                    "maxLength": 256,
                    "pattern": "\\S"
                  },
                  "objectType": {
                    "description": "The type of the occupation parent (LocalOccupation, ESCOOccupation, ISCOGroup or LocalGroup).",
                    "type": "string",
                    "enum": [
                      "iscogroup",
                      "localgroup",
                      "escooccupation",
                      "localoccupation"
                    ]
                  }
                },
                "allOf": [
                  {
                    "if": {
                      "properties": {
                        "objectType": {
                          "const": "iscogroup"
                        }
                      }
                    },
                    "then": {
                      "properties": {
                        "code": {
                          "type": "string",
                          "pattern": "^\\d{1,4}$",
                          "maxLength": 256
                        },
                        "occupationGroupCode": {
                          "type": "string",
                          "pattern": "^\\d{1,4}$",
                          "maxLength": 256
                        }
                      }
                    }
                  },
                  {
                    "if": {
                      "properties": {
                        "objectType": {
                          "const": "localgroup"
                        }
                      }
                    },
                    "then": {
                      "properties": {
                        "code": {
                          "type": "string",
                          "pattern": "^(?:\\d{1,4})?[a-zA-Z]+[a-zA-Z\\d]*$",
                          "maxLength": 256
                        },
                        "occupationGroupCode": {
                          "type": "string",
                          "pattern": "^(?:\\d{1,4})?[a-zA-Z]+[a-zA-Z\\d]*$",
                          "maxLength": 256
                        }
                      }
                    }
                  },
                  {
                    "if": {
                      "properties": {
                        "objectType": {
                          "const": "escooccupation"
                        }
                      }
                    },
                    "then": {
                      "properties": {
                        "code": {
                          "type": "string",
                          "pattern": "^\\d{4}(?:\\.\\d+)+$",
                          "maxLength": 256
                        },
                        "occupationGroupCode": {
                          "type": "string",
                          "pattern": "^\\d{1,4}$",
                          "maxLength": 256
                        }
                      }
                    }
                  },
                  {
                    "if": {
                      "properties": {
                        "objectType": {
                          "const": "localoccupation"
                        }
                      }
                    },
                    "then": {
                      "properties": {
                        "code": {
                          "type": "string",
                          "pattern": "^(?:\\d{4}(?:\\.\\d+)*(?:_\\d+)+|[a-zA-Z\\d]+(?:_\\d+)+)$",
                          "maxLength": 256
                        },
                        "occupationGroupCode": {
                          "type": "string",
                          "pattern": "^(?:\\d{1,4})?[a-zA-Z]+[a-zA-Z\\d]*$|^\\d{1,4}$",
                          "maxLength": 256
                        }
                      }
                    }
                  }
                ]
              },
              "children": {
                "description": "The children of this occupation.",
                "type": "array",
                "minItems": 0,
                "items": {
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "id": {
                      "description": "The id of the child occupation.",
                      "type": "string",
                      "pattern": "^[0-9a-f]{24}$"
                    },
                    "UUID": {
                      "description": "The UUID of the child occupation.",
                      "type": "string",
                      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                    },
                    "code": {
                      "description": "The code of the child occupation.",
                      "type": "string",
                      "maxLength": 256
                    },
                    "occupationGroupCode": {
                      "description": "The code of the child occupation group.",
                      "type": "string",
                      "maxLength": 256
                    },
                    "preferredLabel": {
                      "description": "The preferred label of the child occupation.",
                      "type": "string",
                      "maxLength": 256,
                      "pattern": "\\S"
                    },
                    "objectType": {
                      "description": "The type of the occupation child (EscoOccupation or LocalOccupation).",
                      "type": "string",
                      "enum": [
                        "escooccupation",
                        "localoccupation"
                      ]
                    }
                  },
                  "allOf": [
                    {
                      "if": {
                        "properties": {
                          "objectType": {
                            "const": "escooccupation"
                          }
                        }
                      },
                      "then": {
                        "properties": {
                          "code": {
                            "type": "string",
                            "pattern": "^\\d{4}(?:\\.\\d+)+$",
                            "maxLength": 256
                          },
                          "occupationGroupCode": {
                            "type": "string",
                            "pattern": "^\\d{1,4}$",
                            "maxLength": 256
                          }
                        }
                      }
                    },
                    {
                      "if": {
                        "properties": {
                          "objectType": {
                            "const": "localoccupation"
                          }
                        }
                      },
                      "then": {
                        "properties": {
                          "code": {
                            "type": "string",
                            "pattern": "^(?:\\d{4}(?:\\.\\d+)*(?:_\\d+)+|[a-zA-Z\\d]+(?:_\\d+)+)$",
                            "maxLength": 256
                          },
                          "occupationGroupCode": {
                            "type": "string",
                            "pattern": "^(?:\\d{1,4})?[a-zA-Z]+[a-zA-Z\\d]*$|^\\d{1,4}$",
                            "maxLength": 256
                          }
                        }
                      }
                    }
                  ]
                }
              },
              "requiresSkills": {
                "description": "Skills required for this occupation with relationship metadata.",
                "type": "array",
                "minItems": 0,
                "items": {
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "id": {
                      "description": "The ID of the required skill.",
                      "type": "string",
                      "pattern": "^[0-9a-f]{24}$"
                    },
                    "UUID": {
                      "description": "The UUID of the required skill.",
                      "type": "string",
                      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                    },
                    "preferredLabel": {
                      "description": "The preferred label of the required skill.",
                      "type": "string",
                      "maxLength": 256,
                      "pattern": "\\S"
                    },
                    "isLocalized": {
                      "description": "Indicates if the required skill is localized.",
                      "type": "boolean"
                    },
                    "objectType": {
                      "description": "The object type of the required skill.",
                      "type": "string",
                      "enum": [
                        "skill"
                      ]
                    },
                    "relationType": {
                      "description": "Used for ESCOOccupations only.",
                      "type": [
                        "string",
                        "null"
                      ],
                      "enum": [
                        "",
                        "essential",
                        "optional",
                        null
                      ]
                    },
                    "signallingValue": {
                      "description": "Used for LocalOccupations only.",
                      "type": [
                        "number",
                        "null"
                      ],
                      "minimum": 0,
                      "maximum": 100
                    },
                    "signallingValueLabel": {
                      "description": "Used for LocalOccupations only.",
                      "type": [
                        "string",
                        "null"
                      ],
                      "maxLength": 256,
                      "pattern": "\\S"
                    }
                  },
                  "required": [
                    "id",
                    "UUID",
                    "preferredLabel",
                    "isLocalized",
                    "objectType"
                  ]
                }
              },
              "UUIDHistory": {
                "description": "The UUIDs history of the occupation.",
                "type": "array",
                "minItems": 0,
                "maxItems": 10000,
                "uniqueItems": true,
                "items": {
                  "type": "string",
                  "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
                  "maxLength": 50
                }
              },
              "originUri": {
                "description": "The origin URI of the occupation.",
                "type": "string",
                "format": "uri",
                "maxLength": 4096,
                "pattern": "\\S"
              },
              "occupationType": {
                "description": "The occupation classification type (e.g., ESCOOccupation or LocalOccupation).",
                "type": "string",
                "enum": [
                  "escooccupation",
                  "localoccupation"
                ]
              },
              "code": {
                "description": "The code of the occupation.",
                "type": "string",
                "maxLength": 256
              },
              "occupationGroupCode": {
                "description": "The code of the parent occupation group.",
                "type": "string",
                "maxLength": 256
              },
              "preferredLabel": {
                "description": "The preferred label of the occupation.",
                "type": "string",
                "maxLength": 256,
                "pattern": "\\S"
              },
              "altLabels": {
                "description": "Alternative labels for the occupation.",
                "type": "array",
                "minItems": 0,
                "maxItems": 100,
                "uniqueItems": true,
                "items": {
                  "type": "string",
                  "maxLength": 256
                }
              },
              "definition": {
                "description": "The formal definition of the occupation.",
                "type": "string",
                "maxLength": 4000
              },
              "description": {
                "description": "Additional descriptive information about the occupation.",
                "type": "string",
                "maxLength": 6000
              },
              "regulatedProfessionNote": {
                "description": "Regulatory information for legally regulated professions.",
                "type": "string",
                "maxLength": 4000
              },
              "scopeNote": {
                "description": "Scope clarification for the occupation's application.",
                "type": "string",
                "maxLength": 4000
              },
              "isLocalized": {
                "description": "Indicates if the occupation has localized variants. Must be false for LocalOccupation.",
                "type": "boolean"
              },
              "modelId": {
                "description": "The identifier of the model containing this occupation.",
                "type": "string",
                "pattern": "^[0-9a-f]{24}$"
              },
              "createdAt": {
                "description": "Timestamp of record creation.",
                "type": "string",
                "format": "date-time"
              },
              "updatedAt": {
                "description": "Timestamp of last record modification.",
                "type": "string",
                "format": "date-time"
              }
            },
            "allOf": [
              {
                "if": {
                  "properties": {
                    "occupationType": {
                      "const": "escooccupation"
                    }
                  }
                },
                "then": {
                  "properties": {
                    "code": {
                      "type": "string",
                      "pattern": "^\\d{4}(?:\\.\\d+)+$",
                      "maxLength": 256
                    },
                    "occupationGroupCode": {
                      "type": "string",
                      "pattern": "^\\d{1,4}$",
                      "maxLength": 256
                    }
                  }
                }
              },
              {
                "if": {
                  "properties": {
                    "occupationType": {
                      "const": "localoccupation"
                    }
                  }
                },
                "then": {
                  "properties": {
                    "code": {
                      "type": "string",
                      "pattern": "^(?:\\d{4}(?:\\.\\d+)*(?:_\\d+)+|[a-zA-Z\\d]+(?:_\\d+)+)$",
                      "maxLength": 256
                    },
                    "occupationGroupCode": {
                      "type": "string",
                      "pattern": "^(?:\\d{1,4})?[a-zA-Z]+[a-zA-Z\\d]*$|^\\d{1,4}$",
                      "maxLength": 256
                    }
                  }
                }
              },
              {
                "if": {
                  "properties": {
                    "occupationType": {
                      "const": "escooccupation"
                    }
                  }
                },
                "then": {
                  "properties": {
                    "requiresSkills": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "relationType": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "relationType"
                        ]
                      }
                    }
                  }
                }
              },
              {
                "if": {
                  "properties": {
                    "occupationType": {
                      "const": "localoccupation"
                    }
                  }
                },
                "then": {
                  "properties": {
                    "requiresSkills": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "signallingValue": {
                            "type": "number"
                          },
                          "signallingValueLabel": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "signallingValue",
                          "signallingValueLabel"
                        ]
                      }
                    }
                  }
                }
              }
            ],
            "required": [
              "id",
              "UUID",
              "originUUID",
              "UUIDHistory",
              "path",
              "tabiyaPath",
              "code",
              "occupationGroupCode",
              "originUri",
              "preferredLabel",
              "altLabels",
              "definition",
              "description",
              "regulatedProfessionNote",
              "scopeNote",
              "occupationType",
              "modelId",
              "isLocalized",
              "parent",
              "requiresSkills",
              "children",
              "createdAt",
              "updatedAt"
            ]
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "id": {
                "description": "The id of the occupation group. It can be used to retrieve the occupation group from the server.",
                "type": "string",
                "pattern": "^[0-9a-f]{24}$"
              },
              "UUID": {
                "description": "The UUID of the occupation group. It can be used to identify the occupation group across systems.",
                "type": "string",
                "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
              },
              "originUUID": {
                "description": "The last UUID in the UUIDHistory of occupation group. It can be used to identify the occupation group across systems.",
                "type": "string",
                "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
              },
              "path": {
                "description": "The path to the occupation group resource using the resource id",
                "type": "string",
                "format": "uri",
                "pattern": "^https://.*",
                "maxLength": 4096
              },
              "tabiyaPath": {
                "description": "The path to the occupation group resource using the resource UUID",
                "type": "string",
                "format": "uri",
                "pattern": "^https://.*",
                "maxLength": 4096
              },
              "parent": {
                "description": "The parent occupation group of this occupation group.",
                "type": [
                  "object",
                  "null"
                ],
                "additionalProperties": false,
                "properties": {
                  "id": {
                    "description": "The id of the parent occupation group.",
                    "type": "string",
                    "pattern": "^[0-9a-f]{24}$"
                  },
                  "UUID": {
                    "description": "The UUID of the occupation group. It can be used to identify the parent occupation group.",
                    "type": "string",
                    "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                  },
                  "code": {
                    "description": "The code of the parent occupation group.",
                    "type": "string",
                    "maxLength": 256
                  },
                  "preferredLabel": {
                    "description": "The preferred label of the parent occupation group.",
                    "type": "string",
                    "maxLength": 256,
                    "pattern": "\\S"
                  },
                  "objectType": {
                    "description": "The type of the occupation group, e.g., ISCOGroup or LocalGroup.",
                    "type": "string",
                    "enum": [
                      "iscogroup",
                      "localgroup"
                    ]
                  }
                },
                "if": {
                  "properties": {
                    "objectType": {
                      "enum": [
                        "iscogroup"
                      ]
                    }
                  }
                },
                "then": {
                  "properties": {
                    "code": {
                      "type": "string",
                      "maxLength": 256,
                      "pattern": "^\\d{1,4}$"
                    }
                  }
                },
                "else": {
                  "properties": {
                    "code": {
                      "type": "string",
                      "maxLength": 256,
                      "pattern": "^(?:\\d{1,4})?[a-zA-Z]+[a-zA-Z\\d]*$"
                    }
                  }
                }
              },
              "children": {
                "description": "The children of this occupation group, which can be either occupation groups or occupations.",
                "type": "array",
                "minItems": 0,
                "items": {
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "id": {
                      "description": "The id of the parent occupation group.",
                      "type": "string",
                      "pattern": "^[0-9a-f]{24}$"
                    },
                    "UUID": {
                      "description": "The UUID of the occupation group. It can be used to identify the parent occupation group.",
                      "type": "string",
                      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                    },
                    "code": {
                      "description": "The code of the parent occupation group.",
                      "type": "string",
                      "maxLength": 256
                    },
                    "preferredLabel": {
                      "description": "The preferred label of the parent occupation group.",
                      "type": "string",
                      "maxLength": 256,
                      "pattern": "\\S"
                    },
                    "objectType": {
                      "description": "The type of the occupation group | occupation, e.g., ISCOGroup, LocalGroup, ESCOOccupation, LocalOccupation.",
                      "type": "string",
                      "enum": [
                        "iscogroup",
                        "localgroup",
                        "escooccupation",
                        "localoccupation"
                      ]
                    }
                  },
                  "allOf": [
                    {
                      "if": {
                        "properties": {
                          "objectType": {
                            "const": "iscogroup"
                          }
                        }
                      },
                      "then": {
                        "properties": {
                          "code": {
                            "type": "string",
                            "maxLength": 256,
                            "pattern": "^\\d{1,4}$"
                          }
                        }
                      }
                    },
                    {
                      "if": {
                        "properties": {
                          "objectType": {
                            "const": "localgroup"
                          }
                        }
                      },
                      "then": {
                        "properties": {
                          "code": {
                            "type": "string",
                            "maxLength": 256,
                            "pattern": "^(?:\\d{1,4})?[a-zA-Z]+[a-zA-Z\\d]*$"
                          }
                        }
                      }
                    },
                    {
                      "if": {
                        "properties": {
                          "objectType": {
                            "const": "escooccupation"
                          }
                        }
                      },
                      "then": {
                        "properties": {
                          "code": {
                            "type": "string",
                            "maxLength": 256,
                            "pattern": "^\\d{4}(?:\\.\\d+)+$"
                          }
                        }
                      }
                    },
                    {
                      "if": {
                        "properties": {
                          "objectType": {
                            "const": "localoccupation"
                          }
                        }
                      },
                      "then": {
                        "properties": {
                          "code": {
                            "type": "string",
                            "maxLength": 256,
                            "pattern": "^(?:\\d{4}(?:\\.\\d+)*(?:_\\d+)+|[a-zA-Z\\d]+(?:_\\d+)+)$"
                          }
                        }
                      }
                    }
                  ]
                }
              },
              "UUIDHistory": {
                "description": "The UUIDs history of the occupation group.",
                "type": "array",
                "minItems": 0,
                "maxItems": 10000,
                "uniqueItems": true,
                "items": {
                  "type": "string",
                  "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
                  "maxLength": 36
                }
              },
              "originUri": {
                "description": "The origin URI of the occupation group.",
                "type": "string",
                "maxLength": 4096,
                "format": "uri",
                "pattern": "\\S"
              },
              "code": {
                "description": "The code of the occupation group.",
                "type": "string",
                "maxLength": 256
              },
              "description": {
                "description": "The description of the occupation group.",
                "type": "string",
                "maxLength": 6000
              },
              "preferredLabel": {
                "description": "The preferred label of the occupation group.",
                "type": "string",
                "maxLength": 256,
                "pattern": "\\S"
              },
              "altLabels": {
                "description": "The alternative labels of the occupation group.",
                "type": "array",
                "minItems": 0,
                "maxItems": 100,
                "uniqueItems": true,
                "items": {
                  "type": "string",
                  "maxLength": 256
                }
              },
              "groupType": {
                "description": "The type of the occupation group, e.g., ISCOGroup or LocalGroup.",
                "type": "string",
                "enum": [
                  "iscogroup",
                  "localgroup"
                ]
              },
              "modelId": {
                "description": "The identifier of the model for occupation group.",
                "type": "string",
                "pattern": "^[0-9a-f]{24}$"
              },
              "createdAt": {
                "type": "string",
                "format": "date-time"
              },
              "updatedAt": {
                "type": "string",
                "format": "date-time"
              }
            },
            "if": {
              "properties": {
                "groupType": {
                  "enum": [
                    "iscogroup"
                  ]
                }
              }
            },
            "then": {
              "properties": {
                "code": {
                  "type": "string",
                  "maxLength": 256,
                  "pattern": "^\\d{1,4}$"
                }
              }
            },
            "else": {
              "properties": {
                "code": {
                  "type": "string",
                  "maxLength": 256,
                  "pattern": "^(?:\\d{1,4})?[a-zA-Z]+[a-zA-Z\\d]*$"
                }
              }
            },
            "required": [
              "id",
              "UUID",
              "originUUID",
              "path",
              "UUIDHistory",
              "tabiyaPath",
              "originUri",
              "code",
              "description",
              "preferredLabel",
              "parent",
              "children",
              "altLabels",
              "groupType",
              "modelId",
              "createdAt",
              "updatedAt"
            ]
          },
          {
            "type": "null"
          }
        ]
      },
      "OccupationParentRequestSchemaPOST": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^[0-9a-f]{24}$"
          },
          "objectType": {
            "type": "string",
            "enum": [
              "iscogroup",
              "localgroup",
              "escooccupation",
              "localoccupation"
            ]
          }
        },
        "required": [
          "id",
          "objectType"
        ]
      },
      "OccupationResponseSchemaGETChildren": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$id": "/components/schemas/OccupationChildItem",
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "id": {
                  "description": "The unique identifier of the occupation.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{24}$"
                },
                "UUID": {
                  "description": "The UUID of the occupation for cross-system identification.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                },
                "originUUID": {
                  "description": "The original UUID of the occupation, i.e., the first UUID in UUIDHistory",
                  "type": "string",
                  "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
                  "maxLength": 50
                },
                "path": {
                  "description": "Resource path using the occupation's ID.",
                  "type": "string",
                  "format": "uri",
                  "pattern": "^https://.*",
                  "maxLength": 4096
                },
                "tabiyaPath": {
                  "description": "Resource path using the occupation's UUID.",
                  "type": "string",
                  "format": "uri",
                  "pattern": "^https://.*",
                  "maxLength": 4096
                },
                "parent": {
                  "description": "The parent occupation of this occupation.",
                  "type": [
                    "object",
                    "null"
                  ],
                  "additionalProperties": false,
                  "properties": {
                    "id": {
                      "description": "The id of the parent occupation.",
                      "type": "string",
                      "pattern": "^[0-9a-f]{24}$"
                    },
                    "UUID": {
                      "description": "The UUID of the occupation. It can be used to identify the parent occupation.",
                      "type": "string",
                      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                    },
                    "code": {
                      "description": "The code of the parent occupation.",
                      "type": "string",
                      "maxLength": 256
                    },
                    "occupationGroupCode": {
                      "description": "The code of the parent occupation group.",
                      "type": "string",
                      "maxLength": 256
                    },
                    "preferredLabel": {
                      "description": "The preferred label of the parent occupation.",
                      "type": "string",
                      "maxLength": 256,
                      "pattern": "\\S"
                    },
                    "objectType": {
                      "description": "The type of the occupation parent (LocalOccupation, ESCOOccupation, ISCOGroup or LocalGroup).",
                      "type": "string",
                      "enum": [
                        "iscogroup",
                        "localgroup",
                        "escooccupation",
                        "localoccupation"
                      ]
                    }
                  },
                  "allOf": [
                    {
                      "if": {
                        "properties": {
                          "objectType": {
                            "const": "iscogroup"
                          }
                        }
                      },
                      "then": {
                        "properties": {
                          "code": {
                            "type": "string",
                            "pattern": "^\\d{1,4}$",
                            "maxLength": 256
                          },
                          "occupationGroupCode": {
                            "type": "string",
                            "pattern": "^\\d{1,4}$",
                            "maxLength": 256
                          }
                        }
                      }
                    },
                    {
                      "if": {
                        "properties": {
                          "objectType": {
                            "const": "localgroup"
                          }
                        }
                      },
                      "then": {
                        "properties": {
                          "code": {
                            "type": "string",
                            "pattern": "^(?:\\d{1,4})?[a-zA-Z]+[a-zA-Z\\d]*$",
                            "maxLength": 256
                          },
                          "occupationGroupCode": {
                            "type": "string",
                            "pattern": "^(?:\\d{1,4})?[a-zA-Z]+[a-zA-Z\\d]*$",
                            "maxLength": 256
                          }
                        }
                      }
                    },
                    {
                      "if": {
                        "properties": {
                          "objectType": {
                            "const": "escooccupation"
                          }
                        }
                      },
                      "then": {
                        "properties": {
                          "code": {
                            "type": "string",
                            "pattern": "^\\d{4}(?:\\.\\d+)+$",
                            "maxLength": 256
                          },
                          "occupationGroupCode": {
                            "type": "string",
                            "pattern": "^\\d{1,4}$",
                            "maxLength": 256
                          }
                        }
                      }
                    },
                    {
                      "if": {
                        "properties": {
                          "objectType": {
                            "const": "localoccupation"
                          }
                        }
                      },
                      "then": {
                        "properties": {
                          "code": {
                            "type": "string",
                            "pattern": "^(?:\\d{4}(?:\\.\\d+)*(?:_\\d+)+|[a-zA-Z\\d]+(?:_\\d+)+)$",
                            "maxLength": 256
                          },
                          "occupationGroupCode": {
                            "type": "string",
                            "pattern": "^(?:\\d{1,4})?[a-zA-Z]+[a-zA-Z\\d]*$|^\\d{1,4}$",
                            "maxLength": 256
                          }
                        }
                      }
                    }
                  ]
                },
                "children": {
                  "description": "The children of this occupation.",
                  "type": "array",
                  "minItems": 0,
                  "items": {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                      "id": {
                        "description": "The id of the child occupation.",
                        "type": "string",
                        "pattern": "^[0-9a-f]{24}$"
                      },
                      "UUID": {
                        "description": "The UUID of the child occupation.",
                        "type": "string",
                        "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                      },
                      "code": {
                        "description": "The code of the child occupation.",
                        "type": "string",
                        "maxLength": 256
                      },
                      "occupationGroupCode": {
                        "description": "The code of the child occupation group.",
                        "type": "string",
                        "maxLength": 256
                      },
                      "preferredLabel": {
                        "description": "The preferred label of the child occupation.",
                        "type": "string",
                        "maxLength": 256,
                        "pattern": "\\S"
                      },
                      "objectType": {
                        "description": "The type of the occupation child (EscoOccupation or LocalOccupation).",
                        "type": "string",
                        "enum": [
                          "escooccupation",
                          "localoccupation"
                        ]
                      }
                    },
                    "allOf": [
                      {
                        "if": {
                          "properties": {
                            "objectType": {
                              "const": "escooccupation"
                            }
                          }
                        },
                        "then": {
                          "properties": {
                            "code": {
                              "type": "string",
                              "pattern": "^\\d{4}(?:\\.\\d+)+$",
                              "maxLength": 256
                            },
                            "occupationGroupCode": {
                              "type": "string",
                              "pattern": "^\\d{1,4}$",
                              "maxLength": 256
                            }
                          }
                        }
                      },
                      {
                        "if": {
                          "properties": {
                            "objectType": {
                              "const": "localoccupation"
                            }
                          }
                        },
                        "then": {
                          "properties": {
                            "code": {
                              "type": "string",
                              "pattern": "^(?:\\d{4}(?:\\.\\d+)*(?:_\\d+)+|[a-zA-Z\\d]+(?:_\\d+)+)$",
                              "maxLength": 256
                            },
                            "occupationGroupCode": {
                              "type": "string",
                              "pattern": "^(?:\\d{1,4})?[a-zA-Z]+[a-zA-Z\\d]*$|^\\d{1,4}$",
                              "maxLength": 256
                            }
                          }
                        }
                      }
                    ]
                  }
                },
                "requiresSkills": {
                  "description": "Skills required for this occupation with relationship metadata.",
                  "type": "array",
                  "minItems": 0,
                  "items": {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                      "id": {
                        "description": "The ID of the required skill.",
                        "type": "string",
                        "pattern": "^[0-9a-f]{24}$"
                      },
                      "UUID": {
                        "description": "The UUID of the required skill.",
                        "type": "string",
                        "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                      },
                      "preferredLabel": {
                        "description": "The preferred label of the required skill.",
                        "type": "string",
                        "maxLength": 256,
                        "pattern": "\\S"
                      },
                      "isLocalized": {
                        "description": "Indicates if the required skill is localized.",
                        "type": "boolean"
                      },
                      "objectType": {
                        "description": "The object type of the required skill.",
                        "type": "string",
                        "enum": [
                          "skill"
                        ]
                      },
                      "relationType": {
                        "description": "Used for ESCOOccupations only.",
                        "type": [
                          "string",
                          "null"
                        ],
                        "enum": [
                          "",
                          "essential",
                          "optional",
                          null
                        ]
                      },
                      "signallingValue": {
                        "description": "Used for LocalOccupations only.",
                        "type": [
                          "number",
                          "null"
                        ],
                        "minimum": 0,
                        "maximum": 100
                      },
                      "signallingValueLabel": {
                        "description": "Used for LocalOccupations only.",
                        "type": [
                          "string",
                          "null"
                        ],
                        "maxLength": 256,
                        "pattern": "\\S"
                      }
                    },
                    "required": [
                      "id",
                      "UUID",
                      "preferredLabel",
                      "isLocalized",
                      "objectType"
                    ]
                  }
                },
                "UUIDHistory": {
                  "description": "The UUIDs history of the occupation.",
                  "type": "array",
                  "minItems": 0,
                  "maxItems": 10000,
                  "uniqueItems": true,
                  "items": {
                    "type": "string",
                    "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
                    "maxLength": 50
                  }
                },
                "originUri": {
                  "description": "The origin URI of the occupation.",
                  "type": "string",
                  "format": "uri",
                  "maxLength": 4096,
                  "pattern": "\\S"
                },
                "occupationType": {
                  "description": "The occupation classification type (e.g., ESCOOccupation or LocalOccupation).",
                  "type": "string",
                  "enum": [
                    "escooccupation",
                    "localoccupation"
                  ]
                },
                "code": {
                  "description": "The code of the occupation.",
                  "type": "string",
                  "maxLength": 256
                },
                "occupationGroupCode": {
                  "description": "The code of the parent occupation group.",
                  "type": "string",
                  "maxLength": 256
                },
                "preferredLabel": {
                  "description": "The preferred label of the occupation.",
                  "type": "string",
                  "maxLength": 256,
                  "pattern": "\\S"
                },
                "altLabels": {
                  "description": "Alternative labels for the occupation.",
                  "type": "array",
                  "minItems": 0,
                  "maxItems": 100,
                  "uniqueItems": true,
                  "items": {
                    "type": "string",
                    "maxLength": 256
                  }
                },
                "definition": {
                  "description": "The formal definition of the occupation.",
                  "type": "string",
                  "maxLength": 4000
                },
                "description": {
                  "description": "Additional descriptive information about the occupation.",
                  "type": "string",
                  "maxLength": 6000
                },
                "regulatedProfessionNote": {
                  "description": "Regulatory information for legally regulated professions.",
                  "type": "string",
                  "maxLength": 4000
                },
                "scopeNote": {
                  "description": "Scope clarification for the occupation's application.",
                  "type": "string",
                  "maxLength": 4000
                },
                "isLocalized": {
                  "description": "Indicates if the occupation has localized variants. Must be false for LocalOccupation.",
                  "type": "boolean"
                },
                "modelId": {
                  "description": "The identifier of the model containing this occupation.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{24}$"
                },
                "createdAt": {
                  "description": "Timestamp of record creation.",
                  "type": "string",
                  "format": "date-time"
                },
                "updatedAt": {
                  "description": "Timestamp of last record modification.",
                  "type": "string",
                  "format": "date-time"
                }
              },
              "allOf": [
                {
                  "if": {
                    "properties": {
                      "occupationType": {
                        "const": "escooccupation"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "code": {
                        "type": "string",
                        "pattern": "^\\d{4}(?:\\.\\d+)+$",
                        "maxLength": 256
                      },
                      "occupationGroupCode": {
                        "type": "string",
                        "pattern": "^\\d{1,4}$",
                        "maxLength": 256
                      }
                    }
                  }
                },
                {
                  "if": {
                    "properties": {
                      "occupationType": {
                        "const": "localoccupation"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "code": {
                        "type": "string",
                        "pattern": "^(?:\\d{4}(?:\\.\\d+)*(?:_\\d+)+|[a-zA-Z\\d]+(?:_\\d+)+)$",
                        "maxLength": 256
                      },
                      "occupationGroupCode": {
                        "type": "string",
                        "pattern": "^(?:\\d{1,4})?[a-zA-Z]+[a-zA-Z\\d]*$|^\\d{1,4}$",
                        "maxLength": 256
                      }
                    }
                  }
                },
                {
                  "if": {
                    "properties": {
                      "occupationType": {
                        "const": "escooccupation"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "requiresSkills": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "relationType": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "relationType"
                          ]
                        }
                      }
                    }
                  }
                },
                {
                  "if": {
                    "properties": {
                      "occupationType": {
                        "const": "localoccupation"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "requiresSkills": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "signallingValue": {
                              "type": "number"
                            },
                            "signallingValueLabel": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "signallingValue",
                            "signallingValueLabel"
                          ]
                        }
                      }
                    }
                  }
                }
              ],
              "required": [
                "id",
                "UUID",
                "originUUID",
                "UUIDHistory",
                "path",
                "tabiyaPath",
                "code",
                "occupationGroupCode",
                "originUri",
                "preferredLabel",
                "altLabels",
                "definition",
                "description",
                "regulatedProfessionNote",
                "scopeNote",
                "occupationType",
                "modelId",
                "isLocalized",
                "parent",
                "requiresSkills",
                "children",
                "createdAt",
                "updatedAt"
              ]
            },
            "description": "Array of occupation children data for the current page"
          },
          "limit": {
            "type": "integer",
            "description": "Number of data returned in this page.",
            "minimum": 1,
            "maximum": 100,
            "default": 10
          },
          "nextCursor": {
            "type": [
              "string",
              "null"
            ],
            "description": "Cursor to fetch the next page of results. Opaque token encoding the last item's sort key(s). Returns null if this is the last page.",
            "maxLength": 1024,
            "pattern": "\\S"
          }
        },
        "required": [
          "data",
          "limit"
        ]
      },
      "OccupationChildrenRequestQueryParamSchemaGET": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "limit": {
            "description": "The maximum number of items to return.",
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 10
          },
          "cursor": {
            "description": "A base64 string representing the cursor for pagination.",
            "type": "string",
            "maxLength": 1024,
            "pattern": "\\S"
          }
        }
      },
      "OccupationResponseSchemaGETSkills": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$id": "/components/schemas/OccupationSkillItem",
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "id": {
                  "description": "The unique identifier of the skill.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{24}$"
                },
                "UUID": {
                  "description": "The UUID of the skill for cross-system identification.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                },
                "originUUID": {
                  "description": "The original UUID of the skill, i.e., the first UUID in UUIDHistory",
                  "type": "string",
                  "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
                  "maxLength": 50
                },
                "path": {
                  "description": "Resource path using the skill's ID.",
                  "type": "string",
                  "format": "uri",
                  "pattern": "^https://.*",
                  "maxLength": 4096
                },
                "tabiyaPath": {
                  "description": "Resource path using the skill's UUID.",
                  "type": "string",
                  "format": "uri",
                  "pattern": "^https://.*",
                  "maxLength": 4096
                },
                "parents": {
                  "description": "The parent skills or skill groups of this skill.",
                  "type": "array",
                  "minItems": 0,
                  "items": {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                      "id": {
                        "description": "The id of the parent skill or skill group.",
                        "type": "string",
                        "pattern": "^[0-9a-f]{24}$"
                      },
                      "UUID": {
                        "description": "The UUID of the parent skill or skill group.",
                        "type": "string",
                        "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                      },
                      "preferredLabel": {
                        "description": "The preferred label of the parent skill or skill group.",
                        "type": "string",
                        "maxLength": 256,
                        "pattern": "\\S"
                      },
                      "objectType": {
                        "description": "The type of the parent, e.g., Skill or SkillGroup.",
                        "type": "string",
                        "enum": [
                          "skillgroup",
                          "skill"
                        ]
                      },
                      "code": {
                        "description": "The code of the parent skill group.",
                        "type": "string",
                        "maxLength": 256
                      }
                    },
                    "if": {
                      "properties": {
                        "objectType": {
                          "enum": [
                            "skillgroup"
                          ]
                        }
                      }
                    },
                    "then": {
                      "properties": {
                        "code": {
                          "type": "string",
                          "maxLength": 256,
                          "pattern": "^([a-zA-Z]\\d+(\\.\\d+)*|[a-zA-Z])$"
                        }
                      },
                      "required": [
                        "code"
                      ]
                    },
                    "required": [
                      "id",
                      "UUID",
                      "preferredLabel",
                      "objectType"
                    ]
                  }
                },
                "children": {
                  "description": "The children of this skill.",
                  "type": "array",
                  "minItems": 0,
                  "items": {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                      "id": {
                        "description": "The id of the child skill.",
                        "type": "string",
                        "pattern": "^[0-9a-f]{24}$"
                      },
                      "UUID": {
                        "description": "The UUID of the child skill.",
                        "type": "string",
                        "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                      },
                      "preferredLabel": {
                        "description": "The preferred label of the child skill.",
                        "type": "string",
                        "maxLength": 256,
                        "pattern": "\\S"
                      },
                      "objectType": {
                        "description": "The type of the child, e.g., Skill.",
                        "type": "string",
                        "enum": [
                          "skill",
                          "skillgroup"
                        ]
                      },
                      "isLocalized": {
                        "description": "Indicates if the child skill is localized.",
                        "type": "boolean"
                      }
                    },
                    "allOf": [
                      {
                        "if": {
                          "properties": {
                            "objectType": {
                              "const": "skill"
                            }
                          }
                        },
                        "then": {
                          "properties": {
                            "isLocalized": {
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "isLocalized"
                          ]
                        }
                      }
                    ],
                    "required": [
                      "id",
                      "UUID",
                      "preferredLabel",
                      "objectType"
                    ]
                  }
                },
                "requiresSkills": {
                  "description": "Skills required by this skill with relationship metadata.",
                  "type": "array",
                  "minItems": 0,
                  "items": {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                      "id": {
                        "description": "The ID of the required skill.",
                        "type": "string",
                        "pattern": "^[0-9a-f]{24}$"
                      },
                      "UUID": {
                        "description": "The UUID of the required skill.",
                        "type": "string",
                        "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                      },
                      "preferredLabel": {
                        "description": "The preferred label of the required skill.",
                        "type": "string",
                        "maxLength": 256,
                        "pattern": "\\S"
                      },
                      "isLocalized": {
                        "description": "Indicates if the required skill is localized.",
                        "type": "boolean"
                      },
                      "objectType": {
                        "description": "The object type of the required skill.",
                        "type": "string",
                        "enum": [
                          "skill"
                        ]
                      },
                      "relationType": {
                        "description": "The type of relationship between skills.",
                        "type": "string",
                        "enum": [
                          "essential",
                          "optional"
                        ]
                      }
                    },
                    "required": [
                      "id",
                      "UUID",
                      "preferredLabel",
                      "isLocalized",
                      "objectType",
                      "relationType"
                    ]
                  }
                },
                "requiredBySkills": {
                  "description": "Skills that require this skill with relationship metadata.",
                  "type": "array",
                  "minItems": 0,
                  "items": {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                      "id": {
                        "description": "The ID of the requiring skill.",
                        "type": "string",
                        "pattern": "^[0-9a-f]{24}$"
                      },
                      "UUID": {
                        "description": "The UUID of the requiring skill.",
                        "type": "string",
                        "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                      },
                      "preferredLabel": {
                        "description": "The preferred label of the requiring skill.",
                        "type": "string",
                        "maxLength": 256,
                        "pattern": "\\S"
                      },
                      "isLocalized": {
                        "description": "Indicates if the requiring skill is localized.",
                        "type": "boolean"
                      },
                      "objectType": {
                        "description": "The object type of the requiring skill.",
                        "type": "string",
                        "enum": [
                          "skill"
                        ]
                      },
                      "relationType": {
                        "description": "The type of relationship between skills.",
                        "type": "string",
                        "enum": [
                          "essential",
                          "optional"
                        ]
                      }
                    },
                    "required": [
                      "id",
                      "UUID",
                      "preferredLabel",
                      "isLocalized",
                      "objectType",
                      "relationType"
                    ]
                  }
                },
                "requiredByOccupations": {
                  "description": "Occupations that require this skill with relationship metadata.",
                  "type": "array",
                  "minItems": 0,
                  "items": {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                      "id": {
                        "description": "The ID of the requiring occupation.",
                        "type": "string",
                        "pattern": "^[0-9a-f]{24}$"
                      },
                      "UUID": {
                        "description": "The UUID of the requiring occupation.",
                        "type": "string",
                        "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                      },
                      "preferredLabel": {
                        "description": "The preferred label of the requiring occupation.",
                        "type": "string",
                        "maxLength": 256,
                        "pattern": "\\S"
                      },
                      "isLocalized": {
                        "description": "Indicates if the requiring occupation is localized.",
                        "type": "boolean"
                      },
                      "objectType": {
                        "description": "The object type of the requiring occupation.",
                        "type": "string",
                        "enum": [
                          "escooccupation",
                          "localoccupation"
                        ]
                      },
                      "relationType": {
                        "description": "Used for ESCOOccupations only.",
                        "type": [
                          "string",
                          "null"
                        ],
                        "enum": [
                          "",
                          "essential",
                          "optional",
                          null
                        ]
                      },
                      "signallingValue": {
                        "description": "Used for LocalOccupations only.",
                        "type": [
                          "number",
                          "null"
                        ],
                        "minimum": 0,
                        "maximum": 100
                      },
                      "signallingValueLabel": {
                        "description": "Used for LocalOccupations only.",
                        "type": [
                          "string",
                          "null"
                        ],
                        "maxLength": 256,
                        "enum": [
                          "",
                          "low",
                          "medium",
                          "high",
                          null
                        ]
                      }
                    },
                    "required": [
                      "id",
                      "UUID",
                      "preferredLabel",
                      "isLocalized",
                      "objectType"
                    ],
                    "allOf": [
                      {
                        "if": {
                          "properties": {
                            "objectType": {
                              "const": "escooccupation"
                            }
                          }
                        },
                        "then": {
                          "properties": {
                            "relationType": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "relationType"
                          ]
                        }
                      },
                      {
                        "if": {
                          "properties": {
                            "objectType": {
                              "const": "localoccupation"
                            }
                          }
                        },
                        "then": {
                          "properties": {
                            "signallingValue": {
                              "type": "number"
                            },
                            "signallingValueLabel": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "signallingValue",
                            "signallingValueLabel"
                          ]
                        }
                      }
                    ]
                  }
                },
                "UUIDHistory": {
                  "description": "The UUIDs history of the skill.",
                  "type": "array",
                  "minItems": 0,
                  "maxItems": 10000,
                  "uniqueItems": true,
                  "items": {
                    "type": "string",
                    "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
                    "maxLength": 50
                  }
                },
                "originUri": {
                  "description": "The origin URI of the skill.",
                  "type": "string",
                  "format": "uri",
                  "maxLength": 4096,
                  "pattern": "\\S"
                },
                "preferredLabel": {
                  "description": "The preferred label of the skill.",
                  "type": "string",
                  "maxLength": 256,
                  "pattern": "\\S"
                },
                "altLabels": {
                  "description": "Alternative labels for the skill.",
                  "type": "array",
                  "minItems": 0,
                  "maxItems": 100,
                  "uniqueItems": true,
                  "items": {
                    "type": "string",
                    "maxLength": 256
                  }
                },
                "definition": {
                  "description": "The formal definition of the skill.",
                  "type": "string",
                  "maxLength": 4000
                },
                "description": {
                  "description": "Additional descriptive information about the skill.",
                  "type": "string",
                  "maxLength": 6000
                },
                "scopeNote": {
                  "description": "Scope clarification for the skill's application.",
                  "type": "string",
                  "maxLength": 4000
                },
                "skillType": {
                  "description": "The type of the skill (e.g., skill/competence, knowledge, language, attitude).",
                  "type": "string",
                  "enum": [
                    "skill/competence",
                    "knowledge",
                    "language",
                    "attitude"
                  ]
                },
                "reuseLevel": {
                  "description": "The reuse level of the skill (e.g., sector-specific, transversal).",
                  "type": "string",
                  "enum": [
                    "sector-specific",
                    "occupation-specific",
                    "cross-sector",
                    "transversal"
                  ]
                },
                "isLocalized": {
                  "description": "Indicates if the skill has localized variants.",
                  "type": "boolean"
                },
                "modelId": {
                  "description": "The identifier of the model containing this skill.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{24}$"
                },
                "createdAt": {
                  "description": "Timestamp of record creation.",
                  "type": "string",
                  "format": "date-time"
                },
                "updatedAt": {
                  "description": "Timestamp of last record modification.",
                  "type": "string",
                  "format": "date-time"
                },
                "relationType": {
                  "description": "The type of relationship between occupation and skill (essential/optional).",
                  "type": [
                    "string",
                    "null"
                  ],
                  "enum": [
                    "",
                    "essential",
                    "optional",
                    null
                  ]
                },
                "signallingValue": {
                  "description": "Numeric signalling value for the skill relationship.",
                  "type": [
                    "number",
                    "null"
                  ],
                  "minimum": 0,
                  "maximum": 100
                },
                "signallingValueLabel": {
                  "description": "Label for the signalling value.",
                  "type": [
                    "string",
                    "null"
                  ],
                  "maxLength": 256,
                  "pattern": "\\S"
                }
              },
              "required": [
                "id",
                "UUID",
                "originUUID",
                "UUIDHistory",
                "path",
                "tabiyaPath",
                "preferredLabel",
                "originUri",
                "altLabels",
                "definition",
                "description",
                "scopeNote",
                "skillType",
                "reuseLevel",
                "isLocalized",
                "modelId",
                "parents",
                "children",
                "requiresSkills",
                "requiredBySkills",
                "requiredByOccupations",
                "createdAt",
                "updatedAt"
              ]
            },
            "description": "Array of skills required by the occupation for the current page"
          },
          "limit": {
            "type": "integer",
            "description": "Number of data returned in this page.",
            "minimum": 1,
            "maximum": 100,
            "default": 10
          },
          "nextCursor": {
            "type": [
              "string",
              "null"
            ],
            "description": "Cursor to fetch the next page of results. Opaque token encoding the last item's sort key(s). Returns null if this is the last page.",
            "maxLength": 1024,
            "pattern": "\\S"
          }
        },
        "required": [
          "data",
          "limit"
        ]
      },
      "OccupationSkillsRequestSchemaPOST": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "requiredSkillId": {
            "type": "string",
            "pattern": "^[0-9a-f]{24}$"
          },
          "relationType": {
            "type": "string",
            "enum": [
              "",
              "essential",
              "optional"
            ]
          },
          "signallingValueLabel": {
            "type": "string",
            "enum": [
              "",
              "high",
              "medium",
              "low"
            ]
          },
          "signallingValue": {
            "type": [
              "number",
              "null"
            ],
            "minimum": 0,
            "maximum": 100
          }
        },
        "required": [
          "requiredSkillId"
        ]
      },
      "OccupationSkillsRequestQueryParamSchemaGET": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "limit": {
            "description": "The maximum number of items to return.",
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 10
          },
          "cursor": {
            "description": "A base64 string representing the cursor for pagination.",
            "type": "string",
            "maxLength": 1024,
            "pattern": "\\S"
          }
        }
      },
      "SkillGroupRequestSchemaPOST": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "UUIDHistory": {
            "description": "The UUIDs history of the skill group.",
            "type": "array",
            "minItems": 0,
            "maxItems": 10000,
            "uniqueItems": true,
            "items": {
              "type": "string",
              "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
              "maxLength": 36
            }
          },
          "originUri": {
            "description": "The origin URI of the skill group.",
            "type": "string",
            "maxLength": 4096,
            "format": "uri",
            "pattern": "\\S"
          },
          "code": {
            "description": "The code of the skill group.",
            "type": "string",
            "maxLength": 256,
            "pattern": "^([a-zA-Z]\\d+(\\.\\d+)*|[a-zA-Z])$"
          },
          "description": {
            "description": "The description of the skill group.",
            "type": "string",
            "maxLength": 6000
          },
          "scopeNote": {
            "description": "The scope note of the skill group.",
            "type": "string",
            "maxLength": 4000
          },
          "preferredLabel": {
            "description": "The preferred label of the skill group.",
            "type": "string",
            "maxLength": 256,
            "pattern": "\\S"
          },
          "altLabels": {
            "description": "The alternative labels of the skill group.",
            "type": "array",
            "minItems": 0,
            "maxItems": 100,
            "uniqueItems": true,
            "items": {
              "type": "string",
              "maxLength": 256
            }
          },
          "modelId": {
            "description": "The identifier of the model for skill group.",
            "type": "string",
            "pattern": "^[0-9a-f]{24}$"
          }
        },
        "required": [
          "preferredLabel",
          "originUri",
          "UUIDHistory",
          "code",
          "description",
          "altLabels",
          "modelId",
          "scopeNote"
        ]
      },
      "SkillGroupResponseSchemaPOST": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "description": "The id of the skill group. It can be used to retrieve the skill group from the server.",
            "type": "string",
            "pattern": "^[0-9a-f]{24}$"
          },
          "UUID": {
            "description": "The UUID of the skill group. It can be used to identify the skill group across systems.",
            "type": "string",
            "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
          },
          "originUUID": {
            "description": "The last UUID in the UUIDHistory of skill group. It can be used to identify the skill group across systems.",
            "type": "string",
            "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
          },
          "path": {
            "description": "The path to the skill group resource using the resource id",
            "type": "string",
            "format": "uri",
            "pattern": "^https://.*",
            "maxLength": 4096
          },
          "tabiyaPath": {
            "description": "The path to the skill group resource using the resource UUID",
            "type": "string",
            "format": "uri",
            "pattern": "^https://.*",
            "maxLength": 4096
          },
          "parents": {
            "description": "The parent skill group of this skill group.",
            "type": "array",
            "minItems": 0,
            "items": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "id": {
                  "description": "The id of the parent skill group.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{24}$"
                },
                "UUID": {
                  "description": "The UUID of the parent skill group. It can be used to identify the parent skill group.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                },
                "code": {
                  "description": "The code of the parent skill group.",
                  "type": "string",
                  "maxLength": 256,
                  "pattern": "^([a-zA-Z]\\d+(\\.\\d+)*|[a-zA-Z])$"
                },
                "preferredLabel": {
                  "description": "The preferred label of the parent skill group.",
                  "type": "string",
                  "maxLength": 256,
                  "pattern": "\\S"
                },
                "objectType": {
                  "description": "The type of the skill group, e.g., SkillGroup.",
                  "type": "string",
                  "enum": [
                    "skillgroup"
                  ]
                }
              },
              "required": [
                "id",
                "UUID",
                "code",
                "preferredLabel",
                "objectType"
              ]
            }
          },
          "children": {
            "description": "The children of this skill group. which can be either skill groups or skills.",
            "type": "array",
            "minItems": 0,
            "items": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "id": {
                  "description": "The id of the child skill group or skill.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{24}$"
                },
                "UUID": {
                  "description": "The UUID of the child skill group or skill. It can be used to identify the child skill group or skill.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                },
                "preferredLabel": {
                  "description": "The preferred label of the child skill group.",
                  "type": "string",
                  "maxLength": 256,
                  "pattern": "\\S"
                },
                "objectType": {
                  "description": "The type of the skill group, e.g., SkillGroup, Skill.",
                  "type": "string",
                  "enum": [
                    "skill",
                    "skillgroup"
                  ]
                },
                "code": {
                  "description": "Code of the skill group child",
                  "type": "string",
                  "maxLength": 256,
                  "pattern": "^([a-zA-Z]\\d+(\\.\\d+)*|[a-zA-Z])$"
                },
                "isLocalized": {
                  "description": "Indicates if the skill child is localized",
                  "type": "boolean"
                }
              },
              "allOf": [
                {
                  "if": {
                    "properties": {
                      "objectType": {
                        "const": "skillgroup"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "code": {
                        "type": "string",
                        "maxLength": 256,
                        "pattern": "^([a-zA-Z]\\d+(\\.\\d+)*|[a-zA-Z])$"
                      }
                    },
                    "required": [
                      "code"
                    ],
                    "not": {
                      "properties": {
                        "isLocalized": {}
                      },
                      "required": [
                        "isLocalized"
                      ]
                    }
                  }
                },
                {
                  "if": {
                    "properties": {
                      "objectType": {
                        "const": "skill"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "isLocalized": {
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "isLocalized"
                    ],
                    "not": {
                      "properties": {},
                      "required": [
                        "code"
                      ]
                    }
                  }
                }
              ],
              "required": [
                "id",
                "UUID",
                "preferredLabel",
                "objectType"
              ]
            }
          },
          "UUIDHistory": {
            "description": "The UUIDs history of the skill group.",
            "type": "array",
            "minItems": 0,
            "maxItems": 10000,
            "uniqueItems": true,
            "items": {
              "type": "string",
              "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
              "maxLength": 36
            }
          },
          "originUri": {
            "description": "The origin URI of the skill group.",
            "type": "string",
            "maxLength": 4096,
            "format": "uri",
            "pattern": "\\S"
          },
          "code": {
            "description": "The code of the skill group.",
            "type": "string",
            "maxLength": 256,
            "pattern": "^([a-zA-Z]\\d+(\\.\\d+)*|[a-zA-Z])$"
          },
          "description": {
            "description": "The description of the skill group.",
            "type": "string",
            "maxLength": 6000
          },
          "scopeNote": {
            "description": "The scope note of the skill group.",
            "type": "string",
            "maxLength": 4000
          },
          "preferredLabel": {
            "description": "The preferred label of the skill group.",
            "type": "string",
            "maxLength": 256,
            "pattern": "\\S"
          },
          "altLabels": {
            "description": "The alternative labels of the skill group.",
            "type": "array",
            "minItems": 0,
            "maxItems": 100,
            "uniqueItems": true,
            "items": {
              "type": "string",
              "maxLength": 256
            }
          },
          "modelId": {
            "description": "The identifier of the model for skill group.",
            "type": "string",
            "pattern": "^[0-9a-f]{24}$"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "id",
          "UUID",
          "originUUID",
          "path",
          "tabiyaPath",
          "originUri",
          "code",
          "description",
          "preferredLabel",
          "parents",
          "children",
          "altLabels",
          "modelId",
          "scopeNote",
          "createdAt",
          "updatedAt",
          "UUIDHistory"
        ]
      },
      "SkillGroupResponseSchemaGETById": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "description": "The id of the skill group. It can be used to retrieve the skill group from the server.",
            "type": "string",
            "pattern": "^[0-9a-f]{24}$"
          },
          "UUID": {
            "description": "The UUID of the skill group. It can be used to identify the skill group across systems.",
            "type": "string",
            "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
          },
          "originUUID": {
            "description": "The last UUID in the UUIDHistory of skill group. It can be used to identify the skill group across systems.",
            "type": "string",
            "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
          },
          "path": {
            "description": "The path to the skill group resource using the resource id",
            "type": "string",
            "format": "uri",
            "pattern": "^https://.*",
            "maxLength": 4096
          },
          "tabiyaPath": {
            "description": "The path to the skill group resource using the resource UUID",
            "type": "string",
            "format": "uri",
            "pattern": "^https://.*",
            "maxLength": 4096
          },
          "parents": {
            "description": "The parent skill group of this skill group.",
            "type": "array",
            "minItems": 0,
            "items": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "id": {
                  "description": "The id of the parent skill group.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{24}$"
                },
                "UUID": {
                  "description": "The UUID of the parent skill group. It can be used to identify the parent skill group.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                },
                "code": {
                  "description": "The code of the parent skill group.",
                  "type": "string",
                  "maxLength": 256,
                  "pattern": "^([a-zA-Z]\\d+(\\.\\d+)*|[a-zA-Z])$"
                },
                "preferredLabel": {
                  "description": "The preferred label of the parent skill group.",
                  "type": "string",
                  "maxLength": 256,
                  "pattern": "\\S"
                },
                "objectType": {
                  "description": "The type of the skill group, e.g., SkillGroup.",
                  "type": "string",
                  "enum": [
                    "skillgroup"
                  ]
                }
              },
              "required": [
                "id",
                "UUID",
                "code",
                "preferredLabel",
                "objectType"
              ]
            }
          },
          "children": {
            "description": "The children of this skill group. which can be either skill groups or skills.",
            "type": "array",
            "minItems": 0,
            "items": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "id": {
                  "description": "The id of the child skill group or skill.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{24}$"
                },
                "UUID": {
                  "description": "The UUID of the child skill group or skill. It can be used to identify the child skill group or skill.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                },
                "preferredLabel": {
                  "description": "The preferred label of the child skill group.",
                  "type": "string",
                  "maxLength": 256,
                  "pattern": "\\S"
                },
                "objectType": {
                  "description": "The type of the skill group, e.g., SkillGroup, Skill.",
                  "type": "string",
                  "enum": [
                    "skill",
                    "skillgroup"
                  ]
                },
                "code": {
                  "description": "Code of the skill group child",
                  "type": "string",
                  "maxLength": 256,
                  "pattern": "^([a-zA-Z]\\d+(\\.\\d+)*|[a-zA-Z])$"
                },
                "isLocalized": {
                  "description": "Indicates if the skill child is localized",
                  "type": "boolean"
                }
              },
              "allOf": [
                {
                  "if": {
                    "properties": {
                      "objectType": {
                        "const": "skillgroup"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "code": {
                        "type": "string",
                        "maxLength": 256,
                        "pattern": "^([a-zA-Z]\\d+(\\.\\d+)*|[a-zA-Z])$"
                      }
                    },
                    "required": [
                      "code"
                    ],
                    "not": {
                      "properties": {
                        "isLocalized": {}
                      },
                      "required": [
                        "isLocalized"
                      ]
                    }
                  }
                },
                {
                  "if": {
                    "properties": {
                      "objectType": {
                        "const": "skill"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "isLocalized": {
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "isLocalized"
                    ],
                    "not": {
                      "properties": {},
                      "required": [
                        "code"
                      ]
                    }
                  }
                }
              ],
              "required": [
                "id",
                "UUID",
                "preferredLabel",
                "objectType"
              ]
            }
          },
          "UUIDHistory": {
            "description": "The UUIDs history of the skill group.",
            "type": "array",
            "minItems": 0,
            "maxItems": 10000,
            "uniqueItems": true,
            "items": {
              "type": "string",
              "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
              "maxLength": 36
            }
          },
          "originUri": {
            "description": "The origin URI of the skill group.",
            "type": "string",
            "maxLength": 4096,
            "format": "uri",
            "pattern": "\\S"
          },
          "code": {
            "description": "The code of the skill group.",
            "type": "string",
            "maxLength": 256,
            "pattern": "^([a-zA-Z]\\d+(\\.\\d+)*|[a-zA-Z])$"
          },
          "description": {
            "description": "The description of the skill group.",
            "type": "string",
            "maxLength": 6000
          },
          "scopeNote": {
            "description": "The scope note of the skill group.",
            "type": "string",
            "maxLength": 4000
          },
          "preferredLabel": {
            "description": "The preferred label of the skill group.",
            "type": "string",
            "maxLength": 256,
            "pattern": "\\S"
          },
          "altLabels": {
            "description": "The alternative labels of the skill group.",
            "type": "array",
            "minItems": 0,
            "maxItems": 100,
            "uniqueItems": true,
            "items": {
              "type": "string",
              "maxLength": 256
            }
          },
          "modelId": {
            "description": "The identifier of the model for skill group.",
            "type": "string",
            "pattern": "^[0-9a-f]{24}$"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "id",
          "UUID",
          "originUUID",
          "path",
          "tabiyaPath",
          "originUri",
          "code",
          "description",
          "preferredLabel",
          "parents",
          "children",
          "altLabels",
          "modelId",
          "scopeNote",
          "createdAt",
          "updatedAt",
          "UUIDHistory"
        ]
      },
      "SkillGroupParentsResponseSchemaGET": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "id": {
                  "description": "The id of the skill group. It can be used to retrieve the skill group from the server.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{24}$"
                },
                "UUID": {
                  "description": "The UUID of the skill group. It can be used to identify the skill group across systems.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                },
                "originUUID": {
                  "description": "The last UUID in the UUIDHistory of skill group. It can be used to identify the skill group across systems.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                },
                "path": {
                  "description": "The path to the skill group resource using the resource id",
                  "type": "string",
                  "format": "uri",
                  "pattern": "^https://.*",
                  "maxLength": 4096
                },
                "tabiyaPath": {
                  "description": "The path to the skill group resource using the resource UUID",
                  "type": "string",
                  "format": "uri",
                  "pattern": "^https://.*",
                  "maxLength": 4096
                },
                "parents": {
                  "description": "The parent skill group of this skill group.",
                  "type": "array",
                  "minItems": 0,
                  "items": {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                      "id": {
                        "description": "The id of the parent skill group.",
                        "type": "string",
                        "pattern": "^[0-9a-f]{24}$"
                      },
                      "UUID": {
                        "description": "The UUID of the parent skill group. It can be used to identify the parent skill group.",
                        "type": "string",
                        "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                      },
                      "code": {
                        "description": "The code of the parent skill group.",
                        "type": "string",
                        "maxLength": 256,
                        "pattern": "^([a-zA-Z]\\d+(\\.\\d+)*|[a-zA-Z])$"
                      },
                      "preferredLabel": {
                        "description": "The preferred label of the parent skill group.",
                        "type": "string",
                        "maxLength": 256,
                        "pattern": "\\S"
                      },
                      "objectType": {
                        "description": "The type of the skill group, e.g., SkillGroup.",
                        "type": "string",
                        "enum": [
                          "skillgroup"
                        ]
                      }
                    },
                    "required": [
                      "id",
                      "UUID",
                      "code",
                      "preferredLabel",
                      "objectType"
                    ]
                  }
                },
                "children": {
                  "description": "The children of this skill group. which can be either skill groups or skills.",
                  "type": "array",
                  "minItems": 0,
                  "items": {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                      "id": {
                        "description": "The id of the child skill group or skill.",
                        "type": "string",
                        "pattern": "^[0-9a-f]{24}$"
                      },
                      "UUID": {
                        "description": "The UUID of the child skill group or skill. It can be used to identify the child skill group or skill.",
                        "type": "string",
                        "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                      },
                      "preferredLabel": {
                        "description": "The preferred label of the child skill group.",
                        "type": "string",
                        "maxLength": 256,
                        "pattern": "\\S"
                      },
                      "objectType": {
                        "description": "The type of the skill group, e.g., SkillGroup, Skill.",
                        "type": "string",
                        "enum": [
                          "skill",
                          "skillgroup"
                        ]
                      },
                      "code": {
                        "description": "Code of the skill group child",
                        "type": "string",
                        "maxLength": 256,
                        "pattern": "^([a-zA-Z]\\d+(\\.\\d+)*|[a-zA-Z])$"
                      },
                      "isLocalized": {
                        "description": "Indicates if the skill child is localized",
                        "type": "boolean"
                      }
                    },
                    "allOf": [
                      {
                        "if": {
                          "properties": {
                            "objectType": {
                              "const": "skillgroup"
                            }
                          }
                        },
                        "then": {
                          "properties": {
                            "code": {
                              "type": "string",
                              "maxLength": 256,
                              "pattern": "^([a-zA-Z]\\d+(\\.\\d+)*|[a-zA-Z])$"
                            }
                          },
                          "required": [
                            "code"
                          ],
                          "not": {
                            "properties": {
                              "isLocalized": {}
                            },
                            "required": [
                              "isLocalized"
                            ]
                          }
                        }
                      },
                      {
                        "if": {
                          "properties": {
                            "objectType": {
                              "const": "skill"
                            }
                          }
                        },
                        "then": {
                          "properties": {
                            "isLocalized": {
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "isLocalized"
                          ],
                          "not": {
                            "properties": {},
                            "required": [
                              "code"
                            ]
                          }
                        }
                      }
                    ],
                    "required": [
                      "id",
                      "UUID",
                      "preferredLabel",
                      "objectType"
                    ]
                  }
                },
                "UUIDHistory": {
                  "description": "The UUIDs history of the skill group.",
                  "type": "array",
                  "minItems": 0,
                  "maxItems": 10000,
                  "uniqueItems": true,
                  "items": {
                    "type": "string",
                    "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
                    "maxLength": 36
                  }
                },
                "originUri": {
                  "description": "The origin URI of the skill group.",
                  "type": "string",
                  "maxLength": 4096,
                  "format": "uri",
                  "pattern": "\\S"
                },
                "code": {
                  "description": "The code of the skill group.",
                  "type": "string",
                  "maxLength": 256,
                  "pattern": "^([a-zA-Z]\\d+(\\.\\d+)*|[a-zA-Z])$"
                },
                "description": {
                  "description": "The description of the skill group.",
                  "type": "string",
                  "maxLength": 6000
                },
                "scopeNote": {
                  "description": "The scope note of the skill group.",
                  "type": "string",
                  "maxLength": 4000
                },
                "preferredLabel": {
                  "description": "The preferred label of the skill group.",
                  "type": "string",
                  "maxLength": 256,
                  "pattern": "\\S"
                },
                "altLabels": {
                  "description": "The alternative labels of the skill group.",
                  "type": "array",
                  "minItems": 0,
                  "maxItems": 100,
                  "uniqueItems": true,
                  "items": {
                    "type": "string",
                    "maxLength": 256
                  }
                },
                "modelId": {
                  "description": "The identifier of the model for skill group.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{24}$"
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time"
                },
                "updatedAt": {
                  "type": "string",
                  "format": "date-time"
                }
              },
              "required": [
                "id",
                "UUID",
                "originUUID",
                "path",
                "tabiyaPath",
                "originUri",
                "code",
                "description",
                "preferredLabel",
                "parents",
                "children",
                "altLabels",
                "modelId",
                "scopeNote",
                "createdAt",
                "updatedAt",
                "UUIDHistory"
              ]
            }
          },
          "limit": {
            "type": [
              "integer",
              "null"
            ],
            "minimum": 1,
            "maximum": 100,
            "default": 20,
            "description": "The maximum number of parents of skill groups that could be returned in the response."
          },
          "nextCursor": {
            "type": [
              "string",
              "null"
            ],
            "description": "A base64 string representing the cursor for the next page of results. Null if there is no next page.",
            "maxLength": 1720,
            "pattern": "\\S"
          }
        },
        "required": [
          "data",
          "limit"
        ],
        "additionalProperties": false
      },
      "SkillGroupParentsRequestQueryParamSchemaGET": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "limit": {
            "description": "Maximum number of items to return",
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 20
          },
          "cursor": {
            "description": "Pagination cursor for fetching the next page",
            "type": "string",
            "maxLength": 1720,
            "pattern": "\\S"
          }
        }
      },
      "SkillGroupChildrenResponseSchemaGET": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "id": {
                  "description": "The id of the child of skill group or skill. It can be used to retrieve the single child from the server.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{24}$"
                },
                "parentId": {
                  "description": "The id of the parent skill group. It can be used to retrieve the single parent from the server.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{24}$"
                },
                "UUID": {
                  "description": "The UUID of the child of skill group or skill. It can be used to identify the child across systems.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                },
                "originUUID": {
                  "description": "The last UUID in the UUIDHistory of child of skill group. It can be used to identify the child across systems.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                },
                "path": {
                  "description": "The path to the child of skill group resource using the resource id",
                  "type": "string",
                  "format": "uri",
                  "pattern": "^https://.*",
                  "maxLength": 4096
                },
                "tabiyaPath": {
                  "description": "The path to the child of skill group resource using the resource UUID",
                  "type": "string",
                  "format": "uri",
                  "pattern": "^https://.*",
                  "maxLength": 4096
                },
                "UUIDHistory": {
                  "description": "The UUIDs history of the child of skill group.",
                  "type": "array",
                  "minItems": 0,
                  "maxItems": 10000,
                  "uniqueItems": true,
                  "items": {
                    "type": "string",
                    "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
                    "maxLength": 36
                  }
                },
                "originUri": {
                  "description": "The origin URI of the child of skill group.",
                  "type": "string",
                  "maxLength": 4096,
                  "format": "uri",
                  "pattern": "\\S"
                },
                "description": {
                  "description": "The description of the child of the skill group.",
                  "type": "string",
                  "maxLength": 6000
                },
                "preferredLabel": {
                  "description": "The preferred label of the child of skill group.",
                  "type": "string",
                  "maxLength": 256,
                  "pattern": "\\S"
                },
                "altLabels": {
                  "description": "The alternative labels of the child of the skill group.",
                  "type": "array",
                  "minItems": 0,
                  "maxItems": 100,
                  "uniqueItems": true,
                  "items": {
                    "type": "string",
                    "maxLength": 256
                  }
                },
                "objectType": {
                  "description": "The type of the child of skill group, e.g., Skill or SkillGroup.",
                  "type": "string",
                  "enum": [
                    "skill",
                    "skillgroup"
                  ]
                },
                "code": {
                  "description": "Code of the skill group child",
                  "type": "string",
                  "maxLength": 256,
                  "pattern": "^([a-zA-Z]\\d+(\\.\\d+)*|[a-zA-Z])$"
                },
                "isLocalized": {
                  "description": "Indicates if the skill child is localized",
                  "type": "boolean"
                },
                "modelId": {
                  "description": "The identifier of the model for child of the skill group.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{24}$"
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time"
                },
                "updatedAt": {
                  "type": "string",
                  "format": "date-time"
                }
              },
              "allOf": [
                {
                  "if": {
                    "properties": {
                      "objectType": {
                        "const": "skillgroup"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "code": {
                        "type": "string",
                        "maxLength": 256,
                        "pattern": "^([a-zA-Z]\\d+(\\.\\d+)*|[a-zA-Z])$"
                      }
                    },
                    "required": [
                      "code"
                    ],
                    "not": {
                      "properties": {
                        "isLocalized": {}
                      },
                      "required": [
                        "isLocalized"
                      ]
                    }
                  }
                },
                {
                  "if": {
                    "properties": {
                      "objectType": {
                        "const": "skill"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "isLocalized": {
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "isLocalized"
                    ],
                    "not": {
                      "properties": {},
                      "required": [
                        "code"
                      ]
                    }
                  }
                }
              ],
              "required": [
                "id",
                "parentId",
                "UUID",
                "originUUID",
                "path",
                "tabiyaPath",
                "UUIDHistory",
                "originUri",
                "description",
                "preferredLabel",
                "altLabels",
                "objectType",
                "modelId",
                "createdAt",
                "updatedAt"
              ]
            }
          },
          "limit": {
            "type": [
              "integer",
              "null"
            ],
            "minimum": 1,
            "maximum": 100,
            "default": 20,
            "description": "The maximum number of children of skill group that could be returned in the response."
          },
          "nextCursor": {
            "type": [
              "string",
              "null"
            ],
            "description": "A base64 string representing the cursor for the next page of results. Null if there is no next page.",
            "maxLength": 1720,
            "pattern": "\\S"
          }
        },
        "required": [
          "data",
          "limit"
        ],
        "additionalProperties": false
      },
      "SkillGroupChildrenRequestQueryParamSchemaGET": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "limit": {
            "description": "Maximum number of items to return",
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 20
          },
          "cursor": {
            "description": "Pagination cursor for fetching the next page",
            "type": "string",
            "maxLength": 1720,
            "pattern": "\\S"
          }
        }
      },
      "SkillGroupRequestParamSchemaGET": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "modelId": {
            "description": "The identifier of the model for skill group.",
            "type": "string",
            "pattern": "^[0-9a-f]{24}$"
          },
          "id": {
            "description": "The id of the skill group. It can be used to retrieve the skill group from the server.",
            "type": "string",
            "pattern": "^[0-9a-f]{24}$"
          }
        },
        "required": [
          "modelId",
          "id"
        ]
      },
      "SkillGroupRequestQueryParamSchemaGET": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "limit": {
            "description": "The maximum number of items to return.",
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 20
          },
          "cursor": {
            "description": "A base64 string representing the cursor for pagination.",
            "type": "string",
            "maxLength": 1720,
            "pattern": "\\S"
          },
          "childrenIds": {
            "description": "Semicolon-separated IDs of children used to filter parent skill groups.",
            "type": "string",
            "pattern": "^[0-9a-f]{24}(;[0-9a-f]{24})*$"
          },
          "childrenType": {
            "description": "Type of the children referenced in childrenIds.",
            "type": "string",
            "enum": [
              "skill",
              "skillgroup"
            ]
          }
        },
        "allOf": [
          {
            "if": {
              "properties": {
                "childrenIds": {}
              },
              "required": [
                "childrenIds"
              ]
            },
            "then": {
              "properties": {
                "childrenType": {}
              },
              "required": [
                "childrenType"
              ]
            }
          },
          {
            "if": {
              "properties": {
                "childrenType": {}
              },
              "required": [
                "childrenType"
              ]
            },
            "then": {
              "properties": {
                "childrenIds": {}
              },
              "required": [
                "childrenIds"
              ]
            }
          }
        ]
      },
      "SkillGroupResponseSchemaGET": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "id": {
                  "description": "The id of the skill group. It can be used to retrieve the skill group from the server.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{24}$"
                },
                "UUID": {
                  "description": "The UUID of the skill group. It can be used to identify the skill group across systems.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                },
                "originUUID": {
                  "description": "The last UUID in the UUIDHistory of skill group. It can be used to identify the skill group across systems.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                },
                "path": {
                  "description": "The path to the skill group resource using the resource id",
                  "type": "string",
                  "format": "uri",
                  "pattern": "^https://.*",
                  "maxLength": 4096
                },
                "tabiyaPath": {
                  "description": "The path to the skill group resource using the resource UUID",
                  "type": "string",
                  "format": "uri",
                  "pattern": "^https://.*",
                  "maxLength": 4096
                },
                "parents": {
                  "description": "The parent skill group of this skill group.",
                  "type": "array",
                  "minItems": 0,
                  "items": {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                      "id": {
                        "description": "The id of the parent skill group.",
                        "type": "string",
                        "pattern": "^[0-9a-f]{24}$"
                      },
                      "UUID": {
                        "description": "The UUID of the parent skill group. It can be used to identify the parent skill group.",
                        "type": "string",
                        "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                      },
                      "code": {
                        "description": "The code of the parent skill group.",
                        "type": "string",
                        "maxLength": 256,
                        "pattern": "^([a-zA-Z]\\d+(\\.\\d+)*|[a-zA-Z])$"
                      },
                      "preferredLabel": {
                        "description": "The preferred label of the parent skill group.",
                        "type": "string",
                        "maxLength": 256,
                        "pattern": "\\S"
                      },
                      "objectType": {
                        "description": "The type of the skill group, e.g., SkillGroup.",
                        "type": "string",
                        "enum": [
                          "skillgroup"
                        ]
                      }
                    },
                    "required": [
                      "id",
                      "UUID",
                      "code",
                      "preferredLabel",
                      "objectType"
                    ]
                  }
                },
                "children": {
                  "description": "The children of this skill group. which can be either skill groups or skills.",
                  "type": "array",
                  "minItems": 0,
                  "items": {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                      "id": {
                        "description": "The id of the child skill group or skill.",
                        "type": "string",
                        "pattern": "^[0-9a-f]{24}$"
                      },
                      "UUID": {
                        "description": "The UUID of the child skill group or skill. It can be used to identify the child skill group or skill.",
                        "type": "string",
                        "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                      },
                      "preferredLabel": {
                        "description": "The preferred label of the child skill group.",
                        "type": "string",
                        "maxLength": 256,
                        "pattern": "\\S"
                      },
                      "objectType": {
                        "description": "The type of the skill group, e.g., SkillGroup, Skill.",
                        "type": "string",
                        "enum": [
                          "skill",
                          "skillgroup"
                        ]
                      },
                      "code": {
                        "description": "Code of the skill group child",
                        "type": "string",
                        "maxLength": 256,
                        "pattern": "^([a-zA-Z]\\d+(\\.\\d+)*|[a-zA-Z])$"
                      },
                      "isLocalized": {
                        "description": "Indicates if the skill child is localized",
                        "type": "boolean"
                      }
                    },
                    "allOf": [
                      {
                        "if": {
                          "properties": {
                            "objectType": {
                              "const": "skillgroup"
                            }
                          }
                        },
                        "then": {
                          "properties": {
                            "code": {
                              "type": "string",
                              "maxLength": 256,
                              "pattern": "^([a-zA-Z]\\d+(\\.\\d+)*|[a-zA-Z])$"
                            }
                          },
                          "required": [
                            "code"
                          ],
                          "not": {
                            "properties": {
                              "isLocalized": {}
                            },
                            "required": [
                              "isLocalized"
                            ]
                          }
                        }
                      },
                      {
                        "if": {
                          "properties": {
                            "objectType": {
                              "const": "skill"
                            }
                          }
                        },
                        "then": {
                          "properties": {
                            "isLocalized": {
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "isLocalized"
                          ],
                          "not": {
                            "properties": {},
                            "required": [
                              "code"
                            ]
                          }
                        }
                      }
                    ],
                    "required": [
                      "id",
                      "UUID",
                      "preferredLabel",
                      "objectType"
                    ]
                  }
                },
                "UUIDHistory": {
                  "description": "The UUIDs history of the skill group.",
                  "type": "array",
                  "minItems": 0,
                  "maxItems": 10000,
                  "uniqueItems": true,
                  "items": {
                    "type": "string",
                    "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
                    "maxLength": 36
                  }
                },
                "originUri": {
                  "description": "The origin URI of the skill group.",
                  "type": "string",
                  "maxLength": 4096,
                  "format": "uri",
                  "pattern": "\\S"
                },
                "code": {
                  "description": "The code of the skill group.",
                  "type": "string",
                  "maxLength": 256,
                  "pattern": "^([a-zA-Z]\\d+(\\.\\d+)*|[a-zA-Z])$"
                },
                "description": {
                  "description": "The description of the skill group.",
                  "type": "string",
                  "maxLength": 6000
                },
                "scopeNote": {
                  "description": "The scope note of the skill group.",
                  "type": "string",
                  "maxLength": 4000
                },
                "preferredLabel": {
                  "description": "The preferred label of the skill group.",
                  "type": "string",
                  "maxLength": 256,
                  "pattern": "\\S"
                },
                "altLabels": {
                  "description": "The alternative labels of the skill group.",
                  "type": "array",
                  "minItems": 0,
                  "maxItems": 100,
                  "uniqueItems": true,
                  "items": {
                    "type": "string",
                    "maxLength": 256
                  }
                },
                "modelId": {
                  "description": "The identifier of the model for skill group.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{24}$"
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time"
                },
                "updatedAt": {
                  "type": "string",
                  "format": "date-time"
                }
              },
              "required": [
                "id",
                "UUID",
                "originUUID",
                "path",
                "tabiyaPath",
                "originUri",
                "code",
                "description",
                "preferredLabel",
                "parents",
                "children",
                "altLabels",
                "modelId",
                "scopeNote",
                "createdAt",
                "updatedAt",
                "UUIDHistory"
              ]
            }
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "description": "The maximum number of skill groups that could be returned in the response.",
            "maximum": 100,
            "default": 20
          },
          "nextCursor": {
            "type": [
              "string",
              "null"
            ],
            "description": "A base64 string representing the cursor for the next page of results. Null if there is no next page.",
            "maxLength": 1720,
            "pattern": "\\S"
          }
        },
        "required": [
          "data",
          "limit"
        ],
        "additionalProperties": false
      },
      "SkillGroupRequestByIdParamSchemaGET": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "modelId": {
            "description": "The identifier of the model for skill group.",
            "type": "string",
            "pattern": "^[0-9a-f]{24}$"
          },
          "id": {
            "description": "The id of the skill group. It can be used to retrieve the skill group from the server.",
            "type": "string",
            "pattern": "^[0-9a-f]{24}$"
          }
        },
        "required": [
          "modelId",
          "id"
        ]
      },
      "SkillRequestSchemaPOST": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "UUIDHistory": {
            "description": "The UUIDs history of the skill.",
            "type": "array",
            "minItems": 0,
            "maxItems": 10000,
            "uniqueItems": true,
            "items": {
              "type": "string",
              "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
              "maxLength": 50
            }
          },
          "originUri": {
            "description": "The origin URI of the skill.",
            "type": "string",
            "format": "uri",
            "maxLength": 4096,
            "pattern": "\\S"
          },
          "preferredLabel": {
            "description": "The preferred label of the skill.",
            "type": "string",
            "maxLength": 256,
            "pattern": "\\S"
          },
          "altLabels": {
            "description": "Alternative labels for the skill.",
            "type": "array",
            "minItems": 0,
            "maxItems": 100,
            "uniqueItems": true,
            "items": {
              "type": "string",
              "maxLength": 256
            }
          },
          "definition": {
            "description": "The formal definition of the skill.",
            "type": "string",
            "maxLength": 4000
          },
          "description": {
            "description": "Additional descriptive information about the skill.",
            "type": "string",
            "maxLength": 6000
          },
          "scopeNote": {
            "description": "Scope clarification for the skill's application.",
            "type": "string",
            "maxLength": 4000
          },
          "skillType": {
            "description": "The type of the skill (e.g., skill/competence, knowledge, language, attitude).",
            "type": "string",
            "enum": [
              "skill/competence",
              "knowledge",
              "language",
              "attitude"
            ]
          },
          "reuseLevel": {
            "description": "The reuse level of the skill (e.g., sector-specific, transversal).",
            "type": "string",
            "enum": [
              "sector-specific",
              "occupation-specific",
              "cross-sector",
              "transversal"
            ]
          },
          "isLocalized": {
            "description": "Indicates if the skill has localized variants.",
            "type": "boolean"
          },
          "modelId": {
            "description": "The identifier of the model containing this skill.",
            "type": "string",
            "pattern": "^[0-9a-f]{24}$"
          }
        },
        "required": [
          "preferredLabel",
          "originUri",
          "UUIDHistory",
          "altLabels",
          "definition",
          "description",
          "scopeNote",
          "modelId",
          "skillType",
          "reuseLevel",
          "isLocalized"
        ]
      },
      "SkillRequestParamSchemaPOST": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "modelId": {
            "description": "The identifier of the model for skill.",
            "type": "string",
            "pattern": "^[0-9a-f]{24}$"
          }
        },
        "required": [
          "modelId"
        ]
      },
      "SkillResponseSchemaPOST": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "description": "The unique identifier of the skill.",
            "type": "string",
            "pattern": "^[0-9a-f]{24}$"
          },
          "UUID": {
            "description": "The UUID of the skill for cross-system identification.",
            "type": "string",
            "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
          },
          "originUUID": {
            "description": "The original UUID of the skill, i.e., the first UUID in UUIDHistory",
            "type": "string",
            "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
            "maxLength": 50
          },
          "path": {
            "description": "Resource path using the skill's ID.",
            "type": "string",
            "format": "uri",
            "pattern": "^https://.*",
            "maxLength": 4096
          },
          "tabiyaPath": {
            "description": "Resource path using the skill's UUID.",
            "type": "string",
            "format": "uri",
            "pattern": "^https://.*",
            "maxLength": 4096
          },
          "parents": {
            "description": "The parent skills or skill groups of this skill.",
            "type": "array",
            "minItems": 0,
            "items": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "id": {
                  "description": "The id of the parent skill or skill group.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{24}$"
                },
                "UUID": {
                  "description": "The UUID of the parent skill or skill group.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                },
                "preferredLabel": {
                  "description": "The preferred label of the parent skill or skill group.",
                  "type": "string",
                  "maxLength": 256,
                  "pattern": "\\S"
                },
                "objectType": {
                  "description": "The type of the parent, e.g., Skill or SkillGroup.",
                  "type": "string",
                  "enum": [
                    "skillgroup",
                    "skill"
                  ]
                },
                "code": {
                  "description": "The code of the parent skill group.",
                  "type": "string",
                  "maxLength": 256
                }
              },
              "if": {
                "properties": {
                  "objectType": {
                    "enum": [
                      "skillgroup"
                    ]
                  }
                }
              },
              "then": {
                "properties": {
                  "code": {
                    "type": "string",
                    "maxLength": 256,
                    "pattern": "^([a-zA-Z]\\d+(\\.\\d+)*|[a-zA-Z])$"
                  }
                },
                "required": [
                  "code"
                ]
              },
              "required": [
                "id",
                "UUID",
                "preferredLabel",
                "objectType"
              ]
            }
          },
          "children": {
            "description": "The children of this skill.",
            "type": "array",
            "minItems": 0,
            "items": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "id": {
                  "description": "The id of the child skill.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{24}$"
                },
                "UUID": {
                  "description": "The UUID of the child skill.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                },
                "preferredLabel": {
                  "description": "The preferred label of the child skill.",
                  "type": "string",
                  "maxLength": 256,
                  "pattern": "\\S"
                },
                "objectType": {
                  "description": "The type of the child, e.g., Skill.",
                  "type": "string",
                  "enum": [
                    "skill",
                    "skillgroup"
                  ]
                },
                "isLocalized": {
                  "description": "Indicates if the child skill is localized.",
                  "type": "boolean"
                }
              },
              "allOf": [
                {
                  "if": {
                    "properties": {
                      "objectType": {
                        "const": "skill"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "isLocalized": {
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "isLocalized"
                    ]
                  }
                }
              ],
              "required": [
                "id",
                "UUID",
                "preferredLabel",
                "objectType"
              ]
            }
          },
          "requiresSkills": {
            "description": "Skills required by this skill with relationship metadata.",
            "type": "array",
            "minItems": 0,
            "items": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "id": {
                  "description": "The ID of the required skill.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{24}$"
                },
                "UUID": {
                  "description": "The UUID of the required skill.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                },
                "preferredLabel": {
                  "description": "The preferred label of the required skill.",
                  "type": "string",
                  "maxLength": 256,
                  "pattern": "\\S"
                },
                "isLocalized": {
                  "description": "Indicates if the required skill is localized.",
                  "type": "boolean"
                },
                "objectType": {
                  "description": "The object type of the required skill.",
                  "type": "string",
                  "enum": [
                    "skill"
                  ]
                },
                "relationType": {
                  "description": "The type of relationship between skills.",
                  "type": "string",
                  "enum": [
                    "essential",
                    "optional"
                  ]
                }
              },
              "required": [
                "id",
                "UUID",
                "preferredLabel",
                "isLocalized",
                "objectType",
                "relationType"
              ]
            }
          },
          "requiredBySkills": {
            "description": "Skills that require this skill with relationship metadata.",
            "type": "array",
            "minItems": 0,
            "items": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "id": {
                  "description": "The ID of the requiring skill.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{24}$"
                },
                "UUID": {
                  "description": "The UUID of the requiring skill.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                },
                "preferredLabel": {
                  "description": "The preferred label of the requiring skill.",
                  "type": "string",
                  "maxLength": 256,
                  "pattern": "\\S"
                },
                "isLocalized": {
                  "description": "Indicates if the requiring skill is localized.",
                  "type": "boolean"
                },
                "objectType": {
                  "description": "The object type of the requiring skill.",
                  "type": "string",
                  "enum": [
                    "skill"
                  ]
                },
                "relationType": {
                  "description": "The type of relationship between skills.",
                  "type": "string",
                  "enum": [
                    "essential",
                    "optional"
                  ]
                }
              },
              "required": [
                "id",
                "UUID",
                "preferredLabel",
                "isLocalized",
                "objectType",
                "relationType"
              ]
            }
          },
          "requiredByOccupations": {
            "description": "Occupations that require this skill with relationship metadata.",
            "type": "array",
            "minItems": 0,
            "items": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "id": {
                  "description": "The ID of the requiring occupation.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{24}$"
                },
                "UUID": {
                  "description": "The UUID of the requiring occupation.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                },
                "preferredLabel": {
                  "description": "The preferred label of the requiring occupation.",
                  "type": "string",
                  "maxLength": 256,
                  "pattern": "\\S"
                },
                "isLocalized": {
                  "description": "Indicates if the requiring occupation is localized.",
                  "type": "boolean"
                },
                "objectType": {
                  "description": "The object type of the requiring occupation.",
                  "type": "string",
                  "enum": [
                    "escooccupation",
                    "localoccupation"
                  ]
                },
                "relationType": {
                  "description": "Used for ESCOOccupations only.",
                  "type": [
                    "string",
                    "null"
                  ],
                  "enum": [
                    "",
                    "essential",
                    "optional",
                    null
                  ]
                },
                "signallingValue": {
                  "description": "Used for LocalOccupations only.",
                  "type": [
                    "number",
                    "null"
                  ],
                  "minimum": 0,
                  "maximum": 100
                },
                "signallingValueLabel": {
                  "description": "Used for LocalOccupations only.",
                  "type": [
                    "string",
                    "null"
                  ],
                  "maxLength": 256,
                  "enum": [
                    "",
                    "low",
                    "medium",
                    "high",
                    null
                  ]
                }
              },
              "required": [
                "id",
                "UUID",
                "preferredLabel",
                "isLocalized",
                "objectType"
              ],
              "allOf": [
                {
                  "if": {
                    "properties": {
                      "objectType": {
                        "const": "escooccupation"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "relationType": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "relationType"
                    ]
                  }
                },
                {
                  "if": {
                    "properties": {
                      "objectType": {
                        "const": "localoccupation"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "signallingValue": {
                        "type": "number"
                      },
                      "signallingValueLabel": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "signallingValue",
                      "signallingValueLabel"
                    ]
                  }
                }
              ]
            }
          },
          "UUIDHistory": {
            "description": "The UUIDs history of the skill.",
            "type": "array",
            "minItems": 0,
            "maxItems": 10000,
            "uniqueItems": true,
            "items": {
              "type": "string",
              "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
              "maxLength": 50
            }
          },
          "originUri": {
            "description": "The origin URI of the skill.",
            "type": "string",
            "format": "uri",
            "maxLength": 4096,
            "pattern": "\\S"
          },
          "preferredLabel": {
            "description": "The preferred label of the skill.",
            "type": "string",
            "maxLength": 256,
            "pattern": "\\S"
          },
          "altLabels": {
            "description": "Alternative labels for the skill.",
            "type": "array",
            "minItems": 0,
            "maxItems": 100,
            "uniqueItems": true,
            "items": {
              "type": "string",
              "maxLength": 256
            }
          },
          "definition": {
            "description": "The formal definition of the skill.",
            "type": "string",
            "maxLength": 4000
          },
          "description": {
            "description": "Additional descriptive information about the skill.",
            "type": "string",
            "maxLength": 6000
          },
          "scopeNote": {
            "description": "Scope clarification for the skill's application.",
            "type": "string",
            "maxLength": 4000
          },
          "skillType": {
            "description": "The type of the skill (e.g., skill/competence, knowledge, language, attitude).",
            "type": "string",
            "enum": [
              "skill/competence",
              "knowledge",
              "language",
              "attitude"
            ]
          },
          "reuseLevel": {
            "description": "The reuse level of the skill (e.g., sector-specific, transversal).",
            "type": "string",
            "enum": [
              "sector-specific",
              "occupation-specific",
              "cross-sector",
              "transversal"
            ]
          },
          "isLocalized": {
            "description": "Indicates if the skill has localized variants.",
            "type": "boolean"
          },
          "modelId": {
            "description": "The identifier of the model containing this skill.",
            "type": "string",
            "pattern": "^[0-9a-f]{24}$"
          },
          "createdAt": {
            "description": "Timestamp of record creation.",
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "description": "Timestamp of last record modification.",
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "id",
          "UUID",
          "originUUID",
          "UUIDHistory",
          "path",
          "tabiyaPath",
          "preferredLabel",
          "originUri",
          "altLabels",
          "definition",
          "description",
          "scopeNote",
          "skillType",
          "reuseLevel",
          "isLocalized",
          "modelId",
          "parents",
          "children",
          "requiresSkills",
          "requiredBySkills",
          "requiredByOccupations",
          "createdAt",
          "updatedAt"
        ]
      },
      "SkillResponseSchemaGETById": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "description": "The unique identifier of the skill.",
            "type": "string",
            "pattern": "^[0-9a-f]{24}$"
          },
          "UUID": {
            "description": "The UUID of the skill for cross-system identification.",
            "type": "string",
            "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
          },
          "originUUID": {
            "description": "The original UUID of the skill, i.e., the first UUID in UUIDHistory",
            "type": "string",
            "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
            "maxLength": 50
          },
          "path": {
            "description": "Resource path using the skill's ID.",
            "type": "string",
            "format": "uri",
            "pattern": "^https://.*",
            "maxLength": 4096
          },
          "tabiyaPath": {
            "description": "Resource path using the skill's UUID.",
            "type": "string",
            "format": "uri",
            "pattern": "^https://.*",
            "maxLength": 4096
          },
          "parents": {
            "description": "The parent skills or skill groups of this skill.",
            "type": "array",
            "minItems": 0,
            "items": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "id": {
                  "description": "The id of the parent skill or skill group.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{24}$"
                },
                "UUID": {
                  "description": "The UUID of the parent skill or skill group.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                },
                "preferredLabel": {
                  "description": "The preferred label of the parent skill or skill group.",
                  "type": "string",
                  "maxLength": 256,
                  "pattern": "\\S"
                },
                "objectType": {
                  "description": "The type of the parent, e.g., Skill or SkillGroup.",
                  "type": "string",
                  "enum": [
                    "skillgroup",
                    "skill"
                  ]
                },
                "code": {
                  "description": "The code of the parent skill group.",
                  "type": "string",
                  "maxLength": 256
                }
              },
              "if": {
                "properties": {
                  "objectType": {
                    "enum": [
                      "skillgroup"
                    ]
                  }
                }
              },
              "then": {
                "properties": {
                  "code": {
                    "type": "string",
                    "maxLength": 256,
                    "pattern": "^([a-zA-Z]\\d+(\\.\\d+)*|[a-zA-Z])$"
                  }
                },
                "required": [
                  "code"
                ]
              },
              "required": [
                "id",
                "UUID",
                "preferredLabel",
                "objectType"
              ]
            }
          },
          "children": {
            "description": "The children of this skill.",
            "type": "array",
            "minItems": 0,
            "items": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "id": {
                  "description": "The id of the child skill.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{24}$"
                },
                "UUID": {
                  "description": "The UUID of the child skill.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                },
                "preferredLabel": {
                  "description": "The preferred label of the child skill.",
                  "type": "string",
                  "maxLength": 256,
                  "pattern": "\\S"
                },
                "objectType": {
                  "description": "The type of the child, e.g., Skill.",
                  "type": "string",
                  "enum": [
                    "skill",
                    "skillgroup"
                  ]
                },
                "isLocalized": {
                  "description": "Indicates if the child skill is localized.",
                  "type": "boolean"
                }
              },
              "allOf": [
                {
                  "if": {
                    "properties": {
                      "objectType": {
                        "const": "skill"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "isLocalized": {
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "isLocalized"
                    ]
                  }
                }
              ],
              "required": [
                "id",
                "UUID",
                "preferredLabel",
                "objectType"
              ]
            }
          },
          "requiresSkills": {
            "description": "Skills required by this skill with relationship metadata.",
            "type": "array",
            "minItems": 0,
            "items": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "id": {
                  "description": "The ID of the required skill.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{24}$"
                },
                "UUID": {
                  "description": "The UUID of the required skill.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                },
                "preferredLabel": {
                  "description": "The preferred label of the required skill.",
                  "type": "string",
                  "maxLength": 256,
                  "pattern": "\\S"
                },
                "isLocalized": {
                  "description": "Indicates if the required skill is localized.",
                  "type": "boolean"
                },
                "objectType": {
                  "description": "The object type of the required skill.",
                  "type": "string",
                  "enum": [
                    "skill"
                  ]
                },
                "relationType": {
                  "description": "The type of relationship between skills.",
                  "type": "string",
                  "enum": [
                    "essential",
                    "optional"
                  ]
                }
              },
              "required": [
                "id",
                "UUID",
                "preferredLabel",
                "isLocalized",
                "objectType",
                "relationType"
              ]
            }
          },
          "requiredBySkills": {
            "description": "Skills that require this skill with relationship metadata.",
            "type": "array",
            "minItems": 0,
            "items": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "id": {
                  "description": "The ID of the requiring skill.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{24}$"
                },
                "UUID": {
                  "description": "The UUID of the requiring skill.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                },
                "preferredLabel": {
                  "description": "The preferred label of the requiring skill.",
                  "type": "string",
                  "maxLength": 256,
                  "pattern": "\\S"
                },
                "isLocalized": {
                  "description": "Indicates if the requiring skill is localized.",
                  "type": "boolean"
                },
                "objectType": {
                  "description": "The object type of the requiring skill.",
                  "type": "string",
                  "enum": [
                    "skill"
                  ]
                },
                "relationType": {
                  "description": "The type of relationship between skills.",
                  "type": "string",
                  "enum": [
                    "essential",
                    "optional"
                  ]
                }
              },
              "required": [
                "id",
                "UUID",
                "preferredLabel",
                "isLocalized",
                "objectType",
                "relationType"
              ]
            }
          },
          "requiredByOccupations": {
            "description": "Occupations that require this skill with relationship metadata.",
            "type": "array",
            "minItems": 0,
            "items": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "id": {
                  "description": "The ID of the requiring occupation.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{24}$"
                },
                "UUID": {
                  "description": "The UUID of the requiring occupation.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                },
                "preferredLabel": {
                  "description": "The preferred label of the requiring occupation.",
                  "type": "string",
                  "maxLength": 256,
                  "pattern": "\\S"
                },
                "isLocalized": {
                  "description": "Indicates if the requiring occupation is localized.",
                  "type": "boolean"
                },
                "objectType": {
                  "description": "The object type of the requiring occupation.",
                  "type": "string",
                  "enum": [
                    "escooccupation",
                    "localoccupation"
                  ]
                },
                "relationType": {
                  "description": "Used for ESCOOccupations only.",
                  "type": [
                    "string",
                    "null"
                  ],
                  "enum": [
                    "",
                    "essential",
                    "optional",
                    null
                  ]
                },
                "signallingValue": {
                  "description": "Used for LocalOccupations only.",
                  "type": [
                    "number",
                    "null"
                  ],
                  "minimum": 0,
                  "maximum": 100
                },
                "signallingValueLabel": {
                  "description": "Used for LocalOccupations only.",
                  "type": [
                    "string",
                    "null"
                  ],
                  "maxLength": 256,
                  "enum": [
                    "",
                    "low",
                    "medium",
                    "high",
                    null
                  ]
                }
              },
              "required": [
                "id",
                "UUID",
                "preferredLabel",
                "isLocalized",
                "objectType"
              ],
              "allOf": [
                {
                  "if": {
                    "properties": {
                      "objectType": {
                        "const": "escooccupation"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "relationType": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "relationType"
                    ]
                  }
                },
                {
                  "if": {
                    "properties": {
                      "objectType": {
                        "const": "localoccupation"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "signallingValue": {
                        "type": "number"
                      },
                      "signallingValueLabel": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "signallingValue",
                      "signallingValueLabel"
                    ]
                  }
                }
              ]
            }
          },
          "UUIDHistory": {
            "description": "The UUIDs history of the skill.",
            "type": "array",
            "minItems": 0,
            "maxItems": 10000,
            "uniqueItems": true,
            "items": {
              "type": "string",
              "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
              "maxLength": 50
            }
          },
          "originUri": {
            "description": "The origin URI of the skill.",
            "type": "string",
            "format": "uri",
            "maxLength": 4096,
            "pattern": "\\S"
          },
          "preferredLabel": {
            "description": "The preferred label of the skill.",
            "type": "string",
            "maxLength": 256,
            "pattern": "\\S"
          },
          "altLabels": {
            "description": "Alternative labels for the skill.",
            "type": "array",
            "minItems": 0,
            "maxItems": 100,
            "uniqueItems": true,
            "items": {
              "type": "string",
              "maxLength": 256
            }
          },
          "definition": {
            "description": "The formal definition of the skill.",
            "type": "string",
            "maxLength": 4000
          },
          "description": {
            "description": "Additional descriptive information about the skill.",
            "type": "string",
            "maxLength": 6000
          },
          "scopeNote": {
            "description": "Scope clarification for the skill's application.",
            "type": "string",
            "maxLength": 4000
          },
          "skillType": {
            "description": "The type of the skill (e.g., skill/competence, knowledge, language, attitude).",
            "type": "string",
            "enum": [
              "skill/competence",
              "knowledge",
              "language",
              "attitude"
            ]
          },
          "reuseLevel": {
            "description": "The reuse level of the skill (e.g., sector-specific, transversal).",
            "type": "string",
            "enum": [
              "sector-specific",
              "occupation-specific",
              "cross-sector",
              "transversal"
            ]
          },
          "isLocalized": {
            "description": "Indicates if the skill has localized variants.",
            "type": "boolean"
          },
          "modelId": {
            "description": "The identifier of the model containing this skill.",
            "type": "string",
            "pattern": "^[0-9a-f]{24}$"
          },
          "createdAt": {
            "description": "Timestamp of record creation.",
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "description": "Timestamp of last record modification.",
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "id",
          "UUID",
          "originUUID",
          "UUIDHistory",
          "path",
          "tabiyaPath",
          "preferredLabel",
          "originUri",
          "altLabels",
          "definition",
          "description",
          "scopeNote",
          "skillType",
          "reuseLevel",
          "isLocalized",
          "modelId",
          "parents",
          "children",
          "requiresSkills",
          "requiredBySkills",
          "requiredByOccupations",
          "createdAt",
          "updatedAt"
        ]
      },
      "SkillRequestParamSchemaGET": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "modelId": {
            "description": "The identifier of the model for skill.",
            "type": "string",
            "pattern": "^[0-9a-f]{24}$"
          }
        },
        "required": [
          "modelId"
        ]
      },
      "SkillRequestQueryParamSchemaGET": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "limit": {
            "description": "The maximum number of items to return.",
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 10
          },
          "cursor": {
            "description": "A base64 string representing the cursor for pagination.",
            "type": "string",
            "maxLength": 1720,
            "pattern": "\\S"
          }
        }
      },
      "SkillResponseSchemaGET": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$id": "/components/schemas/SkillItem",
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "id": {
                  "description": "The unique identifier of the skill.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{24}$"
                },
                "UUID": {
                  "description": "The UUID of the skill for cross-system identification.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                },
                "originUUID": {
                  "description": "The original UUID of the skill, i.e., the first UUID in UUIDHistory",
                  "type": "string",
                  "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
                  "maxLength": 50
                },
                "path": {
                  "description": "Resource path using the skill's ID.",
                  "type": "string",
                  "format": "uri",
                  "pattern": "^https://.*",
                  "maxLength": 4096
                },
                "tabiyaPath": {
                  "description": "Resource path using the skill's UUID.",
                  "type": "string",
                  "format": "uri",
                  "pattern": "^https://.*",
                  "maxLength": 4096
                },
                "parents": {
                  "description": "The parent skills or skill groups of this skill.",
                  "type": "array",
                  "minItems": 0,
                  "items": {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                      "id": {
                        "description": "The id of the parent skill or skill group.",
                        "type": "string",
                        "pattern": "^[0-9a-f]{24}$"
                      },
                      "UUID": {
                        "description": "The UUID of the parent skill or skill group.",
                        "type": "string",
                        "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                      },
                      "preferredLabel": {
                        "description": "The preferred label of the parent skill or skill group.",
                        "type": "string",
                        "maxLength": 256,
                        "pattern": "\\S"
                      },
                      "objectType": {
                        "description": "The type of the parent, e.g., Skill or SkillGroup.",
                        "type": "string",
                        "enum": [
                          "skillgroup",
                          "skill"
                        ]
                      },
                      "code": {
                        "description": "The code of the parent skill group.",
                        "type": "string",
                        "maxLength": 256
                      }
                    },
                    "if": {
                      "properties": {
                        "objectType": {
                          "enum": [
                            "skillgroup"
                          ]
                        }
                      }
                    },
                    "then": {
                      "properties": {
                        "code": {
                          "type": "string",
                          "maxLength": 256,
                          "pattern": "^([a-zA-Z]\\d+(\\.\\d+)*|[a-zA-Z])$"
                        }
                      },
                      "required": [
                        "code"
                      ]
                    },
                    "required": [
                      "id",
                      "UUID",
                      "preferredLabel",
                      "objectType"
                    ]
                  }
                },
                "children": {
                  "description": "The children of this skill.",
                  "type": "array",
                  "minItems": 0,
                  "items": {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                      "id": {
                        "description": "The id of the child skill.",
                        "type": "string",
                        "pattern": "^[0-9a-f]{24}$"
                      },
                      "UUID": {
                        "description": "The UUID of the child skill.",
                        "type": "string",
                        "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                      },
                      "preferredLabel": {
                        "description": "The preferred label of the child skill.",
                        "type": "string",
                        "maxLength": 256,
                        "pattern": "\\S"
                      },
                      "objectType": {
                        "description": "The type of the child, e.g., Skill.",
                        "type": "string",
                        "enum": [
                          "skill",
                          "skillgroup"
                        ]
                      },
                      "isLocalized": {
                        "description": "Indicates if the child skill is localized.",
                        "type": "boolean"
                      }
                    },
                    "allOf": [
                      {
                        "if": {
                          "properties": {
                            "objectType": {
                              "const": "skill"
                            }
                          }
                        },
                        "then": {
                          "properties": {
                            "isLocalized": {
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "isLocalized"
                          ]
                        }
                      }
                    ],
                    "required": [
                      "id",
                      "UUID",
                      "preferredLabel",
                      "objectType"
                    ]
                  }
                },
                "requiresSkills": {
                  "description": "Skills required by this skill with relationship metadata.",
                  "type": "array",
                  "minItems": 0,
                  "items": {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                      "id": {
                        "description": "The ID of the required skill.",
                        "type": "string",
                        "pattern": "^[0-9a-f]{24}$"
                      },
                      "UUID": {
                        "description": "The UUID of the required skill.",
                        "type": "string",
                        "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                      },
                      "preferredLabel": {
                        "description": "The preferred label of the required skill.",
                        "type": "string",
                        "maxLength": 256,
                        "pattern": "\\S"
                      },
                      "isLocalized": {
                        "description": "Indicates if the required skill is localized.",
                        "type": "boolean"
                      },
                      "objectType": {
                        "description": "The object type of the required skill.",
                        "type": "string",
                        "enum": [
                          "skill"
                        ]
                      },
                      "relationType": {
                        "description": "The type of relationship between skills.",
                        "type": "string",
                        "enum": [
                          "essential",
                          "optional"
                        ]
                      }
                    },
                    "required": [
                      "id",
                      "UUID",
                      "preferredLabel",
                      "isLocalized",
                      "objectType",
                      "relationType"
                    ]
                  }
                },
                "requiredBySkills": {
                  "description": "Skills that require this skill with relationship metadata.",
                  "type": "array",
                  "minItems": 0,
                  "items": {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                      "id": {
                        "description": "The ID of the requiring skill.",
                        "type": "string",
                        "pattern": "^[0-9a-f]{24}$"
                      },
                      "UUID": {
                        "description": "The UUID of the requiring skill.",
                        "type": "string",
                        "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                      },
                      "preferredLabel": {
                        "description": "The preferred label of the requiring skill.",
                        "type": "string",
                        "maxLength": 256,
                        "pattern": "\\S"
                      },
                      "isLocalized": {
                        "description": "Indicates if the requiring skill is localized.",
                        "type": "boolean"
                      },
                      "objectType": {
                        "description": "The object type of the requiring skill.",
                        "type": "string",
                        "enum": [
                          "skill"
                        ]
                      },
                      "relationType": {
                        "description": "The type of relationship between skills.",
                        "type": "string",
                        "enum": [
                          "essential",
                          "optional"
                        ]
                      }
                    },
                    "required": [
                      "id",
                      "UUID",
                      "preferredLabel",
                      "isLocalized",
                      "objectType",
                      "relationType"
                    ]
                  }
                },
                "requiredByOccupations": {
                  "description": "Occupations that require this skill with relationship metadata.",
                  "type": "array",
                  "minItems": 0,
                  "items": {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                      "id": {
                        "description": "The ID of the requiring occupation.",
                        "type": "string",
                        "pattern": "^[0-9a-f]{24}$"
                      },
                      "UUID": {
                        "description": "The UUID of the requiring occupation.",
                        "type": "string",
                        "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                      },
                      "preferredLabel": {
                        "description": "The preferred label of the requiring occupation.",
                        "type": "string",
                        "maxLength": 256,
                        "pattern": "\\S"
                      },
                      "isLocalized": {
                        "description": "Indicates if the requiring occupation is localized.",
                        "type": "boolean"
                      },
                      "objectType": {
                        "description": "The object type of the requiring occupation.",
                        "type": "string",
                        "enum": [
                          "escooccupation",
                          "localoccupation"
                        ]
                      },
                      "relationType": {
                        "description": "Used for ESCOOccupations only.",
                        "type": [
                          "string",
                          "null"
                        ],
                        "enum": [
                          "",
                          "essential",
                          "optional",
                          null
                        ]
                      },
                      "signallingValue": {
                        "description": "Used for LocalOccupations only.",
                        "type": [
                          "number",
                          "null"
                        ],
                        "minimum": 0,
                        "maximum": 100
                      },
                      "signallingValueLabel": {
                        "description": "Used for LocalOccupations only.",
                        "type": [
                          "string",
                          "null"
                        ],
                        "maxLength": 256,
                        "enum": [
                          "",
                          "low",
                          "medium",
                          "high",
                          null
                        ]
                      }
                    },
                    "required": [
                      "id",
                      "UUID",
                      "preferredLabel",
                      "isLocalized",
                      "objectType"
                    ],
                    "allOf": [
                      {
                        "if": {
                          "properties": {
                            "objectType": {
                              "const": "escooccupation"
                            }
                          }
                        },
                        "then": {
                          "properties": {
                            "relationType": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "relationType"
                          ]
                        }
                      },
                      {
                        "if": {
                          "properties": {
                            "objectType": {
                              "const": "localoccupation"
                            }
                          }
                        },
                        "then": {
                          "properties": {
                            "signallingValue": {
                              "type": "number"
                            },
                            "signallingValueLabel": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "signallingValue",
                            "signallingValueLabel"
                          ]
                        }
                      }
                    ]
                  }
                },
                "UUIDHistory": {
                  "description": "The UUIDs history of the skill.",
                  "type": "array",
                  "minItems": 0,
                  "maxItems": 10000,
                  "uniqueItems": true,
                  "items": {
                    "type": "string",
                    "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
                    "maxLength": 50
                  }
                },
                "originUri": {
                  "description": "The origin URI of the skill.",
                  "type": "string",
                  "format": "uri",
                  "maxLength": 4096,
                  "pattern": "\\S"
                },
                "preferredLabel": {
                  "description": "The preferred label of the skill.",
                  "type": "string",
                  "maxLength": 256,
                  "pattern": "\\S"
                },
                "altLabels": {
                  "description": "Alternative labels for the skill.",
                  "type": "array",
                  "minItems": 0,
                  "maxItems": 100,
                  "uniqueItems": true,
                  "items": {
                    "type": "string",
                    "maxLength": 256
                  }
                },
                "definition": {
                  "description": "The formal definition of the skill.",
                  "type": "string",
                  "maxLength": 4000
                },
                "description": {
                  "description": "Additional descriptive information about the skill.",
                  "type": "string",
                  "maxLength": 6000
                },
                "scopeNote": {
                  "description": "Scope clarification for the skill's application.",
                  "type": "string",
                  "maxLength": 4000
                },
                "skillType": {
                  "description": "The type of the skill (e.g., skill/competence, knowledge, language, attitude).",
                  "type": "string",
                  "enum": [
                    "skill/competence",
                    "knowledge",
                    "language",
                    "attitude"
                  ]
                },
                "reuseLevel": {
                  "description": "The reuse level of the skill (e.g., sector-specific, transversal).",
                  "type": "string",
                  "enum": [
                    "sector-specific",
                    "occupation-specific",
                    "cross-sector",
                    "transversal"
                  ]
                },
                "isLocalized": {
                  "description": "Indicates if the skill has localized variants.",
                  "type": "boolean"
                },
                "modelId": {
                  "description": "The identifier of the model containing this skill.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{24}$"
                },
                "createdAt": {
                  "description": "Timestamp of record creation.",
                  "type": "string",
                  "format": "date-time"
                },
                "updatedAt": {
                  "description": "Timestamp of last record modification.",
                  "type": "string",
                  "format": "date-time"
                }
              },
              "required": [
                "id",
                "UUID",
                "originUUID",
                "UUIDHistory",
                "path",
                "tabiyaPath",
                "preferredLabel",
                "originUri",
                "altLabels",
                "definition",
                "description",
                "scopeNote",
                "skillType",
                "reuseLevel",
                "isLocalized",
                "modelId",
                "parents",
                "children",
                "requiresSkills",
                "requiredBySkills",
                "requiredByOccupations",
                "createdAt",
                "updatedAt"
              ]
            },
            "description": "Array of skill items for the current page"
          },
          "limit": {
            "type": "integer",
            "description": "Number of items returned in this page.",
            "minimum": 1,
            "maximum": 100,
            "default": 10
          },
          "nextCursor": {
            "type": [
              "string",
              "null"
            ],
            "description": "Cursor to fetch the next page of results. Opaque token encoding the last item's sort key(s). Returns null if this is the last page.",
            "maxLength": 1720,
            "pattern": "\\S"
          }
        },
        "required": [
          "data",
          "limit"
        ]
      },
      "SkillRequestByIdParamSchemaGET": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "modelId": {
            "description": "The identifier of the model for skill.",
            "type": "string",
            "pattern": "^[0-9a-f]{24}$"
          },
          "id": {
            "description": "The id of the skill. It can be used to retrieve the skill from the server.",
            "type": "string",
            "pattern": "^[0-9a-f]{24}$"
          }
        },
        "required": [
          "modelId",
          "id"
        ]
      },
      "SkillParentsResponseSchemaGET": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "data": {
            "type": "array",
            "minItems": 0,
            "items": {
              "anyOf": [
                {
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "id": {
                      "description": "The unique identifier of the skill.",
                      "type": "string",
                      "pattern": "^[0-9a-f]{24}$"
                    },
                    "UUID": {
                      "description": "The UUID of the skill for cross-system identification.",
                      "type": "string",
                      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                    },
                    "originUUID": {
                      "description": "The original UUID of the skill, i.e., the first UUID in UUIDHistory",
                      "type": "string",
                      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
                      "maxLength": 50
                    },
                    "path": {
                      "description": "Resource path using the skill's ID.",
                      "type": "string",
                      "format": "uri",
                      "pattern": "^https://.*",
                      "maxLength": 4096
                    },
                    "tabiyaPath": {
                      "description": "Resource path using the skill's UUID.",
                      "type": "string",
                      "format": "uri",
                      "pattern": "^https://.*",
                      "maxLength": 4096
                    },
                    "parents": {
                      "description": "The parent skills or skill groups of this skill.",
                      "type": "array",
                      "minItems": 0,
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {
                          "id": {
                            "description": "The id of the parent skill or skill group.",
                            "type": "string",
                            "pattern": "^[0-9a-f]{24}$"
                          },
                          "UUID": {
                            "description": "The UUID of the parent skill or skill group.",
                            "type": "string",
                            "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                          },
                          "preferredLabel": {
                            "description": "The preferred label of the parent skill or skill group.",
                            "type": "string",
                            "maxLength": 256,
                            "pattern": "\\S"
                          },
                          "objectType": {
                            "description": "The type of the parent, e.g., Skill or SkillGroup.",
                            "type": "string",
                            "enum": [
                              "skillgroup",
                              "skill"
                            ]
                          },
                          "code": {
                            "description": "The code of the parent skill group.",
                            "type": "string",
                            "maxLength": 256
                          }
                        },
                        "if": {
                          "properties": {
                            "objectType": {
                              "enum": [
                                "skillgroup"
                              ]
                            }
                          }
                        },
                        "then": {
                          "properties": {
                            "code": {
                              "type": "string",
                              "maxLength": 256,
                              "pattern": "^([a-zA-Z]\\d+(\\.\\d+)*|[a-zA-Z])$"
                            }
                          },
                          "required": [
                            "code"
                          ]
                        },
                        "required": [
                          "id",
                          "UUID",
                          "preferredLabel",
                          "objectType"
                        ]
                      }
                    },
                    "children": {
                      "description": "The children of this skill.",
                      "type": "array",
                      "minItems": 0,
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {
                          "id": {
                            "description": "The id of the child skill.",
                            "type": "string",
                            "pattern": "^[0-9a-f]{24}$"
                          },
                          "UUID": {
                            "description": "The UUID of the child skill.",
                            "type": "string",
                            "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                          },
                          "preferredLabel": {
                            "description": "The preferred label of the child skill.",
                            "type": "string",
                            "maxLength": 256,
                            "pattern": "\\S"
                          },
                          "objectType": {
                            "description": "The type of the child, e.g., Skill.",
                            "type": "string",
                            "enum": [
                              "skill",
                              "skillgroup"
                            ]
                          },
                          "isLocalized": {
                            "description": "Indicates if the child skill is localized.",
                            "type": "boolean"
                          }
                        },
                        "allOf": [
                          {
                            "if": {
                              "properties": {
                                "objectType": {
                                  "const": "skill"
                                }
                              }
                            },
                            "then": {
                              "properties": {
                                "isLocalized": {
                                  "type": "boolean"
                                }
                              },
                              "required": [
                                "isLocalized"
                              ]
                            }
                          }
                        ],
                        "required": [
                          "id",
                          "UUID",
                          "preferredLabel",
                          "objectType"
                        ]
                      }
                    },
                    "requiresSkills": {
                      "description": "Skills required by this skill with relationship metadata.",
                      "type": "array",
                      "minItems": 0,
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {
                          "id": {
                            "description": "The ID of the required skill.",
                            "type": "string",
                            "pattern": "^[0-9a-f]{24}$"
                          },
                          "UUID": {
                            "description": "The UUID of the required skill.",
                            "type": "string",
                            "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                          },
                          "preferredLabel": {
                            "description": "The preferred label of the required skill.",
                            "type": "string",
                            "maxLength": 256,
                            "pattern": "\\S"
                          },
                          "isLocalized": {
                            "description": "Indicates if the required skill is localized.",
                            "type": "boolean"
                          },
                          "objectType": {
                            "description": "The object type of the required skill.",
                            "type": "string",
                            "enum": [
                              "skill"
                            ]
                          },
                          "relationType": {
                            "description": "The type of relationship between skills.",
                            "type": "string",
                            "enum": [
                              "essential",
                              "optional"
                            ]
                          }
                        },
                        "required": [
                          "id",
                          "UUID",
                          "preferredLabel",
                          "isLocalized",
                          "objectType",
                          "relationType"
                        ]
                      }
                    },
                    "requiredBySkills": {
                      "description": "Skills that require this skill with relationship metadata.",
                      "type": "array",
                      "minItems": 0,
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {
                          "id": {
                            "description": "The ID of the requiring skill.",
                            "type": "string",
                            "pattern": "^[0-9a-f]{24}$"
                          },
                          "UUID": {
                            "description": "The UUID of the requiring skill.",
                            "type": "string",
                            "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                          },
                          "preferredLabel": {
                            "description": "The preferred label of the requiring skill.",
                            "type": "string",
                            "maxLength": 256,
                            "pattern": "\\S"
                          },
                          "isLocalized": {
                            "description": "Indicates if the requiring skill is localized.",
                            "type": "boolean"
                          },
                          "objectType": {
                            "description": "The object type of the requiring skill.",
                            "type": "string",
                            "enum": [
                              "skill"
                            ]
                          },
                          "relationType": {
                            "description": "The type of relationship between skills.",
                            "type": "string",
                            "enum": [
                              "essential",
                              "optional"
                            ]
                          }
                        },
                        "required": [
                          "id",
                          "UUID",
                          "preferredLabel",
                          "isLocalized",
                          "objectType",
                          "relationType"
                        ]
                      }
                    },
                    "requiredByOccupations": {
                      "description": "Occupations that require this skill with relationship metadata.",
                      "type": "array",
                      "minItems": 0,
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {
                          "id": {
                            "description": "The ID of the requiring occupation.",
                            "type": "string",
                            "pattern": "^[0-9a-f]{24}$"
                          },
                          "UUID": {
                            "description": "The UUID of the requiring occupation.",
                            "type": "string",
                            "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                          },
                          "preferredLabel": {
                            "description": "The preferred label of the requiring occupation.",
                            "type": "string",
                            "maxLength": 256,
                            "pattern": "\\S"
                          },
                          "isLocalized": {
                            "description": "Indicates if the requiring occupation is localized.",
                            "type": "boolean"
                          },
                          "objectType": {
                            "description": "The object type of the requiring occupation.",
                            "type": "string",
                            "enum": [
                              "escooccupation",
                              "localoccupation"
                            ]
                          },
                          "relationType": {
                            "description": "Used for ESCOOccupations only.",
                            "type": [
                              "string",
                              "null"
                            ],
                            "enum": [
                              "",
                              "essential",
                              "optional",
                              null
                            ]
                          },
                          "signallingValue": {
                            "description": "Used for LocalOccupations only.",
                            "type": [
                              "number",
                              "null"
                            ],
                            "minimum": 0,
                            "maximum": 100
                          },
                          "signallingValueLabel": {
                            "description": "Used for LocalOccupations only.",
                            "type": [
                              "string",
                              "null"
                            ],
                            "maxLength": 256,
                            "enum": [
                              "",
                              "low",
                              "medium",
                              "high",
                              null
                            ]
                          }
                        },
                        "required": [
                          "id",
                          "UUID",
                          "preferredLabel",
                          "isLocalized",
                          "objectType"
                        ],
                        "allOf": [
                          {
                            "if": {
                              "properties": {
                                "objectType": {
                                  "const": "escooccupation"
                                }
                              }
                            },
                            "then": {
                              "properties": {
                                "relationType": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "relationType"
                              ]
                            }
                          },
                          {
                            "if": {
                              "properties": {
                                "objectType": {
                                  "const": "localoccupation"
                                }
                              }
                            },
                            "then": {
                              "properties": {
                                "signallingValue": {
                                  "type": "number"
                                },
                                "signallingValueLabel": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "signallingValue",
                                "signallingValueLabel"
                              ]
                            }
                          }
                        ]
                      }
                    },
                    "UUIDHistory": {
                      "description": "The UUIDs history of the skill.",
                      "type": "array",
                      "minItems": 0,
                      "maxItems": 10000,
                      "uniqueItems": true,
                      "items": {
                        "type": "string",
                        "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
                        "maxLength": 50
                      }
                    },
                    "originUri": {
                      "description": "The origin URI of the skill.",
                      "type": "string",
                      "format": "uri",
                      "maxLength": 4096,
                      "pattern": "\\S"
                    },
                    "preferredLabel": {
                      "description": "The preferred label of the skill.",
                      "type": "string",
                      "maxLength": 256,
                      "pattern": "\\S"
                    },
                    "altLabels": {
                      "description": "Alternative labels for the skill.",
                      "type": "array",
                      "minItems": 0,
                      "maxItems": 100,
                      "uniqueItems": true,
                      "items": {
                        "type": "string",
                        "maxLength": 256
                      }
                    },
                    "definition": {
                      "description": "The formal definition of the skill.",
                      "type": "string",
                      "maxLength": 4000
                    },
                    "description": {
                      "description": "Additional descriptive information about the skill.",
                      "type": "string",
                      "maxLength": 6000
                    },
                    "scopeNote": {
                      "description": "Scope clarification for the skill's application.",
                      "type": "string",
                      "maxLength": 4000
                    },
                    "skillType": {
                      "description": "The type of the skill (e.g., skill/competence, knowledge, language, attitude).",
                      "type": "string",
                      "enum": [
                        "skill/competence",
                        "knowledge",
                        "language",
                        "attitude"
                      ]
                    },
                    "reuseLevel": {
                      "description": "The reuse level of the skill (e.g., sector-specific, transversal).",
                      "type": "string",
                      "enum": [
                        "sector-specific",
                        "occupation-specific",
                        "cross-sector",
                        "transversal"
                      ]
                    },
                    "isLocalized": {
                      "description": "Indicates if the skill has localized variants.",
                      "type": "boolean"
                    },
                    "modelId": {
                      "description": "The identifier of the model containing this skill.",
                      "type": "string",
                      "pattern": "^[0-9a-f]{24}$"
                    },
                    "createdAt": {
                      "description": "Timestamp of record creation.",
                      "type": "string",
                      "format": "date-time"
                    },
                    "updatedAt": {
                      "description": "Timestamp of last record modification.",
                      "type": "string",
                      "format": "date-time"
                    }
                  },
                  "required": [
                    "id",
                    "UUID",
                    "originUUID",
                    "UUIDHistory",
                    "path",
                    "tabiyaPath",
                    "preferredLabel",
                    "originUri",
                    "altLabels",
                    "definition",
                    "description",
                    "scopeNote",
                    "skillType",
                    "reuseLevel",
                    "isLocalized",
                    "modelId",
                    "parents",
                    "children",
                    "requiresSkills",
                    "requiredBySkills",
                    "requiredByOccupations",
                    "createdAt",
                    "updatedAt"
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "id": {
                      "description": "The id of the skill group. It can be used to retrieve the skill group from the server.",
                      "type": "string",
                      "pattern": "^[0-9a-f]{24}$"
                    },
                    "UUID": {
                      "description": "The UUID of the skill group. It can be used to identify the skill group across systems.",
                      "type": "string",
                      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                    },
                    "originUUID": {
                      "description": "The last UUID in the UUIDHistory of skill group. It can be used to identify the skill group across systems.",
                      "type": "string",
                      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                    },
                    "path": {
                      "description": "The path to the skill group resource using the resource id",
                      "type": "string",
                      "format": "uri",
                      "pattern": "^https://.*",
                      "maxLength": 4096
                    },
                    "tabiyaPath": {
                      "description": "The path to the skill group resource using the resource UUID",
                      "type": "string",
                      "format": "uri",
                      "pattern": "^https://.*",
                      "maxLength": 4096
                    },
                    "parents": {
                      "description": "The parent skill group of this skill group.",
                      "type": "array",
                      "minItems": 0,
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {
                          "id": {
                            "description": "The id of the parent skill group.",
                            "type": "string",
                            "pattern": "^[0-9a-f]{24}$"
                          },
                          "UUID": {
                            "description": "The UUID of the parent skill group. It can be used to identify the parent skill group.",
                            "type": "string",
                            "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                          },
                          "code": {
                            "description": "The code of the parent skill group.",
                            "type": "string",
                            "maxLength": 256,
                            "pattern": "^([a-zA-Z]\\d+(\\.\\d+)*|[a-zA-Z])$"
                          },
                          "preferredLabel": {
                            "description": "The preferred label of the parent skill group.",
                            "type": "string",
                            "maxLength": 256,
                            "pattern": "\\S"
                          },
                          "objectType": {
                            "description": "The type of the skill group, e.g., SkillGroup.",
                            "type": "string",
                            "enum": [
                              "skillgroup"
                            ]
                          }
                        },
                        "required": [
                          "id",
                          "UUID",
                          "code",
                          "preferredLabel",
                          "objectType"
                        ]
                      }
                    },
                    "children": {
                      "description": "The children of this skill group. which can be either skill groups or skills.",
                      "type": "array",
                      "minItems": 0,
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {
                          "id": {
                            "description": "The id of the child skill group or skill.",
                            "type": "string",
                            "pattern": "^[0-9a-f]{24}$"
                          },
                          "UUID": {
                            "description": "The UUID of the child skill group or skill. It can be used to identify the child skill group or skill.",
                            "type": "string",
                            "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                          },
                          "preferredLabel": {
                            "description": "The preferred label of the child skill group.",
                            "type": "string",
                            "maxLength": 256,
                            "pattern": "\\S"
                          },
                          "objectType": {
                            "description": "The type of the skill group, e.g., SkillGroup, Skill.",
                            "type": "string",
                            "enum": [
                              "skill",
                              "skillgroup"
                            ]
                          },
                          "code": {
                            "description": "Code of the skill group child",
                            "type": "string",
                            "maxLength": 256,
                            "pattern": "^([a-zA-Z]\\d+(\\.\\d+)*|[a-zA-Z])$"
                          },
                          "isLocalized": {
                            "description": "Indicates if the skill child is localized",
                            "type": "boolean"
                          }
                        },
                        "allOf": [
                          {
                            "if": {
                              "properties": {
                                "objectType": {
                                  "const": "skillgroup"
                                }
                              }
                            },
                            "then": {
                              "properties": {
                                "code": {
                                  "type": "string",
                                  "maxLength": 256,
                                  "pattern": "^([a-zA-Z]\\d+(\\.\\d+)*|[a-zA-Z])$"
                                }
                              },
                              "required": [
                                "code"
                              ],
                              "not": {
                                "properties": {
                                  "isLocalized": {}
                                },
                                "required": [
                                  "isLocalized"
                                ]
                              }
                            }
                          },
                          {
                            "if": {
                              "properties": {
                                "objectType": {
                                  "const": "skill"
                                }
                              }
                            },
                            "then": {
                              "properties": {
                                "isLocalized": {
                                  "type": "boolean"
                                }
                              },
                              "required": [
                                "isLocalized"
                              ],
                              "not": {
                                "properties": {},
                                "required": [
                                  "code"
                                ]
                              }
                            }
                          }
                        ],
                        "required": [
                          "id",
                          "UUID",
                          "preferredLabel",
                          "objectType"
                        ]
                      }
                    },
                    "UUIDHistory": {
                      "description": "The UUIDs history of the skill group.",
                      "type": "array",
                      "minItems": 0,
                      "maxItems": 10000,
                      "uniqueItems": true,
                      "items": {
                        "type": "string",
                        "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
                        "maxLength": 36
                      }
                    },
                    "originUri": {
                      "description": "The origin URI of the skill group.",
                      "type": "string",
                      "maxLength": 4096,
                      "format": "uri",
                      "pattern": "\\S"
                    },
                    "code": {
                      "description": "The code of the skill group.",
                      "type": "string",
                      "maxLength": 256,
                      "pattern": "^([a-zA-Z]\\d+(\\.\\d+)*|[a-zA-Z])$"
                    },
                    "description": {
                      "description": "The description of the skill group.",
                      "type": "string",
                      "maxLength": 6000
                    },
                    "scopeNote": {
                      "description": "The scope note of the skill group.",
                      "type": "string",
                      "maxLength": 4000
                    },
                    "preferredLabel": {
                      "description": "The preferred label of the skill group.",
                      "type": "string",
                      "maxLength": 256,
                      "pattern": "\\S"
                    },
                    "altLabels": {
                      "description": "The alternative labels of the skill group.",
                      "type": "array",
                      "minItems": 0,
                      "maxItems": 100,
                      "uniqueItems": true,
                      "items": {
                        "type": "string",
                        "maxLength": 256
                      }
                    },
                    "modelId": {
                      "description": "The identifier of the model for skill group.",
                      "type": "string",
                      "pattern": "^[0-9a-f]{24}$"
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "updatedAt": {
                      "type": "string",
                      "format": "date-time"
                    }
                  },
                  "required": [
                    "id",
                    "UUID",
                    "originUUID",
                    "path",
                    "tabiyaPath",
                    "originUri",
                    "code",
                    "description",
                    "preferredLabel",
                    "parents",
                    "children",
                    "altLabels",
                    "modelId",
                    "scopeNote",
                    "createdAt",
                    "updatedAt",
                    "UUIDHistory"
                  ]
                }
              ]
            },
            "description": "Array of parent skills for the current page."
          },
          "limit": {
            "description": "The maximum number of items to return.",
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 10
          },
          "nextCursor": {
            "description": "Cursor to fetch the next page of results. Opaque token encoding the last item's sort key(s). Returns null if this is the last page.",
            "type": [
              "string",
              "null"
            ],
            "maxLength": 1720,
            "pattern": "\\S"
          }
        },
        "required": [
          "data",
          "limit"
        ]
      },
      "SkillParentsRequestSchemaPOST": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "parentId": {
            "type": "string",
            "pattern": "^[0-9a-f]{24}$"
          },
          "parentType": {
            "type": "string",
            "enum": [
              "skillgroup",
              "skill"
            ]
          }
        },
        "required": [
          "parentId",
          "parentType"
        ]
      },
      "SkillParentsResponseSchemaPOST": {
        "anyOf": [
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "id": {
                "description": "The unique identifier of the skill.",
                "type": "string",
                "pattern": "^[0-9a-f]{24}$"
              },
              "UUID": {
                "description": "The UUID of the skill for cross-system identification.",
                "type": "string",
                "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
              },
              "originUUID": {
                "description": "The original UUID of the skill, i.e., the first UUID in UUIDHistory",
                "type": "string",
                "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
                "maxLength": 50
              },
              "path": {
                "description": "Resource path using the skill's ID.",
                "type": "string",
                "format": "uri",
                "pattern": "^https://.*",
                "maxLength": 4096
              },
              "tabiyaPath": {
                "description": "Resource path using the skill's UUID.",
                "type": "string",
                "format": "uri",
                "pattern": "^https://.*",
                "maxLength": 4096
              },
              "parents": {
                "description": "The parent skills or skill groups of this skill.",
                "type": "array",
                "minItems": 0,
                "items": {
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "id": {
                      "description": "The id of the parent skill or skill group.",
                      "type": "string",
                      "pattern": "^[0-9a-f]{24}$"
                    },
                    "UUID": {
                      "description": "The UUID of the parent skill or skill group.",
                      "type": "string",
                      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                    },
                    "preferredLabel": {
                      "description": "The preferred label of the parent skill or skill group.",
                      "type": "string",
                      "maxLength": 256,
                      "pattern": "\\S"
                    },
                    "objectType": {
                      "description": "The type of the parent, e.g., Skill or SkillGroup.",
                      "type": "string",
                      "enum": [
                        "skillgroup",
                        "skill"
                      ]
                    },
                    "code": {
                      "description": "The code of the parent skill group.",
                      "type": "string",
                      "maxLength": 256
                    }
                  },
                  "if": {
                    "properties": {
                      "objectType": {
                        "enum": [
                          "skillgroup"
                        ]
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "code": {
                        "type": "string",
                        "maxLength": 256,
                        "pattern": "^([a-zA-Z]\\d+(\\.\\d+)*|[a-zA-Z])$"
                      }
                    },
                    "required": [
                      "code"
                    ]
                  },
                  "required": [
                    "id",
                    "UUID",
                    "preferredLabel",
                    "objectType"
                  ]
                }
              },
              "children": {
                "description": "The children of this skill.",
                "type": "array",
                "minItems": 0,
                "items": {
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "id": {
                      "description": "The id of the child skill.",
                      "type": "string",
                      "pattern": "^[0-9a-f]{24}$"
                    },
                    "UUID": {
                      "description": "The UUID of the child skill.",
                      "type": "string",
                      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                    },
                    "preferredLabel": {
                      "description": "The preferred label of the child skill.",
                      "type": "string",
                      "maxLength": 256,
                      "pattern": "\\S"
                    },
                    "objectType": {
                      "description": "The type of the child, e.g., Skill.",
                      "type": "string",
                      "enum": [
                        "skill",
                        "skillgroup"
                      ]
                    },
                    "isLocalized": {
                      "description": "Indicates if the child skill is localized.",
                      "type": "boolean"
                    }
                  },
                  "allOf": [
                    {
                      "if": {
                        "properties": {
                          "objectType": {
                            "const": "skill"
                          }
                        }
                      },
                      "then": {
                        "properties": {
                          "isLocalized": {
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "isLocalized"
                        ]
                      }
                    }
                  ],
                  "required": [
                    "id",
                    "UUID",
                    "preferredLabel",
                    "objectType"
                  ]
                }
              },
              "requiresSkills": {
                "description": "Skills required by this skill with relationship metadata.",
                "type": "array",
                "minItems": 0,
                "items": {
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "id": {
                      "description": "The ID of the required skill.",
                      "type": "string",
                      "pattern": "^[0-9a-f]{24}$"
                    },
                    "UUID": {
                      "description": "The UUID of the required skill.",
                      "type": "string",
                      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                    },
                    "preferredLabel": {
                      "description": "The preferred label of the required skill.",
                      "type": "string",
                      "maxLength": 256,
                      "pattern": "\\S"
                    },
                    "isLocalized": {
                      "description": "Indicates if the required skill is localized.",
                      "type": "boolean"
                    },
                    "objectType": {
                      "description": "The object type of the required skill.",
                      "type": "string",
                      "enum": [
                        "skill"
                      ]
                    },
                    "relationType": {
                      "description": "The type of relationship between skills.",
                      "type": "string",
                      "enum": [
                        "essential",
                        "optional"
                      ]
                    }
                  },
                  "required": [
                    "id",
                    "UUID",
                    "preferredLabel",
                    "isLocalized",
                    "objectType",
                    "relationType"
                  ]
                }
              },
              "requiredBySkills": {
                "description": "Skills that require this skill with relationship metadata.",
                "type": "array",
                "minItems": 0,
                "items": {
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "id": {
                      "description": "The ID of the requiring skill.",
                      "type": "string",
                      "pattern": "^[0-9a-f]{24}$"
                    },
                    "UUID": {
                      "description": "The UUID of the requiring skill.",
                      "type": "string",
                      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                    },
                    "preferredLabel": {
                      "description": "The preferred label of the requiring skill.",
                      "type": "string",
                      "maxLength": 256,
                      "pattern": "\\S"
                    },
                    "isLocalized": {
                      "description": "Indicates if the requiring skill is localized.",
                      "type": "boolean"
                    },
                    "objectType": {
                      "description": "The object type of the requiring skill.",
                      "type": "string",
                      "enum": [
                        "skill"
                      ]
                    },
                    "relationType": {
                      "description": "The type of relationship between skills.",
                      "type": "string",
                      "enum": [
                        "essential",
                        "optional"
                      ]
                    }
                  },
                  "required": [
                    "id",
                    "UUID",
                    "preferredLabel",
                    "isLocalized",
                    "objectType",
                    "relationType"
                  ]
                }
              },
              "requiredByOccupations": {
                "description": "Occupations that require this skill with relationship metadata.",
                "type": "array",
                "minItems": 0,
                "items": {
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "id": {
                      "description": "The ID of the requiring occupation.",
                      "type": "string",
                      "pattern": "^[0-9a-f]{24}$"
                    },
                    "UUID": {
                      "description": "The UUID of the requiring occupation.",
                      "type": "string",
                      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                    },
                    "preferredLabel": {
                      "description": "The preferred label of the requiring occupation.",
                      "type": "string",
                      "maxLength": 256,
                      "pattern": "\\S"
                    },
                    "isLocalized": {
                      "description": "Indicates if the requiring occupation is localized.",
                      "type": "boolean"
                    },
                    "objectType": {
                      "description": "The object type of the requiring occupation.",
                      "type": "string",
                      "enum": [
                        "escooccupation",
                        "localoccupation"
                      ]
                    },
                    "relationType": {
                      "description": "Used for ESCOOccupations only.",
                      "type": [
                        "string",
                        "null"
                      ],
                      "enum": [
                        "",
                        "essential",
                        "optional",
                        null
                      ]
                    },
                    "signallingValue": {
                      "description": "Used for LocalOccupations only.",
                      "type": [
                        "number",
                        "null"
                      ],
                      "minimum": 0,
                      "maximum": 100
                    },
                    "signallingValueLabel": {
                      "description": "Used for LocalOccupations only.",
                      "type": [
                        "string",
                        "null"
                      ],
                      "maxLength": 256,
                      "enum": [
                        "",
                        "low",
                        "medium",
                        "high",
                        null
                      ]
                    }
                  },
                  "required": [
                    "id",
                    "UUID",
                    "preferredLabel",
                    "isLocalized",
                    "objectType"
                  ],
                  "allOf": [
                    {
                      "if": {
                        "properties": {
                          "objectType": {
                            "const": "escooccupation"
                          }
                        }
                      },
                      "then": {
                        "properties": {
                          "relationType": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "relationType"
                        ]
                      }
                    },
                    {
                      "if": {
                        "properties": {
                          "objectType": {
                            "const": "localoccupation"
                          }
                        }
                      },
                      "then": {
                        "properties": {
                          "signallingValue": {
                            "type": "number"
                          },
                          "signallingValueLabel": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "signallingValue",
                          "signallingValueLabel"
                        ]
                      }
                    }
                  ]
                }
              },
              "UUIDHistory": {
                "description": "The UUIDs history of the skill.",
                "type": "array",
                "minItems": 0,
                "maxItems": 10000,
                "uniqueItems": true,
                "items": {
                  "type": "string",
                  "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
                  "maxLength": 50
                }
              },
              "originUri": {
                "description": "The origin URI of the skill.",
                "type": "string",
                "format": "uri",
                "maxLength": 4096,
                "pattern": "\\S"
              },
              "preferredLabel": {
                "description": "The preferred label of the skill.",
                "type": "string",
                "maxLength": 256,
                "pattern": "\\S"
              },
              "altLabels": {
                "description": "Alternative labels for the skill.",
                "type": "array",
                "minItems": 0,
                "maxItems": 100,
                "uniqueItems": true,
                "items": {
                  "type": "string",
                  "maxLength": 256
                }
              },
              "definition": {
                "description": "The formal definition of the skill.",
                "type": "string",
                "maxLength": 4000
              },
              "description": {
                "description": "Additional descriptive information about the skill.",
                "type": "string",
                "maxLength": 6000
              },
              "scopeNote": {
                "description": "Scope clarification for the skill's application.",
                "type": "string",
                "maxLength": 4000
              },
              "skillType": {
                "description": "The type of the skill (e.g., skill/competence, knowledge, language, attitude).",
                "type": "string",
                "enum": [
                  "skill/competence",
                  "knowledge",
                  "language",
                  "attitude"
                ]
              },
              "reuseLevel": {
                "description": "The reuse level of the skill (e.g., sector-specific, transversal).",
                "type": "string",
                "enum": [
                  "sector-specific",
                  "occupation-specific",
                  "cross-sector",
                  "transversal"
                ]
              },
              "isLocalized": {
                "description": "Indicates if the skill has localized variants.",
                "type": "boolean"
              },
              "modelId": {
                "description": "The identifier of the model containing this skill.",
                "type": "string",
                "pattern": "^[0-9a-f]{24}$"
              },
              "createdAt": {
                "description": "Timestamp of record creation.",
                "type": "string",
                "format": "date-time"
              },
              "updatedAt": {
                "description": "Timestamp of last record modification.",
                "type": "string",
                "format": "date-time"
              }
            },
            "required": [
              "id",
              "UUID",
              "originUUID",
              "UUIDHistory",
              "path",
              "tabiyaPath",
              "preferredLabel",
              "originUri",
              "altLabels",
              "definition",
              "description",
              "scopeNote",
              "skillType",
              "reuseLevel",
              "isLocalized",
              "modelId",
              "parents",
              "children",
              "requiresSkills",
              "requiredBySkills",
              "requiredByOccupations",
              "createdAt",
              "updatedAt"
            ]
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "id": {
                "description": "The id of the skill group. It can be used to retrieve the skill group from the server.",
                "type": "string",
                "pattern": "^[0-9a-f]{24}$"
              },
              "UUID": {
                "description": "The UUID of the skill group. It can be used to identify the skill group across systems.",
                "type": "string",
                "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
              },
              "originUUID": {
                "description": "The last UUID in the UUIDHistory of skill group. It can be used to identify the skill group across systems.",
                "type": "string",
                "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
              },
              "path": {
                "description": "The path to the skill group resource using the resource id",
                "type": "string",
                "format": "uri",
                "pattern": "^https://.*",
                "maxLength": 4096
              },
              "tabiyaPath": {
                "description": "The path to the skill group resource using the resource UUID",
                "type": "string",
                "format": "uri",
                "pattern": "^https://.*",
                "maxLength": 4096
              },
              "parents": {
                "description": "The parent skill group of this skill group.",
                "type": "array",
                "minItems": 0,
                "items": {
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "id": {
                      "description": "The id of the parent skill group.",
                      "type": "string",
                      "pattern": "^[0-9a-f]{24}$"
                    },
                    "UUID": {
                      "description": "The UUID of the parent skill group. It can be used to identify the parent skill group.",
                      "type": "string",
                      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                    },
                    "code": {
                      "description": "The code of the parent skill group.",
                      "type": "string",
                      "maxLength": 256,
                      "pattern": "^([a-zA-Z]\\d+(\\.\\d+)*|[a-zA-Z])$"
                    },
                    "preferredLabel": {
                      "description": "The preferred label of the parent skill group.",
                      "type": "string",
                      "maxLength": 256,
                      "pattern": "\\S"
                    },
                    "objectType": {
                      "description": "The type of the skill group, e.g., SkillGroup.",
                      "type": "string",
                      "enum": [
                        "skillgroup"
                      ]
                    }
                  },
                  "required": [
                    "id",
                    "UUID",
                    "code",
                    "preferredLabel",
                    "objectType"
                  ]
                }
              },
              "children": {
                "description": "The children of this skill group. which can be either skill groups or skills.",
                "type": "array",
                "minItems": 0,
                "items": {
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "id": {
                      "description": "The id of the child skill group or skill.",
                      "type": "string",
                      "pattern": "^[0-9a-f]{24}$"
                    },
                    "UUID": {
                      "description": "The UUID of the child skill group or skill. It can be used to identify the child skill group or skill.",
                      "type": "string",
                      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                    },
                    "preferredLabel": {
                      "description": "The preferred label of the child skill group.",
                      "type": "string",
                      "maxLength": 256,
                      "pattern": "\\S"
                    },
                    "objectType": {
                      "description": "The type of the skill group, e.g., SkillGroup, Skill.",
                      "type": "string",
                      "enum": [
                        "skill",
                        "skillgroup"
                      ]
                    },
                    "code": {
                      "description": "Code of the skill group child",
                      "type": "string",
                      "maxLength": 256,
                      "pattern": "^([a-zA-Z]\\d+(\\.\\d+)*|[a-zA-Z])$"
                    },
                    "isLocalized": {
                      "description": "Indicates if the skill child is localized",
                      "type": "boolean"
                    }
                  },
                  "allOf": [
                    {
                      "if": {
                        "properties": {
                          "objectType": {
                            "const": "skillgroup"
                          }
                        }
                      },
                      "then": {
                        "properties": {
                          "code": {
                            "type": "string",
                            "maxLength": 256,
                            "pattern": "^([a-zA-Z]\\d+(\\.\\d+)*|[a-zA-Z])$"
                          }
                        },
                        "required": [
                          "code"
                        ],
                        "not": {
                          "properties": {
                            "isLocalized": {}
                          },
                          "required": [
                            "isLocalized"
                          ]
                        }
                      }
                    },
                    {
                      "if": {
                        "properties": {
                          "objectType": {
                            "const": "skill"
                          }
                        }
                      },
                      "then": {
                        "properties": {
                          "isLocalized": {
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "isLocalized"
                        ],
                        "not": {
                          "properties": {},
                          "required": [
                            "code"
                          ]
                        }
                      }
                    }
                  ],
                  "required": [
                    "id",
                    "UUID",
                    "preferredLabel",
                    "objectType"
                  ]
                }
              },
              "UUIDHistory": {
                "description": "The UUIDs history of the skill group.",
                "type": "array",
                "minItems": 0,
                "maxItems": 10000,
                "uniqueItems": true,
                "items": {
                  "type": "string",
                  "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
                  "maxLength": 36
                }
              },
              "originUri": {
                "description": "The origin URI of the skill group.",
                "type": "string",
                "maxLength": 4096,
                "format": "uri",
                "pattern": "\\S"
              },
              "code": {
                "description": "The code of the skill group.",
                "type": "string",
                "maxLength": 256,
                "pattern": "^([a-zA-Z]\\d+(\\.\\d+)*|[a-zA-Z])$"
              },
              "description": {
                "description": "The description of the skill group.",
                "type": "string",
                "maxLength": 6000
              },
              "scopeNote": {
                "description": "The scope note of the skill group.",
                "type": "string",
                "maxLength": 4000
              },
              "preferredLabel": {
                "description": "The preferred label of the skill group.",
                "type": "string",
                "maxLength": 256,
                "pattern": "\\S"
              },
              "altLabels": {
                "description": "The alternative labels of the skill group.",
                "type": "array",
                "minItems": 0,
                "maxItems": 100,
                "uniqueItems": true,
                "items": {
                  "type": "string",
                  "maxLength": 256
                }
              },
              "modelId": {
                "description": "The identifier of the model for skill group.",
                "type": "string",
                "pattern": "^[0-9a-f]{24}$"
              },
              "createdAt": {
                "type": "string",
                "format": "date-time"
              },
              "updatedAt": {
                "type": "string",
                "format": "date-time"
              }
            },
            "required": [
              "id",
              "UUID",
              "originUUID",
              "path",
              "tabiyaPath",
              "originUri",
              "code",
              "description",
              "preferredLabel",
              "parents",
              "children",
              "altLabels",
              "modelId",
              "scopeNote",
              "createdAt",
              "updatedAt",
              "UUIDHistory"
            ]
          },
          {
            "type": "null"
          }
        ]
      },
      "SkillParentsRequestQueryParamSchemaGET": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "limit": {
            "description": "Maximum number of items to return",
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 10
          },
          "cursor": {
            "description": "Pagination cursor for fetching the next page",
            "type": "string",
            "maxLength": 1720,
            "pattern": "\\S"
          }
        }
      },
      "SkillChildrenResponseSchemaGET": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "data": {
            "type": "array",
            "minItems": 0,
            "items": {
              "anyOf": [
                {
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "id": {
                      "description": "The unique identifier of the skill.",
                      "type": "string",
                      "pattern": "^[0-9a-f]{24}$"
                    },
                    "UUID": {
                      "description": "The UUID of the skill for cross-system identification.",
                      "type": "string",
                      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                    },
                    "originUUID": {
                      "description": "The original UUID of the skill, i.e., the first UUID in UUIDHistory",
                      "type": "string",
                      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
                      "maxLength": 50
                    },
                    "path": {
                      "description": "Resource path using the skill's ID.",
                      "type": "string",
                      "format": "uri",
                      "pattern": "^https://.*",
                      "maxLength": 4096
                    },
                    "tabiyaPath": {
                      "description": "Resource path using the skill's UUID.",
                      "type": "string",
                      "format": "uri",
                      "pattern": "^https://.*",
                      "maxLength": 4096
                    },
                    "parents": {
                      "description": "The parent skills or skill groups of this skill.",
                      "type": "array",
                      "minItems": 0,
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {
                          "id": {
                            "description": "The id of the parent skill or skill group.",
                            "type": "string",
                            "pattern": "^[0-9a-f]{24}$"
                          },
                          "UUID": {
                            "description": "The UUID of the parent skill or skill group.",
                            "type": "string",
                            "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                          },
                          "preferredLabel": {
                            "description": "The preferred label of the parent skill or skill group.",
                            "type": "string",
                            "maxLength": 256,
                            "pattern": "\\S"
                          },
                          "objectType": {
                            "description": "The type of the parent, e.g., Skill or SkillGroup.",
                            "type": "string",
                            "enum": [
                              "skillgroup",
                              "skill"
                            ]
                          },
                          "code": {
                            "description": "The code of the parent skill group.",
                            "type": "string",
                            "maxLength": 256
                          }
                        },
                        "if": {
                          "properties": {
                            "objectType": {
                              "enum": [
                                "skillgroup"
                              ]
                            }
                          }
                        },
                        "then": {
                          "properties": {
                            "code": {
                              "type": "string",
                              "maxLength": 256,
                              "pattern": "^([a-zA-Z]\\d+(\\.\\d+)*|[a-zA-Z])$"
                            }
                          },
                          "required": [
                            "code"
                          ]
                        },
                        "required": [
                          "id",
                          "UUID",
                          "preferredLabel",
                          "objectType"
                        ]
                      }
                    },
                    "children": {
                      "description": "The children of this skill.",
                      "type": "array",
                      "minItems": 0,
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {
                          "id": {
                            "description": "The id of the child skill.",
                            "type": "string",
                            "pattern": "^[0-9a-f]{24}$"
                          },
                          "UUID": {
                            "description": "The UUID of the child skill.",
                            "type": "string",
                            "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                          },
                          "preferredLabel": {
                            "description": "The preferred label of the child skill.",
                            "type": "string",
                            "maxLength": 256,
                            "pattern": "\\S"
                          },
                          "objectType": {
                            "description": "The type of the child, e.g., Skill.",
                            "type": "string",
                            "enum": [
                              "skill",
                              "skillgroup"
                            ]
                          },
                          "isLocalized": {
                            "description": "Indicates if the child skill is localized.",
                            "type": "boolean"
                          }
                        },
                        "allOf": [
                          {
                            "if": {
                              "properties": {
                                "objectType": {
                                  "const": "skill"
                                }
                              }
                            },
                            "then": {
                              "properties": {
                                "isLocalized": {
                                  "type": "boolean"
                                }
                              },
                              "required": [
                                "isLocalized"
                              ]
                            }
                          }
                        ],
                        "required": [
                          "id",
                          "UUID",
                          "preferredLabel",
                          "objectType"
                        ]
                      }
                    },
                    "requiresSkills": {
                      "description": "Skills required by this skill with relationship metadata.",
                      "type": "array",
                      "minItems": 0,
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {
                          "id": {
                            "description": "The ID of the required skill.",
                            "type": "string",
                            "pattern": "^[0-9a-f]{24}$"
                          },
                          "UUID": {
                            "description": "The UUID of the required skill.",
                            "type": "string",
                            "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                          },
                          "preferredLabel": {
                            "description": "The preferred label of the required skill.",
                            "type": "string",
                            "maxLength": 256,
                            "pattern": "\\S"
                          },
                          "isLocalized": {
                            "description": "Indicates if the required skill is localized.",
                            "type": "boolean"
                          },
                          "objectType": {
                            "description": "The object type of the required skill.",
                            "type": "string",
                            "enum": [
                              "skill"
                            ]
                          },
                          "relationType": {
                            "description": "The type of relationship between skills.",
                            "type": "string",
                            "enum": [
                              "essential",
                              "optional"
                            ]
                          }
                        },
                        "required": [
                          "id",
                          "UUID",
                          "preferredLabel",
                          "isLocalized",
                          "objectType",
                          "relationType"
                        ]
                      }
                    },
                    "requiredBySkills": {
                      "description": "Skills that require this skill with relationship metadata.",
                      "type": "array",
                      "minItems": 0,
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {
                          "id": {
                            "description": "The ID of the requiring skill.",
                            "type": "string",
                            "pattern": "^[0-9a-f]{24}$"
                          },
                          "UUID": {
                            "description": "The UUID of the requiring skill.",
                            "type": "string",
                            "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                          },
                          "preferredLabel": {
                            "description": "The preferred label of the requiring skill.",
                            "type": "string",
                            "maxLength": 256,
                            "pattern": "\\S"
                          },
                          "isLocalized": {
                            "description": "Indicates if the requiring skill is localized.",
                            "type": "boolean"
                          },
                          "objectType": {
                            "description": "The object type of the requiring skill.",
                            "type": "string",
                            "enum": [
                              "skill"
                            ]
                          },
                          "relationType": {
                            "description": "The type of relationship between skills.",
                            "type": "string",
                            "enum": [
                              "essential",
                              "optional"
                            ]
                          }
                        },
                        "required": [
                          "id",
                          "UUID",
                          "preferredLabel",
                          "isLocalized",
                          "objectType",
                          "relationType"
                        ]
                      }
                    },
                    "requiredByOccupations": {
                      "description": "Occupations that require this skill with relationship metadata.",
                      "type": "array",
                      "minItems": 0,
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {
                          "id": {
                            "description": "The ID of the requiring occupation.",
                            "type": "string",
                            "pattern": "^[0-9a-f]{24}$"
                          },
                          "UUID": {
                            "description": "The UUID of the requiring occupation.",
                            "type": "string",
                            "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                          },
                          "preferredLabel": {
                            "description": "The preferred label of the requiring occupation.",
                            "type": "string",
                            "maxLength": 256,
                            "pattern": "\\S"
                          },
                          "isLocalized": {
                            "description": "Indicates if the requiring occupation is localized.",
                            "type": "boolean"
                          },
                          "objectType": {
                            "description": "The object type of the requiring occupation.",
                            "type": "string",
                            "enum": [
                              "escooccupation",
                              "localoccupation"
                            ]
                          },
                          "relationType": {
                            "description": "Used for ESCOOccupations only.",
                            "type": [
                              "string",
                              "null"
                            ],
                            "enum": [
                              "",
                              "essential",
                              "optional",
                              null
                            ]
                          },
                          "signallingValue": {
                            "description": "Used for LocalOccupations only.",
                            "type": [
                              "number",
                              "null"
                            ],
                            "minimum": 0,
                            "maximum": 100
                          },
                          "signallingValueLabel": {
                            "description": "Used for LocalOccupations only.",
                            "type": [
                              "string",
                              "null"
                            ],
                            "maxLength": 256,
                            "enum": [
                              "",
                              "low",
                              "medium",
                              "high",
                              null
                            ]
                          }
                        },
                        "required": [
                          "id",
                          "UUID",
                          "preferredLabel",
                          "isLocalized",
                          "objectType"
                        ],
                        "allOf": [
                          {
                            "if": {
                              "properties": {
                                "objectType": {
                                  "const": "escooccupation"
                                }
                              }
                            },
                            "then": {
                              "properties": {
                                "relationType": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "relationType"
                              ]
                            }
                          },
                          {
                            "if": {
                              "properties": {
                                "objectType": {
                                  "const": "localoccupation"
                                }
                              }
                            },
                            "then": {
                              "properties": {
                                "signallingValue": {
                                  "type": "number"
                                },
                                "signallingValueLabel": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "signallingValue",
                                "signallingValueLabel"
                              ]
                            }
                          }
                        ]
                      }
                    },
                    "UUIDHistory": {
                      "description": "The UUIDs history of the skill.",
                      "type": "array",
                      "minItems": 0,
                      "maxItems": 10000,
                      "uniqueItems": true,
                      "items": {
                        "type": "string",
                        "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
                        "maxLength": 50
                      }
                    },
                    "originUri": {
                      "description": "The origin URI of the skill.",
                      "type": "string",
                      "format": "uri",
                      "maxLength": 4096,
                      "pattern": "\\S"
                    },
                    "preferredLabel": {
                      "description": "The preferred label of the skill.",
                      "type": "string",
                      "maxLength": 256,
                      "pattern": "\\S"
                    },
                    "altLabels": {
                      "description": "Alternative labels for the skill.",
                      "type": "array",
                      "minItems": 0,
                      "maxItems": 100,
                      "uniqueItems": true,
                      "items": {
                        "type": "string",
                        "maxLength": 256
                      }
                    },
                    "definition": {
                      "description": "The formal definition of the skill.",
                      "type": "string",
                      "maxLength": 4000
                    },
                    "description": {
                      "description": "Additional descriptive information about the skill.",
                      "type": "string",
                      "maxLength": 6000
                    },
                    "scopeNote": {
                      "description": "Scope clarification for the skill's application.",
                      "type": "string",
                      "maxLength": 4000
                    },
                    "skillType": {
                      "description": "The type of the skill (e.g., skill/competence, knowledge, language, attitude).",
                      "type": "string",
                      "enum": [
                        "skill/competence",
                        "knowledge",
                        "language",
                        "attitude"
                      ]
                    },
                    "reuseLevel": {
                      "description": "The reuse level of the skill (e.g., sector-specific, transversal).",
                      "type": "string",
                      "enum": [
                        "sector-specific",
                        "occupation-specific",
                        "cross-sector",
                        "transversal"
                      ]
                    },
                    "isLocalized": {
                      "description": "Indicates if the skill has localized variants.",
                      "type": "boolean"
                    },
                    "modelId": {
                      "description": "The identifier of the model containing this skill.",
                      "type": "string",
                      "pattern": "^[0-9a-f]{24}$"
                    },
                    "createdAt": {
                      "description": "Timestamp of record creation.",
                      "type": "string",
                      "format": "date-time"
                    },
                    "updatedAt": {
                      "description": "Timestamp of last record modification.",
                      "type": "string",
                      "format": "date-time"
                    }
                  },
                  "required": [
                    "id",
                    "UUID",
                    "originUUID",
                    "UUIDHistory",
                    "path",
                    "tabiyaPath",
                    "preferredLabel",
                    "originUri",
                    "altLabels",
                    "definition",
                    "description",
                    "scopeNote",
                    "skillType",
                    "reuseLevel",
                    "isLocalized",
                    "modelId",
                    "parents",
                    "children",
                    "requiresSkills",
                    "requiredBySkills",
                    "requiredByOccupations",
                    "createdAt",
                    "updatedAt"
                  ]
                },
                {
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "id": {
                      "description": "The id of the skill group. It can be used to retrieve the skill group from the server.",
                      "type": "string",
                      "pattern": "^[0-9a-f]{24}$"
                    },
                    "UUID": {
                      "description": "The UUID of the skill group. It can be used to identify the skill group across systems.",
                      "type": "string",
                      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                    },
                    "originUUID": {
                      "description": "The last UUID in the UUIDHistory of skill group. It can be used to identify the skill group across systems.",
                      "type": "string",
                      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                    },
                    "path": {
                      "description": "The path to the skill group resource using the resource id",
                      "type": "string",
                      "format": "uri",
                      "pattern": "^https://.*",
                      "maxLength": 4096
                    },
                    "tabiyaPath": {
                      "description": "The path to the skill group resource using the resource UUID",
                      "type": "string",
                      "format": "uri",
                      "pattern": "^https://.*",
                      "maxLength": 4096
                    },
                    "parents": {
                      "description": "The parent skill group of this skill group.",
                      "type": "array",
                      "minItems": 0,
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {
                          "id": {
                            "description": "The id of the parent skill group.",
                            "type": "string",
                            "pattern": "^[0-9a-f]{24}$"
                          },
                          "UUID": {
                            "description": "The UUID of the parent skill group. It can be used to identify the parent skill group.",
                            "type": "string",
                            "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                          },
                          "code": {
                            "description": "The code of the parent skill group.",
                            "type": "string",
                            "maxLength": 256,
                            "pattern": "^([a-zA-Z]\\d+(\\.\\d+)*|[a-zA-Z])$"
                          },
                          "preferredLabel": {
                            "description": "The preferred label of the parent skill group.",
                            "type": "string",
                            "maxLength": 256,
                            "pattern": "\\S"
                          },
                          "objectType": {
                            "description": "The type of the skill group, e.g., SkillGroup.",
                            "type": "string",
                            "enum": [
                              "skillgroup"
                            ]
                          }
                        },
                        "required": [
                          "id",
                          "UUID",
                          "code",
                          "preferredLabel",
                          "objectType"
                        ]
                      }
                    },
                    "children": {
                      "description": "The children of this skill group. which can be either skill groups or skills.",
                      "type": "array",
                      "minItems": 0,
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {
                          "id": {
                            "description": "The id of the child skill group or skill.",
                            "type": "string",
                            "pattern": "^[0-9a-f]{24}$"
                          },
                          "UUID": {
                            "description": "The UUID of the child skill group or skill. It can be used to identify the child skill group or skill.",
                            "type": "string",
                            "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                          },
                          "preferredLabel": {
                            "description": "The preferred label of the child skill group.",
                            "type": "string",
                            "maxLength": 256,
                            "pattern": "\\S"
                          },
                          "objectType": {
                            "description": "The type of the skill group, e.g., SkillGroup, Skill.",
                            "type": "string",
                            "enum": [
                              "skill",
                              "skillgroup"
                            ]
                          },
                          "code": {
                            "description": "Code of the skill group child",
                            "type": "string",
                            "maxLength": 256,
                            "pattern": "^([a-zA-Z]\\d+(\\.\\d+)*|[a-zA-Z])$"
                          },
                          "isLocalized": {
                            "description": "Indicates if the skill child is localized",
                            "type": "boolean"
                          }
                        },
                        "allOf": [
                          {
                            "if": {
                              "properties": {
                                "objectType": {
                                  "const": "skillgroup"
                                }
                              }
                            },
                            "then": {
                              "properties": {
                                "code": {
                                  "type": "string",
                                  "maxLength": 256,
                                  "pattern": "^([a-zA-Z]\\d+(\\.\\d+)*|[a-zA-Z])$"
                                }
                              },
                              "required": [
                                "code"
                              ],
                              "not": {
                                "properties": {
                                  "isLocalized": {}
                                },
                                "required": [
                                  "isLocalized"
                                ]
                              }
                            }
                          },
                          {
                            "if": {
                              "properties": {
                                "objectType": {
                                  "const": "skill"
                                }
                              }
                            },
                            "then": {
                              "properties": {
                                "isLocalized": {
                                  "type": "boolean"
                                }
                              },
                              "required": [
                                "isLocalized"
                              ],
                              "not": {
                                "properties": {},
                                "required": [
                                  "code"
                                ]
                              }
                            }
                          }
                        ],
                        "required": [
                          "id",
                          "UUID",
                          "preferredLabel",
                          "objectType"
                        ]
                      }
                    },
                    "UUIDHistory": {
                      "description": "The UUIDs history of the skill group.",
                      "type": "array",
                      "minItems": 0,
                      "maxItems": 10000,
                      "uniqueItems": true,
                      "items": {
                        "type": "string",
                        "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
                        "maxLength": 36
                      }
                    },
                    "originUri": {
                      "description": "The origin URI of the skill group.",
                      "type": "string",
                      "maxLength": 4096,
                      "format": "uri",
                      "pattern": "\\S"
                    },
                    "code": {
                      "description": "The code of the skill group.",
                      "type": "string",
                      "maxLength": 256,
                      "pattern": "^([a-zA-Z]\\d+(\\.\\d+)*|[a-zA-Z])$"
                    },
                    "description": {
                      "description": "The description of the skill group.",
                      "type": "string",
                      "maxLength": 6000
                    },
                    "scopeNote": {
                      "description": "The scope note of the skill group.",
                      "type": "string",
                      "maxLength": 4000
                    },
                    "preferredLabel": {
                      "description": "The preferred label of the skill group.",
                      "type": "string",
                      "maxLength": 256,
                      "pattern": "\\S"
                    },
                    "altLabels": {
                      "description": "The alternative labels of the skill group.",
                      "type": "array",
                      "minItems": 0,
                      "maxItems": 100,
                      "uniqueItems": true,
                      "items": {
                        "type": "string",
                        "maxLength": 256
                      }
                    },
                    "modelId": {
                      "description": "The identifier of the model for skill group.",
                      "type": "string",
                      "pattern": "^[0-9a-f]{24}$"
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "updatedAt": {
                      "type": "string",
                      "format": "date-time"
                    }
                  },
                  "required": [
                    "id",
                    "UUID",
                    "originUUID",
                    "path",
                    "tabiyaPath",
                    "originUri",
                    "code",
                    "description",
                    "preferredLabel",
                    "parents",
                    "children",
                    "altLabels",
                    "modelId",
                    "scopeNote",
                    "createdAt",
                    "updatedAt",
                    "UUIDHistory"
                  ]
                }
              ]
            },
            "description": "Array of child skills for the current page."
          },
          "limit": {
            "description": "The maximum number of items to return.",
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 10
          },
          "nextCursor": {
            "description": "Cursor to fetch the next page of results. Opaque token encoding the last item's sort key(s). Returns null if this is the last page.",
            "type": [
              "string",
              "null"
            ],
            "maxLength": 1720,
            "pattern": "\\S"
          }
        },
        "required": [
          "data",
          "limit"
        ]
      },
      "SkillChildrenRequestQueryParamSchemaGET": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "limit": {
            "description": "Maximum number of items to return",
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 10
          },
          "cursor": {
            "description": "Pagination cursor for fetching the next page",
            "type": "string",
            "maxLength": 1720,
            "pattern": "\\S"
          }
        }
      },
      "SkillOccupationsResponseSchemaGET": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "data": {
            "type": "array",
            "minItems": 0,
            "items": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "id": {
                  "description": "The unique identifier of the occupation.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{24}$"
                },
                "UUID": {
                  "description": "The UUID of the occupation for cross-system identification.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                },
                "originUUID": {
                  "description": "The original UUID of the occupation, i.e., the first UUID in UUIDHistory",
                  "type": "string",
                  "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
                  "maxLength": 50
                },
                "path": {
                  "description": "Resource path using the occupation's ID.",
                  "type": "string",
                  "format": "uri",
                  "pattern": "^https://.*",
                  "maxLength": 4096
                },
                "tabiyaPath": {
                  "description": "Resource path using the occupation's UUID.",
                  "type": "string",
                  "format": "uri",
                  "pattern": "^https://.*",
                  "maxLength": 4096
                },
                "parent": {
                  "description": "The parent occupation of this occupation.",
                  "type": [
                    "object",
                    "null"
                  ],
                  "additionalProperties": false,
                  "properties": {
                    "id": {
                      "description": "The id of the parent occupation.",
                      "type": "string",
                      "pattern": "^[0-9a-f]{24}$"
                    },
                    "UUID": {
                      "description": "The UUID of the occupation. It can be used to identify the parent occupation.",
                      "type": "string",
                      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                    },
                    "code": {
                      "description": "The code of the parent occupation.",
                      "type": "string",
                      "maxLength": 256
                    },
                    "occupationGroupCode": {
                      "description": "The code of the parent occupation group.",
                      "type": "string",
                      "maxLength": 256
                    },
                    "preferredLabel": {
                      "description": "The preferred label of the parent occupation.",
                      "type": "string",
                      "maxLength": 256,
                      "pattern": "\\S"
                    },
                    "objectType": {
                      "description": "The type of the occupation parent (LocalOccupation, ESCOOccupation, ISCOGroup or LocalGroup).",
                      "type": "string",
                      "enum": [
                        "iscogroup",
                        "localgroup",
                        "escooccupation",
                        "localoccupation"
                      ]
                    }
                  },
                  "allOf": [
                    {
                      "if": {
                        "properties": {
                          "objectType": {
                            "const": "iscogroup"
                          }
                        }
                      },
                      "then": {
                        "properties": {
                          "code": {
                            "type": "string",
                            "pattern": "^\\d{1,4}$",
                            "maxLength": 256
                          },
                          "occupationGroupCode": {
                            "type": "string",
                            "pattern": "^\\d{1,4}$",
                            "maxLength": 256
                          }
                        }
                      }
                    },
                    {
                      "if": {
                        "properties": {
                          "objectType": {
                            "const": "localgroup"
                          }
                        }
                      },
                      "then": {
                        "properties": {
                          "code": {
                            "type": "string",
                            "pattern": "^(?:\\d{1,4})?[a-zA-Z]+[a-zA-Z\\d]*$",
                            "maxLength": 256
                          },
                          "occupationGroupCode": {
                            "type": "string",
                            "pattern": "^(?:\\d{1,4})?[a-zA-Z]+[a-zA-Z\\d]*$",
                            "maxLength": 256
                          }
                        }
                      }
                    },
                    {
                      "if": {
                        "properties": {
                          "objectType": {
                            "const": "escooccupation"
                          }
                        }
                      },
                      "then": {
                        "properties": {
                          "code": {
                            "type": "string",
                            "pattern": "^\\d{4}(?:\\.\\d+)+$",
                            "maxLength": 256
                          },
                          "occupationGroupCode": {
                            "type": "string",
                            "pattern": "^\\d{1,4}$",
                            "maxLength": 256
                          }
                        }
                      }
                    },
                    {
                      "if": {
                        "properties": {
                          "objectType": {
                            "const": "localoccupation"
                          }
                        }
                      },
                      "then": {
                        "properties": {
                          "code": {
                            "type": "string",
                            "pattern": "^(?:\\d{4}(?:\\.\\d+)*(?:_\\d+)+|[a-zA-Z\\d]+(?:_\\d+)+)$",
                            "maxLength": 256
                          },
                          "occupationGroupCode": {
                            "type": "string",
                            "pattern": "^(?:\\d{1,4})?[a-zA-Z]+[a-zA-Z\\d]*$|^\\d{1,4}$",
                            "maxLength": 256
                          }
                        }
                      }
                    }
                  ]
                },
                "children": {
                  "description": "The children of this occupation.",
                  "type": "array",
                  "minItems": 0,
                  "items": {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                      "id": {
                        "description": "The id of the child occupation.",
                        "type": "string",
                        "pattern": "^[0-9a-f]{24}$"
                      },
                      "UUID": {
                        "description": "The UUID of the child occupation.",
                        "type": "string",
                        "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                      },
                      "code": {
                        "description": "The code of the child occupation.",
                        "type": "string",
                        "maxLength": 256
                      },
                      "occupationGroupCode": {
                        "description": "The code of the child occupation group.",
                        "type": "string",
                        "maxLength": 256
                      },
                      "preferredLabel": {
                        "description": "The preferred label of the child occupation.",
                        "type": "string",
                        "maxLength": 256,
                        "pattern": "\\S"
                      },
                      "objectType": {
                        "description": "The type of the occupation child (EscoOccupation or LocalOccupation).",
                        "type": "string",
                        "enum": [
                          "escooccupation",
                          "localoccupation"
                        ]
                      }
                    },
                    "allOf": [
                      {
                        "if": {
                          "properties": {
                            "objectType": {
                              "const": "escooccupation"
                            }
                          }
                        },
                        "then": {
                          "properties": {
                            "code": {
                              "type": "string",
                              "pattern": "^\\d{4}(?:\\.\\d+)+$",
                              "maxLength": 256
                            },
                            "occupationGroupCode": {
                              "type": "string",
                              "pattern": "^\\d{1,4}$",
                              "maxLength": 256
                            }
                          }
                        }
                      },
                      {
                        "if": {
                          "properties": {
                            "objectType": {
                              "const": "localoccupation"
                            }
                          }
                        },
                        "then": {
                          "properties": {
                            "code": {
                              "type": "string",
                              "pattern": "^(?:\\d{4}(?:\\.\\d+)*(?:_\\d+)+|[a-zA-Z\\d]+(?:_\\d+)+)$",
                              "maxLength": 256
                            },
                            "occupationGroupCode": {
                              "type": "string",
                              "pattern": "^(?:\\d{1,4})?[a-zA-Z]+[a-zA-Z\\d]*$|^\\d{1,4}$",
                              "maxLength": 256
                            }
                          }
                        }
                      }
                    ]
                  }
                },
                "requiresSkills": {
                  "description": "Skills required for this occupation with relationship metadata.",
                  "type": "array",
                  "minItems": 0,
                  "items": {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                      "id": {
                        "description": "The ID of the required skill.",
                        "type": "string",
                        "pattern": "^[0-9a-f]{24}$"
                      },
                      "UUID": {
                        "description": "The UUID of the required skill.",
                        "type": "string",
                        "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                      },
                      "preferredLabel": {
                        "description": "The preferred label of the required skill.",
                        "type": "string",
                        "maxLength": 256,
                        "pattern": "\\S"
                      },
                      "isLocalized": {
                        "description": "Indicates if the required skill is localized.",
                        "type": "boolean"
                      },
                      "objectType": {
                        "description": "The object type of the required skill.",
                        "type": "string",
                        "enum": [
                          "skill"
                        ]
                      },
                      "relationType": {
                        "description": "Used for ESCOOccupations only.",
                        "type": [
                          "string",
                          "null"
                        ],
                        "enum": [
                          "",
                          "essential",
                          "optional",
                          null
                        ]
                      },
                      "signallingValue": {
                        "description": "Used for LocalOccupations only.",
                        "type": [
                          "number",
                          "null"
                        ],
                        "minimum": 0,
                        "maximum": 100
                      },
                      "signallingValueLabel": {
                        "description": "Used for LocalOccupations only.",
                        "type": [
                          "string",
                          "null"
                        ],
                        "maxLength": 256,
                        "pattern": "\\S"
                      }
                    },
                    "required": [
                      "id",
                      "UUID",
                      "preferredLabel",
                      "isLocalized",
                      "objectType"
                    ]
                  }
                },
                "UUIDHistory": {
                  "description": "The UUIDs history of the occupation.",
                  "type": "array",
                  "minItems": 0,
                  "maxItems": 10000,
                  "uniqueItems": true,
                  "items": {
                    "type": "string",
                    "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
                    "maxLength": 50
                  }
                },
                "originUri": {
                  "description": "The origin URI of the occupation.",
                  "type": "string",
                  "format": "uri",
                  "maxLength": 4096,
                  "pattern": "\\S"
                },
                "occupationType": {
                  "description": "The occupation classification type (e.g., ESCOOccupation or LocalOccupation).",
                  "type": "string",
                  "enum": [
                    "escooccupation",
                    "localoccupation"
                  ]
                },
                "code": {
                  "description": "The code of the occupation.",
                  "type": "string",
                  "maxLength": 256
                },
                "occupationGroupCode": {
                  "description": "The code of the parent occupation group.",
                  "type": "string",
                  "maxLength": 256
                },
                "preferredLabel": {
                  "description": "The preferred label of the occupation.",
                  "type": "string",
                  "maxLength": 256,
                  "pattern": "\\S"
                },
                "altLabels": {
                  "description": "Alternative labels for the occupation.",
                  "type": "array",
                  "minItems": 0,
                  "maxItems": 100,
                  "uniqueItems": true,
                  "items": {
                    "type": "string",
                    "maxLength": 256
                  }
                },
                "definition": {
                  "description": "The formal definition of the occupation.",
                  "type": "string",
                  "maxLength": 4000
                },
                "description": {
                  "description": "Additional descriptive information about the occupation.",
                  "type": "string",
                  "maxLength": 6000
                },
                "regulatedProfessionNote": {
                  "description": "Regulatory information for legally regulated professions.",
                  "type": "string",
                  "maxLength": 4000
                },
                "scopeNote": {
                  "description": "Scope clarification for the occupation's application.",
                  "type": "string",
                  "maxLength": 4000
                },
                "isLocalized": {
                  "description": "Indicates if the occupation has localized variants. Must be false for LocalOccupation.",
                  "type": "boolean"
                },
                "modelId": {
                  "description": "The identifier of the model containing this occupation.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{24}$"
                },
                "createdAt": {
                  "description": "Timestamp of record creation.",
                  "type": "string",
                  "format": "date-time"
                },
                "updatedAt": {
                  "description": "Timestamp of last record modification.",
                  "type": "string",
                  "format": "date-time"
                },
                "relationType": {
                  "description": "Used for ESCOOccupations only.",
                  "type": [
                    "string",
                    "null"
                  ],
                  "enum": [
                    "",
                    "essential",
                    "optional",
                    null
                  ]
                },
                "signallingValue": {
                  "description": "Used for LocalOccupations only.",
                  "type": [
                    "number",
                    "null"
                  ],
                  "minimum": 0,
                  "maximum": 100
                },
                "signallingValueLabel": {
                  "description": "Used for LocalOccupations only.",
                  "type": [
                    "string",
                    "null"
                  ],
                  "maxLength": 256,
                  "pattern": ".+"
                }
              },
              "required": [
                "id",
                "UUID",
                "originUUID",
                "UUIDHistory",
                "path",
                "tabiyaPath",
                "code",
                "occupationGroupCode",
                "originUri",
                "preferredLabel",
                "altLabels",
                "definition",
                "description",
                "regulatedProfessionNote",
                "scopeNote",
                "occupationType",
                "modelId",
                "isLocalized",
                "parent",
                "requiresSkills",
                "children",
                "createdAt",
                "updatedAt"
              ]
            },
            "description": "Array of occupations that require this skill."
          },
          "limit": {
            "description": "The maximum number of items to return.",
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 10
          },
          "nextCursor": {
            "description": "Cursor to fetch the next page of results. Opaque token encoding the last item's sort key(s). Returns null if this is the last page.",
            "type": [
              "string",
              "null"
            ],
            "maxLength": 1720,
            "pattern": "\\S"
          }
        },
        "required": [
          "data",
          "limit"
        ]
      },
      "SkillOccupationsResponseSchemaPOST": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "description": "The unique identifier of the occupation.",
            "type": "string",
            "pattern": "^[0-9a-f]{24}$"
          },
          "UUID": {
            "description": "The UUID of the occupation for cross-system identification.",
            "type": "string",
            "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
          },
          "originUUID": {
            "description": "The original UUID of the occupation, i.e., the first UUID in UUIDHistory",
            "type": "string",
            "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
            "maxLength": 50
          },
          "path": {
            "description": "Resource path using the occupation's ID.",
            "type": "string",
            "format": "uri",
            "pattern": "^https://.*",
            "maxLength": 4096
          },
          "tabiyaPath": {
            "description": "Resource path using the occupation's UUID.",
            "type": "string",
            "format": "uri",
            "pattern": "^https://.*",
            "maxLength": 4096
          },
          "parent": {
            "description": "The parent occupation of this occupation.",
            "type": [
              "object",
              "null"
            ],
            "additionalProperties": false,
            "properties": {
              "id": {
                "description": "The id of the parent occupation.",
                "type": "string",
                "pattern": "^[0-9a-f]{24}$"
              },
              "UUID": {
                "description": "The UUID of the occupation. It can be used to identify the parent occupation.",
                "type": "string",
                "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
              },
              "code": {
                "description": "The code of the parent occupation.",
                "type": "string",
                "maxLength": 256
              },
              "occupationGroupCode": {
                "description": "The code of the parent occupation group.",
                "type": "string",
                "maxLength": 256
              },
              "preferredLabel": {
                "description": "The preferred label of the parent occupation.",
                "type": "string",
                "maxLength": 256,
                "pattern": "\\S"
              },
              "objectType": {
                "description": "The type of the occupation parent (LocalOccupation, ESCOOccupation, ISCOGroup or LocalGroup).",
                "type": "string",
                "enum": [
                  "iscogroup",
                  "localgroup",
                  "escooccupation",
                  "localoccupation"
                ]
              }
            },
            "allOf": [
              {
                "if": {
                  "properties": {
                    "objectType": {
                      "const": "iscogroup"
                    }
                  }
                },
                "then": {
                  "properties": {
                    "code": {
                      "type": "string",
                      "pattern": "^\\d{1,4}$",
                      "maxLength": 256
                    },
                    "occupationGroupCode": {
                      "type": "string",
                      "pattern": "^\\d{1,4}$",
                      "maxLength": 256
                    }
                  }
                }
              },
              {
                "if": {
                  "properties": {
                    "objectType": {
                      "const": "localgroup"
                    }
                  }
                },
                "then": {
                  "properties": {
                    "code": {
                      "type": "string",
                      "pattern": "^(?:\\d{1,4})?[a-zA-Z]+[a-zA-Z\\d]*$",
                      "maxLength": 256
                    },
                    "occupationGroupCode": {
                      "type": "string",
                      "pattern": "^(?:\\d{1,4})?[a-zA-Z]+[a-zA-Z\\d]*$",
                      "maxLength": 256
                    }
                  }
                }
              },
              {
                "if": {
                  "properties": {
                    "objectType": {
                      "const": "escooccupation"
                    }
                  }
                },
                "then": {
                  "properties": {
                    "code": {
                      "type": "string",
                      "pattern": "^\\d{4}(?:\\.\\d+)+$",
                      "maxLength": 256
                    },
                    "occupationGroupCode": {
                      "type": "string",
                      "pattern": "^\\d{1,4}$",
                      "maxLength": 256
                    }
                  }
                }
              },
              {
                "if": {
                  "properties": {
                    "objectType": {
                      "const": "localoccupation"
                    }
                  }
                },
                "then": {
                  "properties": {
                    "code": {
                      "type": "string",
                      "pattern": "^(?:\\d{4}(?:\\.\\d+)*(?:_\\d+)+|[a-zA-Z\\d]+(?:_\\d+)+)$",
                      "maxLength": 256
                    },
                    "occupationGroupCode": {
                      "type": "string",
                      "pattern": "^(?:\\d{1,4})?[a-zA-Z]+[a-zA-Z\\d]*$|^\\d{1,4}$",
                      "maxLength": 256
                    }
                  }
                }
              }
            ]
          },
          "children": {
            "description": "The children of this occupation.",
            "type": "array",
            "minItems": 0,
            "items": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "id": {
                  "description": "The id of the child occupation.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{24}$"
                },
                "UUID": {
                  "description": "The UUID of the child occupation.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                },
                "code": {
                  "description": "The code of the child occupation.",
                  "type": "string",
                  "maxLength": 256
                },
                "occupationGroupCode": {
                  "description": "The code of the child occupation group.",
                  "type": "string",
                  "maxLength": 256
                },
                "preferredLabel": {
                  "description": "The preferred label of the child occupation.",
                  "type": "string",
                  "maxLength": 256,
                  "pattern": "\\S"
                },
                "objectType": {
                  "description": "The type of the occupation child (EscoOccupation or LocalOccupation).",
                  "type": "string",
                  "enum": [
                    "escooccupation",
                    "localoccupation"
                  ]
                }
              },
              "allOf": [
                {
                  "if": {
                    "properties": {
                      "objectType": {
                        "const": "escooccupation"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "code": {
                        "type": "string",
                        "pattern": "^\\d{4}(?:\\.\\d+)+$",
                        "maxLength": 256
                      },
                      "occupationGroupCode": {
                        "type": "string",
                        "pattern": "^\\d{1,4}$",
                        "maxLength": 256
                      }
                    }
                  }
                },
                {
                  "if": {
                    "properties": {
                      "objectType": {
                        "const": "localoccupation"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "code": {
                        "type": "string",
                        "pattern": "^(?:\\d{4}(?:\\.\\d+)*(?:_\\d+)+|[a-zA-Z\\d]+(?:_\\d+)+)$",
                        "maxLength": 256
                      },
                      "occupationGroupCode": {
                        "type": "string",
                        "pattern": "^(?:\\d{1,4})?[a-zA-Z]+[a-zA-Z\\d]*$|^\\d{1,4}$",
                        "maxLength": 256
                      }
                    }
                  }
                }
              ]
            }
          },
          "requiresSkills": {
            "description": "Skills required for this occupation with relationship metadata.",
            "type": "array",
            "minItems": 0,
            "items": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "id": {
                  "description": "The ID of the required skill.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{24}$"
                },
                "UUID": {
                  "description": "The UUID of the required skill.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                },
                "preferredLabel": {
                  "description": "The preferred label of the required skill.",
                  "type": "string",
                  "maxLength": 256,
                  "pattern": "\\S"
                },
                "isLocalized": {
                  "description": "Indicates if the required skill is localized.",
                  "type": "boolean"
                },
                "objectType": {
                  "description": "The object type of the required skill.",
                  "type": "string",
                  "enum": [
                    "skill"
                  ]
                },
                "relationType": {
                  "description": "Used for ESCOOccupations only.",
                  "type": [
                    "string",
                    "null"
                  ],
                  "enum": [
                    "",
                    "essential",
                    "optional",
                    null
                  ]
                },
                "signallingValue": {
                  "description": "Used for LocalOccupations only.",
                  "type": [
                    "number",
                    "null"
                  ],
                  "minimum": 0,
                  "maximum": 100
                },
                "signallingValueLabel": {
                  "description": "Used for LocalOccupations only.",
                  "type": [
                    "string",
                    "null"
                  ],
                  "maxLength": 256,
                  "pattern": "\\S"
                }
              },
              "required": [
                "id",
                "UUID",
                "preferredLabel",
                "isLocalized",
                "objectType"
              ]
            }
          },
          "UUIDHistory": {
            "description": "The UUIDs history of the occupation.",
            "type": "array",
            "minItems": 0,
            "maxItems": 10000,
            "uniqueItems": true,
            "items": {
              "type": "string",
              "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
              "maxLength": 50
            }
          },
          "originUri": {
            "description": "The origin URI of the occupation.",
            "type": "string",
            "format": "uri",
            "maxLength": 4096,
            "pattern": "\\S"
          },
          "occupationType": {
            "description": "The occupation classification type (e.g., ESCOOccupation or LocalOccupation).",
            "type": "string",
            "enum": [
              "escooccupation",
              "localoccupation"
            ]
          },
          "code": {
            "description": "The code of the occupation.",
            "type": "string",
            "maxLength": 256
          },
          "occupationGroupCode": {
            "description": "The code of the parent occupation group.",
            "type": "string",
            "maxLength": 256
          },
          "preferredLabel": {
            "description": "The preferred label of the occupation.",
            "type": "string",
            "maxLength": 256,
            "pattern": "\\S"
          },
          "altLabels": {
            "description": "Alternative labels for the occupation.",
            "type": "array",
            "minItems": 0,
            "maxItems": 100,
            "uniqueItems": true,
            "items": {
              "type": "string",
              "maxLength": 256
            }
          },
          "definition": {
            "description": "The formal definition of the occupation.",
            "type": "string",
            "maxLength": 4000
          },
          "description": {
            "description": "Additional descriptive information about the occupation.",
            "type": "string",
            "maxLength": 6000
          },
          "regulatedProfessionNote": {
            "description": "Regulatory information for legally regulated professions.",
            "type": "string",
            "maxLength": 4000
          },
          "scopeNote": {
            "description": "Scope clarification for the occupation's application.",
            "type": "string",
            "maxLength": 4000
          },
          "isLocalized": {
            "description": "Indicates if the occupation has localized variants. Must be false for LocalOccupation.",
            "type": "boolean"
          },
          "modelId": {
            "description": "The identifier of the model containing this occupation.",
            "type": "string",
            "pattern": "^[0-9a-f]{24}$"
          },
          "createdAt": {
            "description": "Timestamp of record creation.",
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "description": "Timestamp of last record modification.",
            "type": "string",
            "format": "date-time"
          },
          "relationType": {
            "description": "Used for ESCO occupations only.",
            "type": [
              "string",
              "null"
            ],
            "enum": [
              "",
              "essential",
              "optional",
              null
            ]
          },
          "signallingValue": {
            "description": "Used for local occupations only.",
            "type": [
              "number",
              "null"
            ],
            "minimum": 0,
            "maximum": 100
          },
          "signallingValueLabel": {
            "description": "Used for local occupations only.",
            "type": [
              "string",
              "null"
            ],
            "maxLength": 256,
            "pattern": "\\S"
          }
        },
        "required": [
          "id",
          "UUID",
          "originUUID",
          "UUIDHistory",
          "path",
          "tabiyaPath",
          "code",
          "occupationGroupCode",
          "originUri",
          "preferredLabel",
          "altLabels",
          "definition",
          "description",
          "regulatedProfessionNote",
          "scopeNote",
          "occupationType",
          "modelId",
          "isLocalized",
          "parent",
          "requiresSkills",
          "children",
          "createdAt",
          "updatedAt"
        ]
      },
      "SkillOccupationsRequestSchemaPOST": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "requiringOccupationId": {
            "type": "string",
            "pattern": "^[0-9a-f]{24}$"
          },
          "relationType": {
            "type": "string",
            "enum": [
              "",
              "essential",
              "optional"
            ]
          },
          "signallingValueLabel": {
            "type": "string",
            "enum": [
              "",
              "high",
              "medium",
              "low"
            ]
          },
          "signallingValue": {
            "type": [
              "number",
              "null"
            ],
            "minimum": 0,
            "maximum": 100
          }
        },
        "required": [
          "requiringOccupationId"
        ]
      },
      "SkillOccupationsRequestQueryParamSchemaGET": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "limit": {
            "description": "Maximum number of items to return",
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 10
          },
          "cursor": {
            "description": "Pagination cursor for fetching the next page",
            "type": "string",
            "maxLength": 1720,
            "pattern": "\\S"
          }
        }
      },
      "SkillRelatedResponseSchemaGET": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "data": {
            "type": "array",
            "minItems": 0,
            "items": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "id": {
                  "description": "The unique identifier of the skill.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{24}$"
                },
                "UUID": {
                  "description": "The UUID of the skill for cross-system identification.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                },
                "originUUID": {
                  "description": "The original UUID of the skill, i.e., the first UUID in UUIDHistory",
                  "type": "string",
                  "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
                  "maxLength": 50
                },
                "path": {
                  "description": "Resource path using the skill's ID.",
                  "type": "string",
                  "format": "uri",
                  "pattern": "^https://.*",
                  "maxLength": 4096
                },
                "tabiyaPath": {
                  "description": "Resource path using the skill's UUID.",
                  "type": "string",
                  "format": "uri",
                  "pattern": "^https://.*",
                  "maxLength": 4096
                },
                "parents": {
                  "description": "The parent skills or skill groups of this skill.",
                  "type": "array",
                  "minItems": 0,
                  "items": {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                      "id": {
                        "description": "The id of the parent skill or skill group.",
                        "type": "string",
                        "pattern": "^[0-9a-f]{24}$"
                      },
                      "UUID": {
                        "description": "The UUID of the parent skill or skill group.",
                        "type": "string",
                        "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                      },
                      "preferredLabel": {
                        "description": "The preferred label of the parent skill or skill group.",
                        "type": "string",
                        "maxLength": 256,
                        "pattern": "\\S"
                      },
                      "objectType": {
                        "description": "The type of the parent, e.g., Skill or SkillGroup.",
                        "type": "string",
                        "enum": [
                          "skillgroup",
                          "skill"
                        ]
                      },
                      "code": {
                        "description": "The code of the parent skill group.",
                        "type": "string",
                        "maxLength": 256
                      }
                    },
                    "if": {
                      "properties": {
                        "objectType": {
                          "enum": [
                            "skillgroup"
                          ]
                        }
                      }
                    },
                    "then": {
                      "properties": {
                        "code": {
                          "type": "string",
                          "maxLength": 256,
                          "pattern": "^([a-zA-Z]\\d+(\\.\\d+)*|[a-zA-Z])$"
                        }
                      },
                      "required": [
                        "code"
                      ]
                    },
                    "required": [
                      "id",
                      "UUID",
                      "preferredLabel",
                      "objectType"
                    ]
                  }
                },
                "children": {
                  "description": "The children of this skill.",
                  "type": "array",
                  "minItems": 0,
                  "items": {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                      "id": {
                        "description": "The id of the child skill.",
                        "type": "string",
                        "pattern": "^[0-9a-f]{24}$"
                      },
                      "UUID": {
                        "description": "The UUID of the child skill.",
                        "type": "string",
                        "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                      },
                      "preferredLabel": {
                        "description": "The preferred label of the child skill.",
                        "type": "string",
                        "maxLength": 256,
                        "pattern": "\\S"
                      },
                      "objectType": {
                        "description": "The type of the child, e.g., Skill.",
                        "type": "string",
                        "enum": [
                          "skill",
                          "skillgroup"
                        ]
                      },
                      "isLocalized": {
                        "description": "Indicates if the child skill is localized.",
                        "type": "boolean"
                      }
                    },
                    "allOf": [
                      {
                        "if": {
                          "properties": {
                            "objectType": {
                              "const": "skill"
                            }
                          }
                        },
                        "then": {
                          "properties": {
                            "isLocalized": {
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "isLocalized"
                          ]
                        }
                      }
                    ],
                    "required": [
                      "id",
                      "UUID",
                      "preferredLabel",
                      "objectType"
                    ]
                  }
                },
                "requiresSkills": {
                  "description": "Skills required by this skill with relationship metadata.",
                  "type": "array",
                  "minItems": 0,
                  "items": {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                      "id": {
                        "description": "The ID of the required skill.",
                        "type": "string",
                        "pattern": "^[0-9a-f]{24}$"
                      },
                      "UUID": {
                        "description": "The UUID of the required skill.",
                        "type": "string",
                        "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                      },
                      "preferredLabel": {
                        "description": "The preferred label of the required skill.",
                        "type": "string",
                        "maxLength": 256,
                        "pattern": "\\S"
                      },
                      "isLocalized": {
                        "description": "Indicates if the required skill is localized.",
                        "type": "boolean"
                      },
                      "objectType": {
                        "description": "The object type of the required skill.",
                        "type": "string",
                        "enum": [
                          "skill"
                        ]
                      },
                      "relationType": {
                        "description": "The type of relationship between skills.",
                        "type": "string",
                        "enum": [
                          "essential",
                          "optional"
                        ]
                      }
                    },
                    "required": [
                      "id",
                      "UUID",
                      "preferredLabel",
                      "isLocalized",
                      "objectType",
                      "relationType"
                    ]
                  }
                },
                "requiredBySkills": {
                  "description": "Skills that require this skill with relationship metadata.",
                  "type": "array",
                  "minItems": 0,
                  "items": {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                      "id": {
                        "description": "The ID of the requiring skill.",
                        "type": "string",
                        "pattern": "^[0-9a-f]{24}$"
                      },
                      "UUID": {
                        "description": "The UUID of the requiring skill.",
                        "type": "string",
                        "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                      },
                      "preferredLabel": {
                        "description": "The preferred label of the requiring skill.",
                        "type": "string",
                        "maxLength": 256,
                        "pattern": "\\S"
                      },
                      "isLocalized": {
                        "description": "Indicates if the requiring skill is localized.",
                        "type": "boolean"
                      },
                      "objectType": {
                        "description": "The object type of the requiring skill.",
                        "type": "string",
                        "enum": [
                          "skill"
                        ]
                      },
                      "relationType": {
                        "description": "The type of relationship between skills.",
                        "type": "string",
                        "enum": [
                          "essential",
                          "optional"
                        ]
                      }
                    },
                    "required": [
                      "id",
                      "UUID",
                      "preferredLabel",
                      "isLocalized",
                      "objectType",
                      "relationType"
                    ]
                  }
                },
                "requiredByOccupations": {
                  "description": "Occupations that require this skill with relationship metadata.",
                  "type": "array",
                  "minItems": 0,
                  "items": {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                      "id": {
                        "description": "The ID of the requiring occupation.",
                        "type": "string",
                        "pattern": "^[0-9a-f]{24}$"
                      },
                      "UUID": {
                        "description": "The UUID of the requiring occupation.",
                        "type": "string",
                        "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                      },
                      "preferredLabel": {
                        "description": "The preferred label of the requiring occupation.",
                        "type": "string",
                        "maxLength": 256,
                        "pattern": "\\S"
                      },
                      "isLocalized": {
                        "description": "Indicates if the requiring occupation is localized.",
                        "type": "boolean"
                      },
                      "objectType": {
                        "description": "The object type of the requiring occupation.",
                        "type": "string",
                        "enum": [
                          "escooccupation",
                          "localoccupation"
                        ]
                      },
                      "relationType": {
                        "description": "Used for ESCOOccupations only.",
                        "type": [
                          "string",
                          "null"
                        ],
                        "enum": [
                          "",
                          "essential",
                          "optional",
                          null
                        ]
                      },
                      "signallingValue": {
                        "description": "Used for LocalOccupations only.",
                        "type": [
                          "number",
                          "null"
                        ],
                        "minimum": 0,
                        "maximum": 100
                      },
                      "signallingValueLabel": {
                        "description": "Used for LocalOccupations only.",
                        "type": [
                          "string",
                          "null"
                        ],
                        "maxLength": 256,
                        "enum": [
                          "",
                          "low",
                          "medium",
                          "high",
                          null
                        ]
                      }
                    },
                    "required": [
                      "id",
                      "UUID",
                      "preferredLabel",
                      "isLocalized",
                      "objectType"
                    ],
                    "allOf": [
                      {
                        "if": {
                          "properties": {
                            "objectType": {
                              "const": "escooccupation"
                            }
                          }
                        },
                        "then": {
                          "properties": {
                            "relationType": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "relationType"
                          ]
                        }
                      },
                      {
                        "if": {
                          "properties": {
                            "objectType": {
                              "const": "localoccupation"
                            }
                          }
                        },
                        "then": {
                          "properties": {
                            "signallingValue": {
                              "type": "number"
                            },
                            "signallingValueLabel": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "signallingValue",
                            "signallingValueLabel"
                          ]
                        }
                      }
                    ]
                  }
                },
                "UUIDHistory": {
                  "description": "The UUIDs history of the skill.",
                  "type": "array",
                  "minItems": 0,
                  "maxItems": 10000,
                  "uniqueItems": true,
                  "items": {
                    "type": "string",
                    "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
                    "maxLength": 50
                  }
                },
                "originUri": {
                  "description": "The origin URI of the skill.",
                  "type": "string",
                  "format": "uri",
                  "maxLength": 4096,
                  "pattern": "\\S"
                },
                "preferredLabel": {
                  "description": "The preferred label of the skill.",
                  "type": "string",
                  "maxLength": 256,
                  "pattern": "\\S"
                },
                "altLabels": {
                  "description": "Alternative labels for the skill.",
                  "type": "array",
                  "minItems": 0,
                  "maxItems": 100,
                  "uniqueItems": true,
                  "items": {
                    "type": "string",
                    "maxLength": 256
                  }
                },
                "definition": {
                  "description": "The formal definition of the skill.",
                  "type": "string",
                  "maxLength": 4000
                },
                "description": {
                  "description": "Additional descriptive information about the skill.",
                  "type": "string",
                  "maxLength": 6000
                },
                "scopeNote": {
                  "description": "Scope clarification for the skill's application.",
                  "type": "string",
                  "maxLength": 4000
                },
                "skillType": {
                  "description": "The type of the skill (e.g., skill/competence, knowledge, language, attitude).",
                  "type": "string",
                  "enum": [
                    "skill/competence",
                    "knowledge",
                    "language",
                    "attitude"
                  ]
                },
                "reuseLevel": {
                  "description": "The reuse level of the skill (e.g., sector-specific, transversal).",
                  "type": "string",
                  "enum": [
                    "sector-specific",
                    "occupation-specific",
                    "cross-sector",
                    "transversal"
                  ]
                },
                "isLocalized": {
                  "description": "Indicates if the skill has localized variants.",
                  "type": "boolean"
                },
                "modelId": {
                  "description": "The identifier of the model containing this skill.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{24}$"
                },
                "createdAt": {
                  "description": "Timestamp of record creation.",
                  "type": "string",
                  "format": "date-time"
                },
                "updatedAt": {
                  "description": "Timestamp of last record modification.",
                  "type": "string",
                  "format": "date-time"
                },
                "relationType": {
                  "description": "The type of relationship between skills.",
                  "type": "string",
                  "enum": [
                    "essential",
                    "optional"
                  ]
                }
              },
              "required": [
                "id",
                "UUID",
                "originUUID",
                "UUIDHistory",
                "path",
                "tabiyaPath",
                "preferredLabel",
                "originUri",
                "altLabels",
                "definition",
                "description",
                "scopeNote",
                "skillType",
                "reuseLevel",
                "isLocalized",
                "modelId",
                "parents",
                "children",
                "requiresSkills",
                "requiredBySkills",
                "requiredByOccupations",
                "createdAt",
                "updatedAt",
                "relationType"
              ]
            },
            "description": "Array of related skills for the current page."
          },
          "limit": {
            "description": "The maximum number of items to return.",
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 10
          },
          "nextCursor": {
            "description": "Cursor to fetch the next page of results. Opaque token encoding the last item's sort key(s). Returns null if this is the last page.",
            "type": [
              "string",
              "null"
            ],
            "maxLength": 1720,
            "pattern": "\\S"
          }
        },
        "required": [
          "data",
          "limit"
        ]
      },
      "SkillRelatedRequestSchemaPOST": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "requiredSkillId": {
            "type": "string",
            "pattern": "^[0-9a-f]{24}$"
          },
          "relationType": {
            "type": "string",
            "enum": [
              "essential",
              "optional"
            ]
          }
        },
        "required": [
          "requiredSkillId",
          "relationType"
        ]
      },
      "SkillRelatedResponseSchemaPOST": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "description": "The unique identifier of the skill.",
            "type": "string",
            "pattern": "^[0-9a-f]{24}$"
          },
          "UUID": {
            "description": "The UUID of the skill for cross-system identification.",
            "type": "string",
            "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
          },
          "originUUID": {
            "description": "The original UUID of the skill, i.e., the first UUID in UUIDHistory",
            "type": "string",
            "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
            "maxLength": 50
          },
          "path": {
            "description": "Resource path using the skill's ID.",
            "type": "string",
            "format": "uri",
            "pattern": "^https://.*",
            "maxLength": 4096
          },
          "tabiyaPath": {
            "description": "Resource path using the skill's UUID.",
            "type": "string",
            "format": "uri",
            "pattern": "^https://.*",
            "maxLength": 4096
          },
          "parents": {
            "description": "The parent skills or skill groups of this skill.",
            "type": "array",
            "minItems": 0,
            "items": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "id": {
                  "description": "The id of the parent skill or skill group.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{24}$"
                },
                "UUID": {
                  "description": "The UUID of the parent skill or skill group.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                },
                "preferredLabel": {
                  "description": "The preferred label of the parent skill or skill group.",
                  "type": "string",
                  "maxLength": 256,
                  "pattern": "\\S"
                },
                "objectType": {
                  "description": "The type of the parent, e.g., Skill or SkillGroup.",
                  "type": "string",
                  "enum": [
                    "skillgroup",
                    "skill"
                  ]
                },
                "code": {
                  "description": "The code of the parent skill group.",
                  "type": "string",
                  "maxLength": 256
                }
              },
              "if": {
                "properties": {
                  "objectType": {
                    "enum": [
                      "skillgroup"
                    ]
                  }
                }
              },
              "then": {
                "properties": {
                  "code": {
                    "type": "string",
                    "maxLength": 256,
                    "pattern": "^([a-zA-Z]\\d+(\\.\\d+)*|[a-zA-Z])$"
                  }
                },
                "required": [
                  "code"
                ]
              },
              "required": [
                "id",
                "UUID",
                "preferredLabel",
                "objectType"
              ]
            }
          },
          "children": {
            "description": "The children of this skill.",
            "type": "array",
            "minItems": 0,
            "items": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "id": {
                  "description": "The id of the child skill.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{24}$"
                },
                "UUID": {
                  "description": "The UUID of the child skill.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                },
                "preferredLabel": {
                  "description": "The preferred label of the child skill.",
                  "type": "string",
                  "maxLength": 256,
                  "pattern": "\\S"
                },
                "objectType": {
                  "description": "The type of the child, e.g., Skill.",
                  "type": "string",
                  "enum": [
                    "skill",
                    "skillgroup"
                  ]
                },
                "isLocalized": {
                  "description": "Indicates if the child skill is localized.",
                  "type": "boolean"
                }
              },
              "allOf": [
                {
                  "if": {
                    "properties": {
                      "objectType": {
                        "const": "skill"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "isLocalized": {
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "isLocalized"
                    ]
                  }
                }
              ],
              "required": [
                "id",
                "UUID",
                "preferredLabel",
                "objectType"
              ]
            }
          },
          "requiresSkills": {
            "description": "Skills required by this skill with relationship metadata.",
            "type": "array",
            "minItems": 0,
            "items": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "id": {
                  "description": "The ID of the required skill.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{24}$"
                },
                "UUID": {
                  "description": "The UUID of the required skill.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                },
                "preferredLabel": {
                  "description": "The preferred label of the required skill.",
                  "type": "string",
                  "maxLength": 256,
                  "pattern": "\\S"
                },
                "isLocalized": {
                  "description": "Indicates if the required skill is localized.",
                  "type": "boolean"
                },
                "objectType": {
                  "description": "The object type of the required skill.",
                  "type": "string",
                  "enum": [
                    "skill"
                  ]
                },
                "relationType": {
                  "description": "The type of relationship between skills.",
                  "type": "string",
                  "enum": [
                    "essential",
                    "optional"
                  ]
                }
              },
              "required": [
                "id",
                "UUID",
                "preferredLabel",
                "isLocalized",
                "objectType",
                "relationType"
              ]
            }
          },
          "requiredBySkills": {
            "description": "Skills that require this skill with relationship metadata.",
            "type": "array",
            "minItems": 0,
            "items": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "id": {
                  "description": "The ID of the requiring skill.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{24}$"
                },
                "UUID": {
                  "description": "The UUID of the requiring skill.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                },
                "preferredLabel": {
                  "description": "The preferred label of the requiring skill.",
                  "type": "string",
                  "maxLength": 256,
                  "pattern": "\\S"
                },
                "isLocalized": {
                  "description": "Indicates if the requiring skill is localized.",
                  "type": "boolean"
                },
                "objectType": {
                  "description": "The object type of the requiring skill.",
                  "type": "string",
                  "enum": [
                    "skill"
                  ]
                },
                "relationType": {
                  "description": "The type of relationship between skills.",
                  "type": "string",
                  "enum": [
                    "essential",
                    "optional"
                  ]
                }
              },
              "required": [
                "id",
                "UUID",
                "preferredLabel",
                "isLocalized",
                "objectType",
                "relationType"
              ]
            }
          },
          "requiredByOccupations": {
            "description": "Occupations that require this skill with relationship metadata.",
            "type": "array",
            "minItems": 0,
            "items": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "id": {
                  "description": "The ID of the requiring occupation.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{24}$"
                },
                "UUID": {
                  "description": "The UUID of the requiring occupation.",
                  "type": "string",
                  "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
                },
                "preferredLabel": {
                  "description": "The preferred label of the requiring occupation.",
                  "type": "string",
                  "maxLength": 256,
                  "pattern": "\\S"
                },
                "isLocalized": {
                  "description": "Indicates if the requiring occupation is localized.",
                  "type": "boolean"
                },
                "objectType": {
                  "description": "The object type of the requiring occupation.",
                  "type": "string",
                  "enum": [
                    "escooccupation",
                    "localoccupation"
                  ]
                },
                "relationType": {
                  "description": "Used for ESCOOccupations only.",
                  "type": [
                    "string",
                    "null"
                  ],
                  "enum": [
                    "",
                    "essential",
                    "optional",
                    null
                  ]
                },
                "signallingValue": {
                  "description": "Used for LocalOccupations only.",
                  "type": [
                    "number",
                    "null"
                  ],
                  "minimum": 0,
                  "maximum": 100
                },
                "signallingValueLabel": {
                  "description": "Used for LocalOccupations only.",
                  "type": [
                    "string",
                    "null"
                  ],
                  "maxLength": 256,
                  "enum": [
                    "",
                    "low",
                    "medium",
                    "high",
                    null
                  ]
                }
              },
              "required": [
                "id",
                "UUID",
                "preferredLabel",
                "isLocalized",
                "objectType"
              ],
              "allOf": [
                {
                  "if": {
                    "properties": {
                      "objectType": {
                        "const": "escooccupation"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "relationType": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "relationType"
                    ]
                  }
                },
                {
                  "if": {
                    "properties": {
                      "objectType": {
                        "const": "localoccupation"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "signallingValue": {
                        "type": "number"
                      },
                      "signallingValueLabel": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "signallingValue",
                      "signallingValueLabel"
                    ]
                  }
                }
              ]
            }
          },
          "UUIDHistory": {
            "description": "The UUIDs history of the skill.",
            "type": "array",
            "minItems": 0,
            "maxItems": 10000,
            "uniqueItems": true,
            "items": {
              "type": "string",
              "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
              "maxLength": 50
            }
          },
          "originUri": {
            "description": "The origin URI of the skill.",
            "type": "string",
            "format": "uri",
            "maxLength": 4096,
            "pattern": "\\S"
          },
          "preferredLabel": {
            "description": "The preferred label of the skill.",
            "type": "string",
            "maxLength": 256,
            "pattern": "\\S"
          },
          "altLabels": {
            "description": "Alternative labels for the skill.",
            "type": "array",
            "minItems": 0,
            "maxItems": 100,
            "uniqueItems": true,
            "items": {
              "type": "string",
              "maxLength": 256
            }
          },
          "definition": {
            "description": "The formal definition of the skill.",
            "type": "string",
            "maxLength": 4000
          },
          "description": {
            "description": "Additional descriptive information about the skill.",
            "type": "string",
            "maxLength": 6000
          },
          "scopeNote": {
            "description": "Scope clarification for the skill's application.",
            "type": "string",
            "maxLength": 4000
          },
          "skillType": {
            "description": "The type of the skill (e.g., skill/competence, knowledge, language, attitude).",
            "type": "string",
            "enum": [
              "skill/competence",
              "knowledge",
              "language",
              "attitude"
            ]
          },
          "reuseLevel": {
            "description": "The reuse level of the skill (e.g., sector-specific, transversal).",
            "type": "string",
            "enum": [
              "sector-specific",
              "occupation-specific",
              "cross-sector",
              "transversal"
            ]
          },
          "isLocalized": {
            "description": "Indicates if the skill has localized variants.",
            "type": "boolean"
          },
          "modelId": {
            "description": "The identifier of the model containing this skill.",
            "type": "string",
            "pattern": "^[0-9a-f]{24}$"
          },
          "createdAt": {
            "description": "Timestamp of record creation.",
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "description": "Timestamp of last record modification.",
            "type": "string",
            "format": "date-time"
          },
          "relationType": {
            "description": "The type of relationship between skills.",
            "type": "string",
            "enum": [
              "essential",
              "optional"
            ]
          }
        },
        "required": [
          "id",
          "UUID",
          "originUUID",
          "UUIDHistory",
          "path",
          "tabiyaPath",
          "preferredLabel",
          "originUri",
          "altLabels",
          "definition",
          "description",
          "scopeNote",
          "skillType",
          "reuseLevel",
          "isLocalized",
          "modelId",
          "parents",
          "children",
          "requiresSkills",
          "requiredBySkills",
          "requiredByOccupations",
          "createdAt",
          "updatedAt",
          "relationType"
        ]
      },
      "SkillRelatedRequestQueryParamSchemaGET": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "limit": {
            "description": "Maximum number of items to return",
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 10
          },
          "cursor": {
            "description": "Pagination cursor for fetching the next page",
            "type": "string",
            "maxLength": 1720,
            "pattern": "\\S"
          }
        }
      }
    },
    "securitySchemes": {
      "jwt_auth": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "description": "OAuth2.0 JWT Based authentication. We support two kinds. Human in the loop and Machine to Machine tokens"
      },
      "api_key": {
        "type": "apiKey",
        "in": "header",
        "name": "X-API-Key",
        "description": "AWS API Akey. Contact administrators in order to get an API key."
      }
    }
  },
  "servers": [
    {
      "url": "/api/app",
      "description": "Internal Tools"
    },
    {
      "url": "/api/partner",
      "description": "Partner Integration"
    }
  ],
  "security": [
    {
      "api_key": []
    },
    {
      "jwt_auth": []
    }
  ],
  "paths": {
    "/info": {
      "get": {
        "operationId": "GetInfo",
        "tags": [
          "info"
        ],
        "summary": "Get information about the deployed api.",
        "description": "Retrieve information about the deployed api, including build details and database connection status.",
        "responses": {
          "200": {
            "description": "The deployed api information.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InfoSchema"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/UnAuthorizedResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/models/{modelId}/occupationGroups/{id}/children": {
      "get": {
        "operationId": "GETOccupationGroupChildrenByOccupationGroupId",
        "tags": [
          "occupationGroups"
        ],
        "summary": "Get occupation group children by its parent occupation group identifier in a taxonomy model.",
        "description": "Retrieve occupation group children by its unique parent occupation group identifier in a specific taxonomy model.",
        "security": [
          {
            "api_key": []
          },
          {
            "jwt_auth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "modelId",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/OccupationGroupRequestByIdParamSchemaGET/properties/modelId"
            }
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/OccupationGroupRequestByIdParamSchemaGET/properties/id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully retrieved the occupation group children.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OccupationGroupChildrenResponseSchemaGET"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/UnAuthorizedResponse"
          },
          "404": {
            "description": "Occupation group children or model not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GETOccupationGroupChildren404ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an unexpected condition.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/All500ResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/models/{modelId}/occupationGroups/{id}": {
      "get": {
        "operationId": "GETOccupationGroupById",
        "tags": [
          "occupationGroups"
        ],
        "summary": "Get an occupation group by its identifier in a taxonomy model.",
        "description": "Retrieve an occupation group by its unique identifier in a specific taxonomy model.",
        "security": [
          {
            "api_key": []
          },
          {
            "jwt_auth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "modelId",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/OccupationGroupRequestByIdParamSchemaGET/properties/modelId"
            }
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/OccupationGroupRequestByIdParamSchemaGET/properties/id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully retrieved the occupation group.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OccupationGroupResponseSchemaPOST"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/UnAuthorizedResponse"
          },
          "404": {
            "description": "Occupation group not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GETOccupationGroup404ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an unexpected condition.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/All500ResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/models/{modelId}/occupationGroups/{id}/parent": {
      "get": {
        "operationId": "GETOccupationGroupParentByOccupationGroupId",
        "tags": [
          "occupationGroups"
        ],
        "summary": "Get an occupation group's parent by its child occupation group identifier in a taxonomy model.",
        "description": "Retrieve an occupation group parent by its unique child occupation group identifier in a specific taxonomy model.",
        "security": [
          {
            "api_key": []
          },
          {
            "jwt_auth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "modelId",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/OccupationGroupRequestByIdParamSchemaGET/properties/modelId"
            }
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/OccupationGroupRequestByIdParamSchemaGET/properties/id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully retrieved the occupation group parent.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OccupationGroupParentResponseSchemaGET"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/UnAuthorizedResponse"
          },
          "404": {
            "description": "Occupation group parent not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GETOccupationGroupParent404ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an unexpected condition.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/All500ResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/models/{modelId}/occupationGroups": {
      "get": {
        "operationId": "GETOccupationGroups",
        "tags": [
          "occupationGroups"
        ],
        "summary": "Get a list of paginated occupation groups and cursor if there is one in a taxonomy model.",
        "description": "Retrieve a list of paginated occupation groups in a specific taxonomy model.",
        "security": [
          {
            "api_key": []
          },
          {
            "jwt_auth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "modelId",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/OccupationGroupRequestParamSchemaGET/properties/modelId"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/OccupationGroupRequestQueryParamSchemaGET/properties/limit"
            }
          },
          {
            "in": "query",
            "name": "cursor",
            "schema": {
              "$ref": "#/components/schemas/OccupationGroupRequestQueryParamSchemaGET/properties/cursor"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully retrieved the paginated occupation groups.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OccupationGroupResponseSchemaGET"
                }
              }
            }
          },
          "400": {
            "description": "Failed to retrieve the occupation groups. Additional information can be found in the response body.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GETOccupationGroup400ErrorSchema"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/UnAuthorizedResponse"
          },
          "404": {
            "description": "Occupation groups not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GETOccupationGroups404ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an unexpected condition.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/All500ResponseSchema"
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "POSTOccupationGroup",
        "tags": [
          "occupationGroups"
        ],
        "summary": "Create a new taxonomy occupation group.",
        "description": "Create a new taxonomy occupation group in a specific taxonomy model.",
        "security": [
          {
            "api_key": []
          },
          {
            "jwt_auth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "modelId",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/OccupationGroupRequestParamSchemaGET/properties/modelId"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OccupationGroupRequestSchemaPOST"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Successfully created the occupation group,",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OccupationGroupResponseSchemaPOST"
                }
              }
            }
          },
          "400": {
            "description": "Failed to create the occupation group. Additional information can be found in the response body.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/POSTOccupationGroup400ErrorSchema"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/UnAuthorizedResponse"
          },
          "403": {
            "description": "The request has not been applied because you don't have the right permissions to access this resource.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AllForbidden403ResponseSchema"
                }
              }
            }
          },
          "415": {
            "description": "The request is not supported because the media type is not acceptable.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AllContentType415ResponseSchema"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an unexpected condition.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/All500ResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/models/{modelId}/occupations/{id}/children": {
      "get": {
        "operationId": "GETOccupationChildrenById",
        "tags": [
          "occupations"
        ],
        "summary": "Get an occupation's children in a taxonomy model.",
        "description": "Retrieve the children of an occupation in a specific taxonomy model.",
        "security": [
          {
            "api_key": []
          },
          {
            "jwt_auth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "modelId",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/OccupationRequestParamSchemaGET/properties/modelId"
            }
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The unique ID of the occupation."
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/OccupationChildrenRequestQueryParamSchemaGET/properties/limit"
            }
          },
          {
            "in": "query",
            "name": "cursor",
            "schema": {
              "$ref": "#/components/schemas/OccupationChildrenRequestQueryParamSchemaGET/properties/cursor"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully retrieved the occupation children.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OccupationResponseSchemaGETChildren"
                }
              }
            }
          },
          "400": {
            "description": "Failed to retrieve the occupation children. Additional information can be found in the response body.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GETOccupation400ErrorSchema"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/UnAuthorizedResponse"
          },
          "404": {
            "description": "Occupation children or model not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GETOccupation404ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an unexpected condition.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/All500ResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/models/{modelId}/occupations/{id}": {
      "get": {
        "operationId": "GETOccupationById",
        "tags": [
          "occupations"
        ],
        "summary": "Get a single occupation by its ID in a taxonomy model.",
        "description": "Retrieve a single occupation by its ID in a specific taxonomy model.",
        "security": [
          {
            "api_key": []
          },
          {
            "jwt_auth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "modelId",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/OccupationRequestParamSchemaGET/properties/modelId"
            }
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The unique ID of the occupation."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully retrieved the occupation.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OccupationResponseSchemaPOST"
                }
              }
            }
          },
          "400": {
            "description": "Failed to retrieve the occupation. Additional information can be found in the response body.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GETOccupation400ErrorSchema"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/UnAuthorizedResponse"
          },
          "404": {
            "description": "Occupation not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GETOccupation404ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an unexpected condition.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/All500ResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/models/{modelId}/occupations/{id}/parent": {
      "get": {
        "operationId": "GETOccupationParentById",
        "tags": [
          "occupations"
        ],
        "summary": "Get an occupation's parent in a taxonomy model.",
        "description": "Retrieve the parent of an occupation in a specific taxonomy model.",
        "security": [
          {
            "api_key": []
          },
          {
            "jwt_auth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "modelId",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/OccupationRequestParamSchemaGET/properties/modelId"
            }
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The unique ID of the occupation."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully retrieved the occupation parent.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OccupationResponseSchemaGETParent"
                }
              }
            }
          },
          "400": {
            "description": "Failed to retrieve the occupation parent. Additional information can be found in the response body.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GETOccupation400ErrorSchema"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/UnAuthorizedResponse"
          },
          "404": {
            "description": "Occupation or parent not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GETOccupation404ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an unexpected condition.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/All500ResponseSchema"
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "POSTOccupationParentById",
        "tags": [
          "occupations"
        ],
        "summary": "Link an occupation parent.",
        "description": "Establish or update the parent relationship for a specific occupation in a specific taxonomy model.",
        "security": [
          {
            "api_key": []
          },
          {
            "jwt_auth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "modelId",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/OccupationRequestParamSchemaGET/properties/modelId"
            }
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The unique ID of the child occupation."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OccupationParentRequestSchemaPOST"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Successfully linked the occupation parent.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OccupationResponseSchemaGETParent"
                }
              }
            }
          },
          "400": {
            "description": "Failed to link the parent. Additional information can be found in the response body.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GETOccupation400ErrorSchema"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/UnAuthorizedResponse"
          },
          "403": {
            "$ref": "#/components/responses/ForbiddenResponse"
          },
          "404": {
            "description": "Occupation or parent not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GETOccupation404ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an unexpected condition.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/All500ResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/models/{modelId}/occupations/{id}/skills": {
      "get": {
        "operationId": "GETOccupationSkillsById",
        "tags": [
          "occupations"
        ],
        "summary": "Get an occupation's skills in a taxonomy model.",
        "description": "Retrieve the skills associated with an occupation in a specific taxonomy model.",
        "security": [
          {
            "api_key": []
          },
          {
            "jwt_auth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "modelId",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/OccupationRequestParamSchemaGET/properties/modelId"
            }
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The unique ID of the occupation."
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/OccupationSkillsRequestQueryParamSchemaGET/properties/limit"
            }
          },
          {
            "in": "query",
            "name": "cursor",
            "schema": {
              "$ref": "#/components/schemas/OccupationSkillsRequestQueryParamSchemaGET/properties/cursor"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully retrieved the occupation skills.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OccupationResponseSchemaGETSkills"
                }
              }
            }
          },
          "400": {
            "description": "Failed to retrieve the occupation skills. Additional information can be found in the response body.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GETOccupation400ErrorSchema"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/UnAuthorizedResponse"
          },
          "404": {
            "description": "Occupation skills or model not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GETOccupation404ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an unexpected condition.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/All500ResponseSchema"
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "POSTOccupationSkillsById",
        "tags": [
          "occupations"
        ],
        "summary": "Link an occupation skill.",
        "description": "Establish or update a requirement relation between an occupation and a skill in a specific taxonomy model.",
        "security": [
          {
            "api_key": []
          },
          {
            "jwt_auth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "modelId",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/OccupationRequestParamSchemaGET/properties/modelId"
            }
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The unique ID of the requiring occupation."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OccupationSkillsRequestSchemaPOST"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Successfully linked the occupation skill.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OccupationResponseSchemaGETSkills/properties/data/items"
                }
              }
            }
          },
          "400": {
            "description": "Failed to link the occupation skill. Additional information can be found in the response body.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GETOccupation400ErrorSchema"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/UnAuthorizedResponse"
          },
          "403": {
            "$ref": "#/components/responses/ForbiddenResponse"
          },
          "404": {
            "description": "Occupation, skill, or model not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GETOccupation404ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an unexpected condition.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/All500ResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/models/{modelId}/occupations": {
      "get": {
        "operationId": "GETOccupations",
        "tags": [
          "occupations"
        ],
        "summary": "Get a list of paginated occupations and cursor if there is one in a taxonomy model.",
        "description": "Retrieve a list of paginated occupations in a specific taxonomy model.",
        "security": [
          {
            "api_key": []
          },
          {
            "jwt_auth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "modelId",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/OccupationRequestParamSchemaGET/properties/modelId"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/OccupationRequestQueryParamSchemaGET/properties/limit"
            }
          },
          {
            "in": "query",
            "name": "cursor",
            "schema": {
              "$ref": "#/components/schemas/OccupationRequestQueryParamSchemaGET/properties/cursor"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully retrieved the paginated occupations.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OccupationResponseSchemaGET"
                }
              }
            }
          },
          "400": {
            "description": "Failed to retrieve the occupations. Additional information can be found in the response body.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GETOccupation400ErrorSchema"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/UnAuthorizedResponse"
          },
          "404": {
            "description": "Occupations not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GETOccupation404ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an unexpected condition.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/All500ResponseSchema"
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "POSTOccupation",
        "tags": [
          "occupations"
        ],
        "summary": "Create a new taxonomy occupation.",
        "description": "Create a new taxonomy occupation in a specific taxonomy model.",
        "security": [
          {
            "api_key": []
          },
          {
            "jwt_auth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "modelId",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/OccupationRequestParamSchemaGET/properties/modelId"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OccupationRequestSchemaPOST"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Successfully created the occupation,",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OccupationResponseSchemaPOST"
                }
              }
            }
          },
          "400": {
            "description": "Failed to create the occupation. Additional information can be found in the response body.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/POSTOccupation400ErrorSchema"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/UnAuthorizedResponse"
          },
          "403": {
            "description": "The request has not been applied because you don't have the right permissions to access this resource.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AllForbidden403ResponseSchema"
                }
              }
            }
          },
          "415": {
            "description": "The request is not supported because the media type is not acceptable.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AllContentType415ResponseSchema"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an unexpected condition.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/All500ResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/models/{modelId}/skills/{id}/children": {
      "get": {
        "operationId": "GETSkillChildren",
        "tags": [
          "skills"
        ],
        "summary": "Get a list of skill children.",
        "description": "Retrieve a paginated list of child skills or skill groups for a given skill.",
        "security": [
          {
            "jwt_auth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "modelId",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/SkillRequestByIdParamSchemaGET/properties/modelId"
            }
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/SkillRequestByIdParamSchemaGET/properties/id"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "$ref": "#/components/schemas/SkillChildrenRequestQueryParamSchemaGET/properties/limit"
            }
          },
          {
            "in": "query",
            "name": "cursor",
            "schema": {
              "$ref": "#/components/schemas/SkillChildrenRequestQueryParamSchemaGET/properties/cursor"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully retrieved the skill children.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkillChildrenResponseSchemaGET"
                }
              }
            }
          },
          "400": {
            "description": "Failed to retrieve the skill children. Additional information can be found in the response body.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GETSkillChildren400ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Model or Skill not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GETSkillChildren404ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an unexpected condition.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/All500ResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/models/{modelId}/skills/{id}": {
      "get": {
        "operationId": "GETSkillById",
        "tags": [
          "skills"
        ],
        "summary": "Get a skill by its identifier in a taxonomy model.",
        "description": "Retrieve a skill by its unique identifier in a specific taxonomy model.",
        "security": [
          {
            "jwt_auth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "modelId",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/SkillRequestByIdParamSchemaGET/properties/modelId"
            }
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/SkillRequestByIdParamSchemaGET/properties/id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully retrieved the skill.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkillResponseSchemaGETById"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/UnAuthorizedResponse"
          },
          "404": {
            "description": "Skill not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GETSkill404ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an unexpected condition.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/All500ResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/models/{modelId}/skills/{id}/occupations": {
      "get": {
        "operationId": "GETSkillOccupations",
        "tags": [
          "skills"
        ],
        "summary": "Get a list of skill occupations.",
        "description": "Retrieve a paginated list of occupations that require a given skill.",
        "security": [
          {
            "jwt_auth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "modelId",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/SkillRequestByIdParamSchemaGET/properties/modelId"
            }
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/SkillRequestByIdParamSchemaGET/properties/id"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "$ref": "#/components/schemas/SkillOccupationsRequestQueryParamSchemaGET/properties/limit"
            }
          },
          {
            "in": "query",
            "name": "cursor",
            "schema": {
              "$ref": "#/components/schemas/SkillOccupationsRequestQueryParamSchemaGET/properties/cursor"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully retrieved the skill occupations.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkillOccupationsResponseSchemaGET"
                }
              }
            }
          },
          "400": {
            "description": "Failed to retrieve the skill occupations. Additional information can be found in the response body.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GETSkillOccupations400ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Model or Skill not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GETSkillOccupations404ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an unexpected condition.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/All500ResponseSchema"
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "POSTSkillOccupationsById",
        "tags": [
          "skills"
        ],
        "summary": "Link a skill occupation.",
        "description": "Establish or update a requirement relation between an occupation and a skill in a specific taxonomy model.",
        "security": [
          {
            "api_key": []
          },
          {
            "jwt_auth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "modelId",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/SkillRequestParamSchemaGET/properties/modelId"
            }
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The unique ID of the required skill."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SkillOccupationsRequestSchemaPOST"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Successfully linked the skill occupation.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkillOccupationsResponseSchemaPOST"
                }
              }
            }
          },
          "400": {
            "description": "Failed to link the occupation. Additional information can be found in the response body.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GETSkillOccupations400ErrorSchema"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/UnAuthorizedResponse"
          },
          "403": {
            "$ref": "#/components/responses/ForbiddenResponse"
          },
          "404": {
            "description": "Skill, occupation, or model not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GETSkillOccupations404ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an unexpected condition.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/All500ResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/models/{modelId}/skills/{id}/parents": {
      "get": {
        "operationId": "GETSkillParents",
        "tags": [
          "skills"
        ],
        "summary": "Get a list of skill parents.",
        "description": "Retrieve a paginated list of parent skills or skill groups for a given skill.",
        "security": [
          {
            "jwt_auth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "modelId",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/SkillRequestByIdParamSchemaGET/properties/modelId"
            }
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/SkillRequestByIdParamSchemaGET/properties/id"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "$ref": "#/components/schemas/SkillParentsRequestQueryParamSchemaGET/properties/limit"
            }
          },
          {
            "in": "query",
            "name": "cursor",
            "schema": {
              "$ref": "#/components/schemas/SkillParentsRequestQueryParamSchemaGET/properties/cursor"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully retrieved the skill parents.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkillParentsResponseSchemaGET"
                }
              }
            }
          },
          "400": {
            "description": "Failed to retrieve the skill parents. Additional information can be found in the response body.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GETSkillParents400ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Model or Skill not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GETSkillParents404ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an unexpected condition.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/All500ResponseSchema"
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "POSTSkillParentsById",
        "tags": [
          "skills"
        ],
        "summary": "Link a skill parent.",
        "description": "Establish a parent relationship for a specific skill in a specific taxonomy model.",
        "security": [
          {
            "api_key": []
          },
          {
            "jwt_auth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "modelId",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/SkillRequestParamSchemaGET/properties/modelId"
            }
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The unique ID of the child skill."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SkillParentsRequestSchemaPOST"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Successfully linked the skill parent.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkillParentsResponseSchemaPOST"
                }
              }
            }
          },
          "400": {
            "description": "Failed to link the parent. Additional information can be found in the response body.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GETSkillParents400ErrorSchema"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/UnAuthorizedResponse"
          },
          "403": {
            "$ref": "#/components/responses/ForbiddenResponse"
          },
          "404": {
            "description": "Skill, parent, or model not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GETSkillParents404ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an unexpected condition.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/All500ResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/models/{modelId}/skills/{id}/related": {
      "get": {
        "operationId": "GETSkillRelated",
        "tags": [
          "skills"
        ],
        "summary": "Get a list of related skills.",
        "description": "Retrieve a paginated list of related skills for a given skill.",
        "security": [
          {
            "jwt_auth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "modelId",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/SkillRequestByIdParamSchemaGET/properties/modelId"
            }
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/SkillRequestByIdParamSchemaGET/properties/id"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "$ref": "#/components/schemas/SkillRelatedRequestQueryParamSchemaGET/properties/limit"
            }
          },
          {
            "in": "query",
            "name": "cursor",
            "schema": {
              "$ref": "#/components/schemas/SkillRelatedRequestQueryParamSchemaGET/properties/cursor"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully retrieved the related skills.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkillRelatedResponseSchemaGET"
                }
              }
            }
          },
          "400": {
            "description": "Failed to retrieve the related skills. Additional information can be found in the response body.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GETSkillRelated400ErrorSchema"
                }
              }
            }
          },
          "404": {
            "description": "Model or Skill not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GETSkillRelated404ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an unexpected condition.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/All500ResponseSchema"
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "POSTSkillRelatedById",
        "tags": [
          "skills"
        ],
        "summary": "Link a related skill.",
        "description": "Establish or update a relation between two skills in a specific taxonomy model.",
        "security": [
          {
            "api_key": []
          },
          {
            "jwt_auth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "modelId",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/SkillRequestParamSchemaGET/properties/modelId"
            }
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The unique ID of the requiring skill."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SkillRelatedRequestSchemaPOST"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Successfully linked the related skill.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkillRelatedResponseSchemaPOST"
                }
              }
            }
          },
          "400": {
            "description": "Failed to link the skill. Additional information can be found in the response body.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GETSkillRelated400ErrorSchema"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/UnAuthorizedResponse"
          },
          "403": {
            "$ref": "#/components/responses/ForbiddenResponse"
          },
          "404": {
            "description": "Skill or model not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GETSkillRelated404ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an unexpected condition.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/All500ResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/models/{modelId}/skills": {
      "get": {
        "operationId": "GETSkills",
        "tags": [
          "skills"
        ],
        "summary": "Get a paginated list of skills in a taxonomy model.",
        "description": "Retrieve a paginated list of skills in a specific taxonomy model.",
        "security": [
          {
            "api_key": []
          },
          {
            "jwt_auth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "modelId",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/SkillRequestParamSchemaGET/properties/modelId"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/SkillRequestQueryParamSchemaGET/properties/limit"
            }
          },
          {
            "in": "query",
            "name": "cursor",
            "schema": {
              "$ref": "#/components/schemas/SkillRequestQueryParamSchemaGET/properties/cursor"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully retrieved the paginated skills.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkillResponseSchemaGET"
                }
              }
            }
          },
          "400": {
            "description": "Failed to retrieve the skills. Additional information can be found in the response body.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GETSkill400ErrorSchema"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/UnAuthorizedResponse"
          },
          "404": {
            "description": "Skills not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GETSkills404ErrorSchema"
                }
              }
            }
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      },
      "post": {
        "operationId": "POSTSkill",
        "tags": [
          "skills"
        ],
        "summary": "Create a new taxonomy skill.",
        "description": "Create a new taxonomy skill in a specific taxonomy model.",
        "security": [
          {
            "api_key": []
          },
          {
            "jwt_auth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "modelId",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/SkillRequestParamSchemaPOST/properties/modelId"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SkillRequestSchemaPOST"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Successfully created the skill,",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkillResponseSchemaPOST"
                }
              }
            }
          },
          "400": {
            "description": "Failed to create the skill. Additional information can be found in the response body.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/POSTSkill400ErrorSchema"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/UnAuthorizedResponse"
          },
          "403": {
            "description": "The request has not been applied because you don't have the right permissions to access this resource.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AllForbidden403ResponseSchema"
                }
              }
            }
          },
          "415": {
            "description": "The request is not supported because the media type is not acceptable.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AllContentType415ResponseSchema"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an unexpected condition.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/All500ResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/models/{modelId}/skillGroups/{id}/children": {
      "get": {
        "operationId": "GETSkillGroupChildrenById",
        "tags": [
          "skillGroups"
        ],
        "summary": "Get an skill group's children by its identifier in a taxonomy model.",
        "description": "Retrieve a collection of children for skill group by its unique identifier in a specific taxonomy model.",
        "security": [
          {
            "api_key": []
          },
          {
            "jwt_auth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "modelId",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/SkillGroupRequestByIdParamSchemaGET/properties/modelId"
            }
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/SkillGroupRequestByIdParamSchemaGET/properties/id"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/SkillGroupChildrenRequestQueryParamSchemaGET/properties/limit"
            }
          },
          {
            "in": "query",
            "name": "cursor",
            "schema": {
              "$ref": "#/components/schemas/SkillGroupChildrenRequestQueryParamSchemaGET/properties/cursor"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully retrieved the skill group children.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkillGroupChildrenResponseSchemaGET"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/UnAuthorizedResponse"
          },
          "404": {
            "description": "Skill group not found or model not found. When the skill group exists but has no children, returns 200 with empty data array.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GETSkillGroupChildren404ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an unexpected condition.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/All500ResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/models/{modelId}/skillGroups/{id}": {
      "get": {
        "operationId": "GETSkillGroupById",
        "tags": [
          "skillGroups"
        ],
        "summary": "Get an skill group by its identifier in a taxonomy model.",
        "description": "Retrieve an skill group by its unique identifier in a specific taxonomy model.",
        "security": [
          {
            "api_key": []
          },
          {
            "jwt_auth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "modelId",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/SkillGroupRequestByIdParamSchemaGET/properties/modelId"
            }
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/SkillGroupRequestByIdParamSchemaGET/properties/id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully retrieved the skill group.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkillGroupResponseSchemaGETById"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/UnAuthorizedResponse"
          },
          "404": {
            "description": "Skill group not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GETSkillGroup404ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an unexpected condition.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/All500ResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/models/{modelId}/skillGroups/{id}/parents": {
      "get": {
        "operationId": "GETSkillGroupParentsById",
        "tags": [
          "skillGroups"
        ],
        "summary": "Get an skill group's parents by its identifier in a taxonomy model.",
        "description": "Retrieve a collection of parents for skill group by its unique identifier in a specific taxonomy model.",
        "security": [
          {
            "api_key": []
          },
          {
            "jwt_auth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "modelId",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/SkillGroupRequestByIdParamSchemaGET/properties/modelId"
            }
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/SkillGroupRequestByIdParamSchemaGET/properties/id"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/SkillGroupParentsRequestQueryParamSchemaGET/properties/limit"
            }
          },
          {
            "in": "query",
            "name": "cursor",
            "schema": {
              "$ref": "#/components/schemas/SkillGroupParentsRequestQueryParamSchemaGET/properties/cursor"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully retrieved the skill group parents.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkillGroupParentsResponseSchemaGET"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/UnAuthorizedResponse"
          },
          "404": {
            "description": "Skill group not found or model not found. When the skill group exists but has no parents, returns 200 with empty data array.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GETSkillGroupParents404ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an unexpected condition.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/All500ResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/models/{modelId}/skillGroups": {
      "get": {
        "operationId": "GETSkillGroups",
        "tags": [
          "skillGroups"
        ],
        "summary": "Get a list of paginated skill groups and cursor if there is one in a taxonomy model.",
        "description": "Retrieve a list of paginated skill groups in a specific taxonomy model.",
        "security": [
          {
            "api_key": []
          },
          {
            "jwt_auth": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "modelId",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/SkillGroupRequestParamSchemaGET/properties/modelId"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/SkillGroupRequestQueryParamSchemaGET/properties/limit"
            }
          },
          {
            "in": "query",
            "name": "cursor",
            "schema": {
              "$ref": "#/components/schemas/SkillGroupRequestQueryParamSchemaGET/properties/cursor"
            }
          },
          {
            "in": "query",
            "name": "childrenIds",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/SkillGroupRequestQueryParamSchemaGET/properties/childrenIds"
            }
          },
          {
            "in": "query",
            "name": "childrenType",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/SkillGroupRequestQueryParamSchemaGET/properties/childrenType"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully retrieved the paginated skill groups.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkillGroupResponseSchemaGET"
                }
              }
            }
          },
          "400": {
            "description": "Failed to retrieve the skill groups. Additional information can be found in the response body.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GETSkillGroup400ErrorSchema"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/UnAuthorizedResponse"
          },
          "404": {
            "description": "Model not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GETSkillGroups404ErrorSchema"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an unexpected condition.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/All500ResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/export": {
      "post": {
        "operationId": "POSTExport",
        "tags": [
          "export"
        ],
        "summary": "Trigger the export process.",
        "description": "Asynchronously trigger the export process for a given model.",
        "security": [
          {
            "api_key": []
          },
          {
            "jwt_auth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExportSchema"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successfully triggered the export process."
          },
          "400": {
            "description": "Failed to trigger the export process. Additional information can be found in the response body.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/UnAuthorizedResponse"
          },
          "403": {
            "$ref": "#/components/responses/ForbiddenResponse"
          },
          "404": {
            "description": "Model could not be found.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "415": {
            "$ref": "#/components/responses/AcceptOnlyJSONResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/import": {
      "post": {
        "operationId": "PostImport",
        "tags": [
          "import"
        ],
        "summary": "Trigger the import process.",
        "description": "Asynchronously trigger the import process for a given model.",
        "security": [
          {
            "api_key": []
          },
          {
            "jwt_auth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ImportSchema"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Import process was successfully triggered. The import process is running asynchronously."
          },
          "400": {
            "description": "Failed to trigger the import process. Additional information can be found in the response body.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/UnAuthorizedResponse"
          },
          "403": {
            "$ref": "#/components/responses/ForbiddenResponse"
          },
          "415": {
            "$ref": "#/components/responses/AcceptOnlyJSONResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/models": {
      "post": {
        "operationId": "POSTModel",
        "tags": [
          "model"
        ],
        "summary": "Create a new taxonomy model.",
        "description": "Create a new taxonomy model that can be used to import data into it.",
        "security": [
          {
            "api_key": []
          },
          {
            "jwt_auth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ModelInfoRequestSchemaPOST"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Successfully created the model,",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ModelInfoResponseSchemaPOST"
                }
              }
            }
          },
          "400": {
            "description": "Failed to create the model. Additional information can be found in the response body.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/UnAuthorizedResponse"
          },
          "403": {
            "$ref": "#/components/responses/ForbiddenResponse"
          },
          "415": {
            "$ref": "#/components/responses/AcceptOnlyJSONResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      },
      "get": {
        "operationId": "GETModel",
        "tags": [
          "model"
        ],
        "summary": "Get a taxonomy model information",
        "description": "Retrieve information about a specific taxonomy model.",
        "security": [
          {
            "api_key": []
          },
          {
            "jwt_auth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully retrieved the taxonomy model information.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ModelInfoResponseSchemaGET"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/UnAuthorizedResponse"
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorSchema"
                }
              }
            }
          }
        }
      }
    },
    "/presigned": {
      "get": {
        "operationId": "GetPresignedUrl",
        "tags": [
          "import"
        ],
        "summary": "Get a presigned url that can be used to upload files to the import.",
        "description": "Returns a presigned url that can be used to upload files to the import. There url expires after 1 hour. The maximum file size is 10 MB.\n",
        "security": [
          {
            "api_key": []
          },
          {
            "jwt_auth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully created the presigned url.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PresignedSchema"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/UnAuthorizedResponse"
          },
          "403": {
            "$ref": "#/components/responses/ForbiddenResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    }
  },
  "tags": []
}