API

관계 수정

작성일 2026.04.23 | 수정일 2026.04.23

PATCH/crm-core/v1/relationships/{relationshipId}
관계의 metadata를 부분 업데이트한다. 기존 metadata 전체가 요청 본문의 metadata 객체로 교체되므로, 필드 일부만 바꿀 때도 기존 값을 함께 실어 보내야 한다. 권한 요구: MEMBER 이상.

Path Params

NameTypeRequiredDescription
relationshipIdstring관계 ID (CRMRL1...)

Body Params

NameTypeRequiredDescription
metadataObject교체할 관계 메타데이터
metadata.rolestring관계 역할
metadata.startDatedate관계 시작일
metadata.endDatedate관계 종료일
metadata.isPrimaryboolean대표 관계 여부
metadata.notesstring메모

Response

NameTypeRequiredDescription
relationshipIdstring관계 ID
sourceEntityIdstring소스 개체 ID
sourceRecordIdstring소스 레코드 ID
targetEntityIdstring대상 개체 ID
targetRecordIdstring대상 레코드 ID
relationshipTypeIdstring관계 유형 ID
metadataObject수정된 메타데이터
dateCreateddate생성 시각
dateUpdateddate*마지막 수정 시각

Structure

코드 예제

const id = 'CRMRL1260423091530123REL11122233';
const response = await fetch(https://api.solapi.com/crm-core/v1/relationships/${id}, {
  method: 'PATCH',
  headers: {
    'Authorization': 'Bearer ' + TOKEN,
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({ metadata: { role: 'secondary', isPrimary: false } })
});
const data = await response.json();
import requests

rel_id = 'CRMRL1260423091530123REL11122233'
response = requests.patch(
f'https://api.solapi.com/crm-core/v1/relationships/{rel_id}',
headers={'Authorization': f'Bearer {TOKEN}'},
json={'metadata': {'role': 'secondary', 'isPrimary': False}}
)
data = response.json()

curl -X PATCH 'https://api.solapi.com/crm-core/v1/relationships/CRMRL1260423091530123REL11122233' \
  -H 'Authorization: Bearer YOUR_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{"metadata":{"role":"secondary","isPrimary":false}}'

lightbulb

`metadata`는 부분 병합이 아니라 **전체 교체**로 저장된다. 기존 필드를 유지하려면 요청 본문에 기존 값을 모두 포함시키고 변경할 필드만 수정해 보낼 것. 소스/대상 레코드와 관계 유형은 수정할 수 없다.