서명 요청 / 서명 요청 만들기
서명 요청 / 서명 요청 만들기
서명 요청 만들기
PDF 와 서명자, 입력란 좌표를 한 번에 보내면 문서를 만들고 바로 발송합니다. 서식 없이 일회성 계약을 보낼 때 씁니다.
/documents요청 본문
titlestring필수
문서 제목. 메일 제목과 문서함에 그대로 쓰입니다
fileBase64string필수
PDF 파일을 base64 로 인코딩한 문자열
participantsobject[]필수
서명자·열람자 목록. 최대 30명
fieldsobject[]필수
문서 위 입력란. 비면 서명자가 아무것도 못 넣습니다
orderedboolean옵션
순차 서명 여부. 기본 `false`(전원 동시 발송)
dueDaysnumber옵션
기한(일). 기본 14. 지나면 자동으로 만료됩니다
attachmentsobject[]옵션
함께 보낼 참고 파일. 최대 5개, 각 10MB
participants
namestring필수
서명자 이름. 메일 인사말과 감사추적인증서에 남습니다
contactstring필수
이메일 주소 또는 휴대전화 번호
channelstring옵션
`email`(기본) 또는 `sms`. 둘 다 요금제와 무관하게 쓸 수 있다
rolestring옵션
`signer`(기본) · `viewer`(열람자) · `cc`(참조자)
messagestring옵션
이 사람에게만 보이는 한마디
accessPasswordstring옵션
4~20자. 설정하면 링크를 열 때 입력해야 합니다
accessHintstring옵션
암호 힌트. 예: 생년월일 6자리
fields
좌표는 페이지 크기 대비 비율(0~1) 입니다. 픽셀이 아니라서 어떤 크기의 PDF 에도 같은 자리에 찍힙니다. 원점은 페이지 왼쪽 위입니다.
typestring필수
`signature` · `text` · `checkbox` · `date`
pagenumber필수
1부터 시작하는 페이지 번호
x / ynumber필수
왼쪽 위 모서리 위치. 0~1 비율
w / hnumber필수
너비·높이. 0~1 비율
participantIndexnumber필수
`participants` 배열의 인덱스(0부터)
requiredboolean옵션
기본 `true`. 비우면 서명을 끝낼 수 없습니다
sigModestring옵션
`signature` 전용. `any`(기본) · `draw`(사인만) · `stamp`(도장만)
date 입력란은 서명자가 채우지 않습니다. 서명이 끝나는 순간 서버 시계(Asia/Seoul)로 채워집니다. 법적 기록이라 클라이언트 시각을 믿지 않습니다.
응답
만들어진 문서가 돌아옵니다. id 를 저장해 두면 이후 상태 조회·재발송·취소·파일 내려받기에 씁니다.
더 궁금한 점이 있나요?
콘솔 사용법은 사용자 가이드를 보세요. 연동 중 막히면 hello@lillo.cx 로 요청·응답을 함께 보내 주세요.
curl -X POST https://api.pindersign.net/v1/documents \
-H "Authorization: Bearer psk_xxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"title": "2026년 프리랜서 용역계약서",
"fileBase64": "JVBERi0xLjcKJc…",
"ordered": true,
"dueDays": 14,
"participants": [
{ "name": "김하늘", "contact": "haneul@partner.co" },
{ "name": "이서준", "contact": "seojun@example.com" }
],
"fields": [
{ "type": "signature", "page": 1,
"x": 0.62, "y": 0.78, "w": 0.22, "h": 0.07,
"participantIndex": 0 },
{ "type": "date", "page": 1,
"x": 0.62, "y": 0.87, "w": 0.22, "h": 0.04,
"participantIndex": 0 }
]
}'{
"id": "8f2a…",
"title": "2026년 프리랜서 용역계약서",
"status": "sent",
"ordered": true,
"pageCount": 3,
"sentAt": "2026-09-19T10:02:00.000Z",
"participants": [
{ "order": 1, "name": "김하늘",
"contact": "haneul@partner.co",
"status": "notified", "role": "signer" }
],
"events": [
{ "type": "requested",
"message": "… 서명 요청을 시작했어요.",
"createdAt": "2026-09-19T10:02:00.000Z" }
]
}