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

# 게재 할당 생성

> 새 게재 할당을 생성합니다.

**접근 제어:**
Admin과 Operator 계정은 게재 할당 리소스에 전체 접근 권한을 가집니다.
Advertiser 계정은 본인의 게재 할당만 조회할 수 있습니다 (owner_id=user.id로 필터링).



## OpenAPI

````yaml /openapi/adm.openapi.ko-dev.json post /api/manager/allocations
openapi: 3.1.0
info:
  description: >-
    ## 소개

    Data Management API는 광고 및 추천 시스템이 활용하는 **다양한 데이터를** 종합적으로 관리해, Decision API가
    정확하고 효율적으로 작동할 수 있도록 돕습니다.


    캠페인이나 지면을 신규 등록하고 수정·삭제하는 것은 물론, **로그 및 통계 분석을** 통해 시스템 운영에 필요한 인사이트를 확보합니다.
    이렇게 확보된 데이터와 통계는 Decision API에서 최적화된 광고·콘텐츠를 결정하는 데 활용되며, 전체 광고·추천 시스템의 성능
    향상에 이바지합니다.
  title: 데이터 관리 API
  version: dev
servers: []
security: []
tags:
  - description: 인증 엔드포인트. 모든 역할(admin/operator/advertiser)이 로그인·토큰 갱신·본인 자격 증명 관리에 사용합니다.
    name: 인증
  - description: >-
      광고주 계정 관리. 운영자·관리자가 광고주를 온보딩하고 예산을 관리하며 계정을 비활성화합니다. 광고주는 본인 프로필과 잔액만 조회할
      수 있습니다.
    name: 광고주
  - description: >-
      내부 사용자(운영자/관리자) 계정 관리. 관리자 전용. 운영자 계정 생성, 역할 변경, 활성화 상태 토글, 계정 영구 삭제를
      다룹니다.
    name: 사용자
  - description: >-
      광고 단위 관리. 광고 단위와 관련 리소스를 관리합니다. 광고 단위는 code와 상위 경로에서 파생된 계층 경로 구조로 구성됩니다.
      admin·operator만 접근 가능하며 광고주는 원천 인벤토리에 접근할 수 없습니다.
    name: 광고 단위
  - description: 광고 카탈로그 관리. 광고 카탈로그 CRUD와 공유 링크를 통한 공개 조회를 제공합니다.
    name: 광고 카탈로그
  - description: 수요 파트너(광고 소스) 관리. 광고 단위에 수요를 공급하는 외부 광고 소스를 CRUD합니다.
    name: 수요 파트너
  - description: 게재 할당 관리. 광고 항목을 광고 단위 등 게재 대상에 연결합니다. CRUD, 상태별 카운트, 단건 조회를 제공합니다.
    name: 게재 할당
  - description: 연관 상품 풀(관리자). 추천 파이프라인에서 사용하는 연관 상품 풀의 일괄 저장/삭제 및 조회.
    name: 연관 상품 풀
  - description: 커스텀 타게팅 세그먼트 관리. 커스텀 타게팅 세그먼트의 CRUD 및 일괄 작업.
    name: 커스텀 타게팅 세그먼트
  - description: 감사 로그 조회. 관리 작업에 대한 시스템 감사 로그를 조회합니다.
    name: 감사 로그
  - description: 소재 차단 목록. 소재를 차단/차단 해제해 게재에서 제외합니다.
    name: 차단 소재
  - description: 카탈로그 항목 관리. 상품/데이터 카탈로그 항목을 조회·수정합니다.
    name: 카탈로그
  - description: 광고 소재 관리. 운영자·관리자가 소재를 관리하며 광고주는 본인 소재만 조회합니다. 연결된 LICA가 있으면 삭제가 차단됩니다.
    name: 소재
  - description: 대시보드 집계. 콘솔 대시보드용 요약·인벤토리·광고 항목 지표 롤업.
    name: 대시보드
  - description: 실험 관리. A/B·최적화 실험의 CRUD.
    name: 실험
  - description: 외부 소재 조회. 외부 수요 소스에서 수집된 소재를 읽기 전용으로 조회합니다.
    name: 외부 소재
  - description: 외부 연동 관리. 연동 소스(외부 데이터/서빙 커넥터)를 관리하고 연결을 테스트하며, 민감 설정이 마스킹된 공개 설정을 조회합니다.
    name: 연동
  - description: >-
      소재-광고 항목 연결(LICA). 소재를 광고 항목에 연결하며, 일괄 생성/삭제(최대 100, 부분 실패 허용)와 대시보드 카운트를
      제공합니다.
    name: 소재-광고 항목 연결(LICA)
  - description: 라이선스 정보. 사용 가능한 라이선스 기능과 사용량 지표를 조회합니다.
    name: 라이선스
  - description: >-
      광고 항목 관리. 생성·수정·삭제, 일괄 작업(최대 100, 부분 실패 허용), 상태 전환을 다룹니다. 광고 항목은 상위 주문
      아래에서 예산·목표·일정·타게팅을 정의합니다.
    name: 광고 항목
  - description: 미디어 라이브러리. 소재에 쓰이는 미디어 파일을 조회·업로드·삭제합니다.
    name: 미디어 라이브러리
  - description: 지표 조회 엔드포인트. 광고 단위·소재·광고 항목 등 엔티티의 집계 지표를 조회합니다.
    name: 지표
  - description: >-
      주문 관리. 운영자·관리자가 예산 단위로 광고 항목을 묶는 주문을 생성·관리하며, 광고주는 본인 주문을 조회합니다. 일괄 작업(최대
      100)과 draft 상태 삭제 규칙을 포함합니다.
    name: 주문
  - description: 게재 위치 관리. 게재 위치는 광고 단위를 게재 표면에 매핑합니다. CRUD와 게재 위치에 연결된 광고 단위 교체를 제공합니다.
    name: 게재 위치
  - description: 시스템 설정. 사이트 로고·Public URL·TLS·액세스 토큰 재생성을 포함한 시스템 구성을 조회·수정합니다.
    name: 설정
  - description: 시스템 리소스. 사이트 로고 등 공개 정적 리소스.
    name: 시스템
  - description: 개발자/운영용 제어 엔드포인트. 저수준 ext 변경과 헬스 체크. 일반 API 소비자가 아닌 내부 운영용입니다.
    name: 개발자/운영
  - description: 운영용 게재 할당 제어. 게재 할당 ext/상태 강제 변경(관리자 전용).
    name: 개발자/게재 할당 제어
  - description: 광고 서빙 모니터링(운영). 광고 서빙 현황·광고 단위 모니터링 이력·알림을 조회합니다.
    name: 개발자/모니터링
  - description: 내부 헬스/프로브 엔드포인트.
    name: 내부
  - description: '특정 리소스에 속하지 않는 매니저 공통 유틸리티 엔드포인트(예: 서비스 헬스).'
    name: 매니저(공통)
  - description: 광고 단위, 네이티브 포맷 및 네이티브 스타일 간의 매핑을 관리합니다.
    name: Ad Unit Native Style
  - description: 커스텀 타게팅 키와 활성화 상태를 관리하고 일괄 작업을 수행합니다.
    name: Custom Targeting Key
  - description: 커스텀 타게팅 키에 속한 값과 활성화 상태를 관리하고 일괄 작업을 수행합니다.
    name: Custom Targeting Value
  - description: 네이티브 포맷과 각 포맷을 구성하는 필드를 관리합니다.
    name: Native Format
  - description: 네이티브 스타일에 사용할 수 있는 템플릿을 조회합니다.
    name: Native Style Template
  - description: 네이티브 렌더링 스타일을 관리합니다.
    name: Native Style
paths:
  /api/manager/allocations:
    post:
      tags:
        - 게재 할당
      summary: 게재 할당 생성
      description: |-
        새 게재 할당을 생성합니다.

        **접근 제어:**
        Admin과 Operator 계정은 게재 할당 리소스에 전체 접근 권한을 가집니다.
        Advertiser 계정은 본인의 게재 할당만 조회할 수 있습니다 (owner_id=user.id로 필터링).
      operationId: handle_create_allocation_api_manager_allocations_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AllocationCreate'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AllocationResponse'
          description: 성공 응답
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPExceptionResponse'
          description: 권한 없음
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPExceptionResponse'
          description: 충돌 — (ttype, tid, rtype, rid) 조합이 이미 존재합니다.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: 유효성 검사 오류
      security:
        - HTTPBearer: []
components:
  schemas:
    AllocationCreate:
      description: POST /allocations 요청 본문.
      example:
        owner_id: a1b2c3d4-e5f6-7890-abcd-ef1234567890
        rid: <lineitem_id>
        rtype: line_item
        tid: <ad_unit_id>
        ttype: ad_unit
      properties:
        ext:
          $ref: '#/components/schemas/AllocationExt'
          default:
            ad_log_tracking_mode: on_ad_response
            deferred_native_rendering: false
            deferred_native_template: ''
            frequency_capping:
              enabled: 0
              limit_multiple_click: 0
              limit_user_impression:
                - limit_count: 0
                  num_time_units: 0
                  time_unit: day
            supported_environments:
              - web
              - app
          description: 다양한 설정용
        last_comment:
          default: ''
          description: 마지막 코멘트
          title: Last Comment
          type: string
        owner_id:
          description: 소유자 ID
          format: uuid
          title: Owner Id
          type: string
        rid:
          description: 리소스 ID (line_items.id 또는 recommendation_policies.id)
          format: uuid
          title: Rid
          type: string
        rtype:
          $ref: '#/components/schemas/AllocationResourceType'
          description: 타깃에 배정된 리소스 유형 (line_item / recommendation_policy)
        tid:
          description: 대상 ID (ad_units.id 또는 placements.id)
          format: uuid
          title: Tid
          type: string
        ttype:
          $ref: '#/components/schemas/TargetType'
          description: 대상 유형 (ad_unit / placement)
      required:
        - owner_id
        - rid
        - rtype
        - tid
        - ttype
      title: AllocationCreate
      type: object
    AllocationResponse:
      description: 게재 할당 변경(생성/수정) 응답 스키마.
      properties:
        created_at:
          format: date-time
          title: Created At
          type: string
        ext:
          $ref: '#/components/schemas/AllocationExt'
          default:
            ad_log_tracking_mode: on_ad_response
            deferred_native_rendering: false
            deferred_native_template: ''
            frequency_capping:
              enabled: 0
              limit_multiple_click: 0
              limit_user_impression:
                - limit_count: 0
                  num_time_units: 0
                  time_unit: day
            supported_environments:
              - web
              - app
          description: 다양한 설정용
        id:
          anyOf:
            - format: uuid
              type: string
            - type: 'null'
          title: Id
        last_comment:
          default: ''
          description: 마지막 코멘트
          title: Last Comment
          type: string
        'no':
          default: 0
          description: 게재 할당 ID
          title: 'No'
          type: integer
        owner_id:
          description: 소유자 ID
          format: uuid
          title: Owner Id
          type: string
        rid:
          description: 리소스 ID (line_items.id 또는 recommendation_policies.id)
          format: uuid
          title: Rid
          type: string
        rtype:
          $ref: '#/components/schemas/AllocationResourceType'
          description: 타깃에 배정된 리소스 유형 (line_item / recommendation_policy)
        status:
          $ref: '#/components/schemas/AllocationStatus'
          default: pending
          description: '게재 할당의 현재 상태 (예: pending, published, rejected)'
        tid:
          description: 대상 ID (ad_units.id 또는 placements.id)
          format: uuid
          title: Tid
          type: string
        ttype:
          $ref: '#/components/schemas/TargetType'
          description: 대상 유형 (ad_unit / placement)
        updated_at:
          format: date-time
          title: Updated At
          type: string
      required:
        - created_at
        - updated_at
        - owner_id
        - rid
        - rtype
        - tid
        - ttype
      title: AllocationResponse
      type: object
    HTTPExceptionResponse:
      properties:
        detail:
          description: 오류에 대한 상세 설명
          title: Detail
          type: string
      required:
        - detail
      title: HTTPExceptionResponse
      type: object
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          title: Detail
          type: array
      title: HTTPValidationError
      type: object
    AllocationExt:
      properties:
        ad_log_tracking_mode:
          $ref: '#/components/schemas/AdLogTrackingMode'
          default: on_ad_response
          description: 광고 로그 추적 모드 (송출로그 vs 이벤트 트래커)
        ad_source:
          anyOf:
            - $ref: '#/components/schemas/AdSource'
            - type: 'null'
        allowed_native_aspect_ratios:
          items:
            $ref: '#/components/schemas/NativeAspectRatioRange'
          title: Allowed Native Aspect Ratios
          type: array
        deferred_native_rendering:
          default: false
          title: Deferred Native Rendering
          type: boolean
        deferred_native_template:
          default: ''
          title: Deferred Native Template
          type: string
        demand_override:
          anyOf:
            - $ref: '#/components/schemas/DemandOverride'
            - type: 'null'
          description: ad_source에 대한 OpenRTB override. ad_source와 1:1이다.
        frequency_capping:
          $ref: '#/components/schemas/FrequencyCapping'
          default:
            enabled: 0
            limit_multiple_click: 0
            limit_user_impression:
              - limit_count: 0
                num_time_units: 0
                time_unit: day
        native_assets:
          anyOf:
            - items:
                $ref: '#/components/schemas/AssetRequest'
              type: array
            - type: 'null'
          title: Native Assets
        supported_environments:
          default:
            - web
            - app
          description: 해당 애드네트워크가 받아들일 수 있는 환경
          items:
            $ref: '#/components/schemas/EnvironmentType'
          title: Supported Environments
          type: array
      title: AllocationExt
      type: object
    AllocationResourceType:
      enum:
        - line_item
        - recommendation_policy
      title: AllocationResourceType
      type: string
    TargetType:
      enum:
        - ad_unit
        - placement
      title: TargetType
      type: string
    AllocationStatus:
      enum:
        - pending
        - requested
        - published
        - rejected
        - canceled
        - finished
      title: AllocationStatus
      type: string
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          title: Location
          type: array
        msg:
          title: Message
          type: string
        type:
          title: Error Type
          type: string
      required:
        - loc
        - msg
        - type
      title: ValidationError
      type: object
    AdLogTrackingMode:
      enum:
        - on_ad_response
        - on_event_tracker
      title: AdLogTrackingMode
      type: string
    AdSource:
      properties:
        endpoint:
          description: 수요 파트너의 엔드포인트
          title: Endpoint
          type: string
        header_params:
          anyOf:
            - {}
            - type: 'null'
          description: 수요 파트너의 헤더 파라미터
          title: Header Params
        id:
          description: |-
            수요 파트너 고유 식별자.

            일부 a2 코드 경로가 임의 이름을 할당하기 때문에 내부적으로 `String`을 사용하지만,
            내보낸 스키마에서는 `UUID`로 선언됩니다.
          format: uuid
          title: Id
          type: string
        name:
          description: 수요 파트너의 이름
          title: Name
          type: string
        query_params:
          anyOf:
            - {}
            - type: 'null'
          description: 수요 파트너의 쿼리 파라미터
          title: Query Params
        seller_id:
          anyOf:
            - type: string
            - type: 'null'
          description: 수요 파트너의 판매자 ID
          title: Seller Id
        settings:
          $ref: '#/components/schemas/a2_adm__generated__allocation__AdSourceSettings'
          default:
            required_registration: false
          description: 수요 파트너 설정
        type:
          description: 수요 파트너 설명
          title: Type
          type: string
      required:
        - endpoint
        - id
        - name
        - type
      title: AdSource
      type: object
    NativeAspectRatioRange:
      properties:
        max:
          title: Max
          type: number
        min:
          title: Min
          type: number
      required:
        - max
        - min
      title: NativeAspectRatioRange
      type: object
    DemandOverride:
      properties:
        bidfloor:
          anyOf:
            - minimum: 0
              type: number
            - type: 'null'
          description: 필요하면 bidder별 floor/currency도 여기서 override (선택)
          title: Bidfloor
        bidfloorcur:
          anyOf:
            - type: string
            - type: 'null'
          title: Bidfloorcur
        clickbrowser:
          anyOf:
            - $ref: '#/components/schemas/Clickbrowser'
            - type: 'null'
          description: 'OpenRTB clickbrowser: 0=임베디드 브라우저, 1=기기 기본 브라우저 (선택)'
        imp:
          anyOf:
            - $ref: '#/components/schemas/ImpOverride'
            - type: 'null'
          description: OpenRTB imp-level override (tagid/ext 등)
        implicit_app_inference:
          anyOf:
            - $ref: '#/components/schemas/ImplicitAppInference'
            - type: 'null'
        source:
          anyOf:
            - $ref: '#/components/schemas/Source'
            - type: 'null'
          description: OpenRTB source-level override (tagid/ext 등)
      title: DemandOverride
      type: object
    FrequencyCapping:
      properties:
        enabled:
          description: |-
            프리퀀시 캡 활성화 (1: 활성, 0: 비활성).
            활성 시 사용자 단위 광고 노출 제한이 적용됩니다.
          title: Enabled
          type: integer
        limit_multiple_click:
          description: |-
            동일 사용자의 동일 광고 중복 클릭 방지.
            1: 활성, 0: 비활성.
          title: Limit Multiple Click
          type: integer
        limit_user_impression:
          default:
            - limit_count: 0
              num_time_units: 0
              time_unit: day
          description: 시간 창 기반 사용자 단위 노출 제한 정의.
          items:
            $ref: '#/components/schemas/FrequencyCapRule'
          title: Limit User Impression
          type: array
      required:
        - enabled
        - limit_multiple_click
      title: FrequencyCapping
      type: object
    AssetRequest:
      anyOf:
        - $ref: '#/components/schemas/AssetRequest1'
        - $ref: '#/components/schemas/AssetRequest2'
        - $ref: '#/components/schemas/AssetRequest3'
        - $ref: '#/components/schemas/AssetRequest4'
      title: AssetRequest
    EnvironmentType:
      enum:
        - web
        - app
      title: EnvironmentType
      type: string
    a2_adm__generated__allocation__AdSourceSettings:
      properties:
        required_registration:
          default: false
          title: Required Registration
          type: boolean
        timeout_ms:
          anyOf:
            - minimum: 0
              type: integer
            - type: 'null'
          title: Timeout Ms
      title: AdSourceSettings
      type: object
    Clickbrowser:
      enum:
        - 0
        - 1
      title: Clickbrowser
      type: integer
    ImpOverride:
      properties:
        ext:
          $ref: '#/components/schemas/ImpExtOverride'
          default: {}
          description: 발신 OpenRTB imp.ext 재정의
        tagid:
          anyOf:
            - type: string
            - type: 'null'
          description: outgoing OpenRTB imp.tagid (내부 Allocation.tagid와 분리)
          title: Tagid
      title: ImpOverride
      type: object
    ImplicitAppInference:
      properties:
        android_bundle:
          anyOf:
            - type: string
            - type: 'null'
          title: Android Bundle
        app_name:
          anyOf:
            - type: string
            - type: 'null'
          title: App Name
        cat:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Cat
        ios_bundle:
          anyOf:
            - type: string
            - type: 'null'
          title: Ios Bundle
        ua_keywords:
          default: []
          items:
            type: string
          title: Ua Keywords
          type: array
      title: ImplicitAppInference
      type: object
    Source:
      properties:
        ext:
          anyOf:
            - {}
            - type: 'null'
          title: Ext
        fd:
          anyOf:
            - $ref: '#/components/schemas/FinalDecision'
            - type: 'null'
        pchain:
          anyOf:
            - type: string
            - type: 'null'
          title: Pchain
        schain:
          anyOf:
            - $ref: '#/components/schemas/SupplyChain'
            - type: 'null'
        tid:
          anyOf:
            - type: string
            - type: 'null'
          title: Tid
      title: Source
      type: object
    FrequencyCapRule:
      properties:
        limit_count:
          description: 지정 시간 창 내 허용 최대 노출 수.
          minimum: 0
          title: Limit Count
          type: integer
        num_time_units:
          description: '프리퀀시 캡 시간 단위 수 (예: 1일, 2시간).'
          minimum: 0
          title: Num Time Units
          type: integer
        time_unit:
          $ref: '#/components/schemas/TimeUnit'
          description: '프리퀀시 캡 시간 단위 (예: 일, 시간).'
      required:
        - limit_count
        - num_time_units
        - time_unit
      title: FrequencyCapRule
      type: object
    AssetRequest1:
      properties:
        data:
          anyOf:
            - $ref: '#/components/schemas/DataAssetRequest'
            - type: 'null'
        ext:
          anyOf:
            - {}
            - type: 'null'
          title: Ext
        id:
          title: Id
          type: integer
        img:
          anyOf:
            - $ref: '#/components/schemas/ImageAssetRequest'
            - type: 'null'
        required:
          anyOf:
            - $ref: '#/components/schemas/IsRequired'
            - type: 'null'
        title:
          anyOf:
            - $ref: '#/components/schemas/TitleAssetRequest'
            - type: 'null'
        video:
          anyOf:
            - $ref: '#/components/schemas/VideoAssetRequest'
            - type: 'null'
      required:
        - id
        - title
      title: AssetRequest1
      type: object
    AssetRequest2:
      properties:
        data:
          anyOf:
            - $ref: '#/components/schemas/DataAssetRequest'
            - type: 'null'
        ext:
          anyOf:
            - {}
            - type: 'null'
          title: Ext
        id:
          title: Id
          type: integer
        img:
          anyOf:
            - $ref: '#/components/schemas/ImageAssetRequest'
            - type: 'null'
        required:
          anyOf:
            - $ref: '#/components/schemas/IsRequired'
            - type: 'null'
        title:
          anyOf:
            - $ref: '#/components/schemas/TitleAssetRequest'
            - type: 'null'
        video:
          anyOf:
            - $ref: '#/components/schemas/VideoAssetRequest'
            - type: 'null'
      required:
        - id
        - img
      title: AssetRequest2
      type: object
    AssetRequest3:
      properties:
        data:
          anyOf:
            - $ref: '#/components/schemas/DataAssetRequest'
            - type: 'null'
        ext:
          anyOf:
            - {}
            - type: 'null'
          title: Ext
        id:
          title: Id
          type: integer
        img:
          anyOf:
            - $ref: '#/components/schemas/ImageAssetRequest'
            - type: 'null'
        required:
          anyOf:
            - $ref: '#/components/schemas/IsRequired'
            - type: 'null'
        title:
          anyOf:
            - $ref: '#/components/schemas/TitleAssetRequest'
            - type: 'null'
        video:
          anyOf:
            - $ref: '#/components/schemas/VideoAssetRequest'
            - type: 'null'
      required:
        - id
        - video
      title: AssetRequest3
      type: object
    AssetRequest4:
      properties:
        data:
          anyOf:
            - $ref: '#/components/schemas/DataAssetRequest'
            - type: 'null'
        ext:
          anyOf:
            - {}
            - type: 'null'
          title: Ext
        id:
          title: Id
          type: integer
        img:
          anyOf:
            - $ref: '#/components/schemas/ImageAssetRequest'
            - type: 'null'
        required:
          anyOf:
            - $ref: '#/components/schemas/IsRequired'
            - type: 'null'
        title:
          anyOf:
            - $ref: '#/components/schemas/TitleAssetRequest'
            - type: 'null'
        video:
          anyOf:
            - $ref: '#/components/schemas/VideoAssetRequest'
            - type: 'null'
      required:
        - data
        - id
      title: AssetRequest4
      type: object
    ImpExtOverride:
      properties:
        bidder:
          anyOf:
            - {}
            - type: 'null'
          description: 'imp.ext.bidder (Criteo의 경우 {"uid": "..."} 형태)'
          title: Bidder
        other:
          additionalProperties: true
          description: 그 외 ext 필드 확장용
          title: Other
          type: object
      title: ImpExtOverride
      type: object
    FinalDecision:
      enum:
        - 1
        - 2
      title: FinalDecision
      type: integer
    SupplyChain:
      properties:
        complete:
          $ref: '#/components/schemas/IsComplete'
        ext:
          anyOf:
            - {}
            - type: 'null'
          title: Ext
        nodes:
          items:
            $ref: '#/components/schemas/SupplyChainNode'
          title: Nodes
          type: array
        ver:
          title: Ver
          type: string
      required:
        - complete
        - nodes
        - ver
      title: SupplyChain
      type: object
    TimeUnit:
      enum:
        - minute
        - hour
        - day
        - week
        - month
      title: TimeUnit
      type: string
    DataAssetRequest:
      properties:
        ext:
          anyOf:
            - {}
            - type: 'null'
          title: Ext
        len:
          anyOf:
            - minimum: 0
              type: integer
            - type: 'null'
          title: Len
        type:
          maximum: 65535
          minimum: 0
          title: Type
          type: integer
      required:
        - type
      title: DataAssetRequest
      type: object
    ImageAssetRequest:
      properties:
        ext:
          anyOf:
            - {}
            - type: 'null'
          title: Ext
        h:
          anyOf:
            - minimum: 0
              type: integer
            - type: 'null'
          title: H
        hmin:
          anyOf:
            - minimum: 0
              type: integer
            - type: 'null'
          title: Hmin
        mimes:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Mimes
        type:
          anyOf:
            - maximum: 65535
              minimum: 0
              type: integer
            - type: 'null'
          title: Type
        w:
          anyOf:
            - minimum: 0
              type: integer
            - type: 'null'
          title: W
        wmin:
          anyOf:
            - minimum: 0
              type: integer
            - type: 'null'
          title: Wmin
      title: ImageAssetRequest
      type: object
    IsRequired:
      enum:
        - 0
        - 1
      title: IsRequired
      type: integer
    TitleAssetRequest:
      properties:
        ext:
          anyOf:
            - {}
            - type: 'null'
          title: Ext
        len:
          minimum: 0
          title: Len
          type: integer
      required:
        - len
      title: TitleAssetRequest
      type: object
    VideoAssetRequest:
      properties:
        ext:
          anyOf:
            - {}
            - type: 'null'
          title: Ext
        linearity:
          anyOf:
            - $ref: '#/components/schemas/LinearityMode'
            - type: 'null'
        maxduration:
          minimum: 0
          title: Maxduration
          type: integer
        mimes:
          items:
            type: string
          title: Mimes
          type: array
        minduration:
          minimum: 0
          title: Minduration
          type: integer
        protocols:
          items:
            maximum: 65535
            minimum: 0
            type: integer
          title: Protocols
          type: array
      required:
        - maxduration
        - mimes
        - minduration
        - protocols
      title: VideoAssetRequest
      type: object
    IsComplete:
      enum:
        - 'No'
        - 'Yes'
      title: IsComplete
      type: string
    SupplyChainNode:
      properties:
        asi:
          title: Asi
          type: string
        domain:
          anyOf:
            - type: string
            - type: 'null'
          title: Domain
        ext:
          anyOf:
            - {}
            - type: 'null'
          title: Ext
        hp:
          anyOf:
            - $ref: '#/components/schemas/IsPayment'
            - type: 'null'
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
        rid:
          anyOf:
            - type: string
            - type: 'null'
          title: Rid
        sid:
          title: Sid
          type: string
      required:
        - asi
        - sid
      title: SupplyChainNode
      type: object
    LinearityMode:
      enum:
        - 1
        - 2
      title: LinearityMode
      type: integer
    IsPayment:
      enum:
        - 'No'
        - 'Yes'
      title: IsPayment
      type: string
  securitySchemes:
    HTTPBearer:
      description: 'Bearer 인증. 액세스 토큰을 `Authorization: Bearer <token>` 헤더로 전달합니다.'
      scheme: bearer
      type: http

````