API

개체 조회

작성일 2026.03.24 | 수정일 2026.05.08

GET/crm-core/v1/entities/{entityId}
Parameters
entityId*— 조회할 개체의 고유 ID (CRMET1…)

특정 CRM 개체의 상세 정보를 조회합니다. 개체 이름·슬러그·속성 ID 목록·뷰 설정·인사이트 위젯 등 모든 메타데이터가 반환됩니다.

Path Params

NameTypeRequiredDescription
entityIdstring*조회할 개체의 고유 ID (CRMET1…)

Response

NameTypeRequiredDescription
entityIdstring*개체 고유 ID
accountIdstring*계정 고유 ID
workspaceIdstring워크스페이스 ID (워크스페이스 환경에서만)
namestring*개체 이름
slugstring개체 슬러그 (URL 식별자)
descriptionstring개체 설명
propertyIdsarray*개체에 포함된 속성 ID 목록 (표시 순서)
viewSettingsobject*뷰 설정
modestring*기본 뷰 모드 (TABLE / BOARD / CALENDAR)
tableobject*테이블 뷰 설정
pageSizenumber*테이블 뷰 페이지당 레코드 수
boardobject*보드 뷰 설정
groupByPropertyIdstring보드 컬럼 그룹화 기준 속성 ID
sumPropertyIdstring보드 합계 집계 기준 속성 ID
weightPropertyIdstring가중치 집계 기준 속성 ID
aggregationTypestring집계 방식 (SUM / AVG / MAX / COUNT)
sortByPropertyIdstring정렬 기준 속성 ID
sortOrderstring정렬 방향 (ASC / DESC)
closedWonValuesarrayClosed-Won 으로 간주할 컬럼 값 목록
closedLostValuesarrayClosed-Lost 로 간주할 컬럼 값 목록
dealRottingobjectDeal Rotting 설정 (일정 기간 변동 없는 카드 강조)
enabledbooleanDeal Rotting 활성 여부
daysnumber변동 없음으로 간주할 일수 (기본 14)
calendarobject캘린더 뷰 설정
datePropertyIdstring캘린더 날짜 속성 ID
titlePropertyIdstring캘린더 제목 속성 ID
colorPropertyIdstring캘린더 색상 속성 ID
insightWidgetsarray*레코드 인사이트 대시보드 위젯 목록
recordAccessstring*레코드 접근 권한 (PUBLIC / ENTITY_OWNER_ONLY / ADMIN_ONLY)
ownerIdstring개체 소유자 멤버 ID
prioritynumber*사이드바 표시 순서
isDeletedboolean*삭제 여부 (휴지통 플래그)
createdBystring생성한 멤버 ID
updatedBystring마지막으로 수정한 멤버 ID
dateCreateddate*최초 생성 시각 (UTC)
dateUpdateddate*최근 수정 시각 (UTC)

Structure

Response
{ "entityId": "CRMET1260423081530123XYZ11122233", "accountId": "24010100001234", "name": "고객", "slug": "customers", "description": "B2C 고객 정보를 관리하는 개체", "propertyIds": [ "CRMPP1260423081530123AAA11122233", "CRMPP1260423081530123BBB22233344" ], "viewSettings": { "mode": "BOARD", "table": { "pageSize": 25 }, "board": { "groupByPropertyId": "CRMPP1260423081530123AAA11122233", "sumPropertyId": "CRMPP1260423081530123BBB22233344", "weightPropertyId": null, "aggregationType": "SUM", "sortByPropertyId": null, "sortOrder": "DESC", "closedWonValues": [], "closedLostValues": [], "dealRotting": { "enabled": true, "days": 14 } }, "calendar": { "datePropertyId": null, "titlePropertyId": null, "colorPropertyId": null } }, "insightWidgets": [], "recordAccess": "PUBLIC", "ownerId": "MEMXm8i2H3o2z0", "priority": 0, "isDeleted": false, "createdBy": "MEMXm8i2H3o2z0", "updatedBy": "MEMXm8i2H3o2z0", "dateCreated": "2026-04-20T10:00:00.000Z", "dateUpdated": "2026-04-22T15:30:00.000Z" }

코드 예제

const crypto = require('crypto');
const apiKey = 'NCSXXXXXXXXXXXXX';
const apiSecret = 'YOUR_API_SECRET';
const dateTime = new Date().toISOString();
const salt = crypto.randomBytes(16).toString('hex');
const signature = crypto.createHmac('sha256', apiSecret).update(dateTime + salt).digest('hex');
const authHeader = HMAC-SHA256 apiKey=${apiKey}, date=${dateTime}, salt=${salt}, signature=${signature};
const response = await fetch(https://api.solapi.com/crm-core/v1/entities/${entityId}, {
  method: 'GET',
  headers: { 'Authorization': authHeader, 'Content-Type': 'application/json' }
});
const data = await response.json();

import hmac, hashlib, secrets, requests
from datetime import datetime, timezone
api_key = 'NCSXXXXXXXXXXXXX'
api_secret = 'YOUR_API_SECRET'
date_time = datetime.now(timezone.utc).strftime('%Y-%m-%dT%H:%M:%SZ')
salt = secrets.token_hex(16)
signature = hmac.new(api_secret.encode(), (date_time + salt).encode(), hashlib.sha256).hexdigest()
auth_header = f'HMAC-SHA256 apiKey={api_key}, date={date_time}, salt={salt}, signature={signature}'
response = requests.get(f'https://api.solapi.com/crm-core/v1/entities/{entity_id}', headers={
    'Authorization': auth_header,
    'Content-Type': 'application/json'
})
data = response.json()

API_KEY="NCSXXXXXXXXXXXXX"
API_SECRET="YOUR_API_SECRET"
DATE=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
SALT=$(openssl rand -hex 16)
SIGNATURE=$(echo -n "${DATE}${SALT}" | openssl dgst -sha256 -hmac "${API_SECRET}" | awk '{print $NF}')
AUTH="HMAC-SHA256 apiKey=${API_KEY}, date=${DATE}, salt=${SALT}, signature=${SIGNATURE}"
curl -X GET 'https://api.solapi.com/crm-core/v1/entities/CRMET1260423081530123XYZ11122233' \
  -H "Authorization: ${AUTH}" \
  -H "Content-Type: application/json"

lightbulb

삭제된(휴지통) 개체는 이 엔드포인트에서 410 Gone 으로 응답됩니다. 삭제된 개체 목록은 `GET /crm-core/v1/entities/trash` 를 사용하세요 (CRM OWNER 전용).

lightbulb

`recordAccess` 가 `ENTITY_OWNER_ONLY` 또는 `ADMIN_ONLY` 인 개체는 호출자가 권한을 충족하지 못하면 403 으로 응답됩니다.

lightbulb

401 응답: `{ "errorCode": "Unauthorized", "errorMessage": "권한이 없습니다." }`