{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://api.supasaju.com/schemas/yongsin.json",
  "title": "yongsin 모듈 응답",
  "description": "실제 엔진 출력에서 생성된 스키마입니다.",
  "type": "object",
  "properties": {
    "primary": {
      "type": "object",
      "properties": {
        "method": {
          "type": "string",
          "examples": [
            "eokbu",
            "johu"
          ]
        },
        "methodKo": {
          "type": "string",
          "examples": [
            "억부",
            "조후"
          ]
        },
        "group": {
          "type": [
            "null",
            "string"
          ],
          "examples": [
            "gwanseong",
            "inseong"
          ]
        },
        "groupKo": {
          "type": [
            "null",
            "string"
          ],
          "examples": [
            "관성",
            "인성"
          ]
        },
        "element": {
          "type": "string",
          "examples": [
            "wood",
            "fire"
          ]
        },
        "elementKo": {
          "type": "string",
          "examples": [
            "목",
            "화"
          ]
        },
        "elementHan": {
          "type": "string",
          "examples": [
            "木",
            "火"
          ]
        },
        "reasoning": {
          "type": "string",
          "examples": [
            "종세격이 성립해 지배 세력 재성을 따르는 것을 용신으로 본다.",
            "종강격이 성립해 지배 세력 인성을 따르는 것을 용신으로 본다."
          ]
        }
      },
      "required": [
        "element",
        "elementHan",
        "elementKo",
        "group",
        "groupKo",
        "method",
        "methodKo"
      ]
    },
    "secondary": {
      "type": "object",
      "properties": {
        "method": {
          "type": "string",
          "examples": [
            "johu",
            "eokbu"
          ]
        },
        "methodKo": {
          "type": "string",
          "examples": [
            "조후",
            "억부"
          ]
        },
        "group": {
          "type": [
            "null",
            "string"
          ],
          "examples": [
            "siksang",
            "jaeseong"
          ]
        },
        "element": {
          "type": "string",
          "examples": [
            "fire",
            "water"
          ]
        },
        "elementKo": {
          "type": "string",
          "examples": [
            "화",
            "수"
          ]
        },
        "elementHan": {
          "type": "string",
          "examples": [
            "火",
            "水"
          ]
        },
        "reasoning": {
          "type": "string",
          "examples": [
            "조후용신 병(丙)·갑(甲)·계(癸)(궁통보감)는 보조로 참고한다.",
            "조후용신 임(壬)·갑(甲)(궁통보감)은 보조로 참고한다."
          ]
        }
      },
      "required": [
        "element",
        "elementHan",
        "elementKo",
        "group",
        "method",
        "methodKo"
      ]
    },
    "eokbu": {
      "type": "object",
      "properties": {
        "group": {
          "type": "string",
          "examples": [
            "gwanseong",
            "inseong"
          ]
        },
        "element": {
          "type": "string",
          "examples": [
            "wood",
            "fire"
          ]
        },
        "elementKo": {
          "type": "string",
          "examples": [
            "목",
            "화"
          ]
        },
        "elementHan": {
          "type": "string",
          "examples": [
            "木",
            "火"
          ]
        },
        "candidates": {
          "type": "array",
          "items": {
            "type": "string",
            "examples": [
              "gwanseong",
              "siksang"
            ]
          }
        },
        "presentInChart": {
          "type": "boolean"
        },
        "cause": {
          "type": "string",
          "examples": [
            "비겁이 많아 강함",
            "인성이 많아 강함"
          ]
        },
        "reasoning": {
          "type": "string"
        }
      },
      "required": [
        "candidates",
        "element",
        "elementHan",
        "elementKo",
        "group",
        "presentInChart"
      ]
    },
    "johu": {
      "type": "object",
      "properties": {
        "stems": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "stem": {
                "type": "object",
                "properties": {
                  "index": {
                    "type": "integer"
                  },
                  "han": {
                    "type": "string"
                  },
                  "ko": {
                    "type": "string"
                  },
                  "element": {
                    "type": "string"
                  },
                  "elementKo": {
                    "type": "string"
                  },
                  "elementHan": {
                    "type": "string"
                  },
                  "polarity": {
                    "type": "string"
                  },
                  "polarityKo": {
                    "type": "string"
                  },
                  "sipseong": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string"
                      },
                      "ko": {
                        "type": "string"
                      },
                      "han": {
                        "type": "string"
                      },
                      "group": {
                        "type": "string"
                      },
                      "groupKo": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "group",
                      "groupKo",
                      "han",
                      "id",
                      "ko"
                    ]
                  }
                },
                "required": [
                  "element",
                  "elementHan",
                  "elementKo",
                  "han",
                  "index",
                  "ko",
                  "polarity",
                  "polarityKo",
                  "sipseong"
                ]
              }
            },
            "required": [
              "stem"
            ]
          }
        },
        "urgent": {
          "type": "boolean"
        },
        "season": {
          "type": "string",
          "examples": [
            "봄",
            "가을"
          ]
        },
        "sourceQuote": {
          "type": "string",
          "examples": [
            "戊土司令，母旺子相，须甲疏土，壬洩旺金，先壬后甲。壬甲两透，桃洞之仙",
            "丁火司权，禾稼俱旱。上半月属阳，仍用癸水"
          ]
        },
        "verifiedInText": {
          "type": "boolean"
        },
        "reasoning": {
          "type": "string",
          "examples": [
            "봄생으로 한난이 극단이 아니라 조후는 보조로 본다.",
            "가을생으로 한난이 극단이 아니라 조후는 보조로 본다."
          ]
        }
      },
      "required": [
        "season",
        "sourceQuote",
        "stems",
        "urgent",
        "verifiedInText"
      ]
    },
    "gyeokgukYongsin": {
      "type": [
        "null",
        "object"
      ],
      "properties": {
        "group": {
          "type": "string",
          "examples": [
            "inseong",
            "gwanseong"
          ]
        },
        "groupKo": {
          "type": "string",
          "examples": [
            "인성",
            "관성"
          ]
        },
        "element": {
          "type": "string",
          "examples": [
            "fire",
            "earth"
          ]
        },
        "elementKo": {
          "type": "string",
          "examples": [
            "화",
            "토"
          ]
        },
        "elementHan": {
          "type": "string",
          "examples": [
            "火",
            "土"
          ]
        },
        "present": {
          "type": "boolean"
        },
        "reasoning": {
          "type": "string",
          "examples": [
            "정관은 재로 생하고 인으로 보호한다(순용)",
            "인은 관살로 생한다(순용)"
          ]
        }
      },
      "required": []
    },
    "fiveGods": {
      "type": "object",
      "properties": {
        "yongsin": {
          "type": "object",
          "properties": {
            "element": {
              "type": "string",
              "examples": [
                "wood",
                "fire"
              ]
            },
            "elementKo": {
              "type": "string",
              "examples": [
                "목",
                "화"
              ]
            },
            "elementHan": {
              "type": "string",
              "examples": [
                "木",
                "火"
              ]
            }
          },
          "required": [
            "element",
            "elementHan",
            "elementKo"
          ]
        },
        "huisin": {
          "type": "object",
          "properties": {
            "element": {
              "type": "string",
              "examples": [
                "water",
                "wood"
              ]
            },
            "elementKo": {
              "type": "string",
              "examples": [
                "수",
                "목"
              ]
            },
            "elementHan": {
              "type": "string",
              "examples": [
                "水",
                "木"
              ]
            }
          },
          "required": [
            "element",
            "elementHan",
            "elementKo"
          ]
        },
        "gisin": {
          "type": "object",
          "properties": {
            "element": {
              "type": "string",
              "examples": [
                "metal",
                "water"
              ]
            },
            "elementKo": {
              "type": "string",
              "examples": [
                "금",
                "수"
              ]
            },
            "elementHan": {
              "type": "string",
              "examples": [
                "金",
                "水"
              ]
            }
          },
          "required": [
            "element",
            "elementHan",
            "elementKo"
          ]
        },
        "gusin": {
          "type": "object",
          "properties": {
            "element": {
              "type": "string",
              "examples": [
                "earth",
                "metal"
              ]
            },
            "elementKo": {
              "type": "string",
              "examples": [
                "토",
                "금"
              ]
            },
            "elementHan": {
              "type": "string",
              "examples": [
                "土",
                "金"
              ]
            }
          },
          "required": [
            "element",
            "elementHan",
            "elementKo"
          ]
        },
        "hansin": {
          "type": "object",
          "properties": {
            "element": {
              "type": "string",
              "examples": [
                "fire",
                "earth"
              ]
            },
            "elementKo": {
              "type": "string",
              "examples": [
                "화",
                "토"
              ]
            },
            "elementHan": {
              "type": "string",
              "examples": [
                "火",
                "土"
              ]
            }
          },
          "required": [
            "element",
            "elementHan",
            "elementKo"
          ]
        }
      },
      "required": [
        "gisin",
        "gusin",
        "hansin",
        "huisin",
        "yongsin"
      ]
    },
    "agreement": {
      "type": "boolean"
    },
    "meaning": {
      "type": "string"
    },
    "basis": {
      "type": "array",
      "items": {
        "type": "string",
        "examples": [
          "격국용신(상신)은 관성(화)으로, 인은 관살로 생한다(순용)",
          "격국용신(상신)은 재성(토)으로, 식신은 재로 흐르게 한다(순용)"
        ]
      }
    }
  },
  "required": [
    "agreement",
    "eokbu",
    "fiveGods",
    "gyeokgukYongsin",
    "johu",
    "primary",
    "secondary"
  ]
}