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

# 청구서 목록 조회

> 청구서 목록을 반환합니다.



## OpenAPI

````yaml /steppay_v1.json get /api/v1/invoices
openapi: 3.0.1
info:
  title: STEPPAY
  version: '1.0'
  contact:
    name: Steppay
    url: https://www.steppay.kr
    email: contact@steppay.kr
servers:
  - url: https://api.steppay.kr
    description: Generated server url
security:
  - Secret-Token: []
paths:
  /api/v1/invoices:
    get:
      tags:
        - 청구서 API
      summary: 청구서 목록 조회
      description: 청구서 목록을 반환합니다.
      operationId: v1_getInvoiceList
      parameters:
        - name: startDate
          in: query
          description: 조회 시작 시점
          schema:
            type: string
            format: date-time
        - name: endDate
          in: query
          description: 조회 끝 시점
          schema:
            type: string
            format: date-time
        - name: page
          in: query
          description: '페이지 번호(기본값: 0)'
          schema:
            type: integer
            format: int32
        - name: size
          in: query
          description: '페이지 크기(기본값: 20)'
          schema:
            type: integer
            format: int32
        - name: sortDir
          in: query
          description: '정렬 방향(오름차순: ASC, 내림차순: DESC(기본값))'
          schema:
            type: string
        - name: sort
          in: query
          description: '정렬 기준값 - 기본값: 생성 시점'
          schema:
            type: string
        - name: status
          in: query
          description: 지정한 상태만 목록을 반환하게 합니다.
          required: false
          schema:
            type: string
            enum:
              - TEMPORARY
              - RESERVATION
              - SENT
              - PAID
              - OVER_DUE
              - SEND_FAIL
      responses:
        '200':
          description: 정상적으로 조회됨
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/InvoiceListResponseDTO'
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ProductErrorresponse'
        '403':
          description: Forbidden
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ProductErrorresponse'
components:
  schemas:
    InvoiceListResponseDTO:
      title: 청구서 목록 및 통계 정보
      required:
        - invoiceList
      type: object
      properties:
        invoiceList:
          $ref: '#/components/schemas/InvoiceListPageDTO'
    ProductErrorresponse:
      required:
        - errorCode
      type: object
      properties:
        traceId:
          type: string
        errorCode:
          type: string
        errorMessage:
          type: string
        details:
          $ref: '#/components/schemas/ReturnError'
    InvoiceListPageDTO:
      title: 청구서 목록 Pagination 정보
      required:
        - content
        - empty
        - first
        - last
        - number
        - numberOfElements
        - pageable
        - size
        - sort
        - totalElements
        - totalPages
      type: object
      properties:
        content:
          type: array
          description: 청구서 목록
          items:
            $ref: '#/components/schemas/InvoiceListDTO'
        empty:
          type: boolean
          description: 목록이 비어있는지 여부
        first:
          type: boolean
          description: 첫 번째 페이지인지 여부
        last:
          type: boolean
          description: 마지막 페이지인지 여부
        number:
          type: integer
          description: 페이지 번호
          format: int32
        numberOfElements:
          type: integer
          description: 페이지 내 고객 목록 개수
          format: int32
        pageable:
          $ref: '#/components/schemas/PageableDTO'
        size:
          type: integer
          description: 페이지 크기
          format: int32
        sort:
          $ref: '#/components/schemas/SortDTO'
        totalElements:
          type: integer
          description: 전체 고객 개수
          format: int32
        totalPages:
          type: integer
          description: 전체 페이지수
          format: int32
      description: 청구서 목록
    ReturnError:
      type: object
    InvoiceListDTO:
      title: 청구서 목록 정보
      required:
        - baseCurrency
        - currency
        - exchangeRate
        - id
        - orderCode
        - orderType
        - price
        - productCountryCode
        - productCurrencyCode
        - region
        - vendorUUID
      type: object
      properties:
        id:
          type: integer
          description: 청구서 번호
          format: int64
        createdAt:
          type: string
          description: 생성된 시점
          format: date-time
        orderCode:
          type: string
          description: 관련 주문 코드
        customerName:
          type: string
          description: 청구서를 받는 고객 이름
        productName:
          type: string
          description: 상품명
        orderType:
          type: string
          description: 주문 타입
          enum:
            - RECURRING
            - ONE_TIME
            - PAYMENT_METHOD
            - RECURRING_INITIAL
            - ADD_USAGE
            - ADDITIONAL
            - ADD_PAYMENT_METHOD
        price:
          type: number
          description: 금액
        status:
          type: string
          description: 청구서 상태
          enum:
            - TEMPORARY
            - RESERVATION
            - SENT
            - PAID
            - OVER_DUE
            - SEND_FAIL
        paymentDate:
          type: string
          description: 결제 시점
          format: date-time
        purchaseDeadline:
          type: string
          description: 구매 기한
          format: date-time
        vendorUUID:
          type: string
          description: 벤더 UUID
          format: uuid
        parentVendorUUID:
          type: string
          description: 부모 벤더 UUID
          format: uuid
        reservationAt:
          type: string
          description: 예약 발송일
          format: date-time
        productCountryCode:
          type: string
          description: 첫번째 상품의 국가 코드
          deprecated: true
        productCurrencyCode:
          type: string
          description: 첫번째 상품의 통화 코드
          deprecated: true
        region:
          $ref: '#/components/schemas/RegionDTO'
        currency:
          type: string
          description: 승인 통화
        baseCurrency:
          type: string
          description: 청구서 생성 당시 기준 통화
        exchangeRate:
          type: number
          description: 청구서 생성 당시 환율(기준통화 -> 승인통화)
        invoicePayMethods:
          type: array
          description: 청구서 결제 수단 ('계좌결제' 애드온 활성화 시 사용)
          items:
            type: string
            description: 청구서 결제 수단 ('계좌결제' 애드온 활성화 시 사용)
            enum:
              - CARD
              - VBANK
              - BANK
              - BANK_TRANSFER
              - CELLPHONE
              - SIMPLE_PAY
              - CMS
              - CARD_BILL
              - CELLPHONE_BILL
              - CMS_BILL
              - PAYPAL
      description: 청구서 목록
    PageableDTO:
      title: Pagination 정보
      required:
        - offset
        - pageNumber
        - pageSize
        - paged
        - sort
        - unpaged
      type: object
      properties:
        offset:
          type: integer
          description: 오프셋
          format: int32
        pageNumber:
          type: integer
          description: 페이지 번호
          format: int32
        pageSize:
          type: integer
          description: 페이지 크기
          format: int32
        paged:
          type: boolean
          description: Pagination 정보 포함 여부
        sort:
          $ref: '#/components/schemas/SortDTO'
        unpaged:
          type: boolean
          description: Pagination 정보 미포함 여부
      description: Pagination 정보
    SortDTO:
      title: Pagination 정렬 정보
      required:
        - empty
        - sorted
        - unsorted
      type: object
      properties:
        empty:
          type: boolean
          description: 비어있는지 여부
        sorted:
          type: boolean
          description: 정렬되어 있는지 여부
        unsorted:
          type: boolean
          description: 정렬되어 있지 않은지 여부
      description: 정렬 정보
    RegionDTO:
      title: 판매국가 정보
      required:
        - country
        - countryCode
        - currencies
        - language
        - name
      type: object
      properties:
        name:
          title: Region Enum Code
          type: string
        currencies:
          title: 해당 국가에서 사용되는 통화 코드 목록
          type: array
          items:
            title: 해당 국가에서 사용되는 통화 코드 목록
            type: string
        country:
          title: 국가 이름
          type: string
        countryCode:
          title: 국가 코드(ISO 3166 alpha-2)
          type: string
        state:
          title: 주 이름
          type: string
        language:
          title: 국가 언어 코드
          type: string
      description: 지역
  securitySchemes:
    Secret-Token:
      type: apiKey
      in: header
      name: Secret-Token

````