{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://api.supasaju.com/schemas/seun.json",
  "title": "seun 모듈 응답",
  "description": "실제 엔진 출력에서 생성된 스키마입니다.",
  "type": "object",
  "properties": {
    "referenceYear": {
      "type": "integer",
      "examples": [
        2026
      ]
    },
    "window": {
      "type": "integer",
      "examples": [
        1
      ]
    },
    "entries": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "calendarYear": {
            "type": "integer",
            "examples": [
              2025,
              2026
            ]
          },
          "ganji": {
            "type": "string",
            "examples": [
              "을사",
              "병오"
            ]
          },
          "ganjiHan": {
            "type": "string",
            "examples": [
              "乙巳",
              "丙午"
            ]
          },
          "ganjiIndex": {
            "type": "integer",
            "examples": [
              41,
              42
            ]
          },
          "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"
                  },
                  "meaning": {
                    "type": "string"
                  }
                },
                "required": [
                  "group",
                  "groupKo",
                  "han",
                  "id",
                  "ko"
                ]
              }
            },
            "required": [
              "element",
              "elementHan",
              "elementKo",
              "han",
              "index",
              "ko",
              "polarity",
              "polarityKo",
              "sipseong"
            ]
          },
          "branch": {
            "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"
              },
              "animalKo": {
                "type": "string"
              },
              "sipseong": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string"
                  },
                  "ko": {
                    "type": "string"
                  },
                  "han": {
                    "type": "string"
                  },
                  "group": {
                    "type": "string"
                  },
                  "groupKo": {
                    "type": "string"
                  },
                  "meaning": {
                    "type": "string"
                  }
                },
                "required": [
                  "group",
                  "groupKo",
                  "han",
                  "id",
                  "ko"
                ]
              },
              "hiddenStems": {
                "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"
                      ]
                    },
                    "role": {
                      "type": "string"
                    },
                    "roleKo": {
                      "type": "string"
                    },
                    "roleHan": {
                      "type": "string"
                    },
                    "days": {
                      "type": "integer"
                    }
                  },
                  "required": [
                    "days",
                    "role",
                    "roleHan",
                    "roleKo",
                    "stem"
                  ]
                }
              }
            },
            "required": [
              "animalKo",
              "element",
              "elementHan",
              "elementKo",
              "han",
              "hiddenStems",
              "index",
              "ko",
              "polarity",
              "polarityKo",
              "sipseong"
            ]
          },
          "twelveStage": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "ko": {
                "type": "string"
              },
              "han": {
                "type": "string"
              },
              "order": {
                "type": "integer"
              },
              "keyword": {
                "type": "string"
              },
              "phase": {
                "type": "string"
              },
              "meaning": {
                "type": "string"
              }
            },
            "required": [
              "han",
              "id",
              "ko",
              "order"
            ]
          },
          "relations": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "kind": {
                  "type": "string"
                },
                "kindKo": {
                  "type": "string"
                },
                "withPosition": {
                  "type": "string"
                },
                "withPositionKo": {
                  "type": "string"
                },
                "withPositions": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "glyphs": {
                  "type": "string"
                },
                "glyphsHan": {
                  "type": "string"
                },
                "meaning": {
                  "type": "string"
                },
                "reasoning": {
                  "type": "string"
                }
              },
              "required": [
                "glyphs",
                "glyphsHan",
                "kind",
                "kindKo",
                "withPosition",
                "withPositionKo",
                "withPositions"
              ]
            }
          },
          "twelveSinsal": {
            "type": "object",
            "properties": {
              "byYear": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string"
                  },
                  "ko": {
                    "type": "string"
                  },
                  "han": {
                    "type": "string"
                  },
                  "meaning": {
                    "type": "string"
                  }
                },
                "required": [
                  "han",
                  "id",
                  "ko"
                ]
              },
              "byDay": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string"
                  },
                  "ko": {
                    "type": "string"
                  },
                  "han": {
                    "type": "string"
                  },
                  "meaning": {
                    "type": "string"
                  }
                },
                "required": [
                  "han",
                  "id",
                  "ko"
                ]
              }
            },
            "required": [
              "byDay",
              "byYear"
            ]
          },
          "fortuneSinsal": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "ko": {
                  "type": "string"
                },
                "han": {
                  "type": "string"
                }
              },
              "required": [
                "han",
                "id",
                "ko"
              ]
            }
          },
          "sinsalOnFortune": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "ko": {
                  "type": "string"
                },
                "han": {
                  "type": "string"
                },
                "basis": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "meaning": {
                  "type": "string"
                }
              },
              "required": [
                "han",
                "id",
                "ko"
              ]
            }
          },
          "isGongmang": {
            "type": "boolean"
          },
          "startsAt": {
            "type": "string",
            "examples": [
              "2025-02-03 23:10",
              "2026-02-04 05:02"
            ]
          },
          "endsAt": {
            "type": "string",
            "examples": [
              "2026-02-04 05:01",
              "2027-02-04 10:45"
            ]
          },
          "isReference": {
            "type": "boolean"
          },
          "isCurrent": {
            "type": "boolean"
          },
          "age": {
            "type": "object",
            "properties": {
              "international": {
                "type": "integer"
              },
              "korean": {
                "type": "integer"
              }
            },
            "required": [
              "international",
              "korean"
            ]
          },
          "meaning": {
            "type": "string"
          }
        },
        "required": [
          "age",
          "branch",
          "calendarYear",
          "endsAt",
          "fortuneSinsal",
          "ganji",
          "ganjiHan",
          "ganjiIndex",
          "isCurrent",
          "isGongmang",
          "isReference",
          "relations",
          "sinsalOnFortune",
          "startsAt",
          "stem",
          "twelveSinsal",
          "twelveStage"
        ]
      }
    },
    "current": {
      "type": "object",
      "properties": {
        "calendarYear": {
          "type": "integer",
          "examples": [
            2026
          ]
        },
        "ganji": {
          "type": "string",
          "examples": [
            "병오"
          ]
        },
        "ganjiHan": {
          "type": "string",
          "examples": [
            "丙午"
          ]
        },
        "ganjiIndex": {
          "type": "integer",
          "examples": [
            42
          ]
        },
        "stem": {
          "type": "object",
          "properties": {
            "index": {
              "type": "integer",
              "examples": [
                2
              ]
            },
            "han": {
              "type": "string",
              "examples": [
                "丙"
              ]
            },
            "ko": {
              "type": "string",
              "examples": [
                "병"
              ]
            },
            "element": {
              "type": "string",
              "examples": [
                "fire"
              ]
            },
            "elementKo": {
              "type": "string",
              "examples": [
                "화"
              ]
            },
            "elementHan": {
              "type": "string",
              "examples": [
                "火"
              ]
            },
            "polarity": {
              "type": "string",
              "examples": [
                "yang"
              ]
            },
            "polarityKo": {
              "type": "string",
              "examples": [
                "양"
              ]
            },
            "sipseong": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "ko": {
                  "type": "string"
                },
                "han": {
                  "type": "string"
                },
                "group": {
                  "type": "string"
                },
                "groupKo": {
                  "type": "string"
                },
                "meaning": {
                  "type": "string"
                }
              },
              "required": [
                "group",
                "groupKo",
                "han",
                "id",
                "ko"
              ]
            }
          },
          "required": [
            "element",
            "elementHan",
            "elementKo",
            "han",
            "index",
            "ko",
            "polarity",
            "polarityKo",
            "sipseong"
          ]
        },
        "branch": {
          "type": "object",
          "properties": {
            "index": {
              "type": "integer",
              "examples": [
                6
              ]
            },
            "han": {
              "type": "string",
              "examples": [
                "午"
              ]
            },
            "ko": {
              "type": "string",
              "examples": [
                "오"
              ]
            },
            "element": {
              "type": "string",
              "examples": [
                "fire"
              ]
            },
            "elementKo": {
              "type": "string",
              "examples": [
                "화"
              ]
            },
            "elementHan": {
              "type": "string",
              "examples": [
                "火"
              ]
            },
            "polarity": {
              "type": "string",
              "examples": [
                "yang"
              ]
            },
            "polarityKo": {
              "type": "string",
              "examples": [
                "양"
              ]
            },
            "animalKo": {
              "type": "string",
              "examples": [
                "말"
              ]
            },
            "sipseong": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "ko": {
                  "type": "string"
                },
                "han": {
                  "type": "string"
                },
                "group": {
                  "type": "string"
                },
                "groupKo": {
                  "type": "string"
                },
                "meaning": {
                  "type": "string"
                }
              },
              "required": [
                "group",
                "groupKo",
                "han",
                "id",
                "ko"
              ]
            },
            "hiddenStems": {
              "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"
                    ]
                  },
                  "role": {
                    "type": "string"
                  },
                  "roleKo": {
                    "type": "string"
                  },
                  "roleHan": {
                    "type": "string"
                  },
                  "days": {
                    "type": "integer"
                  }
                },
                "required": [
                  "days",
                  "role",
                  "roleHan",
                  "roleKo",
                  "stem"
                ]
              }
            }
          },
          "required": [
            "animalKo",
            "element",
            "elementHan",
            "elementKo",
            "han",
            "hiddenStems",
            "index",
            "ko",
            "polarity",
            "polarityKo",
            "sipseong"
          ]
        },
        "twelveStage": {
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "examples": [
                "jewang",
                "byeong"
              ]
            },
            "ko": {
              "type": "string",
              "examples": [
                "제왕",
                "병"
              ]
            },
            "han": {
              "type": "string",
              "examples": [
                "帝旺",
                "病"
              ]
            },
            "order": {
              "type": "integer",
              "examples": [
                5,
                7
              ]
            },
            "keyword": {
              "type": "string",
              "examples": [
                "절정",
                "소진"
              ]
            },
            "phase": {
              "type": "string",
              "examples": [
                "정점",
                "하강"
              ]
            },
            "meaning": {
              "type": "string"
            }
          },
          "required": [
            "han",
            "id",
            "ko",
            "order"
          ]
        },
        "relations": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string"
              },
              "kindKo": {
                "type": "string"
              },
              "withPosition": {
                "type": "string"
              },
              "withPositionKo": {
                "type": "string"
              },
              "withPositions": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "glyphs": {
                "type": "string"
              },
              "glyphsHan": {
                "type": "string"
              },
              "meaning": {
                "type": "string"
              },
              "reasoning": {
                "type": "string"
              }
            },
            "required": [
              "glyphs",
              "glyphsHan",
              "kind",
              "kindKo",
              "withPosition",
              "withPositionKo",
              "withPositions"
            ]
          }
        },
        "twelveSinsal": {
          "type": "object",
          "properties": {
            "byYear": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "ko": {
                  "type": "string"
                },
                "han": {
                  "type": "string"
                },
                "meaning": {
                  "type": "string"
                }
              },
              "required": [
                "han",
                "id",
                "ko"
              ]
            },
            "byDay": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "ko": {
                  "type": "string"
                },
                "han": {
                  "type": "string"
                },
                "meaning": {
                  "type": "string"
                }
              },
              "required": [
                "han",
                "id",
                "ko"
              ]
            }
          },
          "required": [
            "byDay",
            "byYear"
          ]
        },
        "fortuneSinsal": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "ko": {
                "type": "string"
              },
              "han": {
                "type": "string"
              }
            },
            "required": [
              "han",
              "id",
              "ko"
            ]
          }
        },
        "sinsalOnFortune": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "ko": {
                "type": "string"
              },
              "han": {
                "type": "string"
              },
              "basis": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "meaning": {
                "type": "string"
              }
            },
            "required": [
              "han",
              "id",
              "ko"
            ]
          }
        },
        "isGongmang": {
          "type": "boolean"
        },
        "startsAt": {
          "type": "string",
          "examples": [
            "2026-02-04 05:02"
          ]
        },
        "endsAt": {
          "type": "string",
          "examples": [
            "2027-02-04 10:45"
          ]
        },
        "isReference": {
          "type": "boolean"
        },
        "isCurrent": {
          "type": "boolean"
        },
        "age": {
          "type": "object",
          "properties": {
            "international": {
              "type": "integer",
              "examples": [
                38,
                36
              ]
            },
            "korean": {
              "type": "integer",
              "examples": [
                39,
                37
              ]
            }
          },
          "required": [
            "international",
            "korean"
          ]
        },
        "meaning": {
          "type": "string"
        }
      },
      "required": [
        "age",
        "branch",
        "calendarYear",
        "endsAt",
        "fortuneSinsal",
        "ganji",
        "ganjiHan",
        "ganjiIndex",
        "isCurrent",
        "isGongmang",
        "isReference",
        "relations",
        "sinsalOnFortune",
        "startsAt",
        "stem",
        "twelveSinsal",
        "twelveStage"
      ]
    },
    "basis": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "current",
    "entries",
    "referenceYear",
    "window"
  ]
}