이벤트 · 카드
card.moved
카드 이동됨
카드가 다른 컬렉션이나 폴더로 옮겨졌어요(data.from, data.to). 폴더가 삭제되어 상위 폴더로 올라간 카드도 포함돼요.
- 객체 유형
- card
- 전송 대상
- 객체를 볼 수 있는 웹훅: 역할, 데이터 프로필, 컬렉션에 따라 정해져요
페이로드
idstring필수이벤트 ID(
evt_…)로,webhook-id헤더로도 보내요. 중복 전송을 걸러 내는 데 쓰세요.typestring필수허용 값:
card.movedcreated_atstring (date-time)필수변경이 일어난 시각(UTC).
org_idinteger필수api_versionstring필수data스키마의 계약 버전.sequenceinteger웹훅 안에서의 전송 순번(테스트 이벤트에는 없어요).
payloadstring필수thin은data필드가 없다는 뜻이에요: API로 객체를 읽으세요.허용 값:
fullthindataobject필드
actor_idinteger | null필수해당 동작을 수행한 사용자. 조직 API 키나 플랫폼 자체가 수행했으면
null이에요.
testboolean필수POST /v1/webhooks/{webhook_id}/test로 보낸 테스트 이벤트.
전송 예시
{
"id": "evt_0123456789abcdef0123456789abcdef",
"type": "card.moved",
"created_at": "2026-10-24T10:00:03Z",
"org_id": 1,
"api_version": "1.62.0",
"sequence": 1042,
"object": {
"type": "card",
"id": "c_9f2e41"
},
"payload": "full",
"data": {
"card": {
"id": "c_9f2e41",
"title": "Refund policy",
"collection": "support",
"collection_id": 3,
"version": 4,
"kind": "text",
"status": "ready",
"verification_state": "trusted",
"owner_id": 7,
"tags": [
"billing"
],
"external_id": null,
"metadata": {}
},
"actor_id": 7,
"from": {
"collection": "support",
"collection_id": 3,
"folder_id": "41"
},
"to": {
"collection": "support",
"collection_id": 3,
"folder_id": null
}
},
"test": false
}이벤트 수신
각 전송은 이 JSON 본문을 웹훅의 수신 주소로 보내는 POST 요청이에요. 본문을 신뢰하기 전에 webhook-signature 헤더(Standard Webhooks)를 검증하고, 몇 초 안에 2xx 상태로 응답한 다음 처리는 그 뒤에 하세요. 한 웹훅으로 가는 전송은 이벤트 순서를 지키며, 실패한 전송은 간격을 늘려 가며 재시도해요.
새 이벤트 유형과 새 필드는 언제든 추가될 수 있어요. 모르는 유형과 필드는 건너뛰세요.