SaaS API전자계약 API
PUT /ai/contract/{contractId}/documents
계약서에 서류를 첨부(업로드/수정)합니다.
서류 업로드/수정
계약서에 서류(신분증/사업자등록증, 통장사본)를 첨부합니다. 같은 타입의 서류가 이미 있으면 기존 파일을 교체합니다 (Upsert).
| 항목 | 값 |
|---|---|
| 메서드 | PUT |
| 경로 | /ai/contract/{contractId}/documents |
| 인증 | Bearer Token (크리에이터) |
| Content-Type | multipart/form-data |
SIGNED 상태에서도 업로드가 허용됩니다. 기존에 서명 완료된 계약서에 서류를 보완할 수 있습니다.
요청
PUT /ai/contract/1/documents?type=BANK_ACCOUNT_COPY HTTP/1.1
Host: api.glowb.com
Authorization: Bearer {access_token}
Content-Type: multipart/form-data; boundary=----FormBoundary
------FormBoundary
Content-Disposition: form-data; name="file"; filename="bankbook.jpg"
Content-Type: image/jpeg
(바이너리 데이터)
------FormBoundary--curl -X PUT "https://api.glowb.com/ai/contract/1/documents?type=BANK_ACCOUNT_COPY" \
-H "Authorization: Bearer {access_token}" \
-F "file=@/path/to/bankbook.jpg"const formData = new FormData();
formData.append('file', fileInput.files[0]);
const response = await fetch('/ai/contract/1/documents?type=BANK_ACCOUNT_COPY', {
method: 'PUT',
headers: {
'Authorization': `Bearer ${accessToken}`,
},
body: formData,
});
const result = await response.json();Path Parameters
Prop
Type
Query Parameters
Prop
Type
Form Data
Prop
Type
서류 타입 (ContractDocumentType)
| 코드 | 표시명 | 설명 |
|---|---|---|
IDENTIFICATION | 신분증 | 주민등록증, 운전면허증 등 |
BUSINESS_REGISTRATION | 사업자등록증 | 사업자등록증 사본 |
BANK_ACCOUNT_COPY | 통장사본 | 정산용 통장사본 |
필수 서류: 신분증 또는 사업자등록증 중 1개 이상 + 통장사본 1개가 필요합니다.
응답
성공 응답 (200 OK)
{
"status": 200,
"code": null,
"message": "서류 업로드가 완료되었습니다.",
"data": {
"id": 1,
"type": "BANK_ACCOUNT_COPY",
"typeDisplayName": "통장사본",
"fileUrl": "https://d3mp6eqt0w2808.cloudfront.net/contract/document/101/1/BANK_ACCOUNT_COPY/1710234567890_bankbook.jpg",
"originalFileName": "bankbook.jpg",
"createdAt": "2026-03-12T14:30:00"
}
}응답 필드
Prop
Type
에러 응답
계약서를 찾을 수 없음 (404)
{
"status": 404,
"code": "CONTRACT_NOT_FOUND",
"message": "계약서를 찾을 수 없습니다.",
"data": null
}접근 권한 없음 (403)
{
"status": 403,
"code": "CONTRACT_UNAUTHORIZED",
"message": "해당 계약서에 접근할 권한이 없습니다.",
"data": null
}