{"openapi":"3.1.0","info":{"title":"윤슬 Agent API","description":"정통 만세력 사주 계산 도구. API 키(크레딧) 또는 x402(USDC, PAYMENT-SIGNATURE 헤더)로 호출마다 가격표만큼 낸다. 입력이 틀리면 422(과금 없음), 돈이 없으면 402.","version":"1.0.0"},"servers":[{"url":"https://yunseul.threebillions.com"}],"paths":{"/api/agent/v1/tools":{"get":{"tags":["Agent API"],"summary":"도구·가격 목록 (무료)","operationId":"list_tools_api_agent_v1_tools_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response List Tools Api Agent V1 Tools Get"}}}}}}},"/api/agent/v1/balance":{"get":{"tags":["Agent API"],"summary":"내 키의 잔액","operationId":"balance_api_agent_v1_balance_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Balance Api Agent V1 Balance Get"}}}}}}},"/api/agent/v1/tools/day_pillar":{"post":{"tags":["Agent API"],"summary":"일진 — $0.02","operationId":"day_pillar_api_agent_v1_tools_day_pillar_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DayPillarInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Day Pillar Api Agent V1 Tools Day Pillar Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/agent/v1/tools/saju_chart":{"post":{"tags":["Agent API"],"summary":"사주 명식 — $0.05","operationId":"saju_chart_api_agent_v1_tools_saju_chart_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SajuChartInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Saju Chart Api Agent V1 Tools Saju Chart Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/agent/v1/tools/unse":{"post":{"tags":["Agent API"],"summary":"운세 흐름 — $0.1","operationId":"unse_api_agent_v1_tools_unse_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnseInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Unse Api Agent V1 Tools Unse Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/agent/v1/tools/monthly":{"post":{"tags":["Agent API"],"summary":"이달의 세운 — $0.1","operationId":"monthly_api_agent_v1_tools_monthly_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MonthlyInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Monthly Api Agent V1 Tools Monthly Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/agent/v1/tools/compatibility":{"post":{"tags":["Agent API"],"summary":"궁합 — $0.1","operationId":"compatibility_api_agent_v1_tools_compatibility_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompatibilityInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Compatibility Api Agent V1 Tools Compatibility Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"AgentBirth":{"properties":{"year":{"type":"integer","maximum":2100.0,"minimum":1900.0,"title":"Year","description":"출생 연도","examples":[1990]},"month":{"type":"integer","maximum":12.0,"minimum":1.0,"title":"Month","description":"출생 월","examples":[5]},"day":{"type":"integer","maximum":31.0,"minimum":1.0,"title":"Day","description":"출생 일","examples":[15]},"hour":{"anyOf":[{"type":"integer","maximum":23.0,"minimum":0.0},{"type":"null"}],"title":"Hour","description":"출생 시(0~23). 모르면 비운다 — 시주 없이 여섯 글자로 본다"},"minute":{"anyOf":[{"type":"integer","maximum":59.0,"minimum":0.0},{"type":"null"}],"title":"Minute","description":"출생 분"},"gender":{"type":"string","enum":["M","F"],"title":"Gender","description":"성별 — 대운의 순행·역행을 가른다","default":"M"},"city":{"type":"string","maxLength":30,"minLength":1,"title":"City","description":"출생지(한국 시·군·구 이름). 경도로 시주를 보정한다. 모르는 이름은 422","default":"서울"},"is_lunar":{"type":"boolean","title":"Is Lunar","description":"음력 생일이면 true","default":false},"is_leap_month":{"type":"boolean","title":"Is Leap Month","description":"음력 윤달이면 true","default":false}},"type":"object","required":["year","month","day"],"title":"AgentBirth"},"CompatibilityInput":{"properties":{"a":{"$ref":"#/components/schemas/AgentBirth"},"b":{"$ref":"#/components/schemas/AgentBirth"},"relation":{"type":"string","enum":["연인","직장/동료","친구","사업 파트너"],"title":"Relation","description":"두 사람의 관계. 사업 파트너면 business(십신·역할·주의점)가 붙는다","default":"연인"}},"type":"object","required":["a","b"],"title":"CompatibilityInput"},"DayPillarInput":{"properties":{"date":{"type":"string","format":"date","title":"Date","description":"양력 날짜 YYYY-MM-DD","examples":["2026-10-08"]}},"type":"object","required":["date"],"title":"DayPillarInput"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"MonthlyInput":{"properties":{"birth":{"$ref":"#/components/schemas/AgentBirth"},"period":{"type":"string","pattern":"^\\d{4}-(0[1-9]|1[0-2])$","title":"Period","description":"양력 월 YYYY-MM","examples":["2026-10"]}},"type":"object","required":["birth","period"],"title":"MonthlyInput"},"SajuChartInput":{"properties":{"birth":{"$ref":"#/components/schemas/AgentBirth"}},"type":"object","required":["birth"],"title":"SajuChartInput"},"UnseInput":{"properties":{"birth":{"$ref":"#/components/schemas/AgentBirth"},"start_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Start Date","description":"시작일(비우면 오늘, 한국 시간)"},"months":{"type":"integer","maximum":12.0,"minimum":1.0,"title":"Months","description":"조회 기간(개월)","default":1}},"type":"object","required":["birth"],"title":"UnseInput"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}},"securitySchemes":{"bearer":{"type":"http","scheme":"bearer"}}},"security":[{"bearer":[]}]}