{
    "openapi": "3.0.3",
    "info": {
        "title": "TaxWise Public REST API",
        "version": "1.0.0",
        "description": "한국 세무 종합 포털 무료 공개 API. 인증 없음, CORS 허용, CC BY 4.0.",
        "termsOfService": "https:\/\/taxwise.guru\/terms",
        "contact": {
            "name": "TaxWise Editorial",
            "email": "dev@taxwise.guru",
            "url": "https:\/\/taxwise.guru\/about"
        },
        "license": {
            "name": "CC BY 4.0",
            "url": "https:\/\/creativecommons.org\/licenses\/by\/4.0\/"
        }
    },
    "servers": [
        {
            "url": "https:\/\/taxwise.guru",
            "description": "Production"
        }
    ],
    "tags": [
        {
            "name": "meta",
            "description": "사이트 메타·통계"
        },
        {
            "name": "catalog",
            "description": "카탈로그 (계산기·서식 등)"
        },
        {
            "name": "content",
            "description": "단일 콘텐츠 (Pillar·News·Tips 등)"
        },
        {
            "name": "calc",
            "description": "즉시 계산"
        },
        {
            "name": "search",
            "description": "검색·자동완성"
        }
    ],
    "paths": {
        "\/api\/v1\/info": {
            "get": {
                "tags": [
                    "meta"
                ],
                "summary": "사이트 메타·통계",
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "\/api\/v1\/site-stats": {
            "get": {
                "tags": [
                    "meta"
                ],
                "summary": "사이트 콘텐츠 + 다음 마감일 통계",
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "\/api\/v1\/calculators": {
            "get": {
                "tags": [
                    "catalog"
                ],
                "summary": "계산기 카탈로그 (58)",
                "responses": {
                    "200": {
                        "description": "count + items[]"
                    }
                }
            }
        },
        "\/api\/v1\/glossary": {
            "get": {
                "tags": [
                    "catalog"
                ],
                "summary": "용어 사전 검색",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "q + count + items[]"
                    }
                }
            }
        },
        "\/api\/v1\/deadlines": {
            "get": {
                "tags": [
                    "catalog"
                ],
                "summary": "2026 세무 마감일 22건",
                "responses": {
                    "200": {
                        "description": "year + count + events[] + rss + ical"
                    }
                }
            }
        },
        "\/api\/v1\/forms": {
            "get": {
                "tags": [
                    "catalog"
                ],
                "summary": "신고서·서식 32종",
                "parameters": [
                    {
                        "name": "cat",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "income",
                                "vat",
                                "corp",
                                "transfer",
                                "withholding",
                                "register",
                                "amend",
                                "place",
                                "property"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "count + categories + items[]"
                    }
                }
            }
        },
        "\/api\/v1\/quiz": {
            "get": {
                "tags": [
                    "catalog"
                ],
                "summary": "학습 퀴즈 34문항",
                "responses": {
                    "200": {
                        "description": "count + categories + items[]"
                    }
                }
            }
        },
        "\/api\/v1\/quick-answers": {
            "get": {
                "tags": [
                    "catalog"
                ],
                "summary": "빠른 답변 30 Q&A",
                "responses": {
                    "200": {
                        "description": "count + items[]"
                    }
                }
            }
        },
        "\/api\/v1\/term\/{slug}": {
            "get": {
                "tags": [
                    "content"
                ],
                "summary": "Pillar 용어 단일 항목",
                "parameters": [
                    {
                        "name": "slug",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "income-tax",
                                "vat",
                                "capital-gains",
                                "one-house-exemption",
                                "simple-rate",
                                "noranumbrella",
                                "year-end-settlement",
                                "spouse-gift-deduction",
                                "gift-tax",
                                "inheritance-tax",
                                "name-trust",
                                "burdened-gift",
                                "rd-tax-credit",
                                "penalty",
                                "pension-savings",
                                "eitc",
                                "health-insurance-tax",
                                "four-insurance",
                                "amend-claim",
                                "partnership-tax",
                                "sincere-confirmation",
                                "separate-vs-aggregate",
                                "card-pos-credit",
                                "imputed-purchase-vat",
                                "deduction-vs-credit",
                                "joint-title",
                                "one-house-12-billion-pillar",
                                "monthly-rent-deduction",
                                "personal-allowance",
                                "child-tax-credit",
                                "education-deduction",
                                "medical-expense-deduction",
                                "insurance-deduction",
                                "credit-card-deduction",
                                "donation-deduction",
                                "tax-audit",
                                "pension-income-tax",
                                "angel-investment-deduction",
                                "startup-tax-credit",
                                "loss-carryforward",
                                "director-loan",
                                "director-salary",
                                "corporate-restructure",
                                "business-transfer",
                                "external-audit",
                                "corp-conversion-pillar",
                                "corp-tax-pillar",
                                "vat-simplified-pillar",
                                "interest-tax",
                                "dividend-tax",
                                "overseas-property-tax",
                                "capital-gains-comprehensive",
                                "property-tax-pillar",
                                "acquisition-tax-pillar",
                                "withholding-tax",
                                "vat-prepayment",
                                "vehicle-1500-limit",
                                "capital-gains-installment",
                                "long-term-deduction",
                                "bad-debt",
                                "non-taxable-income",
                                "business-trip",
                                "fringe-benefit",
                                "entertain-limit",
                                "vat-input-credit",
                                "vat-zero-rate",
                                "intangible-asset",
                                "depreciation",
                                "integrated-investment-credit",
                                "rd-tax-credit-pillar",
                                "foreign-worker",
                                "employment-credit",
                                "government-subsidy",
                                "sme-tax-credit",
                                "place-status",
                                "foreign-tax-credit",
                                "isa-account",
                                "crypto-gains",
                                "rental-business",
                                "comprehensive-property-tax",
                                "related-party-transaction",
                                "business-relocation",
                                "subcontracting-tax",
                                "estate-grand-plan",
                                "life-insurance-tax",
                                "m-and-a-deal-tax",
                                "side-income-tax",
                                "agricultural-tax-saving",
                                "stock-issue-types",
                                "freelancer-tax-saving",
                                "property-tax-saving",
                                "liquidation-tax",
                                "divorce-property-split",
                                "donation-comprehensive",
                                "shareholder-capital-gains",
                                "religious-tax",
                                "ev-green-tax",
                                "home-office-deduction",
                                "creator-tax-saving",
                                "family-trust",
                                "retirement-pension-saving",
                                "singles-tax-saving",
                                "parental-tax-saving",
                                "salaried-tax-saving",
                                "spouse-joint-tax",
                                "newlywed-tax",
                                "foreigner-flat-tax",
                                "crypto-tax",
                                "home-care-deduction",
                                "tax-free-meal-allowance",
                                "youth-startup-credit",
                                "family-loan-interest",
                                "short-vs-long-capital-gains",
                                "inherited-property-disposal",
                                "registered-rental-housing",
                                "deemed-rental",
                                "family-business-tax-credit",
                                "foreign-exchange",
                                "stock-option",
                                "director-retirement-pay",
                                "foundation",
                                "related-party-transfer"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "term + sections + faqs + related"
                    },
                    "404": {
                        "description": "Term not found"
                    }
                }
            }
        },
        "\/api\/v1\/news\/{slug}": {
            "get": {
                "tags": [
                    "content"
                ],
                "summary": "뉴스 기사 단일",
                "parameters": [
                    {
                        "name": "slug",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "NewsArticle"
                    }
                }
            }
        },
        "\/api\/v1\/tips\/{slug}": {
            "get": {
                "tags": [
                    "content"
                ],
                "summary": "실용 팁 단일",
                "parameters": [
                    {
                        "name": "slug",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "BlogPosting"
                    }
                }
            }
        },
        "\/api\/v1\/compare\/{slug}": {
            "get": {
                "tags": [
                    "content"
                ],
                "summary": "비교 매트릭스 단일",
                "parameters": [
                    {
                        "name": "slug",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Comparison + rows + verdict"
                    }
                }
            }
        },
        "\/api\/v1\/checklist\/{slug}": {
            "get": {
                "tags": [
                    "content"
                ],
                "summary": "체크리스트 단일",
                "parameters": [
                    {
                        "name": "slug",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Checklist + steps"
                    }
                }
            }
        },
        "\/api\/v1\/calc\/income-tax": {
            "get": {
                "tags": [
                    "calc"
                ],
                "summary": "종합소득세 즉시 계산 (8단계 누진)",
                "parameters": [
                    {
                        "name": "base",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "minimum": 0
                        },
                        "description": "과세표준 (KRW)"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "bracket + rate + tax + local_tax + total"
                    }
                }
            }
        },
        "\/api\/v1\/calc\/capital-gains": {
            "get": {
                "tags": [
                    "calc"
                ],
                "summary": "양도소득세 (1세대1주택 비과세, 장기보유공제)",
                "parameters": [
                    {
                        "name": "gain",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "minimum": 0
                        },
                        "description": "양도차익 (KRW)"
                    },
                    {
                        "name": "years",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 0
                        },
                        "description": "보유 연수"
                    },
                    {
                        "name": "one_house",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "enum": [
                                0,
                                1
                            ]
                        },
                        "description": "1세대1주택 (0\/1)"
                    },
                    {
                        "name": "multi",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "enum": [
                                0,
                                1
                            ]
                        },
                        "description": "다주택 (0\/1)"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "exempted + tax_base + rate + tax + total"
                    }
                }
            }
        },
        "\/api\/v1\/calc\/gift": {
            "get": {
                "tags": [
                    "calc"
                ],
                "summary": "증여세 5단계 누진 (배우자 6억·직계 5천만 공제)",
                "parameters": [
                    {
                        "name": "amount",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "minimum": 0
                        }
                    },
                    {
                        "name": "relation",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "spouse",
                                "lineal_adult",
                                "lineal_minor",
                                "other_relative"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "deduction + tax_base + rate + tax"
                    }
                }
            }
        },
        "\/api\/v1\/calc\/acquisition": {
            "get": {
                "tags": [
                    "calc"
                ],
                "summary": "취득세 (주택 6억\/9억 분기, 생애최초 50% 감면)",
                "parameters": [
                    {
                        "name": "price",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "minimum": 0
                        }
                    },
                    {
                        "name": "type",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "house",
                                "commercial",
                                "land",
                                "car"
                            ]
                        }
                    },
                    {
                        "name": "first_home",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "rate + tax + total + first_home_reduction"
                    }
                }
            }
        },
        "\/api\/v1\/calc\/inheritance": {
            "get": {
                "tags": [
                    "calc"
                ],
                "summary": "상속세 (일괄 5억 + 배우자 5~30억)",
                "parameters": [
                    {
                        "name": "value",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "minimum": 0
                        }
                    },
                    {
                        "name": "spouse",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "total_deduction + tax_base + tax"
                    }
                }
            }
        },
        "\/api\/v1\/calc\/{slug}": {
            "get": {
                "tags": [
                    "calc"
                ],
                "summary": "Universal — 58 계산기 단일 인터페이스 (TaxCalculatorDetail::dispatch)",
                "parameters": [
                    {
                        "name": "slug",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "income-tax",
                                "simplified-income",
                                "earned-income",
                                "salary-net",
                                "severance-tax",
                                "year-end",
                                "freelancer",
                                "business-3-3",
                                "vat-general",
                                "vat-simple",
                                "vat-include",
                                "corp-tax",
                                "acquisition-tax",
                                "capital-gains",
                                "comprehensive-tax",
                                "property-tax",
                                "rental-income",
                                "jeonse-loan",
                                "inheritance-tax",
                                "gift-tax",
                                "four-insurance",
                                "health-insurance",
                                "national-pension",
                                "auto-tax",
                                "stock-gains",
                                "crypto-gains",
                                "interest-tax",
                                "place-status-medical",
                                "medical-simple-rate",
                                "noncovered-vat",
                                "sincere-trigger",
                                "penalty-vat",
                                "penalty-income",
                                "eitc",
                                "ctc",
                                "unemployment",
                                "stamp-tax",
                                "farmland-special",
                                "corp-local",
                                "family-loan",
                                "burdened-gift",
                                "jointly-titled",
                                "closure-tax",
                                "card-deduct",
                                "medical-deduct",
                                "donation-deduct",
                                "pension-deduct",
                                "rent-deduct",
                                "education-deduct",
                                "housing-saving",
                                "simplified-payment",
                                "daily-wage",
                                "entertain-limit",
                                "vehicle-log",
                                "loss-carryover",
                                "foreign-tax",
                                "nonresident-cgt",
                                "converted-cost"
                            ]
                        },
                        "description": "계산기 slug (58 종류 — CalculatorRegistry::all())"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "slug + name + category + steps + summary + notes"
                    },
                    "404": {
                        "description": "계산기 slug not found"
                    },
                    "501": {
                        "description": "detail dispatch not implemented for this slug"
                    }
                }
            }
        },
        "\/api\/v1\/calc\/vat": {
            "get": {
                "tags": [
                    "calc"
                ],
                "summary": "부가가치세 즉시 계산",
                "parameters": [
                    {
                        "name": "supply",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "minimum": 0
                        },
                        "description": "공급가액 (KRW)"
                    },
                    {
                        "name": "type",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "general",
                                "simplified",
                                "zero"
                            ]
                        },
                        "description": "과세 유형"
                    },
                    {
                        "name": "vat_ratio",
                        "in": "query",
                        "schema": {
                            "type": "number"
                        },
                        "description": "간이과세 부가가치율"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "rate + effective_rate + vat + total"
                    }
                }
            }
        },
        "\/api\/suggest": {
            "get": {
                "tags": [
                    "search"
                ],
                "summary": "OpenSearch Suggestions",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "[query, terms[], descs[], urls[]] (application\/x-suggestions+json)"
                    }
                }
            }
        },
        "\/api\/search\/suggest": {
            "get": {
                "tags": [
                    "search"
                ],
                "summary": "TaxWise rich suggestions",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "q + count + items[]"
                    }
                }
            }
        },
        "\/api\/v1\/collections": {
            "get": {
                "tags": [
                    "catalog"
                ],
                "summary": "시나리오 컬렉션 12개",
                "responses": {
                    "200": {
                        "description": "count + items[]"
                    }
                }
            }
        },
        "\/api\/v1\/checklists": {
            "get": {
                "tags": [
                    "catalog"
                ],
                "summary": "체크리스트 14개",
                "responses": {
                    "200": {
                        "description": "count + items[]"
                    }
                }
            }
        },
        "\/api\/v1\/comparisons": {
            "get": {
                "tags": [
                    "catalog"
                ],
                "summary": "비교 매트릭스 11개",
                "responses": {
                    "200": {
                        "description": "count + items[]"
                    }
                }
            }
        },
        "\/api\/v1\/industries": {
            "get": {
                "tags": [
                    "catalog"
                ],
                "summary": "업종 허브 12개",
                "responses": {
                    "200": {
                        "description": "count + items[]"
                    }
                }
            }
        },
        "\/api\/v1\/tags": {
            "get": {
                "tags": [
                    "catalog"
                ],
                "summary": "태그 인덱스 69",
                "responses": {
                    "200": {
                        "description": "count + total_uses + items[]"
                    }
                }
            }
        },
        "\/api\/v1\/news": {
            "get": {
                "tags": [
                    "content"
                ],
                "summary": "뉴스 list (8)",
                "responses": {
                    "200": {
                        "description": "count + items[]"
                    }
                }
            }
        },
        "\/api\/v1\/tips": {
            "get": {
                "tags": [
                    "content"
                ],
                "summary": "팁 list (8)",
                "responses": {
                    "200": {
                        "description": "count + items[]"
                    }
                }
            }
        },
        "\/api\/v1\/calculators.csv": {
            "get": {
                "tags": [
                    "catalog"
                ],
                "summary": "계산기 CSV (UTF-8 BOM)",
                "responses": {
                    "200": {
                        "description": "text\/csv"
                    }
                }
            }
        },
        "\/api\/v1\/glossary.csv": {
            "get": {
                "tags": [
                    "catalog"
                ],
                "summary": "용어 사전 CSV",
                "responses": {
                    "200": {
                        "description": "text\/csv"
                    }
                }
            }
        },
        "\/api\/v1\/forms.csv": {
            "get": {
                "tags": [
                    "catalog"
                ],
                "summary": "서식 CSV",
                "responses": {
                    "200": {
                        "description": "text\/csv"
                    }
                }
            }
        },
        "\/api\/v1\/deadlines.csv": {
            "get": {
                "tags": [
                    "catalog"
                ],
                "summary": "마감일 CSV",
                "responses": {
                    "200": {
                        "description": "text\/csv"
                    }
                }
            }
        }
    }
}