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

# 가격 플랜 정보 등록 API

> 가격 플랜 정보를 스텝커버에 등록할 때 사용합니다.



## OpenAPI

````yaml /steppay_v1.json post /api/v1/cover/price
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/cover/price:
    post:
      tags:
        - 커버 API
      summary: 가격 플랜 정보 등록 API
      description: 가격 플랜 정보를 스텝커버에 등록할 때 사용합니다.
      operationId: v1_createPrice
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreatePriceRequest'
        required: true
      responses:
        '201':
          description: 가격 플랜 정보가 정상적으로 등록됨
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/CreatePriceResponse'
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/CoverErrorresponse'
        '403':
          description: Forbidden
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/CoverErrorresponse'
components:
  schemas:
    CreatePriceRequest:
      title: 가격 플랜 생성 데이터
      required:
        - isRecurring
        - name
        - partnerPriceId
        - price
        - productId
      type: object
      properties:
        name:
          type: string
          description: 플랜 이름
        productId:
          type: integer
          description: 플랜과 연관된 상품 ID
          format: int64
        price:
          type: number
          description: 판매 가격
        isRecurring:
          type: boolean
          description: 정기결제인지 여부
        replaceIfExists:
          type: boolean
          description: >-
            partnerPriceId 이미 존재할 때 replaceIfExists가 true 이면 값을 수정하고, false 이면
            exception 이 발생합니다.
        recurringInterval:
          type: string
          description: 결제 주기에 대한 단위(isRecurring이 true일 때)
          enum:
            - DAY
            - WEEK
            - MONTH
            - YEAR
        recurringIntervalCount:
          type: integer
          description: 결제 주기에 대한 수(isRecurring이 true일 때)
          format: int32
        partnerPriceId:
          type: string
          description: 가맹점에서 사용하는 플랜의 unique ID
      description: 가격 생성 데이터
    CreatePriceResponse:
      title: 가격 플랜 정보
      required:
        - id
        - isRecurring
        - name
        - partnerPriceId
        - price
        - product
      type: object
      properties:
        id:
          type: integer
          description: 플랜 ID - 다른 API 호출에 사용되므로 해당 플랜 정보와 함께 저장해놓고 사용하세요.
          format: int64
        name:
          type: string
          description: 플랜 이름
        partnerPriceId:
          type: string
          description: 가맹점에서 사용하는 플랜의 unique ID
        product:
          $ref: '#/components/schemas/CoverProductdto'
        price:
          type: number
          description: 판매 가격
        isRecurring:
          type: boolean
          description: 정기결제인지 여부
        recurringInterval:
          type: string
          description: 결제 주기에 대한 단위(isRecurring이 true일 때)
          enum:
            - DAY
            - WEEK
            - MONTH
            - YEAR
        recurringIntervalCount:
          type: integer
          description: 결제 주기에 대한 수(isRecurring이 true일 때)
          format: int32
    CoverErrorresponse:
      required:
        - errorCode
      type: object
      properties:
        traceId:
          type: string
        errorCode:
          type: string
        errorMessage:
          type: string
        details:
          $ref: '#/components/schemas/ReturnError'
    CoverProductdto:
      title: 상품 정보
      required:
        - id
        - name
        - partnerProductId
      type: object
      properties:
        id:
          type: integer
          description: 상품 ID - 다른 API 호출에 사용되므로 해당 상품 정보와 함께 저장해놓고 사용하세요.
          format: int64
        name:
          type: string
          description: 상품 이름
        featuredImageUrl:
          type: string
          description: 상품 대표 이미지 URL
        partnerProductId:
          type: string
          description: 가맹점에서 사용하는 상품의 unique ID
      description: 플랜과 연관된 상품 정보
    ReturnError:
      type: object
  securitySchemes:
    Secret-Token:
      type: apiKey
      in: header
      name: Secret-Token

````