> ## Documentation Index
> Fetch the complete documentation index at: https://docs.morrowly.app/llms.txt
> Use this file to discover all available pages before exploring further.

# 전세 vs 월세 vs 매수

> 필요한 권한: `plans:read`



## OpenAPI

````yaml /openapi.json get /v1/plans/{id}/rent-vs-buy
openapi: 3.1.0
info:
  title: OpenAPI definition
  version: v0
servers:
  - url: https://api.morrowly.app
security:
  - token: []
paths:
  /v1/plans/{id}/rent-vs-buy:
    get:
      tags:
        - plans
      summary: 전세 vs 월세 vs 매수
      description: '필요한 권한: `plans:read`'
      operationId: rentVsBuy
      parameters:
        - in: path
          name: id
          required: true
          schema:
            format: uuid
            type: string
        - in: query
          name: item
          required: true
          schema:
            type: string
        - in: query
          name: jeonse
          required: true
          schema:
            format: int64
            type: integer
        - in: query
          name: jeonseLoan
          required: true
          schema:
            format: int64
            type: integer
        - in: query
          name: rentDeposit
          required: true
          schema:
            format: int64
            type: integer
        - in: query
          name: monthlyRent
          required: true
          schema:
            format: int64
            type: integer
      responses:
        '200':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ApiResponseRentVsBuy'
          description: OK
        '401':
          description: 토큰이 없거나 틀리거나 만료됨(본문 없음)
        '403':
          description: 토큰의 권한이 모자람(본문 없음)
components:
  schemas:
    ApiResponseRentVsBuy:
      properties:
        data:
          oneOf:
            - $ref: '#/components/schemas/RentVsBuy'
            - type: 'null'
        error:
          oneOf:
            - $ref: '#/components/schemas/ErrorMessage'
            - type: 'null'
        result:
          $ref: '#/components/schemas/ResultType'
      required:
        - data
        - error
        - result
      type: object
    RentVsBuy:
      properties:
        buy:
          $ref: '#/components/schemas/Tenure'
        jeonse:
          $ref: '#/components/schemas/Tenure'
        rent:
          $ref: '#/components/schemas/Tenure'
      required:
        - buy
        - jeonse
        - rent
      type: object
    ErrorMessage:
      properties:
        code:
          type: string
        data: {}
        message:
          type: string
      required:
        - code
        - data
        - message
      type: object
    ResultType:
      enum:
        - SUCCESS
        - ERROR
      type: string
    Tenure:
      properties:
        months:
          items:
            $ref: '#/components/schemas/TenureMonth'
          type: array
        summary:
          $ref: '#/components/schemas/Summary'
      required:
        - months
        - summary
      type: object
    TenureMonth:
      properties:
        age:
          format: int32
          type: integer
        cash:
          format: int64
          type: integer
        month:
          type: string
        netWorth:
          format: int64
          type: integer
        shortfall:
          type: boolean
      required:
        - age
        - cash
        - month
        - netWorth
        - shortfall
      type: object
    Summary:
      properties:
        estate:
          $ref: '#/components/schemas/EstateScenario'
        fiAge:
          format: int32
          type:
            - integer
            - 'null'
        finalNetWorth:
          format: int64
          type: integer
        firstShortfallMonth:
          type:
            - string
            - 'null'
        liquidByAge:
          additionalProperties:
            format: int64
            type: integer
          type: object
        minCash:
          format: int64
          type: integer
        netWorthByAge:
          additionalProperties:
            format: int64
            type: integer
          type: object
        retirementNetWorth:
          format: int64
          type:
            - integer
            - 'null'
        spendingAfter:
          format: int64
          type:
            - integer
            - 'null'
        spendingBefore:
          format: int64
          type:
            - integer
            - 'null'
      required:
        - estate
        - fiAge
        - finalNetWorth
        - firstShortfallMonth
        - liquidByAge
        - minCash
        - netWorthByAge
        - retirementNetWorth
        - spendingAfter
        - spendingBefore
      type: object
    EstateScenario:
      properties:
        age:
          format: int32
          type: integer
        charity:
          format: int64
          type: integer
        charityShare:
          format: double
          type: number
        first:
          $ref: '#/components/schemas/EstateSummary'
        legalSpouseShare:
          format: double
          type: number
        month:
          type: string
        netWorth:
          format: int64
          type: integer
        ownership:
          format: double
          type: number
        second:
          oneOf:
            - $ref: '#/components/schemas/EstateSummary'
            - type: 'null'
        spouseShare:
          format: double
          type: number
        tax:
          format: int64
          type: integer
        toHeirs:
          format: int64
          type: integer
      required:
        - age
        - charity
        - charityShare
        - first
        - legalSpouseShare
        - month
        - netWorth
        - ownership
        - second
        - spouseShare
        - tax
        - toHeirs
      type: object
    EstateSummary:
      properties:
        charity:
          format: int64
          type: integer
        financial:
          format: int64
          type: integer
        financialDeduction:
          format: int64
          type: integer
        giftsAdded:
          format: int64
          type: integer
        gross:
          format: int64
          type: integer
        personalDeduction:
          format: int64
          type: integer
        spouseDeduction:
          format: int64
          type: integer
        tax:
          format: int64
          type: integer
        taxable:
          format: int64
          type: integer
      required:
        - charity
        - financial
        - financialDeduction
        - giftsAdded
        - gross
        - personalDeduction
        - spouseDeduction
        - tax
        - taxable
      type: object
  securitySchemes:
    token:
      scheme: bearer
      type: http

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.