> ## 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.

# 현재 재무 저장

> 필요한 권한: `finances:write`



## OpenAPI

````yaml /openapi.json put /v1/finances
openapi: 3.1.0
info:
  title: OpenAPI definition
  version: v0
servers:
  - url: https://api.morrowly.app
security:
  - token: []
paths:
  /v1/finances:
    put:
      tags:
        - finances
      summary: 현재 재무 저장
      description: '필요한 권한: `finances:write`'
      operationId: put
      parameters:
        - in: header
          name: If-Match
          required: false
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Finances'
        required: true
      responses:
        '200':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ApiResponseFinances'
          description: OK
        '401':
          description: 토큰이 없거나 틀리거나 만료됨(본문 없음)
        '403':
          description: 토큰의 권한이 모자람(본문 없음)
components:
  schemas:
    Finances:
      properties:
        assets:
          items:
            $ref: '#/components/schemas/Asset'
          type: array
        birthMonth:
          type:
            - string
            - 'null'
        cash:
          format: int64
          type: integer
        cashFlows:
          items:
            $ref: '#/components/schemas/CashFlow'
          type: array
        dependents:
          items:
            $ref: '#/components/schemas/Dependent'
          type: array
        liabilities:
          items:
            $ref: '#/components/schemas/Liability'
          type: array
      required:
        - assets
        - birthMonth
        - cash
        - cashFlows
        - dependents
        - liabilities
      type: object
    ApiResponseFinances:
      properties:
        data:
          oneOf:
            - $ref: '#/components/schemas/Finances'
            - type: 'null'
        error:
          oneOf:
            - $ref: '#/components/schemas/ErrorMessage'
            - type: 'null'
        result:
          $ref: '#/components/schemas/ResultType'
      required:
        - data
        - error
        - result
      type: object
    Asset:
      properties:
        acquiredAt:
          type:
            - string
            - 'null'
        acquisitionPrice:
          format: int64
          type:
            - integer
            - 'null'
        annualRate:
          format: double
          type:
            - number
            - 'null'
        dividendYield:
          format: double
          type:
            - number
            - 'null'
        id:
          type: string
        investmentTax:
          $ref: '#/components/schemas/InvestmentTax'
        monthlyContribution:
          format: int64
          type:
            - integer
            - 'null'
        name:
          type: string
        owner:
          $ref: '#/components/schemas/Owner'
        payoutStartAge:
          format: int32
          type:
            - integer
            - 'null'
        payoutYears:
          format: int32
          type:
            - integer
            - 'null'
        region:
          type:
            - string
            - 'null'
        serviceYears:
          format: int32
          type:
            - integer
            - 'null'
        type:
          $ref: '#/components/schemas/AssetType'
        value:
          format: int64
          type: integer
      required:
        - acquiredAt
        - acquisitionPrice
        - annualRate
        - dividendYield
        - id
        - investmentTax
        - monthlyContribution
        - name
        - owner
        - payoutStartAge
        - payoutYears
        - region
        - serviceYears
        - type
        - value
      type: object
    CashFlow:
      properties:
        annualGrowth:
          format: double
          type:
            - number
            - 'null'
        end:
          type:
            - string
            - 'null'
        expenseKind:
          oneOf:
            - $ref: '#/components/schemas/ExpenseKind'
            - type: 'null'
        expenseRate:
          format: double
          type:
            - number
            - 'null'
        id:
          type: string
        incomeKind:
          $ref: '#/components/schemas/IncomeKind'
        monthlyAmount:
          format: int64
          type: integer
        name:
          type: string
        owner:
          $ref: '#/components/schemas/Owner'
        start:
          type: string
        type:
          $ref: '#/components/schemas/FlowType'
      required:
        - annualGrowth
        - end
        - expenseKind
        - expenseRate
        - id
        - incomeKind
        - monthlyAmount
        - name
        - owner
        - start
        - type
      type: object
    Dependent:
      properties:
        birthMonth:
          type:
            - string
            - 'null'
        id:
          type: string
        kind:
          $ref: '#/components/schemas/DependentKind'
        name:
          type: string
      required:
        - birthMonth
        - id
        - kind
        - name
      type: object
    Liability:
      properties:
        annualRate:
          format: double
          type: number
        id:
          type: string
        interestDeduction:
          type: boolean
        name:
          type: string
        owner:
          $ref: '#/components/schemas/Owner'
        principal:
          format: int64
          type: integer
        remainingMonths:
          format: int32
          type: integer
        repayment:
          $ref: '#/components/schemas/Repayment'
      required:
        - annualRate
        - id
        - interestDeduction
        - name
        - owner
        - principal
        - remainingMonths
        - repayment
      type: object
    ErrorMessage:
      properties:
        code:
          type: string
        data: {}
        message:
          type: string
      required:
        - code
        - data
        - message
      type: object
    ResultType:
      enum:
        - SUCCESS
        - ERROR
      type: string
    InvestmentTax:
      enum:
        - DOMESTIC_STOCK
        - FOREIGN_STOCK
        - INTEREST
        - TAX_FREE
        - OTHER_ETF
        - HIGH_DIVIDEND
        - ISA
      type: string
    Owner:
      enum:
        - SELF
        - SPOUSE
        - JOINT
      type: string
    AssetType:
      enum:
        - INVESTMENT
        - REAL_ESTATE
        - VEHICLE
        - PENSION_ACCOUNT
        - DEPOSIT
        - RETIREMENT_PENSION
      type: string
    ExpenseKind:
      enum:
        - RENT
        - DONATION
      type: string
    IncomeKind:
      enum:
        - NET
        - SALARY
        - PUBLIC_PENSION
        - BUSINESS
      type: string
    FlowType:
      enum:
        - INCOME
        - EXPENSE
      type: string
    DependentKind:
      enum:
        - SPOUSE
        - CHILD
        - PARENT
      type: string
    Repayment:
      enum:
        - ANNUITY
        - EQUAL_PRINCIPAL
        - BULLET
        - DEPOSIT
      type: string
  securitySchemes:
    token:
      scheme: bearer
      type: http

````

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