Glowb Dev Docs
SaaS API전자계약 API

PUT /ai/contract/{contractId}/documents

계약서에 서류를 첨부(업로드/수정)합니다.

서류 업로드/수정

계약서에 서류(신분증/사업자등록증, 통장사본)를 첨부합니다. 같은 타입의 서류가 이미 있으면 기존 파일을 교체합니다 (Upsert).

항목
메서드PUT
경로/ai/contract/{contractId}/documents
인증Bearer Token (크리에이터)
Content-Typemultipart/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
}

API 테스트

On this page