API

요금 플랜 정의 조회

작성일 2026.04.23 | 수정일 2026.04.23

GET/crm-core/v1/plans/definitions
SOLAPI CRM의 모든 요금 플랜 정의를 반환한다. FREE / STARTER / PROFESSIONAL / ENTERPRISE 4개 티어에 대한 월 구독료, 차원별(records.max, automations.max, storage.maxBytes 등) 한도, 초과 정책(BLOCK / METERED / THROTTLE), 종량 과금 단가가 포함된다. 가격 페이지·플랜 비교 UI 렌더링에 사용한다. 인증은 필요하지만 계정 상태와 무관하게 호출 가능하다.

Response

NameTypeRequiredDescription
tiersArray지원하는 티어 목록 (FREEENTERPRISE 순)
limitsObject티어별 차원 한도 맵. limits[tier][dimension] 접근
limits.FREEObjectFREE 티어 한도
limits.STARTERObjectSTARTER 티어 한도
limits.PROFESSIONALObjectPROFESSIONAL 티어 한도
limits.ENTERPRISEObjectENTERPRISE 티어 한도
dimensionLabelsObject차원 식별자 → 한국어 라벨 매핑 (UI 표시용)
overagePoliciesObjectMETERED 정책을 가진 차원 → 정책 문자열 (METERED)
overageUnitPricesObjectMETERED 차원 → 1단위당 KRW 단가
overageUnitLabelsObjectMETERED 차원 → 단위 라벨 (, MB, , GB 등)
monthlyPricesObject*티어별 월 구독료 (KRW, VAT 포함가)

Structure

코드 예제

const response = await fetch('https://api.solapi.com/crm-core/v1/plans/definitions', {
  method: 'GET',
  headers: { 'Authorization': 'Bearer ' + TOKEN }
});
const { tiers, limits, monthlyPrices } = await response.json();
import requests

response = requests.get(
'https://api.solapi.com/crm-core/v1/plans/definitions',
headers={'Authorization': f'Bearer {TOKEN}'}
)
data = response.json()

curl -X GET 'https://api.solapi.com/crm-core/v1/plans/definitions' \
  -H 'Authorization: Bearer YOUR_TOKEN'

lightbulb

`limits[tier][dimension]` 값이 `-1`이면 **무제한**, `0`이면 **비활성**을 의미한다. 예를 들어 `limits.FREE["events.enabled"] === 0`은 FREE 플랜에서 이벤트 추적이 꺼져 있음을 뜻한다. 유료 티어 구독료는 모두 **VAT 포함가**로 표기되며, 부가세 분리는 영수증(`receipts/:logId`) 조회 시 `subtotal` / `taxAmount` 필드로 확인할 수 있다.

lightbulb

`ENTERPRISE`의 `monthlyPrices` 값은 `0`으로 반환되지만 실제 요금이 0원은 아니다. 영업팀과 별도 협의로 단가를 확정하며, 관리자 콘솔에서 수동 청구한다. 구독·업그레이드 엔드포인트로는 ENTERPRISE 전환이 불가하다.

lightbulb

`records.max`, `entities.max` 등 "이미 존재하는 데이터"와 관련된 차원은 한도 도달 시 **신규 생성만** 차단된다(`BLOCK`). `storage.maxBytes`, `automations.includedExecutions` 등 소비형 차원은 `METERED`로 초과분을 종량 과금한다. 차원별 정책은 `overagePolicies`에 명시된 항목만 `METERED`이고 나머지는 암묵적으로 `BLOCK`이다.