> ## Documentation Index
> Fetch the complete documentation index at: https://docs.contentcare.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# 웹훅 수정 (v3)

> name, url, subscribedEvents, isActive를 수정합니다. subscribedEvents를 생략하면 기존 구독을 유지합니다. isTest는 바꿀 수 없습니다. isActive=false로 끄면 전송과 예약 재시도가 중단됩니다.



## OpenAPI

````yaml ko/api-reference/openapi.yaml PUT /api/v3/orders/webhooks/{webhookId}
openapi: 3.0.0
info:
  title: ContentCare API
  version: 2.0.0
  description: >
    ContentCare API는 디지털 콘텐츠 보호를 위한 네 가지 핵심 서비스를 제공합니다:

    - **Anti-AI**: 이미지를 AI 학습으로부터 보호

    - **Watermark Embed**: 이미지에 보이지 않는 디지털 워터마크 삽입

    - **Watermark Extract**: 이미지에서 워터마크 추출 및 검증

    - **AI Detection**: 이미지가 AI로 생성되었는지 감지

    - **테스트 API 키**: `sk_test_` 접두사의 키는 동일한 Bearer 인증을 사용하며, 실제 처리 서비스나 크레딧 사용
    없이 주문 흐름을 검증할 수 있습니다. 테스트 업로드는 파일 내용을 폐기하고 결과 파일을 만들지 않습니다
  contact:
    name: ContentCare 지원
    email: support@contentcare.ai
  license:
    name: Proprietary
    url: https://docs.contentcare.ai/legal/terms
servers:
  - url: https://api.bizmori.com
    description: 프로덕션
security: []
tags:
  - name: Anti-AI
    description: AI 학습 방지 이미지 보호 주문
  - name: Watermark Embed
    description: 워터마크 삽입 주문
  - name: Watermark Extract
    description: 워터마크 추출 주문
  - name: AI Detection
    description: AI 생성 이미지 감지 주문
  - name: Orders
    description: 주문 조회 및 관리
  - name: Webhooks
    description: 웹훅 설정 및 이벤트
  - name: Reports
    description: 워터마크 추출·AI Detection 주문의 PDF 분석 보고서
paths:
  /api/v3/orders/webhooks/{webhookId}:
    parameters:
      - in: path
        name: webhookId
        required: true
        schema:
          type: integer
          minimum: 1
    put:
      tags:
        - Webhooks
      summary: 웹훅 수정 (v3)
      description: >-
        name, url, subscribedEvents, isActive를 수정합니다. subscribedEvents를 생략하면 기존
        구독을 유지합니다. isTest는 바꿀 수 없습니다. isActive=false로 끄면 전송과 예약 재시도가 중단됩니다.
      operationId: updateWebhookV3
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WebhookV3UpdateRequest'
      responses:
        '200':
          description: 성공
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/WebhookV3Endpoint'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '409':
          description: 같은 계정의 정규화 URL 중복
      security:
        - BearerAuth: []
components:
  schemas:
    WebhookV3UpdateRequest:
      allOf:
        - $ref: '#/components/schemas/WebhookUpdateRequest'
        - type: object
          properties:
            subscribedEvents:
              type: array
              minItems: 1
              uniqueItems: true
              items:
                type: string
                enum:
                  - order.antiAi.completed
                  - order.antiAi.failed
                  - order.watermarkEmbed.completed
                  - order.watermarkEmbed.failed
                  - order.watermarkExtract.completed
                  - order.watermarkExtract.failed
                  - order.aiDetection.completed
                  - order.aiDetection.failed
    WebhookV3Endpoint:
      type: object
      properties:
        webhookId:
          type: integer
        name:
          type: string
        url:
          type: string
          format: uri
        secret:
          type: string
          description: 등록·상세 조회에만 포함됩니다.
        isTest:
          type: boolean
        isActive:
          type: boolean
        subscribedEvents:
          type: array
          items:
            type: string
        lastSentAt:
          type: string
          format: date-time
          nullable: true
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
    WebhookUpdateRequest:
      type: object
      required:
        - url
      properties:
        name:
          type: string
          maxLength: 100
          description: 웹훅 이름
        url:
          type: string
          format: uri
          description: 웹훅 URL
          example: https://example.com/webhook
        isTest:
          type: boolean
          description: >-
            엔드포인트 모드. 테스트 API 키에서는 생략 시 테스트 모드를 유지하고 true는 허용되며 false는
            AUTH_FORBIDDEN을 반환합니다. live API 키는 두 모드를 선택할 수 있습니다.
    ErrorResponse:
      type: object
      properties:
        code:
          type: string
          description: 에러 코드
  responses:
    Unauthorized:
      description: 인증 실패
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            code: AUTH_NOT_AUTHENTICATED
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: >-
        외부 클라이언트 접근을 위한 Bearer API 키. 일반 키는 `sk_` 접두사를 사용하고, 테스트 키는 `sk_test_`
        접두사로 모의 응답을 사용해 실제 처리나 크레딧 사용 없이 주문 흐름을 검증합니다.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.