Glowb Dev Docs
SaaS API전자계약 API

PUT /ai/contract/{contractId}/creator-info

계약서에 크리에이터 정보를 입력합니다.

크리에이터 정보 입력

계약서에 크리에이터 개인정보 및 정산 정보를 입력합니다. 입력 완료 시 상태가 FILLED로 변경됩니다.

항목
메서드PUT
경로/ai/contract/{contractId}/creator-info
인증Bearer Token (크리에이터)

OPENED 또는 FILLED 상태에서만 정보 입력이 가능합니다. FILLED 상태에서 재입력하면 기존 정보가 업데이트됩니다.

요청

PUT /ai/contract/1/creator-info HTTP/1.1
Host: api.glowb.com
Authorization: Bearer {access_token}
Content-Type: application/json

{
  "stageName": "뷰티크리에이터A",
  "realName": "홍길동",
  "businessName": "길동 미디어",
  "bankName": "신한은행",
  "bankAccountNumber": "110-123-456789",
  "accountHolderName": "홍길동",
  "signerName": "홍길동",
  "registrationNumber": "123-45-67890",
  "address": "서울특별시 강남구 테헤란로 123",
  "representative": "홍길동"
}
curl -X PUT "https://api.glowb.com/ai/contract/1/creator-info" \
  -H "Authorization: Bearer {access_token}" \
  -H "Content-Type: application/json" \
  -d '{
    "stageName": "뷰티크리에이터A",
    "realName": "홍길동",
    "businessName": "길동 미디어",
    "bankName": "신한은행",
    "bankAccountNumber": "110-123-456789",
    "accountHolderName": "홍길동",
    "signerName": "홍길동",
    "registrationNumber": "123-45-67890",
    "address": "서울특별시 강남구 테헤란로 123",
    "representative": "홍길동"
  }'
const response = await fetch('/ai/contract/1/creator-info', {
  method: 'PUT',
  headers: {
    'Authorization': `Bearer ${accessToken}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    stageName: '뷰티크리에이터A',
    realName: '홍길동',
    businessName: '길동 미디어',
    bankName: '신한은행',
    bankAccountNumber: '110-123-456789',
    accountHolderName: '홍길동',
    signerName: '홍길동',
    registrationNumber: '123-45-67890',
    address: '서울특별시 강남구 테헤란로 123',
    representative: '홍길동',
  }),
});
const result = await response.json();

Path Parameters

Prop

Type

Request Body

Prop

Type

응답

성공 응답 (200 OK)

{
  "status": 200,
  "code": null,
  "message": "크리에이터 정보 입력이 완료되었습니다.",
  "data": {
    "contractId": 1,
    "applicationId": 101,
    "status": "FILLED",
    "campaignTitle": "여름 선크림 캠페인",
    "collabNo": 123,
    "stageName": "뷰티크리에이터A",
    "realName": "홍길동",
    "businessName": "길동 미디어",
    "bankName": "신한은행",
    "bankAccountNumber": "110-123-456789",
    "accountHolderName": "홍길동",
    "signerName": "홍길동",
    "registrationNumber": "123-45-67890",
    "address": "서울특별시 강남구 테헤란로 123",
    "representative": "홍길동",
    "signatureImageUrl": null,
    "signedPdfUrl": null,
    "contractDate": null,
    "sentAt": "2026-02-25T10:00:00",
    "signedAt": null,
    "createdAt": "2026-02-25T09:55:00"
  }
}

응답은 ContractDetailResponseDto와 동일한 구조입니다.

에러 응답

상태 오류 (400)

{
  "status": 400,
  "code": "CONTRACT_INVALID_STATE",
  "message": "현재 상태에서는 정보를 입력할 수 없습니다.",
  "data": null
}

유효성 검증 실패 (400)

{
  "status": 400,
  "code": "VALIDATION_ERROR",
  "message": "본명은 필수입니다",
  "data": null
}

API 테스트

On this page