openapi: '3.0.0'
info:
  title: '立法院 API v2'
  version: '2.0.0'
servers:
  -
    url: 'https://ly.govapi.tw/v2'
paths:
  /stat:
    get:
      tags:
        - Stat
      summary: '取得統計資料'
      operationId: 'getStat'
      responses:
        200:
          description: '統計資料'
  /bills:
    get:
      tags:
        - Bill
      summary: '取得議案列表'
      operationId: 'listBills'
      parameters:
        -
          name: '屆'
          in: 'query'
          description: '議案所屬屆期 [例: 11]'
          required: false
          schema:
            type: 'integer'
        -
          name: '會期'
          in: 'query'
          description: '議案所屬會期 [例: 2]'
          required: false
          schema:
            type: 'integer'
        -
          name: '議案流程.狀態'
          in: 'query'
          description: '議案流程中曾經有過狀態，字串需完全符合 [例: 排入院會 (交內政委員會)]'
          required: false
          schema:
            type: 'string'
        -
          name: '議案類別'
          in: 'query'
          description: '議案類別 [例: 法律案]'
          required: false
          schema:
            type: 'string'
        -
          name: '提案人'
          in: 'query'
          description: '提案人 [例: 徐欣瑩]'
          required: false
          schema:
            type: 'string'
        -
          name: '連署人'
          in: 'query'
          description: '連署人 [例: 林德福]'
          required: false
          schema:
            type: 'string'
        -
          name: '法律編號'
          in: 'query'
          description: '議案相關的法律編號(?) [例: 01254]'
          required: false
          schema:
            type: 'string'
        -
          name: '議案狀態'
          in: 'query'
          description: '議案目前所處狀態 [例: 交付審查]'
          required: false
          schema:
            type: 'string'
        -
          name: '會議代碼'
          in: 'query'
          description: '會議代碼 [例: 院會-11-2-3]'
          required: false
          schema:
            type: 'string'
        -
          name: '提案來源'
          in: 'query'
          description: '議案的提案來源屬性 [例: 委員提案] (TODO: enum)'
          required: false
          schema:
            type: 'string'
        -
          name: '議案編號'
          in: 'query'
          description: '議案編號 [例: 202110068550000]'
          required: false
          schema:
            type: 'string'
        -
          name: '提案編號'
          in: 'query'
          description: '議案的提案編號 [例: 20委11006855]'
          required: false
          schema:
            type: 'string'
        -
          name: '字號'
          in: 'query'
          description: '議案的字號 [例: 院總第20號委員提案第11001661號]'
          required: false
          schema:
            type: 'string'
        -
          name: '法條編號'
          in: 'query'
          description: '對照表對應的法條編號 [例: 01945:01945:2015-01-22-全文修正:16]'
          required: false
          schema:
            type: 'string'
        -
          name: '提案日期'
          in: 'query'
          description: '議案的提案日期 [例: 2021-10-06]'
          required: false
          schema:
            type: 'date'
        -
          name: '提案單位/提案委員'
          in: 'query'
          description: '提案單位或提案委員 [例: 民進黨團]'
          required: false
          schema:
            type: 'string'
        -
          name: 'page'
          in: 'query'
          description: '頁數'
          required: false
          schema:
            type: 'integer'
          example: 1
        -
          name: 'limit'
          in: 'query'
          description: '每頁筆數'
          required: false
          schema:
            type: 'integer'
          example: 20
        -
          name: 'output_fields'
          in: 'query'
          description: '輸出欄位'
          required: false
          schema:
            type: 'array'
          example:
            - 議案編號
      responses:
        200:
          description: '議案資料'
        404:
          description: '找不到議案資料'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /bills/{billNo}:
    get:
      tags:
        - Bill
      summary: '取得特定議案資訊'
      operationId: 'getBill'
      parameters:
        -
          name: 'billNo'
          description: '議案編號'
          in: 'path'
          required: true
          schema:
            type: 'string'
          example: '203110077970000'
      responses:
        200:
          description: '議案資料'
        404:
          description: '找不到議案資料'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /bills/{billNo}/related_bills:
    get:
      tags:
        - Bill
      summary: '取得相關議案列表'
      operationId: 'getBillRelatedBills'
      parameters:
        -
          name: 'billNo'
          description: '議案編號'
          in: 'path'
          required: true
          schema:
            type: 'string'
          example: '203110077970000'
      responses:
        200:
          description: '相關議案資料'
        404:
          description: '找不到相關議案資料'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /bills/{billNo}/doc_html:
    get:
      tags:
        - Bill
      summary: '取得議案文件 HTML 內容列表'
      operationId: 'getBillDocHtml'
      parameters:
        -
          name: 'billNo'
          description: '議案編號'
          in: 'path'
          required: true
          schema:
            type: 'string'
          example: '203110077970000'
      responses:
        200:
          description: '議案文件 HTML 內容資料'
        404:
          description: '找不到議案文件 HTML 內容資料'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /bills/{billNo}/meets:
    get:
      tags:
        - Bill
      summary: '取得議案相關會議列表'
      operationId: 'getBillMeets'
      parameters:
        -
          name: 'billNo'
          description: '議案編號'
          in: 'path'
          required: true
          schema:
            type: 'string'
          example: '203110077970000'
        -
          name: '屆'
          in: 'query'
          description: '屆 [例: 11]'
          required: false
          schema:
            type: 'integer'
        -
          name: '會議代碼'
          in: 'query'
          description: '會議代碼 [例: 院會-11-2-6]'
          required: false
          schema:
            type: 'string'
        -
          name: '會期'
          in: 'query'
          description: '會期 [例: 2]'
          required: false
          schema:
            type: 'integer'
        -
          name: '會議種類'
          in: 'query'
          description: '會議種類 [例: 院會] (TODO: enum)'
          required: false
          schema:
            type: 'string'
        -
          name: '會議資料.出席委員'
          in: 'query'
          description: '會議資料.出席委員 [例: 陳秀寳]'
          required: false
          schema:
            type: 'string'
        -
          name: '日期'
          in: 'query'
          description: '日期 [例: 2024-10-25]'
          required: false
          schema:
            type: 'string'
        -
          name: '委員會代號'
          in: 'query'
          description: '委員會代號 [例: 23]'
          required: false
          schema:
            type: 'integer'
        -
          name: '會議資料.會議編號'
          in: 'query'
          description: '會議資料.會議編號 [例: 2024102368]'
          required: false
          schema:
            type: 'string'
        -
          name: '議事網資料.關係文書.議案.議案編號'
          in: 'query'
          description: '議事網資料.關係文書.議案.議案編號 [例: 202110071090000]'
          required: false
          schema:
            type: 'string'
        -
          name: '議事網資料.關係文書.議案.法律編號'
          in: 'query'
          description: '議事網資料.laws [例: 01177]'
          required: false
          schema:
            type: 'string'
        -
          name: 'page'
          in: 'query'
          description: '頁數'
          required: false
          schema:
            type: 'integer'
          example: 1
        -
          name: 'limit'
          in: 'query'
          description: '每頁筆數'
          required: false
          schema:
            type: 'integer'
          example: 20
        -
          name: 'output_fields'
          in: 'query'
          description: '輸出欄位'
          required: false
          schema:
            type: 'array'
          example:
            - 議案編號
      responses:
        200:
          description: '議案相關會議資料'
        404:
          description: '找不到議案相關會議資料'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /committees:
    get:
      tags:
        - Committee
      summary: '取得委員會列表'
      operationId: 'listCommittees'
      parameters:
        -
          name: '委員會類別'
          in: 'query'
          description: '委員會類別 [例: 常設委員會]'
          required: false
          schema:
            type: 'integer'
        -
          name: '委員會代號'
          in: 'query'
          description: '委員會代號 [例: 15]'
          required: false
          schema:
            type: 'integer'
        -
          name: 'page'
          in: 'query'
          description: '頁數'
          required: false
          schema:
            type: 'integer'
          example: 1
        -
          name: 'limit'
          in: 'query'
          description: '每頁筆數'
          required: false
          schema:
            type: 'integer'
          example: 20
        -
          name: 'output_fields'
          in: 'query'
          description: '輸出欄位'
          required: false
          schema:
            type: 'array'
          example:
            - 委員會代號
      responses:
        200:
          description: '委員會資料'
        404:
          description: '找不到委員會資料'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /committees/{comtCd}:
    get:
      tags:
        - Committee
      summary: '取得特定委員會資訊'
      operationId: 'getCommittee'
      parameters:
        -
          name: 'comtCd'
          description: '委員會代號'
          in: 'path'
          required: true
          schema:
            type: 'string'
          example: '15'
      responses:
        200:
          description: '委員會資料'
        404:
          description: '找不到委員會資料'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /committees/{comtCd}/meets:
    get:
      tags:
        - Committee
      summary: '取得委員會相關會議列表'
      operationId: 'getCommitteeMeets'
      parameters:
        -
          name: 'comtCd'
          description: '委員會代號'
          in: 'path'
          required: true
          schema:
            type: 'string'
          example: '15'
        -
          name: '屆'
          in: 'query'
          description: '屆 [例: 11]'
          required: false
          schema:
            type: 'integer'
        -
          name: '會議代碼'
          in: 'query'
          description: '會議代碼 [例: 院會-11-2-6]'
          required: false
          schema:
            type: 'string'
        -
          name: '會期'
          in: 'query'
          description: '會期 [例: 2]'
          required: false
          schema:
            type: 'integer'
        -
          name: '會議種類'
          in: 'query'
          description: '會議種類 [例: 院會] (TODO: enum)'
          required: false
          schema:
            type: 'string'
        -
          name: '會議資料.出席委員'
          in: 'query'
          description: '會議資料.出席委員 [例: 陳秀寳]'
          required: false
          schema:
            type: 'string'
        -
          name: '日期'
          in: 'query'
          description: '日期 [例: 2024-10-25]'
          required: false
          schema:
            type: 'string'
        -
          name: '委員會代號'
          in: 'query'
          description: '委員會代號 [例: 23]'
          required: false
          schema:
            type: 'integer'
        -
          name: '會議資料.會議編號'
          in: 'query'
          description: '會議資料.會議編號 [例: 2024102368]'
          required: false
          schema:
            type: 'string'
        -
          name: '議事網資料.關係文書.議案.議案編號'
          in: 'query'
          description: '議事網資料.關係文書.議案.議案編號 [例: 202110071090000]'
          required: false
          schema:
            type: 'string'
        -
          name: '議事網資料.關係文書.議案.法律編號'
          in: 'query'
          description: '議事網資料.laws [例: 01177]'
          required: false
          schema:
            type: 'string'
        -
          name: 'page'
          in: 'query'
          description: '頁數'
          required: false
          schema:
            type: 'integer'
          example: 1
        -
          name: 'limit'
          in: 'query'
          description: '每頁筆數'
          required: false
          schema:
            type: 'integer'
          example: 20
        -
          name: 'output_fields'
          in: 'query'
          description: '輸出欄位'
          required: false
          schema:
            type: 'array'
          example:
            - 委員會代號
      responses:
        200:
          description: '委員會相關會議資料'
        404:
          description: '找不到委員會相關會議資料'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /gazettes:
    get:
      tags:
        - Gazette
      summary: '取得公報列表'
      operationId: 'listGazettes'
      parameters:
        -
          name: '公報編號'
          in: 'query'
          description: '公報編號 [例: 1137701]'
          required: false
          schema:
            type: 'string'
        -
          name: '卷'
          in: 'query'
          description: '卷 [例: 113]'
          required: false
          schema:
            type: 'integer'
        -
          name: 'page'
          in: 'query'
          description: '頁數'
          required: false
          schema:
            type: 'integer'
          example: 1
        -
          name: 'limit'
          in: 'query'
          description: '每頁筆數'
          required: false
          schema:
            type: 'integer'
          example: 20
        -
          name: 'output_fields'
          in: 'query'
          description: '輸出欄位'
          required: false
          schema:
            type: 'array'
          example:
            - 公報編號
      responses:
        200:
          description: '公報資料'
        404:
          description: '找不到公報資料'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /gazettes/{id}:
    get:
      tags:
        - Gazette
      summary: '取得特定公報資訊'
      operationId: 'getGazette'
      parameters:
        -
          name: 'id'
          description: '公報編號'
          in: 'path'
          required: true
          schema:
            type: 'string'
          example: '1137701'
      responses:
        200:
          description: '公報資料'
        404:
          description: '找不到公報資料'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /gazettes/{id}/agendas:
    get:
      tags:
        - Gazette
      summary: '取得公報所含的公報目錄列表'
      operationId: 'getGazetteAgendas'
      parameters:
        -
          name: 'id'
          description: '公報編號'
          in: 'path'
          required: true
          schema:
            type: 'string'
          example: '1137701'
        -
          name: '公報編號'
          in: 'query'
          description: '公報編號 [例: 1137701]'
          required: false
          schema:
            type: 'string'
        -
          name: '卷'
          in: 'query'
          description: '卷 [例: 113]'
          required: false
          schema:
            type: 'integer'
        -
          name: '期'
          in: 'query'
          description: '期 [例: 77]'
          required: false
          schema:
            type: 'integer'
        -
          name: '冊別'
          in: 'query'
          description: '冊別 [例: 1]'
          required: false
          schema:
            type: 'integer'
        -
          name: '屆'
          in: 'query'
          description: '屆 [例: 11]'
          required: false
          schema:
            type: 'integer'
        -
          name: '會議日期'
          in: 'query'
          description: '會議日期 [例: 2024-10-04]'
          required: false
          schema:
            type: 'string'
        -
          name: 'page'
          in: 'query'
          description: '頁數'
          required: false
          schema:
            type: 'integer'
          example: 1
        -
          name: 'limit'
          in: 'query'
          description: '每頁筆數'
          required: false
          schema:
            type: 'integer'
          example: 20
        -
          name: 'output_fields'
          in: 'query'
          description: '輸出欄位'
          required: false
          schema:
            type: 'array'
          example:
            - 公報編號
      responses:
        200:
          description: '公報所含的公報目錄資料'
        404:
          description: '找不到公報所含的公報目錄資料'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /gazette_agendas:
    get:
      tags:
        - Gazette
      summary: '取得公報目錄列表'
      operationId: 'listGazetteAgendas'
      parameters:
        -
          name: '公報編號'
          in: 'query'
          description: '公報編號 [例: 1137701]'
          required: false
          schema:
            type: 'string'
        -
          name: '卷'
          in: 'query'
          description: '卷 [例: 113]'
          required: false
          schema:
            type: 'integer'
        -
          name: '期'
          in: 'query'
          description: '期 [例: 77]'
          required: false
          schema:
            type: 'integer'
        -
          name: '冊別'
          in: 'query'
          description: '冊別 [例: 1]'
          required: false
          schema:
            type: 'integer'
        -
          name: '屆'
          in: 'query'
          description: '屆 [例: 11]'
          required: false
          schema:
            type: 'integer'
        -
          name: '會議日期'
          in: 'query'
          description: '會議日期 [例: 2024-10-04]'
          required: false
          schema:
            type: 'string'
        -
          name: 'page'
          in: 'query'
          description: '頁數'
          required: false
          schema:
            type: 'integer'
          example: 1
        -
          name: 'limit'
          in: 'query'
          description: '每頁筆數'
          required: false
          schema:
            type: 'integer'
          example: 20
        -
          name: 'output_fields'
          in: 'query'
          description: '輸出欄位'
          required: false
          schema:
            type: 'array'
          example:
            - 公報議程編號
      responses:
        200:
          description: '公報目錄資料'
        404:
          description: '找不到公報目錄資料'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /gazette_agendas/{id}:
    get:
      tags:
        - Gazette
      summary: '取得特定公報目錄資訊'
      operationId: 'getGazetteAgenda'
      parameters:
        -
          name: 'id'
          description: '公報議程編號'
          in: 'path'
          required: true
          schema:
            type: 'string'
          example: '1137701_00001'
      responses:
        200:
          description: '公報目錄資料'
        404:
          description: '找不到公報目錄資料'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /interpellations:
    get:
      tags:
        - Interpellation
      summary: '取得質詢列表'
      operationId: 'listInterpellations'
      parameters:
        -
          name: '質詢委員'
          in: 'query'
          description: '質詢委員 [例: 羅智強]'
          required: false
          schema:
            type: 'string'
        -
          name: '屆'
          in: 'query'
          description: '屆 [例: 11]'
          required: false
          schema:
            type: 'integer'
        -
          name: '會期'
          in: 'query'
          description: '會期 [例: 2]'
          required: false
          schema:
            type: 'integer'
        -
          name: '會議代碼'
          in: 'query'
          description: '會議代碼 [例: 院會-11-2-6]'
          required: false
          schema:
            type: 'string'
        -
          name: 'page'
          in: 'query'
          description: '頁數'
          required: false
          schema:
            type: 'integer'
          example: 1
        -
          name: 'limit'
          in: 'query'
          description: '每頁筆數'
          required: false
          schema:
            type: 'integer'
          example: 20
        -
          name: 'output_fields'
          in: 'query'
          description: '輸出欄位'
          required: false
          schema:
            type: 'array'
          example:
            - 質詢編號
      responses:
        200:
          description: '質詢資料'
        404:
          description: '找不到質詢資料'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /interpellations/{id}:
    get:
      tags:
        - Interpellation
      summary: '取得特定質詢資訊'
      operationId: 'getInterpellation'
      parameters:
        -
          name: 'id'
          description: '質詢編號'
          in: 'path'
          required: true
          schema:
            type: 'string'
          example: '11-1-1-1'
      responses:
        200:
          description: '質詢資料'
        404:
          description: '找不到質詢資料'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /ivods:
    get:
      tags:
        - Ivod
      summary: '取得IVOD列表'
      operationId: 'listIvods'
      parameters:
        -
          name: '屆'
          in: 'query'
          description: '屆 [例: 11]'
          required: false
          schema:
            type: 'integer'
        -
          name: '會期'
          in: 'query'
          description: '會期 [例: 2]'
          required: false
          schema:
            type: 'integer'
        -
          name: '會議.會議代碼'
          in: 'query'
          description: '會議.會議代碼 [例: 委員會-11-2-22-5]'
          required: false
          schema:
            type: 'string'
        -
          name: '委員名稱'
          in: 'query'
          description: '委員名稱 [例: 陳培瑜]'
          required: false
          schema:
            type: 'string'
        -
          name: '會議資料.委員會代碼'
          in: 'query'
          description: '會議資料.委員會代碼 [例: 22]'
          required: false
          schema:
            type: 'integer'
        -
          name: '會議資料.會議代碼'
          in: 'query'
          description: '會議資料.會議代碼 [例: 委員會-11-2-22-5]'
          required: false
          schema:
            type: 'string'
        -
          name: '日期'
          in: 'query'
          description: '日期 [例: 2024-10-24]'
          required: false
          schema:
            type: 'string'
        -
          name: '影片種類'
          in: 'query'
          description: '影片種類'
          required: false
          schema:
            type: 'string'
            enum:
              - Clip
              - Full
        -
          name: 'page'
          in: 'query'
          description: '頁數'
          required: false
          schema:
            type: 'integer'
          example: 1
        -
          name: 'limit'
          in: 'query'
          description: '每頁筆數'
          required: false
          schema:
            type: 'integer'
          example: 20
        -
          name: 'output_fields'
          in: 'query'
          description: '輸出欄位'
          required: false
          schema:
            type: 'array'
          example:
            - IVOD_ID
      responses:
        200:
          description: 'IVOD資料'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IvodList'
        404:
          description: '找不到IVOD資料'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /ivods/{id}:
    get:
      tags:
        - Ivod
      summary: '取得特定IVOD資訊'
      operationId: 'getIvod'
      parameters:
        -
          name: 'id'
          description: 'IVOD_ID'
          in: 'path'
          required: true
          schema:
            type: 'string'
          example: '156045'
      responses:
        200:
          description: 'IVOD資料'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Ivod'
        404:
          description: '找不到IVOD資料'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /laws:
    get:
      tags:
        - Law
      summary: '取得法律列表'
      operationId: 'listLaws'
      parameters:
        -
          name: '法律編號'
          in: 'query'
          description: '法律編號 [例: 09200015]'
          required: false
          schema:
            type: 'string'
        -
          name: '類別'
          in: 'query'
          description: '類別'
          required: false
          schema:
            type: 'string'
            enum:
              - 母法
              - 子法
        -
          name: '母法編號'
          in: 'query'
          description: '母法編號 [例: 09200]'
          required: false
          schema:
            type: 'string'
        -
          name: '法律狀態'
          in: 'query'
          description: '法律狀態 [例: 現行]'
          required: false
          schema:
            type: 'string'
        -
          name: '主管機關'
          in: 'query'
          description: '主管機關 [例: 總統府]'
          required: false
          schema:
            type: 'string'
        -
          name: '最新版本.日期'
          in: 'query'
          description: '最新版本日期 [例: 2024-10-25]'
          required: false
          schema:
            type: 'string'
        -
          name: 'page'
          in: 'query'
          description: '頁數'
          required: false
          schema:
            type: 'integer'
          example: 1
        -
          name: 'limit'
          in: 'query'
          description: '每頁筆數'
          required: false
          schema:
            type: 'integer'
          example: 20
        -
          name: 'output_fields'
          in: 'query'
          description: '輸出欄位'
          required: false
          schema:
            type: 'array'
          example:
            - 法律編號
      responses:
        200:
          description: '法律資料'
        404:
          description: '找不到法律資料'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /laws/{id}:
    get:
      tags:
        - Law
      summary: '取得特定法律資訊'
      operationId: 'getLaw'
      parameters:
        -
          name: 'id'
          description: '法律編號'
          in: 'path'
          required: true
          schema:
            type: 'string'
          example: '09200015'
      responses:
        200:
          description: '法律資料'
        404:
          description: '找不到法律資料'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /laws/{id}/progress:
    get:
      tags:
        - Law
      summary: '取得未議決進度列表'
      operationId: 'getLawProgress'
      parameters:
        -
          name: 'id'
          description: '法律編號'
          in: 'path'
          required: true
          schema:
            type: 'string'
          example: '09200015'
      responses:
        200:
          description: '未議決進度資料'
        404:
          description: '找不到未議決進度資料'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /laws/{id}/bills:
    get:
      tags:
        - Law
      summary: '取得法律相關議案列表'
      operationId: 'getLawBills'
      parameters:
        -
          name: 'id'
          description: '法律編號'
          in: 'path'
          required: true
          schema:
            type: 'string'
          example: '09200015'
        -
          name: '屆'
          in: 'query'
          description: '議案所屬屆期 [例: 11]'
          required: false
          schema:
            type: 'integer'
        -
          name: '會期'
          in: 'query'
          description: '議案所屬會期 [例: 2]'
          required: false
          schema:
            type: 'integer'
        -
          name: '議案流程.狀態'
          in: 'query'
          description: '議案流程中曾經有過狀態，字串需完全符合 [例: 排入院會 (交內政委員會)]'
          required: false
          schema:
            type: 'string'
        -
          name: '議案類別'
          in: 'query'
          description: '議案類別 [例: 法律案]'
          required: false
          schema:
            type: 'string'
        -
          name: '提案人'
          in: 'query'
          description: '提案人 [例: 徐欣瑩]'
          required: false
          schema:
            type: 'string'
        -
          name: '連署人'
          in: 'query'
          description: '連署人 [例: 林德福]'
          required: false
          schema:
            type: 'string'
        -
          name: '法律編號'
          in: 'query'
          description: '議案相關的法律編號(?) [例: 01254]'
          required: false
          schema:
            type: 'string'
        -
          name: '議案狀態'
          in: 'query'
          description: '議案目前所處狀態 [例: 交付審查]'
          required: false
          schema:
            type: 'string'
        -
          name: '會議代碼'
          in: 'query'
          description: '會議代碼 [例: 院會-11-2-3]'
          required: false
          schema:
            type: 'string'
        -
          name: '提案來源'
          in: 'query'
          description: '議案的提案來源屬性 [例: 委員提案] (TODO: enum)'
          required: false
          schema:
            type: 'string'
        -
          name: '議案編號'
          in: 'query'
          description: '議案編號 [例: 202110068550000]'
          required: false
          schema:
            type: 'string'
        -
          name: '提案編號'
          in: 'query'
          description: '議案的提案編號 [例: 20委11006855]'
          required: false
          schema:
            type: 'string'
        -
          name: '字號'
          in: 'query'
          description: '議案的字號 [例: 院總第20號委員提案第11001661號]'
          required: false
          schema:
            type: 'string'
        -
          name: '法條編號'
          in: 'query'
          description: '對照表對應的法條編號 [例: 01945:01945:2015-01-22-全文修正:16]'
          required: false
          schema:
            type: 'string'
        -
          name: '提案日期'
          in: 'query'
          description: '議案的提案日期 [例: 2021-10-06]'
          required: false
          schema:
            type: 'date'
        -
          name: '提案單位/提案委員'
          in: 'query'
          description: '提案單位或提案委員 [例: 民進黨團]'
          required: false
          schema:
            type: 'string'
        -
          name: 'page'
          in: 'query'
          description: '頁數'
          required: false
          schema:
            type: 'integer'
          example: 1
        -
          name: 'limit'
          in: 'query'
          description: '每頁筆數'
          required: false
          schema:
            type: 'integer'
          example: 20
        -
          name: 'output_fields'
          in: 'query'
          description: '輸出欄位'
          required: false
          schema:
            type: 'array'
          example:
            - 法律編號
      responses:
        200:
          description: '法律相關議案資料'
        404:
          description: '找不到法律相關議案資料'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /laws/{id}/versions:
    get:
      tags:
        - Law
      summary: '取得法律過往的版本紀錄列表'
      operationId: 'getLawVersions'
      parameters:
        -
          name: 'id'
          description: '法律編號'
          in: 'path'
          required: true
          schema:
            type: 'string'
          example: '09200015'
        -
          name: '法律編號'
          in: 'query'
          description: '法律編號 [例: 90481]'
          required: false
          schema:
            type: 'string'
        -
          name: '版本編號'
          in: 'query'
          description: '版本編號 [例: 90481:1944-02-29-制定]'
          required: false
          schema:
            type: 'string'
        -
          name: '日期'
          in: 'query'
          description: '日期 [例: 1944-02-29]'
          required: false
          schema:
            type: 'string'
        -
          name: '動作'
          in: 'query'
          description: '動作 [例: 制定]'
          required: false
          schema:
            type: 'string'
        -
          name: '歷程.主提案'
          in: 'query'
          description: '歷程.主提案 [例: 張子揚]'
          required: false
          schema:
            type: 'string'
        -
          name: '歷程.進度'
          in: 'query'
          description: '歷程.進度 [例: 一讀]'
          required: false
          schema:
            type: 'string'
        -
          name: '現行版本'
          in: 'query'
          description: '現行版本'
          required: false
          schema:
            type: 'string'
            enum:
              - 現行
              - 非現行
        -
          name: 'page'
          in: 'query'
          description: '頁數'
          required: false
          schema:
            type: 'integer'
          example: 1
        -
          name: 'limit'
          in: 'query'
          description: '每頁筆數'
          required: false
          schema:
            type: 'integer'
          example: 20
        -
          name: 'output_fields'
          in: 'query'
          description: '輸出欄位'
          required: false
          schema:
            type: 'array'
          example:
            - 法律編號
      responses:
        200:
          description: '法律過往的版本紀錄資料'
        404:
          description: '找不到法律過往的版本紀錄資料'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /law_contents:
    get:
      tags:
        - Law
      summary: '取得法條列表'
      operationId: 'listLawContents'
      parameters:
        -
          name: '法律編號'
          in: 'query'
          description: '法律編號 [例: 90481]'
          required: false
          schema:
            type: 'string'
        -
          name: '版本編號'
          in: 'query'
          description: '版本編號 [例: 90481:90481:1944-02-29-制定:1]'
          required: false
          schema:
            type: 'string'
        -
          name: '順序'
          in: 'query'
          description: '順序 [例: 1]'
          required: false
          schema:
            type: 'integer'
        -
          name: '條號'
          in: 'query'
          description: '條號 [例: 第一條]'
          required: false
          schema:
            type: 'string'
        -
          name: '現行版'
          in: 'query'
          description: '現行版'
          required: false
          schema:
            type: 'string'
            enum:
              - 現行
              - 非現行
        -
          name: '版本追蹤'
          in: 'query'
          description: '版本追蹤 [例: new]'
          required: false
          schema:
            type: 'string'
        -
          name: 'page'
          in: 'query'
          description: '頁數'
          required: false
          schema:
            type: 'integer'
          example: 1
        -
          name: 'limit'
          in: 'query'
          description: '每頁筆數'
          required: false
          schema:
            type: 'integer'
          example: 20
        -
          name: 'output_fields'
          in: 'query'
          description: '輸出欄位'
          required: false
          schema:
            type: 'array'
          example:
            - 法條編號
      responses:
        200:
          description: '法條資料'
        404:
          description: '找不到法條資料'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /law_contents/{id}:
    get:
      tags:
        - Law
      summary: '取得特定法條資訊'
      operationId: 'getLawContent'
      parameters:
        -
          name: 'id'
          description: '法條編號'
          in: 'path'
          required: true
          schema:
            type: 'string'
          example: '90481:90481:1944-02-29-制定:0'
      responses:
        200:
          description: '法條資料'
        404:
          description: '找不到法條資料'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /law_versions:
    get:
      tags:
        - Law
      summary: '取得法律版本列表'
      operationId: 'listLawVersions'
      parameters:
        -
          name: '法律編號'
          in: 'query'
          description: '法律編號 [例: 90481]'
          required: false
          schema:
            type: 'string'
        -
          name: '版本編號'
          in: 'query'
          description: '版本編號 [例: 90481:1944-02-29-制定]'
          required: false
          schema:
            type: 'string'
        -
          name: '日期'
          in: 'query'
          description: '日期 [例: 1944-02-29]'
          required: false
          schema:
            type: 'string'
        -
          name: '動作'
          in: 'query'
          description: '動作 [例: 制定]'
          required: false
          schema:
            type: 'string'
        -
          name: '歷程.主提案'
          in: 'query'
          description: '歷程.主提案 [例: 張子揚]'
          required: false
          schema:
            type: 'string'
        -
          name: '歷程.進度'
          in: 'query'
          description: '歷程.進度 [例: 一讀]'
          required: false
          schema:
            type: 'string'
        -
          name: '現行版本'
          in: 'query'
          description: '現行版本'
          required: false
          schema:
            type: 'string'
            enum:
              - 現行
              - 非現行
        -
          name: 'page'
          in: 'query'
          description: '頁數'
          required: false
          schema:
            type: 'integer'
          example: 1
        -
          name: 'limit'
          in: 'query'
          description: '每頁筆數'
          required: false
          schema:
            type: 'integer'
          example: 20
        -
          name: 'output_fields'
          in: 'query'
          description: '輸出欄位'
          required: false
          schema:
            type: 'array'
          example:
            - 版本編號
      responses:
        200:
          description: '法律版本資料'
        404:
          description: '找不到法律版本資料'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /law_versions/{id}:
    get:
      tags:
        - Law
      summary: '取得特定法律版本資訊'
      operationId: 'getLawVersion'
      parameters:
        -
          name: 'id'
          description: '版本編號'
          in: 'path'
          required: true
          schema:
            type: 'string'
          example: '90481:1944-02-29-制定'
      responses:
        200:
          description: '法律版本資料'
        404:
          description: '找不到法律版本資料'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /law_versions/{id}/contents:
    get:
      tags:
        - Law
      summary: '取得法律版本包含的法條列表'
      operationId: 'getLawVersionContents'
      parameters:
        -
          name: 'id'
          description: '版本編號'
          in: 'path'
          required: true
          schema:
            type: 'string'
          example: '90481:1944-02-29-制定'
        -
          name: '法律編號'
          in: 'query'
          description: '法律編號 [例: 90481]'
          required: false
          schema:
            type: 'string'
        -
          name: '版本編號'
          in: 'query'
          description: '版本編號 [例: 90481:90481:1944-02-29-制定:1]'
          required: false
          schema:
            type: 'string'
        -
          name: '順序'
          in: 'query'
          description: '順序 [例: 1]'
          required: false
          schema:
            type: 'integer'
        -
          name: '條號'
          in: 'query'
          description: '條號 [例: 第一條]'
          required: false
          schema:
            type: 'string'
        -
          name: '現行版'
          in: 'query'
          description: '現行版'
          required: false
          schema:
            type: 'string'
            enum:
              - 現行
              - 非現行
        -
          name: '版本追蹤'
          in: 'query'
          description: '版本追蹤 [例: new]'
          required: false
          schema:
            type: 'string'
        -
          name: 'page'
          in: 'query'
          description: '頁數'
          required: false
          schema:
            type: 'integer'
          example: 1
        -
          name: 'limit'
          in: 'query'
          description: '每頁筆數'
          required: false
          schema:
            type: 'integer'
          example: 20
        -
          name: 'output_fields'
          in: 'query'
          description: '輸出欄位'
          required: false
          schema:
            type: 'array'
          example:
            - 版本編號
      responses:
        200:
          description: '法律版本包含的法條資料'
        404:
          description: '找不到法律版本包含的法條資料'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /legislators:
    get:
      tags:
        - Legislator
      summary: '取得立法委員列表'
      operationId: 'listLegislators'
      parameters:
        -
          name: '屆'
          in: 'query'
          description: '屆 [例: 11]'
          required: false
          schema:
            type: 'integer'
        -
          name: '黨籍'
          in: 'query'
          description: '黨籍 [例: 民主進步黨]'
          required: false
          schema:
            type: 'string'
        -
          name: '選區名稱'
          in: 'query'
          description: '選區名稱 [例: 臺南市第6選舉區]'
          required: false
          schema:
            type: 'string'
        -
          name: '歷屆立法委員編號'
          in: 'query'
          description: '歷屆立法委員編號 [例: 1160]'
          required: false
          schema:
            type: 'integer'
        -
          name: '委員姓名'
          in: 'query'
          description: '委員姓名 [例: 韓國瑜]'
          required: false
          schema:
            type: 'string'
        -
          name: 'page'
          in: 'query'
          description: '頁數'
          required: false
          schema:
            type: 'integer'
          example: 1
        -
          name: 'limit'
          in: 'query'
          description: '每頁筆數'
          required: false
          schema:
            type: 'integer'
          example: 20
        -
          name: 'output_fields'
          in: 'query'
          description: '輸出欄位'
          required: false
          schema:
            type: 'array'
          example:
            - 屆
            - 委員姓名
      responses:
        200:
          description: '立法委員資料'
        404:
          description: '找不到立法委員資料'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /legislators/{term}/{name}:
    get:
      tags:
        - Legislator
      summary: '取得特定立法委員資訊'
      operationId: 'getLegislator'
      parameters:
        -
          name: 'term'
          description: '屆'
          in: 'path'
          required: true
          schema:
            type: 'integer'
          example: 11
        -
          name: 'name'
          description: '委員姓名'
          in: 'path'
          required: true
          schema:
            type: 'string'
          example: '韓國瑜'
      responses:
        200:
          description: '立法委員資料'
        404:
          description: '找不到立法委員資料'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /legislators/{term}/{name}/propose_bills:
    get:
      tags:
        - Legislator
      summary: '取得委員為提案人的法案列表'
      operationId: 'getLegislatorProposeBills'
      parameters:
        -
          name: 'term'
          description: '屆'
          in: 'path'
          required: true
          schema:
            type: 'integer'
          example: 11
        -
          name: 'name'
          description: '委員姓名'
          in: 'path'
          required: true
          schema:
            type: 'string'
          example: '韓國瑜'
        -
          name: '屆'
          in: 'query'
          description: '議案所屬屆期 [例: 11]'
          required: false
          schema:
            type: 'integer'
        -
          name: '會期'
          in: 'query'
          description: '議案所屬會期 [例: 2]'
          required: false
          schema:
            type: 'integer'
        -
          name: '議案流程.狀態'
          in: 'query'
          description: '議案流程中曾經有過狀態，字串需完全符合 [例: 排入院會 (交內政委員會)]'
          required: false
          schema:
            type: 'string'
        -
          name: '議案類別'
          in: 'query'
          description: '議案類別 [例: 法律案]'
          required: false
          schema:
            type: 'string'
        -
          name: '提案人'
          in: 'query'
          description: '提案人 [例: 徐欣瑩]'
          required: false
          schema:
            type: 'string'
        -
          name: '連署人'
          in: 'query'
          description: '連署人 [例: 林德福]'
          required: false
          schema:
            type: 'string'
        -
          name: '法律編號'
          in: 'query'
          description: '議案相關的法律編號(?) [例: 01254]'
          required: false
          schema:
            type: 'string'
        -
          name: '議案狀態'
          in: 'query'
          description: '議案目前所處狀態 [例: 交付審查]'
          required: false
          schema:
            type: 'string'
        -
          name: '會議代碼'
          in: 'query'
          description: '會議代碼 [例: 院會-11-2-3]'
          required: false
          schema:
            type: 'string'
        -
          name: '提案來源'
          in: 'query'
          description: '議案的提案來源屬性 [例: 委員提案] (TODO: enum)'
          required: false
          schema:
            type: 'string'
        -
          name: '議案編號'
          in: 'query'
          description: '議案編號 [例: 202110068550000]'
          required: false
          schema:
            type: 'string'
        -
          name: '提案編號'
          in: 'query'
          description: '議案的提案編號 [例: 20委11006855]'
          required: false
          schema:
            type: 'string'
        -
          name: '字號'
          in: 'query'
          description: '議案的字號 [例: 院總第20號委員提案第11001661號]'
          required: false
          schema:
            type: 'string'
        -
          name: '法條編號'
          in: 'query'
          description: '對照表對應的法條編號 [例: 01945:01945:2015-01-22-全文修正:16]'
          required: false
          schema:
            type: 'string'
        -
          name: '提案日期'
          in: 'query'
          description: '議案的提案日期 [例: 2021-10-06]'
          required: false
          schema:
            type: 'date'
        -
          name: '提案單位/提案委員'
          in: 'query'
          description: '提案單位或提案委員 [例: 民進黨團]'
          required: false
          schema:
            type: 'string'
        -
          name: 'page'
          in: 'query'
          description: '頁數'
          required: false
          schema:
            type: 'integer'
          example: 1
        -
          name: 'limit'
          in: 'query'
          description: '每頁筆數'
          required: false
          schema:
            type: 'integer'
          example: 20
        -
          name: 'output_fields'
          in: 'query'
          description: '輸出欄位'
          required: false
          schema:
            type: 'array'
          example:
            - 屆
            - 委員姓名
      responses:
        200:
          description: '委員為提案人的法案資料'
        404:
          description: '找不到委員為提案人的法案資料'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /legislators/{term}/{name}/cosign_bills:
    get:
      tags:
        - Legislator
      summary: '取得委員為連署人的法案列表'
      operationId: 'getLegislatorCosignBills'
      parameters:
        -
          name: 'term'
          description: '屆'
          in: 'path'
          required: true
          schema:
            type: 'integer'
          example: 11
        -
          name: 'name'
          description: '委員姓名'
          in: 'path'
          required: true
          schema:
            type: 'string'
          example: '韓國瑜'
        -
          name: '屆'
          in: 'query'
          description: '議案所屬屆期 [例: 11]'
          required: false
          schema:
            type: 'integer'
        -
          name: '會期'
          in: 'query'
          description: '議案所屬會期 [例: 2]'
          required: false
          schema:
            type: 'integer'
        -
          name: '議案流程.狀態'
          in: 'query'
          description: '議案流程中曾經有過狀態，字串需完全符合 [例: 排入院會 (交內政委員會)]'
          required: false
          schema:
            type: 'string'
        -
          name: '議案類別'
          in: 'query'
          description: '議案類別 [例: 法律案]'
          required: false
          schema:
            type: 'string'
        -
          name: '提案人'
          in: 'query'
          description: '提案人 [例: 徐欣瑩]'
          required: false
          schema:
            type: 'string'
        -
          name: '連署人'
          in: 'query'
          description: '連署人 [例: 林德福]'
          required: false
          schema:
            type: 'string'
        -
          name: '法律編號'
          in: 'query'
          description: '議案相關的法律編號(?) [例: 01254]'
          required: false
          schema:
            type: 'string'
        -
          name: '議案狀態'
          in: 'query'
          description: '議案目前所處狀態 [例: 交付審查]'
          required: false
          schema:
            type: 'string'
        -
          name: '會議代碼'
          in: 'query'
          description: '會議代碼 [例: 院會-11-2-3]'
          required: false
          schema:
            type: 'string'
        -
          name: '提案來源'
          in: 'query'
          description: '議案的提案來源屬性 [例: 委員提案] (TODO: enum)'
          required: false
          schema:
            type: 'string'
        -
          name: '議案編號'
          in: 'query'
          description: '議案編號 [例: 202110068550000]'
          required: false
          schema:
            type: 'string'
        -
          name: '提案編號'
          in: 'query'
          description: '議案的提案編號 [例: 20委11006855]'
          required: false
          schema:
            type: 'string'
        -
          name: '字號'
          in: 'query'
          description: '議案的字號 [例: 院總第20號委員提案第11001661號]'
          required: false
          schema:
            type: 'string'
        -
          name: '法條編號'
          in: 'query'
          description: '對照表對應的法條編號 [例: 01945:01945:2015-01-22-全文修正:16]'
          required: false
          schema:
            type: 'string'
        -
          name: '提案日期'
          in: 'query'
          description: '議案的提案日期 [例: 2021-10-06]'
          required: false
          schema:
            type: 'date'
        -
          name: '提案單位/提案委員'
          in: 'query'
          description: '提案單位或提案委員 [例: 民進黨團]'
          required: false
          schema:
            type: 'string'
        -
          name: 'page'
          in: 'query'
          description: '頁數'
          required: false
          schema:
            type: 'integer'
          example: 1
        -
          name: 'limit'
          in: 'query'
          description: '每頁筆數'
          required: false
          schema:
            type: 'integer'
          example: 20
        -
          name: 'output_fields'
          in: 'query'
          description: '輸出欄位'
          required: false
          schema:
            type: 'array'
          example:
            - 屆
            - 委員姓名
      responses:
        200:
          description: '委員為連署人的法案資料'
        404:
          description: '找不到委員為連署人的法案資料'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /legislators/{term}/{name}/meets:
    get:
      tags:
        - Legislator
      summary: '取得委員出席的會議列表'
      operationId: 'getLegislatorMeets'
      parameters:
        -
          name: 'term'
          description: '屆'
          in: 'path'
          required: true
          schema:
            type: 'integer'
          example: 11
        -
          name: 'name'
          description: '委員姓名'
          in: 'path'
          required: true
          schema:
            type: 'string'
          example: '韓國瑜'
        -
          name: '屆'
          in: 'query'
          description: '屆 [例: 11]'
          required: false
          schema:
            type: 'integer'
        -
          name: '會議代碼'
          in: 'query'
          description: '會議代碼 [例: 院會-11-2-6]'
          required: false
          schema:
            type: 'string'
        -
          name: '會期'
          in: 'query'
          description: '會期 [例: 2]'
          required: false
          schema:
            type: 'integer'
        -
          name: '會議種類'
          in: 'query'
          description: '會議種類 [例: 院會] (TODO: enum)'
          required: false
          schema:
            type: 'string'
        -
          name: '會議資料.出席委員'
          in: 'query'
          description: '會議資料.出席委員 [例: 陳秀寳]'
          required: false
          schema:
            type: 'string'
        -
          name: '日期'
          in: 'query'
          description: '日期 [例: 2024-10-25]'
          required: false
          schema:
            type: 'string'
        -
          name: '委員會代號'
          in: 'query'
          description: '委員會代號 [例: 23]'
          required: false
          schema:
            type: 'integer'
        -
          name: '會議資料.會議編號'
          in: 'query'
          description: '會議資料.會議編號 [例: 2024102368]'
          required: false
          schema:
            type: 'string'
        -
          name: '議事網資料.關係文書.議案.議案編號'
          in: 'query'
          description: '議事網資料.關係文書.議案.議案編號 [例: 202110071090000]'
          required: false
          schema:
            type: 'string'
        -
          name: '議事網資料.關係文書.議案.法律編號'
          in: 'query'
          description: '議事網資料.laws [例: 01177]'
          required: false
          schema:
            type: 'string'
        -
          name: 'page'
          in: 'query'
          description: '頁數'
          required: false
          schema:
            type: 'integer'
          example: 1
        -
          name: 'limit'
          in: 'query'
          description: '每頁筆數'
          required: false
          schema:
            type: 'integer'
          example: 20
        -
          name: 'output_fields'
          in: 'query'
          description: '輸出欄位'
          required: false
          schema:
            type: 'array'
          example:
            - 屆
            - 委員姓名
      responses:
        200:
          description: '委員出席的會議資料'
        404:
          description: '找不到委員出席的會議資料'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /legislators/{term}/{name}/interpellations:
    get:
      tags:
        - Legislator
      summary: '取得委員為質詢委員的質詢列表'
      operationId: 'getLegislatorInterpellations'
      parameters:
        -
          name: 'term'
          description: '屆'
          in: 'path'
          required: true
          schema:
            type: 'integer'
          example: 11
        -
          name: 'name'
          description: '委員姓名'
          in: 'path'
          required: true
          schema:
            type: 'string'
          example: '韓國瑜'
        -
          name: '質詢委員'
          in: 'query'
          description: '質詢委員 [例: 羅智強]'
          required: false
          schema:
            type: 'string'
        -
          name: '屆'
          in: 'query'
          description: '屆 [例: 11]'
          required: false
          schema:
            type: 'integer'
        -
          name: '會期'
          in: 'query'
          description: '會期 [例: 2]'
          required: false
          schema:
            type: 'integer'
        -
          name: '會議代碼'
          in: 'query'
          description: '會議代碼 [例: 院會-11-2-6]'
          required: false
          schema:
            type: 'string'
        -
          name: 'page'
          in: 'query'
          description: '頁數'
          required: false
          schema:
            type: 'integer'
          example: 1
        -
          name: 'limit'
          in: 'query'
          description: '每頁筆數'
          required: false
          schema:
            type: 'integer'
          example: 20
        -
          name: 'output_fields'
          in: 'query'
          description: '輸出欄位'
          required: false
          schema:
            type: 'array'
          example:
            - 屆
            - 委員姓名
      responses:
        200:
          description: '委員為質詢委員的質詢資料'
        404:
          description: '找不到委員為質詢委員的質詢資料'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /meets:
    get:
      tags:
        - Meet
      summary: '取得會議列表'
      operationId: 'listMeets'
      parameters:
        -
          name: '屆'
          in: 'query'
          description: '屆 [例: 11]'
          required: false
          schema:
            type: 'integer'
        -
          name: '會議代碼'
          in: 'query'
          description: '會議代碼 [例: 院會-11-2-6]'
          required: false
          schema:
            type: 'string'
        -
          name: '會期'
          in: 'query'
          description: '會期 [例: 2]'
          required: false
          schema:
            type: 'integer'
        -
          name: '會議種類'
          in: 'query'
          description: '會議種類 [例: 院會] (TODO: enum)'
          required: false
          schema:
            type: 'string'
        -
          name: '會議資料.出席委員'
          in: 'query'
          description: '會議資料.出席委員 [例: 陳秀寳]'
          required: false
          schema:
            type: 'string'
        -
          name: '日期'
          in: 'query'
          description: '日期 [例: 2024-10-25]'
          required: false
          schema:
            type: 'string'
        -
          name: '委員會代號'
          in: 'query'
          description: '委員會代號 [例: 23]'
          required: false
          schema:
            type: 'integer'
        -
          name: '會議資料.會議編號'
          in: 'query'
          description: '會議資料.會議編號 [例: 2024102368]'
          required: false
          schema:
            type: 'string'
        -
          name: '議事網資料.關係文書.議案.議案編號'
          in: 'query'
          description: '議事網資料.關係文書.議案.議案編號 [例: 202110071090000]'
          required: false
          schema:
            type: 'string'
        -
          name: '議事網資料.關係文書.議案.法律編號'
          in: 'query'
          description: '議事網資料.laws [例: 01177]'
          required: false
          schema:
            type: 'string'
        -
          name: 'page'
          in: 'query'
          description: '頁數'
          required: false
          schema:
            type: 'integer'
          example: 1
        -
          name: 'limit'
          in: 'query'
          description: '每頁筆數'
          required: false
          schema:
            type: 'integer'
          example: 20
        -
          name: 'output_fields'
          in: 'query'
          description: '輸出欄位'
          required: false
          schema:
            type: 'array'
          example:
            - 會議代碼
      responses:
        200:
          description: '會議資料'
        404:
          description: '找不到會議資料'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /meets/{id}:
    get:
      tags:
        - Meet
      summary: '取得特定會議資訊'
      operationId: 'getMeet'
      parameters:
        -
          name: 'id'
          description: '會議代碼'
          in: 'path'
          required: true
          schema:
            type: 'string'
          example: '院會-11-2-3'
      responses:
        200:
          description: '會議資料'
        404:
          description: '找不到會議資料'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /meets/{id}/ivods:
    get:
      tags:
        - Meet
      summary: '取得會議相關的IVOD列表'
      operationId: 'getMeetIvods'
      parameters:
        -
          name: 'id'
          description: '會議代碼'
          in: 'path'
          required: true
          schema:
            type: 'string'
          example: '院會-11-2-3'
        -
          name: '屆'
          in: 'query'
          description: '屆 [例: 11]'
          required: false
          schema:
            type: 'integer'
        -
          name: '會期'
          in: 'query'
          description: '會期 [例: 2]'
          required: false
          schema:
            type: 'integer'
        -
          name: '會議.會議代碼'
          in: 'query'
          description: '會議.會議代碼 [例: 委員會-11-2-22-5]'
          required: false
          schema:
            type: 'string'
        -
          name: '委員名稱'
          in: 'query'
          description: '委員名稱 [例: 陳培瑜]'
          required: false
          schema:
            type: 'string'
        -
          name: '會議資料.委員會代碼'
          in: 'query'
          description: '會議資料.委員會代碼 [例: 22]'
          required: false
          schema:
            type: 'integer'
        -
          name: '會議資料.會議代碼'
          in: 'query'
          description: '會議資料.會議代碼 [例: 委員會-11-2-22-5]'
          required: false
          schema:
            type: 'string'
        -
          name: '日期'
          in: 'query'
          description: '日期 [例: 2024-10-24]'
          required: false
          schema:
            type: 'string'
        -
          name: '影片種類'
          in: 'query'
          description: '影片種類'
          required: false
          schema:
            type: 'string'
            enum:
              - Clip
              - Full
        -
          name: 'page'
          in: 'query'
          description: '頁數'
          required: false
          schema:
            type: 'integer'
          example: 1
        -
          name: 'limit'
          in: 'query'
          description: '每頁筆數'
          required: false
          schema:
            type: 'integer'
          example: 20
        -
          name: 'output_fields'
          in: 'query'
          description: '輸出欄位'
          required: false
          schema:
            type: 'array'
          example:
            - 會議代碼
      responses:
        200:
          description: '會議相關的IVOD資料'
        404:
          description: '找不到會議相關的IVOD資料'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /meets/{id}/bills:
    get:
      tags:
        - Meet
      summary: '取得會議內的議案列表'
      operationId: 'getMeetBills'
      parameters:
        -
          name: 'id'
          description: '會議代碼'
          in: 'path'
          required: true
          schema:
            type: 'string'
          example: '院會-11-2-3'
        -
          name: '屆'
          in: 'query'
          description: '議案所屬屆期 [例: 11]'
          required: false
          schema:
            type: 'integer'
        -
          name: '會期'
          in: 'query'
          description: '議案所屬會期 [例: 2]'
          required: false
          schema:
            type: 'integer'
        -
          name: '議案流程.狀態'
          in: 'query'
          description: '議案流程中曾經有過狀態，字串需完全符合 [例: 排入院會 (交內政委員會)]'
          required: false
          schema:
            type: 'string'
        -
          name: '議案類別'
          in: 'query'
          description: '議案類別 [例: 法律案]'
          required: false
          schema:
            type: 'string'
        -
          name: '提案人'
          in: 'query'
          description: '提案人 [例: 徐欣瑩]'
          required: false
          schema:
            type: 'string'
        -
          name: '連署人'
          in: 'query'
          description: '連署人 [例: 林德福]'
          required: false
          schema:
            type: 'string'
        -
          name: '法律編號'
          in: 'query'
          description: '議案相關的法律編號(?) [例: 01254]'
          required: false
          schema:
            type: 'string'
        -
          name: '議案狀態'
          in: 'query'
          description: '議案目前所處狀態 [例: 交付審查]'
          required: false
          schema:
            type: 'string'
        -
          name: '會議代碼'
          in: 'query'
          description: '會議代碼 [例: 院會-11-2-3]'
          required: false
          schema:
            type: 'string'
        -
          name: '提案來源'
          in: 'query'
          description: '議案的提案來源屬性 [例: 委員提案] (TODO: enum)'
          required: false
          schema:
            type: 'string'
        -
          name: '議案編號'
          in: 'query'
          description: '議案編號 [例: 202110068550000]'
          required: false
          schema:
            type: 'string'
        -
          name: '提案編號'
          in: 'query'
          description: '議案的提案編號 [例: 20委11006855]'
          required: false
          schema:
            type: 'string'
        -
          name: '字號'
          in: 'query'
          description: '議案的字號 [例: 院總第20號委員提案第11001661號]'
          required: false
          schema:
            type: 'string'
        -
          name: '法條編號'
          in: 'query'
          description: '對照表對應的法條編號 [例: 01945:01945:2015-01-22-全文修正:16]'
          required: false
          schema:
            type: 'string'
        -
          name: '提案日期'
          in: 'query'
          description: '議案的提案日期 [例: 2021-10-06]'
          required: false
          schema:
            type: 'date'
        -
          name: '提案單位/提案委員'
          in: 'query'
          description: '提案單位或提案委員 [例: 民進黨團]'
          required: false
          schema:
            type: 'string'
        -
          name: 'page'
          in: 'query'
          description: '頁數'
          required: false
          schema:
            type: 'integer'
          example: 1
        -
          name: 'limit'
          in: 'query'
          description: '每頁筆數'
          required: false
          schema:
            type: 'integer'
          example: 20
        -
          name: 'output_fields'
          in: 'query'
          description: '輸出欄位'
          required: false
          schema:
            type: 'array'
          example:
            - 會議代碼
      responses:
        200:
          description: '會議內的議案資料'
        404:
          description: '找不到會議內的議案資料'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /meets/{id}/interpellations:
    get:
      tags:
        - Meet
      summary: '取得會議內的質詢列表'
      operationId: 'getMeetInterpellations'
      parameters:
        -
          name: 'id'
          description: '會議代碼'
          in: 'path'
          required: true
          schema:
            type: 'string'
          example: '院會-11-2-3'
        -
          name: '質詢委員'
          in: 'query'
          description: '質詢委員 [例: 羅智強]'
          required: false
          schema:
            type: 'string'
        -
          name: '屆'
          in: 'query'
          description: '屆 [例: 11]'
          required: false
          schema:
            type: 'integer'
        -
          name: '會期'
          in: 'query'
          description: '會期 [例: 2]'
          required: false
          schema:
            type: 'integer'
        -
          name: '會議代碼'
          in: 'query'
          description: '會議代碼 [例: 院會-11-2-6]'
          required: false
          schema:
            type: 'string'
        -
          name: 'page'
          in: 'query'
          description: '頁數'
          required: false
          schema:
            type: 'integer'
          example: 1
        -
          name: 'limit'
          in: 'query'
          description: '每頁筆數'
          required: false
          schema:
            type: 'integer'
          example: 20
        -
          name: 'output_fields'
          in: 'query'
          description: '輸出欄位'
          required: false
          schema:
            type: 'array'
          example:
            - 會議代碼
      responses:
        200:
          description: '會議內的質詢資料'
        404:
          description: '找不到會議內的質詢資料'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /votes:
    get:
      tags:
        - Vote
      summary: '取得表決列表'
      operationId: 'listVotes'
      parameters:
        -
          name: '屆'
          in: 'query'
          description: '屆 [例: 11]'
          required: false
          schema:
            type: 'integer'
        -
          name: '會議代碼'
          in: 'query'
          description: '會議代碼 [例: 院會-11-4-14]'
          required: false
          schema:
            type: 'string'
        -
          name: '表決型態'
          in: 'query'
          description: '表決型態 [例: 記名表決]'
          required: false
          schema:
            type: 'string'
        -
          name: '表決時間'
          in: 'query'
          description: '表決時間 [例: 中華民國114年12月19日 上午10時42分02秒]'
          required: false
          schema:
            type: 'string'
        -
          name: '投票委員'
          in: 'query'
          description: '有參與投票的委員姓名（含贊成、反對、棄權）[例: 黃國昌]'
          required: false
          schema:
            type: 'string'
        -
          name: '贊成'
          in: 'query'
          description: '贊成的委員姓名 [例: 黃國昌]'
          required: false
          schema:
            type: 'string'
        -
          name: '反對'
          in: 'query'
          description: '反對的委員姓名 [例: 黃國昌]'
          required: false
          schema:
            type: 'string'
        -
          name: '棄權'
          in: 'query'
          description: '棄權的委員姓名 [例: 黃國昌]'
          required: false
          schema:
            type: 'string'
        -
          name: '公報文件代碼'
          in: 'query'
          description: '公報文件代碼 [例: 1150101_00002]'
          required: false
          schema:
            type: 'string'
        -
          name: 'page'
          in: 'query'
          description: '頁數'
          required: false
          schema:
            type: 'integer'
          example: 1
        -
          name: 'limit'
          in: 'query'
          description: '每頁筆數'
          required: false
          schema:
            type: 'integer'
          example: 20
        -
          name: 'output_fields'
          in: 'query'
          description: '輸出欄位'
          required: false
          schema:
            type: 'array'
          example:
            - 表決代碼
      responses:
        200:
          description: '表決資料'
        404:
          description: '找不到表決資料'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /votes/{id}:
    get:
      tags:
        - Vote
      summary: '取得特定表決資訊'
      operationId: 'getVote'
      parameters:
        -
          name: 'id'
          description: '表決代碼'
          in: 'path'
          required: true
          schema:
            type: 'string'
          example: '1150101_00002_55'
      responses:
        200:
          description: '表決資料'
        404:
          description: '找不到表決資料'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /votes/{id}/meets:
    get:
      tags:
        - Vote
      summary: '取得表決所屬的會議列表'
      operationId: 'getVoteMeets'
      parameters:
        -
          name: 'id'
          description: '表決代碼'
          in: 'path'
          required: true
          schema:
            type: 'string'
          example: '1150101_00002_55'
        -
          name: '屆'
          in: 'query'
          description: '屆 [例: 11]'
          required: false
          schema:
            type: 'integer'
        -
          name: '會議代碼'
          in: 'query'
          description: '會議代碼 [例: 院會-11-2-6]'
          required: false
          schema:
            type: 'string'
        -
          name: '會期'
          in: 'query'
          description: '會期 [例: 2]'
          required: false
          schema:
            type: 'integer'
        -
          name: '會議種類'
          in: 'query'
          description: '會議種類 [例: 院會] (TODO: enum)'
          required: false
          schema:
            type: 'string'
        -
          name: '會議資料.出席委員'
          in: 'query'
          description: '會議資料.出席委員 [例: 陳秀寳]'
          required: false
          schema:
            type: 'string'
        -
          name: '日期'
          in: 'query'
          description: '日期 [例: 2024-10-25]'
          required: false
          schema:
            type: 'string'
        -
          name: '委員會代號'
          in: 'query'
          description: '委員會代號 [例: 23]'
          required: false
          schema:
            type: 'integer'
        -
          name: '會議資料.會議編號'
          in: 'query'
          description: '會議資料.會議編號 [例: 2024102368]'
          required: false
          schema:
            type: 'string'
        -
          name: '議事網資料.關係文書.議案.議案編號'
          in: 'query'
          description: '議事網資料.關係文書.議案.議案編號 [例: 202110071090000]'
          required: false
          schema:
            type: 'string'
        -
          name: '議事網資料.關係文書.議案.法律編號'
          in: 'query'
          description: '議事網資料.laws [例: 01177]'
          required: false
          schema:
            type: 'string'
        -
          name: 'page'
          in: 'query'
          description: '頁數'
          required: false
          schema:
            type: 'integer'
          example: 1
        -
          name: 'limit'
          in: 'query'
          description: '每頁筆數'
          required: false
          schema:
            type: 'integer'
          example: 20
        -
          name: 'output_fields'
          in: 'query'
          description: '輸出欄位'
          required: false
          schema:
            type: 'array'
          example:
            - 表決代碼
      responses:
        200:
          description: '表決所屬的會議資料'
        404:
          description: '找不到表決所屬的會議資料'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    Error:
      required:
        - error
      properties:
        error:
          type: 'boolean'
        message:
          type: 'string'
      type: 'object'
    Ivod:
      type: 'object'
      properties:
        IVOD_ID:
          type: 'integer'
          description: 'IVOD 編號'
        IVOD_URL:
          type: 'string'
          format: 'uri'
          description: 'IVOD 播放頁面 URL'
        日期:
          type: 'string'
          format: 'date'
          description: '會議日期'
        會議資料:
          type: 'object'
          properties:
            會議代碼:
              type: 'string'
              description: '會議代碼'
            會議代碼:str:
              type: 'string'
              description: '即會議標題'
            屆:
              type: 'integer'
              description: '屆數'
            會期:
              type: 'integer'
              description: '會期數'
            臨時會會次:
              type: 'string'
              description: '臨時會會次'
            種類:
              type: 'string'
              description: '會議種類'
            委員會代碼:
              type: 'array'
              items:
                type: 'integer'
                description: '委員會代碼'
            委員會代碼:str:
              type: 'array'
              items:
                type: 'string'
                description: '委員會名稱'
            標題:
              type: 'string'
              description: '會議標題'
        影片種類:
          type: 'string'
          enum:
            - Clip
            - Full
        開始時間:
          type: 'string'
          format: 'date-time'
        結束時間:
          type: 'string'
          format: 'date-time'
        影片長度:
          type: 'string'
          pattern: '^\d{2}:\d{2}:\d{2}$'
          description: '影片長度'
        支援功能:
          type: 'array'
          items:
            type: 'string'
        video_url:
          type: 'string'
          format: 'uri'
          description: '影片 m3u8 網址'
        委員名稱:
          type: 'string'
          description: '委員名稱，若為完整會議時則為「完整會議」'
        委員發言時間:
          type: 'string'
        會議時間:
          type: 'string'
          format: 'date-time'
        會議名稱:
          type: 'string'
        transcript:
          type: 'object'
          properties:
            pyannote:
              type: 'array'
              items:
                type: 'object'
                properties:
                  speaker:
                    type: 'string'
                  start:
                    type: 'number'
                  end:
                    type: 'number'
                required:
                  - speaker
                  - start
                  - end
            whisperx:
              type: 'array'
              items:
                type: 'object'
                properties:
                  start:
                    type: 'number'
                  end:
                    type: 'number'
                  text:
                    type: 'string'
                required:
                  - start
                  - end
                  - text
        gazette:
          type: 'object'
          properties:
            lineno:
              type: 'integer'
              description: '卷'
            blocks:
              type: 'array'
              items:
                type: 'array'
                items:
                  type: 'string'
                  description: '公報逐字稿內文'
            agenda:
              type: 'object'
              properties:
                page_start:
                  type: 'integer'
                  description: '公報議程開始頁碼'
                page_end:
                  type: 'integer'
                  description: '公報議程結束頁碼'
                meet_id:
                  type: 'string'
                  description: '會議代碼'
                speakers:
                  type: 'array'
                  items:
                    type: 'string'
                    description: '發言人姓名'
                meetingDate:
                  type: 'string'
                  format: 'date'
                  description: '會議日期'
                gazette_id:
                  type: 'string'
                  description: '公報 ID'
                agenda_lcidc_ids:
                  type: 'array'
                  items:
                    type: 'string'
                    description: 'LCIDC 編號'
                meet_name:
                  type: 'string'
                  description: '會議名稱'
                content:
                  type: 'string'
                  description: '議程內容'
                agenda_id:
                  type: 'string'
                  description: '議程 ID'
    IvodList:
      type: 'object'
      properties:
        total:
          type: 'integer'
        total_pages:
          type: 'integer'
        page:
          type: 'integer'
        limit:
          type: 'integer'
        filter:
          type: 'object'
        id_fields:
          type: 'array'
          items:
            type: 'string'
        sort:
          type: 'array'
          items:
            type: 'string'
        output_fields:
          type: 'array'
          items:
            type: 'string'
        ivods:
          type: 'array'
          items:
            $ref: '#/components/schemas/IvodEntry'
    IvodEntry:
      type: 'object'
      properties:
        IVOD_ID:
          type: 'integer'
          description: 'IVOD 編號'
        IVOD_URL:
          type: 'string'
          format: 'uri'
          description: 'IVOD 播放頁面 URL'
        日期:
          type: 'string'
          format: 'date'
          description: '會議日期'
        會議資料:
          type: 'object'
          properties:
            會議代碼:
              type: 'string'
              description: '會議代碼'
            會議代碼:str:
              type: 'string'
              description: '即會議標題'
            屆:
              type: 'integer'
              description: '屆數'
            會期:
              type: 'integer'
              description: '會期數'
            臨時會會次:
              type: 'string'
              description: '臨時會會次'
            種類:
              type: 'string'
              description: '會議種類'
            委員會代碼:
              type: 'array'
              items:
                type: 'integer'
                description: '委員會代碼'
            委員會代碼:str:
              type: 'array'
              items:
                type: 'string'
                description: '委員會名稱'
            標題:
              type: 'string'
              description: '會議標題'
        影片種類:
          type: 'string'
          enum:
            - Clip
            - Full
        開始時間:
          type: 'string'
          format: 'date-time'
        結束時間:
          type: 'string'
          format: 'date-time'
        影片長度:
          type: 'integer'
          description: '影片長度 (秒數)'
        支援功能:
          type: 'array'
          items:
            type: 'string'
        video_url:
          type: 'string'
          format: 'uri'
          description: '影片 m3u8 網址'
        會議時間:
          type: 'string'
          format: 'date-time'
          description: '會議時間'
        會議名稱:
          type: 'string'
          description: '會議名稱'
        委員名稱:
          type: 'string'
          description: '委員名稱，若為完整會議時則為「完整會議」'
        委員發言時間:
          type: 'string'
          description: '委員發言時間'
