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

# Get the catalog-v3 organization IU commercial document

> Returns the expanded enterprise IU offer and acceptance document using the deployed catalog-v3 activity vocabulary. The explicit v4 route serves the semantically new catalog-v4 schedule.



## OpenAPI

````yaml /v2/buyer-api-v2.yaml get /billing/iu-rate-card/v3
openapi: 3.0.0
info:
  title: Scope3 Buyer API
  version: 2.0.0
  description: |-
    REST API for advertisers to manage advertisers, campaigns, and reporting.

    ## Authentication

    All endpoints require a Bearer token in the Authorization header:
    ```
    Authorization: Bearer your-api-key
    ```

    ## Base URL

    `https://api.interchange.io/api/v2/buyer`

    ## For AI Agents

    AI agents can use the MCP endpoint at `/mcp/v2/buyer` with three tools:
    - `initialize`: Start an MCP session
    - `api_call`: Make REST API calls
    - `ask_about_capability`: Learn about API features
servers:
  - url: https://api.interchange.io/api/v2/buyer
    description: Production server
security: []
tags:
  - name: Signup
    description: Request reviewed access to Interchange
  - name: Account
    description: Account management, service tokens, and preferences
  - name: Asks
    description: >-
      What you are waiting on Scope3 for — support, product, and supply asks in
      one list
  - name: Advertisers
    description: Manage advertisers
  - name: Product Discovery
    description: Discover and select products
  - name: Campaigns
    description: Manage advertising campaigns
  - name: Creatives
    description: Build, manage, and sync campaign creatives via AdCP Creative Protocol
  - name: Reporting
    description: Access performance metrics
  - name: Event Sources
    description: >-
      Manage event source configurations and log conversion/marketing events for
      attribution
  - name: Property Lists
    description: Validate property lists against AAO registry
  - name: Sales Agents
    description: View and connect sales agents
  - name: Measurement
    description: Measurement sources, records, context, and freshness
  - name: Syndication
    description: Syndicate resources to ADCP agents
  - name: Tasks
    description: Track async operation status
  - name: Buyer Billing
    description: >-
      Consolidated invoicing for buyers — invoices and pending invoice items
      issued by Scope3 across the buyer customer.
  - name: MCP
    description: Model Context Protocol endpoints for AI agents
paths:
  /billing/iu-rate-card/v3:
    servers:
      - url: https://api.interchange.io/api/v2
        description: Production server
    get:
      tags:
        - Buyer Billing
      summary: Get the catalog-v3 organization IU commercial document
      description: >-
        Returns the expanded enterprise IU offer and acceptance document using
        the deployed catalog-v3 activity vocabulary. The explicit v4 route
        serves the semantically new catalog-v4 schedule.
      operationId: getIuRateCardOfferV3
      responses:
        '200':
          description: Get the catalog-v3 organization IU commercial document
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetIuRateCardOfferV3Response'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: ACCESS_DENIED (caller is not a direct organization admin).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '409':
          description: CONFLICT (commercial configuration is ambiguous).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - bearerAuth: []
components:
  schemas:
    GetIuRateCardOfferV3Response:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/PreV4StorefrontRateCardCommercialState'
      required:
        - data
      additionalProperties: false
    ErrorResponse:
      type: object
      properties:
        data:
          type: string
          nullable: true
          enum:
            - null
        error:
          $ref: '#/components/schemas/ApiError'
      required:
        - data
        - error
      additionalProperties: false
      description: Standard error response
    PreV4StorefrontRateCardCommercialState:
      type: object
      properties:
        billingCustomerId:
          type: integer
          minimum: 0
          exclusiveMinimum: true
          maximum: 9007199254740991
        eligible:
          type: boolean
        eligibleWorkloads:
          type: array
          items:
            type: string
            enum:
              - BUYER
              - STOREFRONT
              - PARTNER
        commercialStatus:
          type: string
          enum:
            - FREE
            - PAID
        renewal:
          nullable: true
          type: object
          properties:
            version:
              type: string
              pattern: ^v1:[0-9a-f]{64}$
            status:
              type: string
              enum:
                - RENEWS
                - NON_RENEWAL_SCHEDULED
                - RENEWAL_BLOCKED
                - ENDED
                - PINNED
            targetBindingId:
              type: string
              pattern: ^\d+$
            effectiveFreeAt:
              type: string
              format: date-time
              pattern: >-
                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
            changeAllowedUntil:
              type: string
              format: date-time
              pattern: >-
                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
            allowedActions:
              type: array
              items:
                type: string
                enum:
                  - CANCEL_AT_TERM
                  - REINSTATE_AUTO_RENEWAL
            latestInstruction:
              nullable: true
              type: object
              properties:
                id:
                  type: string
                  pattern: ^\d+$
                bindingId:
                  type: string
                  pattern: ^\d+$
                instructionType:
                  type: string
                  enum:
                    - CANCEL_AT_TERM
                    - REINSTATE_AUTO_RENEWAL
                supersedesInstructionId:
                  nullable: true
                  type: string
                  pattern: ^\d+$
                effectiveAt:
                  type: string
                  format: date-time
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                changeCutoffAt:
                  type: string
                  format: date-time
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                actorUserId:
                  type: string
                  pattern: ^\d+$
                source:
                  type: string
                  enum:
                    - PLAN_BILLING
                    - MCP_APP
                    - ADMIN
                reason:
                  type: string
                  minLength: 3
                  maxLength: 500
                recordedAt:
                  type: string
                  format: date-time
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
              required:
                - id
                - bindingId
                - instructionType
                - supersedesInstructionId
                - effectiveAt
                - changeCutoffAt
                - actorUserId
                - source
                - reason
                - recordedAt
              additionalProperties: false
            history:
              type: array
              items:
                type: object
                properties:
                  id:
                    type: string
                    pattern: ^\d+$
                  bindingId:
                    type: string
                    pattern: ^\d+$
                  instructionType:
                    type: string
                    enum:
                      - CANCEL_AT_TERM
                      - REINSTATE_AUTO_RENEWAL
                  supersedesInstructionId:
                    nullable: true
                    type: string
                    pattern: ^\d+$
                  effectiveAt:
                    type: string
                    format: date-time
                    pattern: >-
                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                  changeCutoffAt:
                    type: string
                    format: date-time
                    pattern: >-
                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                  actorUserId:
                    type: string
                    pattern: ^\d+$
                  source:
                    type: string
                    enum:
                      - PLAN_BILLING
                      - MCP_APP
                      - ADMIN
                  reason:
                    type: string
                    minLength: 3
                    maxLength: 500
                  recordedAt:
                    type: string
                    format: date-time
                    pattern: >-
                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                required:
                  - id
                  - bindingId
                  - instructionType
                  - supersedesInstructionId
                  - effectiveAt
                  - changeCutoffAt
                  - actorUserId
                  - source
                  - reason
                  - recordedAt
                additionalProperties: false
          required:
            - version
            - status
            - targetBindingId
            - effectiveFreeAt
            - changeAllowedUntil
            - allowedActions
            - latestInstruction
            - history
          additionalProperties: false
        setupGrant:
          nullable: true
          type: object
          properties:
            grantedIus:
              type: integer
              minimum: 1
              maximum: 1000000
            rolloverEnabled:
              type: boolean
              enum:
                - false
            grantedAt:
              type: string
              format: date-time
              pattern: >-
                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
            expiresAt:
              type: string
              format: date-time
              pattern: >-
                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
            status:
              type: string
              enum:
                - ACTIVE
                - EXPIRED
            attributionKind:
              nullable: true
              type: string
              enum:
                - PROMOTION
                - REFERRAL
          required:
            - grantedIus
            - rolloverEnabled
            - grantedAt
            - expiresAt
            - status
            - attributionKind
          additionalProperties: false
        calibratingActivities:
          default: []
          type: array
          items:
            type: object
            properties:
              activityCode:
                type: string
                enum:
                  - ACTIVATED_SOCIAL_ACCOUNT_MONTH
                  - MULTI_SELLER_PRODUCT_RANKING
                  - PROPOSAL_EVALUATION_PASS
                  - COMPARATIVE_PROPOSAL_RANKING_PASS
                  - MURPH_WORKING_SESSION
                  - SIMPLE_PROPOSAL_EVALUATION
                  - COMPLEX_PROPOSAL_EVALUATION
                  - MERCHANDISING_BRIEF_RESPONSE
                  - MURPH_AI_SUPPORT_SESSION
                  - HUMAN_EXPERT_SUPPORT_HOUR
                  - GENERATED_IMAGE
                  - GENERATED_VIDEO_SECONDS
                  - ANALYZE_ACCOUNT
                  - CAMPAIGN_OPTIMIZATION_MONTH
                  - MANAGED_MEDIA_BUY_MONTH
                  - STANDARD_DOCUMENT_UNDERSTANDING
                  - LARGE_DOCUMENT_UNDERSTANDING
                  - AUDIO_VIDEO_UNDERSTANDING_MINUTES
                  - CUSTOM_BIGQUERY_GIB
                  - MODULAR_SOURCE_MANAGEMENT_MONTH
                  - MANAGED_VIDEO_RENDITION_OUTPUT_SECOND
              status:
                type: string
                enum:
                  - CALIBRATING
                  - MEASURING
              iuAmountMilli:
                nullable: true
                type: integer
                minimum: 0
                exclusiveMinimum: true
                maximum: 9007199254740991
              unitCount:
                type: integer
                minimum: 0
                exclusiveMinimum: true
                maximum: 9007199254740991
              unit:
                type: string
                enum:
                  - ACCOUNT_MONTH
                  - ACCOUNT_BILLING_PERIOD
                  - PROPOSAL
                  - RESPONSE
                  - SESSION
                  - SUPPORT_HOUR
                  - IMAGE
                  - GENERATED_SECOND
                  - ANALYSIS
                  - CAMPAIGN_MONTH
                  - MEDIA_BUY_MONTH
                  - MEDIA_BUY_BILLING_PERIOD
                  - FILE
                  - PROCESSING_JOB
                  - UNDERSTANDING_MINUTE
                  - GIB_SCANNED
                  - ACTIVE_SOURCE_MONTH
                  - OUTPUT_SECOND
                  - RANKING
                  - EVALUATION_PASS
                  - RANKING_PASS
            required:
              - activityCode
              - status
              - iuAmountMilli
              - unitCount
              - unit
            additionalProperties: false
        latestDisposition:
          nullable: true
          type: object
          properties:
            id:
              type: string
              pattern: ^\d+$
            outcome:
              type: string
              enum:
                - ACCEPTED
                - DECLINED
                - DEFERRED
            evidenceSource:
              type: string
              enum:
                - SIGNUP
                - LOGIN_PROMPT
                - PLAN_BILLING
                - MCP_APP
            planId:
              nullable: true
              type: string
              pattern: ^\d+$
            planCode:
              nullable: true
              type: string
            occurredAt:
              type: string
              format: date-time
              pattern: >-
                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
          required:
            - id
            - outcome
            - evidenceSource
            - planId
            - planCode
            - occurredAt
          additionalProperties: false
        paymentSetupUrl:
          type: string
          pattern: ^https?:\/\/
        nextAction:
          type: string
          enum:
            - ACCEPT_GOVERNING_AGREEMENT
            - SELECT_IU_PLAN
            - NONE
        offer:
          nullable: true
          allOf:
            - $ref: '#/components/schemas/PreV4StorefrontRateCardOffer'
        currentBinding:
          nullable: true
          allOf:
            - $ref: '#/components/schemas/PreV4StorefrontRateCardBinding'
        upcomingBinding:
          default: null
          nullable: true
          allOf:
            - $ref: '#/components/schemas/PreV4StorefrontRateCardBinding'
        history:
          type: array
          items:
            $ref: '#/components/schemas/PreV4StorefrontRateCardBinding'
      required:
        - billingCustomerId
        - eligible
        - eligibleWorkloads
        - commercialStatus
        - renewal
        - setupGrant
        - calibratingActivities
        - paymentSetupUrl
        - nextAction
        - offer
        - currentBinding
        - upcomingBinding
        - history
      additionalProperties: false
    ApiError:
      type: object
      properties:
        code:
          type: string
          description: Machine-readable error code
        message:
          type: string
          description: Human-readable error message
        field:
          description: Field path associated with the error
          type: string
        details:
          description: Additional error context
          type: object
          additionalProperties: {}
      required:
        - code
        - message
      additionalProperties: false
      description: Structured error object
    PreV4StorefrontRateCardOffer:
      type: object
      properties:
        offerVersion:
          type: string
          pattern: ^v1:[0-9a-f]{64}$
        entitlementBundle:
          default: null
          nullable: true
          allOf:
            - $ref: '#/components/schemas/CommercialEntitlementBundleSnapshot'
        supportPackage:
          default: null
          nullable: true
          anyOf:
            - oneOf:
                - type: object
                  properties:
                    schemaVersion:
                      type: number
                      enum:
                        - 1
                    kind:
                      type: string
                      enum:
                        - UNLIMITED_NAMED_SUPPORT
                    displayName:
                      type: string
                      minLength: 1
                      maxLength: 120
                  required:
                    - schemaVersion
                    - kind
                    - displayName
                  additionalProperties: false
                - type: object
                  properties:
                    schemaVersion:
                      type: number
                      enum:
                        - 1
                    kind:
                      type: string
                      enum:
                        - NAMED_SUPPORT_PACKAGE
                    displayName:
                      type: string
                      minLength: 1
                      maxLength: 120
                    includedHoursPerMonth:
                      type: number
                      minimum: 0
                      exclusiveMinimum: true
                      maximum: 744
                    additionalHourIus:
                      type: number
                      minimum: 0
                      exclusiveMinimum: true
                      maximum: 1000000
                  required:
                    - schemaVersion
                    - kind
                    - displayName
                    - includedHoursPerMonth
                    - additionalHourIus
                  additionalProperties: false
              type: object
            - oneOf:
                - type: object
                  properties:
                    schemaVersion:
                      type: number
                      enum:
                        - 2
                    kind:
                      type: string
                      enum:
                        - UNLIMITED_NAMED_SUPPORT
                    displayName:
                      type: string
                      minLength: 1
                      maxLength: 120
                  required:
                    - schemaVersion
                    - kind
                    - displayName
                  additionalProperties: false
                - type: object
                  properties:
                    schemaVersion:
                      type: number
                      enum:
                        - 2
                    kind:
                      type: string
                      enum:
                        - NAMED_SUPPORT_PACKAGE
                    displayName:
                      type: string
                      minLength: 1
                      maxLength: 120
                    includedHoursPerMonth:
                      type: number
                      minimum: 0
                      exclusiveMinimum: true
                      maximum: 744
                  required:
                    - schemaVersion
                    - kind
                    - displayName
                    - includedHoursPerMonth
                  additionalProperties: false
              type: object
        proposal:
          default: null
          nullable: true
          oneOf:
            - type: object
              properties:
                schemaVersion:
                  type: number
                  enum:
                    - 1
                documentTitle:
                  type: string
                  minLength: 1
                  maxLength: 160
                executiveSummary:
                  type: string
                  minLength: 1
                  maxLength: 5000
                scope:
                  type: object
                  properties:
                    included:
                      minItems: 1
                      maxItems: 50
                      type: array
                      items:
                        type: string
                        minLength: 1
                        maxLength: 500
                    exclusions:
                      default: []
                      maxItems: 50
                      type: array
                      items:
                        type: string
                        minLength: 1
                        maxLength: 500
                  required:
                    - included
                    - exclusions
                  additionalProperties: false
                term:
                  type: object
                  properties:
                    serviceStart:
                      oneOf:
                        - type: object
                          properties:
                            kind:
                              type: string
                              enum:
                                - ON_ACCEPTANCE
                          required:
                            - kind
                          additionalProperties: false
                        - type: object
                          properties:
                            kind:
                              type: string
                              enum:
                                - FIXED_DATE
                            date:
                              type: string
                              format: date
                              pattern: >-
                                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                          required:
                            - kind
                            - date
                          additionalProperties: false
                      type: object
                    initialTermMonths:
                      type: integer
                      minimum: 0
                      exclusiveMinimum: true
                      maximum: 120
                    renewal:
                      oneOf:
                        - type: object
                          properties:
                            kind:
                              type: string
                              enum:
                                - NO_AUTOMATIC_RENEWAL
                          required:
                            - kind
                          additionalProperties: false
                        - type: object
                          properties:
                            kind:
                              type: string
                              enum:
                                - AUTOMATIC
                            renewalTermMonths:
                              type: integer
                              minimum: 0
                              exclusiveMinimum: true
                              maximum: 120
                            nonRenewalNoticeDays:
                              type: integer
                              minimum: 0
                              maximum: 365
                          required:
                            - kind
                            - renewalTermMonths
                            - nonRenewalNoticeDays
                          additionalProperties: false
                      type: object
                    terminationForConvenience:
                      nullable: true
                      type: object
                      properties:
                        noticeDays:
                          type: integer
                          minimum: 0
                          maximum: 365
                      required:
                        - noticeDays
                      additionalProperties: false
                  required:
                    - serviceStart
                    - initialTermMonths
                    - renewal
                    - terminationForConvenience
                  additionalProperties: false
                paymentOptions:
                  minItems: 1
                  maxItems: 4
                  type: array
                  items:
                    oneOf:
                      - type: object
                        properties:
                          kind:
                            type: string
                            enum:
                              - MONTHLY
                          optionKey:
                            type: string
                            minLength: 1
                            maxLength: 120
                            pattern: ^[a-z0-9][a-z0-9._-]*$
                          displayName:
                            type: string
                            minLength: 1
                            maxLength: 120
                          currency:
                            type: string
                            enum:
                              - USD
                              - EUR
                              - GBP
                              - AUD
                          monthlyAmountMinor:
                            type: integer
                            minimum: 0
                            maximum: 9007199254740991
                          termMonths:
                            type: integer
                            minimum: 0
                            exclusiveMinimum: true
                            maximum: 120
                          paymentTermsDays:
                            type: integer
                            minimum: 0
                            maximum: 365
                          collectionMethods:
                            minItems: 1
                            maxItems: 3
                            type: array
                            items:
                              type: string
                              enum:
                                - ACH
                                - CARD
                                - INVOICE
                        required:
                          - kind
                          - optionKey
                          - displayName
                          - currency
                          - monthlyAmountMinor
                          - termMonths
                          - paymentTermsDays
                          - collectionMethods
                        additionalProperties: false
                      - type: object
                        properties:
                          kind:
                            type: string
                            enum:
                              - TERM_PREPAY
                          optionKey:
                            type: string
                            minLength: 1
                            maxLength: 120
                            pattern: ^[a-z0-9][a-z0-9._-]*$
                          displayName:
                            type: string
                            minLength: 1
                            maxLength: 120
                          currency:
                            type: string
                            enum:
                              - USD
                              - EUR
                              - GBP
                              - AUD
                          prepaidAmountMinor:
                            type: integer
                            minimum: 0
                            exclusiveMinimum: true
                            maximum: 9007199254740991
                          termMonths:
                            type: integer
                            minimum: 0
                            exclusiveMinimum: true
                            maximum: 120
                          paymentTermsDays:
                            type: integer
                            minimum: 0
                            maximum: 365
                          collectionMethods:
                            minItems: 1
                            maxItems: 3
                            type: array
                            items:
                              type: string
                              enum:
                                - ACH
                                - CARD
                                - INVOICE
                        required:
                          - kind
                          - optionKey
                          - displayName
                          - currency
                          - prepaidAmountMinor
                          - termMonths
                          - paymentTermsDays
                          - collectionMethods
                        additionalProperties: false
                    type: object
                templateKey:
                  type: string
                  enum:
                    - ENTERPRISE_V1
                    - PARTNER_ENTERPRISE_V1
                organizationNameAtIssue:
                  type: string
                  minLength: 1
                  maxLength: 160
              required:
                - schemaVersion
                - documentTitle
                - executiveSummary
                - scope
                - term
                - paymentOptions
                - templateKey
                - organizationNameAtIssue
              additionalProperties: false
            - type: object
              properties:
                schemaVersion:
                  type: number
                  enum:
                    - 2
                documentTitle:
                  type: string
                  minLength: 1
                  maxLength: 160
                executiveSummary:
                  type: string
                  minLength: 1
                  maxLength: 5000
                scope:
                  type: object
                  properties:
                    included:
                      minItems: 1
                      maxItems: 50
                      type: array
                      items:
                        type: string
                        minLength: 1
                        maxLength: 500
                    exclusions:
                      default: []
                      maxItems: 50
                      type: array
                      items:
                        type: string
                        minLength: 1
                        maxLength: 500
                  required:
                    - included
                    - exclusions
                  additionalProperties: false
                term:
                  type: object
                  properties:
                    serviceStart:
                      oneOf:
                        - type: object
                          properties:
                            kind:
                              type: string
                              enum:
                                - ON_ACCEPTANCE
                          required:
                            - kind
                          additionalProperties: false
                        - type: object
                          properties:
                            kind:
                              type: string
                              enum:
                                - FIXED_DATE
                            date:
                              type: string
                              format: date
                              pattern: >-
                                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                          required:
                            - kind
                            - date
                          additionalProperties: false
                      type: object
                    initialTermMonths:
                      type: integer
                      minimum: 0
                      exclusiveMinimum: true
                      maximum: 120
                    renewal:
                      oneOf:
                        - type: object
                          properties:
                            kind:
                              type: string
                              enum:
                                - NO_AUTOMATIC_RENEWAL
                          required:
                            - kind
                          additionalProperties: false
                        - type: object
                          properties:
                            kind:
                              type: string
                              enum:
                                - AUTOMATIC
                            renewalTermMonths:
                              type: integer
                              minimum: 0
                              exclusiveMinimum: true
                              maximum: 120
                            nonRenewalNoticeDays:
                              type: integer
                              minimum: 0
                              maximum: 365
                          required:
                            - kind
                            - renewalTermMonths
                            - nonRenewalNoticeDays
                          additionalProperties: false
                      type: object
                    terminationForConvenience:
                      nullable: true
                      type: object
                      properties:
                        noticeDays:
                          type: integer
                          minimum: 0
                          maximum: 365
                      required:
                        - noticeDays
                      additionalProperties: false
                  required:
                    - serviceStart
                    - initialTermMonths
                    - renewal
                    - terminationForConvenience
                  additionalProperties: false
                paymentOptions:
                  minItems: 1
                  maxItems: 4
                  type: array
                  items:
                    oneOf:
                      - type: object
                        properties:
                          kind:
                            type: string
                            enum:
                              - MONTHLY
                          optionKey:
                            type: string
                            minLength: 1
                            maxLength: 120
                            pattern: ^[a-z0-9][a-z0-9._-]*$
                          displayName:
                            type: string
                            minLength: 1
                            maxLength: 120
                          currency:
                            type: string
                            enum:
                              - USD
                              - EUR
                              - GBP
                              - AUD
                          monthlyAmountMinor:
                            type: integer
                            minimum: 0
                            maximum: 9007199254740991
                          termMonths:
                            type: integer
                            minimum: 0
                            exclusiveMinimum: true
                            maximum: 120
                          paymentTermsDays:
                            type: integer
                            minimum: 0
                            maximum: 365
                          collectionMethods:
                            minItems: 1
                            maxItems: 3
                            type: array
                            items:
                              type: string
                              enum:
                                - ACH
                                - CARD
                                - INVOICE
                        required:
                          - kind
                          - optionKey
                          - displayName
                          - currency
                          - monthlyAmountMinor
                          - termMonths
                          - paymentTermsDays
                          - collectionMethods
                        additionalProperties: false
                      - type: object
                        properties:
                          kind:
                            type: string
                            enum:
                              - TERM_PREPAY
                          optionKey:
                            type: string
                            minLength: 1
                            maxLength: 120
                            pattern: ^[a-z0-9][a-z0-9._-]*$
                          displayName:
                            type: string
                            minLength: 1
                            maxLength: 120
                          currency:
                            type: string
                            enum:
                              - USD
                              - EUR
                              - GBP
                              - AUD
                          prepaidAmountMinor:
                            type: integer
                            minimum: 0
                            exclusiveMinimum: true
                            maximum: 9007199254740991
                          termMonths:
                            type: integer
                            minimum: 0
                            exclusiveMinimum: true
                            maximum: 120
                          paymentTermsDays:
                            type: integer
                            minimum: 0
                            maximum: 365
                          collectionMethods:
                            minItems: 1
                            maxItems: 3
                            type: array
                            items:
                              type: string
                              enum:
                                - ACH
                                - CARD
                                - INVOICE
                        required:
                          - kind
                          - optionKey
                          - displayName
                          - currency
                          - prepaidAmountMinor
                          - termMonths
                          - paymentTermsDays
                          - collectionMethods
                        additionalProperties: false
                    type: object
                defaultPaymentOptionKey:
                  type: string
                  minLength: 1
                  maxLength: 120
                  pattern: ^[a-z0-9][a-z0-9._-]*$
                planOrigin:
                  type: object
                  properties:
                    rateCardId:
                      type: string
                      pattern: ^\d+$
                    rateCardPublicVersion:
                      type: string
                      minLength: 1
                      maxLength: 80
                    planId:
                      type: string
                      pattern: ^\d+$
                    planCode:
                      type: string
                      pattern: ^[A-Z][A-Z0-9_]{1,63}$
                  required:
                    - rateCardId
                    - rateCardPublicVersion
                    - planId
                    - planCode
                  additionalProperties: false
                customization:
                  oneOf:
                    - type: object
                      properties:
                        posture:
                          type: string
                          enum:
                            - EXACT
                      required:
                        - posture
                      additionalProperties: false
                    - type: object
                      properties:
                        posture:
                          type: string
                          enum:
                            - CUSTOMIZED
                        reason:
                          type: string
                          minLength: 10
                          maxLength: 1000
                      required:
                        - posture
                        - reason
                      additionalProperties: false
                  type: object
                organizationNameAtIssue:
                  type: string
                  minLength: 1
                  maxLength: 160
              required:
                - schemaVersion
                - documentTitle
                - executiveSummary
                - scope
                - term
                - paymentOptions
                - defaultPaymentOptionKey
                - planOrigin
                - customization
                - organizationNameAtIssue
              additionalProperties: false
          type: object
        rateCard:
          type: object
          properties:
            id:
              type: string
              pattern: ^\d+$
            name:
              type: string
            publicVersion:
              type: string
            effectiveDate:
              type: string
              format: date-time
              pattern: >-
                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
            endDate:
              nullable: true
              type: string
              format: date-time
              pattern: >-
                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
            publishedAt:
              type: string
              format: date-time
              pattern: >-
                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
          required:
            - id
            - name
            - publicVersion
            - effectiveDate
            - endDate
            - publishedAt
          additionalProperties: false
        agreement:
          type: object
          properties:
            contractId:
              nullable: true
              type: string
              pattern: ^\d+$
            agreementDocumentId:
              nullable: true
              type: string
              pattern: ^\d+$
            kind:
              type: string
              enum:
                - STANDARD_TOS
                - CUSTOM_CONTRACT
                - AAA
            tosVersion:
              nullable: true
              type: string
            termsUrl:
              nullable: true
              type: string
              pattern: ^https?:\/\/
            acceptedAt:
              nullable: true
              type: string
              format: date-time
              pattern: >-
                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
          required:
            - contractId
            - agreementDocumentId
            - kind
            - tosVersion
            - termsUrl
            - acceptedAt
          additionalProperties: false
        discount:
          nullable: true
          type: object
          properties:
            authorizationId:
              type: string
              pattern: ^\d+$
            basisPoints:
              type: integer
              minimum: 1
              maximum: 9999
            percent:
              type: number
              minimum: 0
              exclusiveMinimum: true
              maximum: 99.99
            effectiveDate:
              type: string
              format: date-time
              pattern: >-
                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
            endDate:
              nullable: true
              type: string
              format: date-time
              pattern: >-
                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
          required:
            - authorizationId
            - basisPoints
            - percent
            - effectiveDate
            - endDate
          additionalProperties: false
        serviceStart:
          anyOf:
            - type: string
              enum:
                - ON_ACCEPTANCE
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - FIXED_DATE
                date:
                  type: string
                  format: date
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
              required:
                - kind
                - date
              additionalProperties: false
        initialTermMonths:
          type: integer
          minimum: 1
          maximum: 120
        plans:
          minItems: 1
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                pattern: ^\d+$
              planCode:
                type: string
              displayName:
                type: string
              displayOrder:
                type: integer
                minimum: 0
                maximum: 9007199254740991
              includedIus:
                type: integer
                minimum: 0
                maximum: 9007199254740991
              currency:
                type: string
                enum:
                  - USD
                  - EUR
                  - GBP
                  - AUD
              billingPeriodMonths:
                type: number
                enum:
                  - 1
              commitmentBillingTiming:
                type: string
                enum:
                  - PERIOD_START
              usageBillingTiming:
                type: string
                enum:
                  - PERIOD_END
              resetInterval:
                type: string
                enum:
                  - MONTH
              rolloverPolicy:
                nullable: true
                type: object
                properties:
                  capBasisPoints:
                    type: integer
                    minimum: 1
                    maximum: 5000
                  expiresAfterBillingPeriods:
                    type: number
                    enum:
                      - 1
                required:
                  - capBasisPoints
                  - expiresAfterBillingPeriods
                additionalProperties: false
              paymentTermsDays:
                type: integer
                minimum: 0
                exclusiveMinimum: true
                maximum: 9007199254740991
              renewalPosture:
                type: string
                enum:
                  - STANDARD_ROLLING
                  - PINNED
              pricing:
                type: object
                properties:
                  listCommitmentMinor:
                    type: integer
                    minimum: 0
                    maximum: 9007199254740991
                  listOverageUnitAmountMinor:
                    type: integer
                    minimum: 0
                    maximum: 9007199254740991
                  discountBasisPoints:
                    type: integer
                    minimum: 0
                    maximum: 9999
                  netCommitmentMinor:
                    type: integer
                    minimum: 0
                    maximum: 9007199254740991
                  netOverageUnitAmountMinor:
                    type: integer
                    minimum: 0
                    maximum: 9007199254740991
                required:
                  - listCommitmentMinor
                  - listOverageUnitAmountMinor
                  - discountBasisPoints
                  - netCommitmentMinor
                  - netOverageUnitAmountMinor
                additionalProperties: false
            required:
              - id
              - planCode
              - displayName
              - displayOrder
              - includedIus
              - currency
              - billingPeriodMonths
              - commitmentBillingTiming
              - usageBillingTiming
              - resetInterval
              - rolloverPolicy
              - paymentTermsDays
              - renewalPosture
              - pricing
            additionalProperties: false
        activityTerms:
          type: array
          items:
            type: object
            properties:
              activityCode:
                type: string
                enum:
                  - ACTIVATED_SOCIAL_ACCOUNT_MONTH
              displayName:
                type: string
                minLength: 1
                maxLength: 120
              iuAmountMilli:
                type: integer
                minimum: 1
                maximum: 2147483647
              billingPeriodMonths:
                type: number
                enum:
                  - 1
              includedBackfillMonths:
                type: integer
                minimum: 0
                maximum: 120
            required:
              - activityCode
              - displayName
              - iuAmountMilli
              - billingPeriodMonths
              - includedBackfillMonths
            additionalProperties: false
        effectiveRateCard:
          $ref: '#/components/schemas/PreV4EffectiveRateCard'
        activitySchedule:
          $ref: '#/components/schemas/PreV4IuRateCardActivitySchedule'
      required:
        - offerVersion
        - entitlementBundle
        - supportPackage
        - proposal
        - rateCard
        - agreement
        - discount
        - serviceStart
        - initialTermMonths
        - plans
        - activityTerms
        - effectiveRateCard
        - activitySchedule
      additionalProperties: false
    PreV4StorefrontRateCardBinding:
      type: object
      properties:
        id:
          type: string
          pattern: ^\d+$
        acceptingCustomerId:
          type: integer
          minimum: 0
          exclusiveMinimum: true
          maximum: 9007199254740991
        contractId:
          type: string
          pattern: ^\d+$
        agreementDocumentId:
          type: string
          pattern: ^\d+$
        agreementKind:
          type: string
          enum:
            - STANDARD_TOS
            - CUSTOM_CONTRACT
            - AAA
        tosVersion:
          nullable: true
          type: string
        rateCardId:
          type: string
          pattern: ^\d+$
        rateCardPublicVersion:
          type: string
        planId:
          type: string
          pattern: ^\d+$
        planCode:
          type: string
        planName:
          type: string
        renewalPosture:
          type: string
          enum:
            - STANDARD_ROLLING
            - PINNED
        predecessorBindingId:
          nullable: true
          type: string
          pattern: ^\d+$
        offerVersion:
          type: string
          minLength: 1
        entitlementBundle:
          default: null
          nullable: true
          allOf:
            - $ref: '#/components/schemas/CommercialEntitlementBundleSnapshot'
        supportPackage:
          default: null
          nullable: true
          anyOf:
            - oneOf:
                - type: object
                  properties:
                    schemaVersion:
                      type: number
                      enum:
                        - 1
                    kind:
                      type: string
                      enum:
                        - UNLIMITED_NAMED_SUPPORT
                    displayName:
                      type: string
                      minLength: 1
                      maxLength: 120
                  required:
                    - schemaVersion
                    - kind
                    - displayName
                  additionalProperties: false
                - type: object
                  properties:
                    schemaVersion:
                      type: number
                      enum:
                        - 1
                    kind:
                      type: string
                      enum:
                        - NAMED_SUPPORT_PACKAGE
                    displayName:
                      type: string
                      minLength: 1
                      maxLength: 120
                    includedHoursPerMonth:
                      type: number
                      minimum: 0
                      exclusiveMinimum: true
                      maximum: 744
                    additionalHourIus:
                      type: number
                      minimum: 0
                      exclusiveMinimum: true
                      maximum: 1000000
                  required:
                    - schemaVersion
                    - kind
                    - displayName
                    - includedHoursPerMonth
                    - additionalHourIus
                  additionalProperties: false
              type: object
            - oneOf:
                - type: object
                  properties:
                    schemaVersion:
                      type: number
                      enum:
                        - 2
                    kind:
                      type: string
                      enum:
                        - UNLIMITED_NAMED_SUPPORT
                    displayName:
                      type: string
                      minLength: 1
                      maxLength: 120
                  required:
                    - schemaVersion
                    - kind
                    - displayName
                  additionalProperties: false
                - type: object
                  properties:
                    schemaVersion:
                      type: number
                      enum:
                        - 2
                    kind:
                      type: string
                      enum:
                        - NAMED_SUPPORT_PACKAGE
                    displayName:
                      type: string
                      minLength: 1
                      maxLength: 120
                    includedHoursPerMonth:
                      type: number
                      minimum: 0
                      exclusiveMinimum: true
                      maximum: 744
                  required:
                    - schemaVersion
                    - kind
                    - displayName
                    - includedHoursPerMonth
                  additionalProperties: false
              type: object
        proposal:
          default: null
          nullable: true
          oneOf:
            - type: object
              properties:
                schemaVersion:
                  type: number
                  enum:
                    - 1
                documentTitle:
                  type: string
                  minLength: 1
                  maxLength: 160
                executiveSummary:
                  type: string
                  minLength: 1
                  maxLength: 5000
                scope:
                  type: object
                  properties:
                    included:
                      minItems: 1
                      maxItems: 50
                      type: array
                      items:
                        type: string
                        minLength: 1
                        maxLength: 500
                    exclusions:
                      default: []
                      maxItems: 50
                      type: array
                      items:
                        type: string
                        minLength: 1
                        maxLength: 500
                  required:
                    - included
                    - exclusions
                  additionalProperties: false
                term:
                  type: object
                  properties:
                    serviceStart:
                      oneOf:
                        - type: object
                          properties:
                            kind:
                              type: string
                              enum:
                                - ON_ACCEPTANCE
                          required:
                            - kind
                          additionalProperties: false
                        - type: object
                          properties:
                            kind:
                              type: string
                              enum:
                                - FIXED_DATE
                            date:
                              type: string
                              format: date
                              pattern: >-
                                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                          required:
                            - kind
                            - date
                          additionalProperties: false
                      type: object
                    initialTermMonths:
                      type: integer
                      minimum: 0
                      exclusiveMinimum: true
                      maximum: 120
                    renewal:
                      oneOf:
                        - type: object
                          properties:
                            kind:
                              type: string
                              enum:
                                - NO_AUTOMATIC_RENEWAL
                          required:
                            - kind
                          additionalProperties: false
                        - type: object
                          properties:
                            kind:
                              type: string
                              enum:
                                - AUTOMATIC
                            renewalTermMonths:
                              type: integer
                              minimum: 0
                              exclusiveMinimum: true
                              maximum: 120
                            nonRenewalNoticeDays:
                              type: integer
                              minimum: 0
                              maximum: 365
                          required:
                            - kind
                            - renewalTermMonths
                            - nonRenewalNoticeDays
                          additionalProperties: false
                      type: object
                    terminationForConvenience:
                      nullable: true
                      type: object
                      properties:
                        noticeDays:
                          type: integer
                          minimum: 0
                          maximum: 365
                      required:
                        - noticeDays
                      additionalProperties: false
                  required:
                    - serviceStart
                    - initialTermMonths
                    - renewal
                    - terminationForConvenience
                  additionalProperties: false
                paymentOptions:
                  minItems: 1
                  maxItems: 4
                  type: array
                  items:
                    oneOf:
                      - type: object
                        properties:
                          kind:
                            type: string
                            enum:
                              - MONTHLY
                          optionKey:
                            type: string
                            minLength: 1
                            maxLength: 120
                            pattern: ^[a-z0-9][a-z0-9._-]*$
                          displayName:
                            type: string
                            minLength: 1
                            maxLength: 120
                          currency:
                            type: string
                            enum:
                              - USD
                              - EUR
                              - GBP
                              - AUD
                          monthlyAmountMinor:
                            type: integer
                            minimum: 0
                            maximum: 9007199254740991
                          termMonths:
                            type: integer
                            minimum: 0
                            exclusiveMinimum: true
                            maximum: 120
                          paymentTermsDays:
                            type: integer
                            minimum: 0
                            maximum: 365
                          collectionMethods:
                            minItems: 1
                            maxItems: 3
                            type: array
                            items:
                              type: string
                              enum:
                                - ACH
                                - CARD
                                - INVOICE
                        required:
                          - kind
                          - optionKey
                          - displayName
                          - currency
                          - monthlyAmountMinor
                          - termMonths
                          - paymentTermsDays
                          - collectionMethods
                        additionalProperties: false
                      - type: object
                        properties:
                          kind:
                            type: string
                            enum:
                              - TERM_PREPAY
                          optionKey:
                            type: string
                            minLength: 1
                            maxLength: 120
                            pattern: ^[a-z0-9][a-z0-9._-]*$
                          displayName:
                            type: string
                            minLength: 1
                            maxLength: 120
                          currency:
                            type: string
                            enum:
                              - USD
                              - EUR
                              - GBP
                              - AUD
                          prepaidAmountMinor:
                            type: integer
                            minimum: 0
                            exclusiveMinimum: true
                            maximum: 9007199254740991
                          termMonths:
                            type: integer
                            minimum: 0
                            exclusiveMinimum: true
                            maximum: 120
                          paymentTermsDays:
                            type: integer
                            minimum: 0
                            maximum: 365
                          collectionMethods:
                            minItems: 1
                            maxItems: 3
                            type: array
                            items:
                              type: string
                              enum:
                                - ACH
                                - CARD
                                - INVOICE
                        required:
                          - kind
                          - optionKey
                          - displayName
                          - currency
                          - prepaidAmountMinor
                          - termMonths
                          - paymentTermsDays
                          - collectionMethods
                        additionalProperties: false
                    type: object
                templateKey:
                  type: string
                  enum:
                    - ENTERPRISE_V1
                    - PARTNER_ENTERPRISE_V1
                organizationNameAtIssue:
                  type: string
                  minLength: 1
                  maxLength: 160
              required:
                - schemaVersion
                - documentTitle
                - executiveSummary
                - scope
                - term
                - paymentOptions
                - templateKey
                - organizationNameAtIssue
              additionalProperties: false
            - type: object
              properties:
                schemaVersion:
                  type: number
                  enum:
                    - 2
                documentTitle:
                  type: string
                  minLength: 1
                  maxLength: 160
                executiveSummary:
                  type: string
                  minLength: 1
                  maxLength: 5000
                scope:
                  type: object
                  properties:
                    included:
                      minItems: 1
                      maxItems: 50
                      type: array
                      items:
                        type: string
                        minLength: 1
                        maxLength: 500
                    exclusions:
                      default: []
                      maxItems: 50
                      type: array
                      items:
                        type: string
                        minLength: 1
                        maxLength: 500
                  required:
                    - included
                    - exclusions
                  additionalProperties: false
                term:
                  type: object
                  properties:
                    serviceStart:
                      oneOf:
                        - type: object
                          properties:
                            kind:
                              type: string
                              enum:
                                - ON_ACCEPTANCE
                          required:
                            - kind
                          additionalProperties: false
                        - type: object
                          properties:
                            kind:
                              type: string
                              enum:
                                - FIXED_DATE
                            date:
                              type: string
                              format: date
                              pattern: >-
                                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                          required:
                            - kind
                            - date
                          additionalProperties: false
                      type: object
                    initialTermMonths:
                      type: integer
                      minimum: 0
                      exclusiveMinimum: true
                      maximum: 120
                    renewal:
                      oneOf:
                        - type: object
                          properties:
                            kind:
                              type: string
                              enum:
                                - NO_AUTOMATIC_RENEWAL
                          required:
                            - kind
                          additionalProperties: false
                        - type: object
                          properties:
                            kind:
                              type: string
                              enum:
                                - AUTOMATIC
                            renewalTermMonths:
                              type: integer
                              minimum: 0
                              exclusiveMinimum: true
                              maximum: 120
                            nonRenewalNoticeDays:
                              type: integer
                              minimum: 0
                              maximum: 365
                          required:
                            - kind
                            - renewalTermMonths
                            - nonRenewalNoticeDays
                          additionalProperties: false
                      type: object
                    terminationForConvenience:
                      nullable: true
                      type: object
                      properties:
                        noticeDays:
                          type: integer
                          minimum: 0
                          maximum: 365
                      required:
                        - noticeDays
                      additionalProperties: false
                  required:
                    - serviceStart
                    - initialTermMonths
                    - renewal
                    - terminationForConvenience
                  additionalProperties: false
                paymentOptions:
                  minItems: 1
                  maxItems: 4
                  type: array
                  items:
                    oneOf:
                      - type: object
                        properties:
                          kind:
                            type: string
                            enum:
                              - MONTHLY
                          optionKey:
                            type: string
                            minLength: 1
                            maxLength: 120
                            pattern: ^[a-z0-9][a-z0-9._-]*$
                          displayName:
                            type: string
                            minLength: 1
                            maxLength: 120
                          currency:
                            type: string
                            enum:
                              - USD
                              - EUR
                              - GBP
                              - AUD
                          monthlyAmountMinor:
                            type: integer
                            minimum: 0
                            maximum: 9007199254740991
                          termMonths:
                            type: integer
                            minimum: 0
                            exclusiveMinimum: true
                            maximum: 120
                          paymentTermsDays:
                            type: integer
                            minimum: 0
                            maximum: 365
                          collectionMethods:
                            minItems: 1
                            maxItems: 3
                            type: array
                            items:
                              type: string
                              enum:
                                - ACH
                                - CARD
                                - INVOICE
                        required:
                          - kind
                          - optionKey
                          - displayName
                          - currency
                          - monthlyAmountMinor
                          - termMonths
                          - paymentTermsDays
                          - collectionMethods
                        additionalProperties: false
                      - type: object
                        properties:
                          kind:
                            type: string
                            enum:
                              - TERM_PREPAY
                          optionKey:
                            type: string
                            minLength: 1
                            maxLength: 120
                            pattern: ^[a-z0-9][a-z0-9._-]*$
                          displayName:
                            type: string
                            minLength: 1
                            maxLength: 120
                          currency:
                            type: string
                            enum:
                              - USD
                              - EUR
                              - GBP
                              - AUD
                          prepaidAmountMinor:
                            type: integer
                            minimum: 0
                            exclusiveMinimum: true
                            maximum: 9007199254740991
                          termMonths:
                            type: integer
                            minimum: 0
                            exclusiveMinimum: true
                            maximum: 120
                          paymentTermsDays:
                            type: integer
                            minimum: 0
                            maximum: 365
                          collectionMethods:
                            minItems: 1
                            maxItems: 3
                            type: array
                            items:
                              type: string
                              enum:
                                - ACH
                                - CARD
                                - INVOICE
                        required:
                          - kind
                          - optionKey
                          - displayName
                          - currency
                          - prepaidAmountMinor
                          - termMonths
                          - paymentTermsDays
                          - collectionMethods
                        additionalProperties: false
                    type: object
                defaultPaymentOptionKey:
                  type: string
                  minLength: 1
                  maxLength: 120
                  pattern: ^[a-z0-9][a-z0-9._-]*$
                planOrigin:
                  type: object
                  properties:
                    rateCardId:
                      type: string
                      pattern: ^\d+$
                    rateCardPublicVersion:
                      type: string
                      minLength: 1
                      maxLength: 80
                    planId:
                      type: string
                      pattern: ^\d+$
                    planCode:
                      type: string
                      pattern: ^[A-Z][A-Z0-9_]{1,63}$
                  required:
                    - rateCardId
                    - rateCardPublicVersion
                    - planId
                    - planCode
                  additionalProperties: false
                customization:
                  oneOf:
                    - type: object
                      properties:
                        posture:
                          type: string
                          enum:
                            - EXACT
                      required:
                        - posture
                      additionalProperties: false
                    - type: object
                      properties:
                        posture:
                          type: string
                          enum:
                            - CUSTOMIZED
                        reason:
                          type: string
                          minLength: 10
                          maxLength: 1000
                      required:
                        - posture
                        - reason
                      additionalProperties: false
                  type: object
                organizationNameAtIssue:
                  type: string
                  minLength: 1
                  maxLength: 160
              required:
                - schemaVersion
                - documentTitle
                - executiveSummary
                - scope
                - term
                - paymentOptions
                - defaultPaymentOptionKey
                - planOrigin
                - customization
                - organizationNameAtIssue
              additionalProperties: false
          type: object
        selectedPaymentOption:
          default: null
          nullable: true
          oneOf:
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - MONTHLY
                optionKey:
                  type: string
                  minLength: 1
                  maxLength: 120
                  pattern: ^[a-z0-9][a-z0-9._-]*$
                displayName:
                  type: string
                  minLength: 1
                  maxLength: 120
                currency:
                  type: string
                  enum:
                    - USD
                    - EUR
                    - GBP
                    - AUD
                monthlyAmountMinor:
                  type: integer
                  minimum: 0
                  maximum: 9007199254740991
                termMonths:
                  type: integer
                  minimum: 0
                  exclusiveMinimum: true
                  maximum: 120
                paymentTermsDays:
                  type: integer
                  minimum: 0
                  maximum: 365
                collectionMethods:
                  minItems: 1
                  maxItems: 3
                  type: array
                  items:
                    type: string
                    enum:
                      - ACH
                      - CARD
                      - INVOICE
              required:
                - kind
                - optionKey
                - displayName
                - currency
                - monthlyAmountMinor
                - termMonths
                - paymentTermsDays
                - collectionMethods
              additionalProperties: false
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - TERM_PREPAY
                optionKey:
                  type: string
                  minLength: 1
                  maxLength: 120
                  pattern: ^[a-z0-9][a-z0-9._-]*$
                displayName:
                  type: string
                  minLength: 1
                  maxLength: 120
                currency:
                  type: string
                  enum:
                    - USD
                    - EUR
                    - GBP
                    - AUD
                prepaidAmountMinor:
                  type: integer
                  minimum: 0
                  exclusiveMinimum: true
                  maximum: 9007199254740991
                termMonths:
                  type: integer
                  minimum: 0
                  exclusiveMinimum: true
                  maximum: 120
                paymentTermsDays:
                  type: integer
                  minimum: 0
                  maximum: 365
                collectionMethods:
                  minItems: 1
                  maxItems: 3
                  type: array
                  items:
                    type: string
                    enum:
                      - ACH
                      - CARD
                      - INVOICE
              required:
                - kind
                - optionKey
                - displayName
                - currency
                - prepaidAmountMinor
                - termMonths
                - paymentTermsDays
                - collectionMethods
              additionalProperties: false
          type: object
        termStart:
          type: string
          format: date-time
          pattern: >-
            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
        termEnd:
          type: string
          format: date-time
          pattern: >-
            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
        listCommitmentMinor:
          type: integer
          minimum: 0
          maximum: 9007199254740991
        listOverageUnitAmountMinor:
          type: integer
          minimum: 0
          maximum: 9007199254740991
        includedIus:
          type: integer
          minimum: 0
          maximum: 9007199254740991
        discountAuthorizationId:
          nullable: true
          type: string
          pattern: ^\d+$
        discountBasisPoints:
          type: integer
          minimum: 0
          maximum: 9999
        netCommitmentMinor:
          type: integer
          minimum: 0
          maximum: 9007199254740991
        netOverageUnitAmountMinor:
          type: integer
          minimum: 0
          maximum: 9007199254740991
        currency:
          type: string
          enum:
            - USD
            - EUR
            - GBP
            - AUD
        billingPeriodMonths:
          type: number
          enum:
            - 1
        rolloverPolicy:
          nullable: true
          type: object
          properties:
            capBasisPoints:
              type: integer
              minimum: 1
              maximum: 5000
            expiresAfterBillingPeriods:
              type: number
              enum:
                - 1
          required:
            - capBasisPoints
            - expiresAfterBillingPeriods
          additionalProperties: false
        paymentTermsDays:
          type: integer
          minimum: 0
          exclusiveMinimum: true
          maximum: 9007199254740991
        acceptedByUserId:
          type: string
          pattern: ^\d+$
        acceptedAt:
          type: string
          format: date-time
          pattern: >-
            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
        acceptanceSource:
          type: string
          enum:
            - SIGNUP
            - PLAN_BILLING
            - MCP_APP
            - ADMIN_ORDER_FORM
            - AUTO_RENEWAL
        activityTerms:
          type: array
          items:
            type: object
            properties:
              activityCode:
                type: string
                enum:
                  - ACTIVATED_SOCIAL_ACCOUNT_MONTH
              displayName:
                type: string
                minLength: 1
                maxLength: 120
              iuAmountMilli:
                type: integer
                minimum: 1
                maximum: 2147483647
              billingPeriodMonths:
                type: number
                enum:
                  - 1
              includedBackfillMonths:
                type: integer
                minimum: 0
                maximum: 120
            required:
              - activityCode
              - displayName
              - iuAmountMilli
              - billingPeriodMonths
              - includedBackfillMonths
            additionalProperties: false
        effectiveRateCard:
          $ref: '#/components/schemas/PreV4EffectiveRateCard'
        activitySchedule:
          $ref: '#/components/schemas/PreV4IuRateCardActivitySchedule'
      required:
        - id
        - acceptingCustomerId
        - contractId
        - agreementDocumentId
        - agreementKind
        - tosVersion
        - rateCardId
        - rateCardPublicVersion
        - planId
        - planCode
        - planName
        - renewalPosture
        - predecessorBindingId
        - offerVersion
        - entitlementBundle
        - supportPackage
        - proposal
        - selectedPaymentOption
        - termStart
        - termEnd
        - listCommitmentMinor
        - listOverageUnitAmountMinor
        - includedIus
        - discountAuthorizationId
        - discountBasisPoints
        - netCommitmentMinor
        - netOverageUnitAmountMinor
        - currency
        - billingPeriodMonths
        - rolloverPolicy
        - paymentTermsDays
        - acceptedByUserId
        - acceptedAt
        - acceptanceSource
        - activityTerms
        - effectiveRateCard
        - activitySchedule
      additionalProperties: false
    CommercialEntitlementBundleSnapshot:
      anyOf:
        - type: object
          properties:
            schemaVersion:
              type: number
              enum:
                - 1
            bundleKey:
              type: string
              minLength: 1
              maxLength: 120
              pattern: ^[a-z0-9][a-z0-9._-]*$
            revision:
              type: integer
              minimum: 0
              exclusiveMinimum: true
              maximum: 2147483647
            displayName:
              type: string
              minLength: 1
              maxLength: 160
            visibility:
              type: string
              enum:
                - REUSABLE
                - PRIVATE
            features:
              minItems: 1
              maxItems: 200
              type: array
              items:
                type: object
                properties:
                  kind:
                    type: string
                    enum:
                      - FEATURE_ACCESS
                  featureKey:
                    type: string
                    minLength: 1
                    maxLength: 120
                    pattern: ^[a-z0-9]+(?:-[a-z0-9]+)*$
                  scope:
                    type: object
                    properties:
                      kind:
                        type: string
                        enum:
                          - ORGANIZATION
                    required:
                      - kind
                    additionalProperties: false
                  parameters:
                    type: object
                    additionalProperties: {}
                required:
                  - kind
                  - featureKey
                  - scope
                additionalProperties: false
            capacities:
              maxItems: 20
              type: array
              items:
                type: object
                properties:
                  kind:
                    type: string
                    enum:
                      - BOUNDED_CAPACITY
                  target:
                    type: string
                    enum:
                      - COMPATIBILITY_WORKSPACE
                  unit:
                    type: string
                    enum:
                      - COUNT
                  limitCount:
                    type: integer
                    minimum: 0
                    maximum: 1000000
                  scope:
                    type: object
                    properties:
                      kind:
                        type: string
                        enum:
                          - ORGANIZATION
                    required:
                      - kind
                    additionalProperties: false
                required:
                  - kind
                  - target
                  - unit
                  - limitCount
                  - scope
                additionalProperties: false
          required:
            - schemaVersion
            - bundleKey
            - revision
            - displayName
            - visibility
            - features
          additionalProperties: false
        - type: object
          properties:
            schemaVersion:
              type: number
              enum:
                - 1
            bundleKey:
              type: string
              minLength: 1
              maxLength: 120
              pattern: ^[a-z0-9][a-z0-9._-]*$
            revision:
              type: integer
              minimum: 0
              exclusiveMinimum: true
              maximum: 2147483647
            displayName:
              type: string
              minLength: 1
              maxLength: 160
            visibility:
              type: string
              enum:
                - REUSABLE
                - PRIVATE
            features:
              default: []
              maxItems: 200
              type: array
              items:
                type: object
                properties:
                  kind:
                    type: string
                    enum:
                      - FEATURE_ACCESS
                  featureKey:
                    type: string
                    minLength: 1
                    maxLength: 120
                    pattern: ^[a-z0-9]+(?:-[a-z0-9]+)*$
                  scope:
                    type: object
                    properties:
                      kind:
                        type: string
                        enum:
                          - ORGANIZATION
                    required:
                      - kind
                    additionalProperties: false
                  parameters:
                    type: object
                    additionalProperties: {}
                required:
                  - kind
                  - featureKey
                  - scope
                additionalProperties: false
            capacities:
              minItems: 1
              maxItems: 20
              type: array
              items:
                type: object
                properties:
                  kind:
                    type: string
                    enum:
                      - BOUNDED_CAPACITY
                  target:
                    type: string
                    enum:
                      - COMPATIBILITY_WORKSPACE
                  unit:
                    type: string
                    enum:
                      - COUNT
                  limitCount:
                    type: integer
                    minimum: 0
                    maximum: 1000000
                  scope:
                    type: object
                    properties:
                      kind:
                        type: string
                        enum:
                          - ORGANIZATION
                    required:
                      - kind
                    additionalProperties: false
                required:
                  - kind
                  - target
                  - unit
                  - limitCount
                  - scope
                additionalProperties: false
          required:
            - schemaVersion
            - bundleKey
            - revision
            - displayName
            - visibility
            - features
            - capacities
          additionalProperties: false
    PreV4EffectiveRateCard:
      type: object
      properties:
        version:
          type: string
          pattern: ^erc-v1:[0-9a-f]{64}$
        visibility:
          type: string
          enum:
            - PUBLIC
            - PRIVATE
        displayName:
          type: string
          minLength: 1
          maxLength: 160
        commercialOfferId:
          nullable: true
          type: string
          pattern: ^\d+$
        adjustmentSource:
          type: string
          enum:
            - RATE_CARD_DEFAULT
            - LEGACY_DISCOUNT
            - DIRECT
            - PROMOTION_CODE
            - REFERRAL_CODE
        renewalBehavior:
          default: PIN_EXACT
          type: string
          enum:
            - PIN_EXACT
            - REVIEW_REQUIRED
        adjustments:
          $ref: '#/components/schemas/PreV4CommercialOfferAdjustmentSet'
        rateCardSnapshot:
          default: null
          nullable: true
          allOf:
            - $ref: '#/components/schemas/PreV4CommercialOfferRateCardSnapshot'
      required:
        - version
        - visibility
        - displayName
        - commercialOfferId
        - adjustmentSource
        - renewalBehavior
        - adjustments
        - rateCardSnapshot
      additionalProperties: false
    PreV4IuRateCardActivitySchedule:
      anyOf:
        - minItems: 16
          maxItems: 16
          type: array
          items:
            type: object
            properties:
              activityCode:
                type: string
                enum:
                  - ACTIVATED_SOCIAL_ACCOUNT_MONTH
                  - SIMPLE_PROPOSAL_EVALUATION
                  - COMPLEX_PROPOSAL_EVALUATION
                  - MERCHANDISING_BRIEF_RESPONSE
                  - MURPH_AI_SUPPORT_SESSION
                  - HUMAN_EXPERT_SUPPORT_HOUR
                  - GENERATED_IMAGE
                  - GENERATED_VIDEO_SECONDS
                  - ANALYZE_ACCOUNT
                  - CAMPAIGN_OPTIMIZATION_MONTH
                  - MANAGED_MEDIA_BUY_MONTH
                  - STANDARD_DOCUMENT_UNDERSTANDING
                  - LARGE_DOCUMENT_UNDERSTANDING
                  - AUDIO_VIDEO_UNDERSTANDING_MINUTES
                  - CUSTOM_BIGQUERY_GIB
                  - MODULAR_SOURCE_MANAGEMENT_MONTH
                  - MANAGED_VIDEO_RENDITION_OUTPUT_SECOND
                  - MULTI_SELLER_PRODUCT_RANKING
                  - PROPOSAL_EVALUATION_PASS
                  - COMPARATIVE_PROPOSAL_RANKING_PASS
                  - MURPH_WORKING_SESSION
              displayName:
                type: string
                minLength: 1
                maxLength: 120
              unitCount:
                type: integer
                minimum: 0
                exclusiveMinimum: true
                maximum: 9007199254740991
              unit:
                type: string
                enum:
                  - ACCOUNT_MONTH
                  - PROPOSAL
                  - RESPONSE
                  - SESSION
                  - SUPPORT_HOUR
                  - IMAGE
                  - GENERATED_SECOND
                  - ANALYSIS
                  - CAMPAIGN_MONTH
                  - MEDIA_BUY_MONTH
                  - FILE
                  - PROCESSING_JOB
                  - UNDERSTANDING_MINUTE
                  - GIB_SCANNED
                  - ACTIVE_SOURCE_MONTH
                  - OUTPUT_SECOND
                  - RANKING
                  - EVALUATION_PASS
                  - RANKING_PASS
              catalogStatus:
                type: string
                enum:
                  - PUBLISHED
                  - CALIBRATING
                  - MEASURING
              standardIuAmountMilli:
                nullable: true
                type: integer
                minimum: 0
                exclusiveMinimum: true
                maximum: 2147483647
              pricing:
                type: string
                enum:
                  - STANDARD
                  - CUSTOM
                  - WAIVED
                  - UNPRICED
              customIuAmountMilli:
                nullable: true
                type: integer
                minimum: 0
                exclusiveMinimum: true
                maximum: 2147483647
              effectiveIuAmountMilli:
                nullable: true
                type: integer
                minimum: 0
                exclusiveMinimum: true
                maximum: 2147483647
              billable:
                type: boolean
              includedBackfillMonths:
                nullable: true
                type: integer
                minimum: 0
                maximum: 120
            required:
              - activityCode
              - displayName
              - unitCount
              - unit
              - catalogStatus
              - standardIuAmountMilli
              - pricing
              - customIuAmountMilli
              - effectiveIuAmountMilli
              - billable
              - includedBackfillMonths
            additionalProperties: false
        - minItems: 13
          maxItems: 13
          type: array
          items:
            type: object
            properties:
              activityCode:
                type: string
                enum:
                  - ACTIVATED_SOCIAL_ACCOUNT_MONTH
                  - SIMPLE_PROPOSAL_EVALUATION
                  - COMPLEX_PROPOSAL_EVALUATION
                  - MERCHANDISING_BRIEF_RESPONSE
                  - MURPH_AI_SUPPORT_SESSION
                  - HUMAN_EXPERT_SUPPORT_HOUR
                  - GENERATED_IMAGE
                  - GENERATED_VIDEO_SECONDS
                  - ANALYZE_ACCOUNT
                  - CAMPAIGN_OPTIMIZATION_MONTH
                  - MANAGED_MEDIA_BUY_MONTH
                  - STANDARD_DOCUMENT_UNDERSTANDING
                  - LARGE_DOCUMENT_UNDERSTANDING
                  - AUDIO_VIDEO_UNDERSTANDING_MINUTES
                  - CUSTOM_BIGQUERY_GIB
                  - MODULAR_SOURCE_MANAGEMENT_MONTH
                  - MANAGED_VIDEO_RENDITION_OUTPUT_SECOND
                  - MULTI_SELLER_PRODUCT_RANKING
                  - PROPOSAL_EVALUATION_PASS
                  - COMPARATIVE_PROPOSAL_RANKING_PASS
                  - MURPH_WORKING_SESSION
              displayName:
                type: string
                minLength: 1
                maxLength: 120
              unitCount:
                type: integer
                minimum: 0
                exclusiveMinimum: true
                maximum: 9007199254740991
              unit:
                type: string
                enum:
                  - ACCOUNT_MONTH
                  - PROPOSAL
                  - RESPONSE
                  - SESSION
                  - SUPPORT_HOUR
                  - IMAGE
                  - GENERATED_SECOND
                  - ANALYSIS
                  - CAMPAIGN_MONTH
                  - MEDIA_BUY_MONTH
                  - FILE
                  - PROCESSING_JOB
                  - UNDERSTANDING_MINUTE
                  - GIB_SCANNED
                  - ACTIVE_SOURCE_MONTH
                  - OUTPUT_SECOND
                  - RANKING
                  - EVALUATION_PASS
                  - RANKING_PASS
              catalogStatus:
                type: string
                enum:
                  - PUBLISHED
                  - CALIBRATING
                  - MEASURING
              standardIuAmountMilli:
                nullable: true
                type: integer
                minimum: 0
                exclusiveMinimum: true
                maximum: 2147483647
              pricing:
                type: string
                enum:
                  - STANDARD
                  - CUSTOM
                  - WAIVED
                  - UNPRICED
              customIuAmountMilli:
                nullable: true
                type: integer
                minimum: 0
                exclusiveMinimum: true
                maximum: 2147483647
              effectiveIuAmountMilli:
                nullable: true
                type: integer
                minimum: 0
                exclusiveMinimum: true
                maximum: 2147483647
              billable:
                type: boolean
              includedBackfillMonths:
                nullable: true
                type: integer
                minimum: 0
                maximum: 120
            required:
              - activityCode
              - displayName
              - unitCount
              - unit
              - catalogStatus
              - standardIuAmountMilli
              - pricing
              - customIuAmountMilli
              - effectiveIuAmountMilli
              - billable
              - includedBackfillMonths
            additionalProperties: false
        - minItems: 14
          maxItems: 14
          type: array
          items:
            type: object
            properties:
              activityCode:
                type: string
                enum:
                  - ACTIVATED_SOCIAL_ACCOUNT_MONTH
                  - SIMPLE_PROPOSAL_EVALUATION
                  - COMPLEX_PROPOSAL_EVALUATION
                  - MERCHANDISING_BRIEF_RESPONSE
                  - MURPH_AI_SUPPORT_SESSION
                  - HUMAN_EXPERT_SUPPORT_HOUR
                  - GENERATED_IMAGE
                  - GENERATED_VIDEO_SECONDS
                  - ANALYZE_ACCOUNT
                  - CAMPAIGN_OPTIMIZATION_MONTH
                  - MANAGED_MEDIA_BUY_MONTH
                  - STANDARD_DOCUMENT_UNDERSTANDING
                  - LARGE_DOCUMENT_UNDERSTANDING
                  - AUDIO_VIDEO_UNDERSTANDING_MINUTES
                  - CUSTOM_BIGQUERY_GIB
                  - MODULAR_SOURCE_MANAGEMENT_MONTH
                  - MANAGED_VIDEO_RENDITION_OUTPUT_SECOND
                  - MULTI_SELLER_PRODUCT_RANKING
                  - PROPOSAL_EVALUATION_PASS
                  - COMPARATIVE_PROPOSAL_RANKING_PASS
                  - MURPH_WORKING_SESSION
              displayName:
                type: string
                minLength: 1
                maxLength: 120
              unitCount:
                type: integer
                minimum: 0
                exclusiveMinimum: true
                maximum: 9007199254740991
              unit:
                type: string
                enum:
                  - ACCOUNT_MONTH
                  - PROPOSAL
                  - RESPONSE
                  - SESSION
                  - SUPPORT_HOUR
                  - IMAGE
                  - GENERATED_SECOND
                  - ANALYSIS
                  - CAMPAIGN_MONTH
                  - MEDIA_BUY_MONTH
                  - FILE
                  - PROCESSING_JOB
                  - UNDERSTANDING_MINUTE
                  - GIB_SCANNED
                  - ACTIVE_SOURCE_MONTH
                  - OUTPUT_SECOND
                  - RANKING
                  - EVALUATION_PASS
                  - RANKING_PASS
              catalogStatus:
                type: string
                enum:
                  - PUBLISHED
                  - CALIBRATING
                  - MEASURING
              standardIuAmountMilli:
                nullable: true
                type: integer
                minimum: 0
                exclusiveMinimum: true
                maximum: 2147483647
              pricing:
                type: string
                enum:
                  - STANDARD
                  - CUSTOM
                  - WAIVED
                  - UNPRICED
              customIuAmountMilli:
                nullable: true
                type: integer
                minimum: 0
                exclusiveMinimum: true
                maximum: 2147483647
              effectiveIuAmountMilli:
                nullable: true
                type: integer
                minimum: 0
                exclusiveMinimum: true
                maximum: 2147483647
              billable:
                type: boolean
              includedBackfillMonths:
                nullable: true
                type: integer
                minimum: 0
                maximum: 120
            required:
              - activityCode
              - displayName
              - unitCount
              - unit
              - catalogStatus
              - standardIuAmountMilli
              - pricing
              - customIuAmountMilli
              - effectiveIuAmountMilli
              - billable
              - includedBackfillMonths
            additionalProperties: false
    PreV4CommercialOfferAdjustmentSet:
      type: object
      properties:
        price:
          default: null
          nullable: true
          oneOf:
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - PERCENT
                basisPoints:
                  type: integer
                  minimum: 1
                  maximum: 9999
              required:
                - kind
                - basisPoints
              additionalProperties: false
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - PACKAGE
                monthlyCommitmentMinor:
                  type: integer
                  minimum: 0
                  maximum: 9007199254740991
                includedIus:
                  type: integer
                  minimum: 0
                  maximum: 9007199254740991
                overageUnitAmountMinor:
                  type: integer
                  minimum: 0
                  maximum: 9007199254740991
                currency:
                  default: USD
                  type: string
                  enum:
                    - USD
                    - EUR
                    - GBP
                    - AUD
              required:
                - kind
                - monthlyCommitmentMinor
                - includedIus
                - overageUnitAmountMinor
                - currency
              additionalProperties: false
          type: object
        platform:
          default: null
          nullable: true
          type: object
          properties:
            displayName:
              type: string
              minLength: 1
              maxLength: 120
            monthlyFeeMinor:
              type: integer
              minimum: 0
              maximum: 9007199254740991
            currency:
              type: string
              enum:
                - USD
                - EUR
                - GBP
                - AUD
            entitlementBundleKey:
              type: string
              minLength: 1
              maxLength: 120
              pattern: ^[a-z0-9][a-z0-9._-]*$
          required:
            - displayName
            - monthlyFeeMinor
            - currency
            - entitlementBundleKey
          additionalProperties: false
        activityTerms:
          default: []
          type: array
          items:
            type: object
            properties:
              activityCode:
                anyOf:
                  - type: string
                    enum:
                      - ACTIVATED_SOCIAL_ACCOUNT_MONTH
                      - SIMPLE_PROPOSAL_EVALUATION
                      - COMPLEX_PROPOSAL_EVALUATION
                      - MERCHANDISING_BRIEF_RESPONSE
                      - MURPH_AI_SUPPORT_SESSION
                      - GENERATED_IMAGE
                      - GENERATED_VIDEO_SECONDS
                      - ANALYZE_ACCOUNT
                      - CAMPAIGN_OPTIMIZATION_MONTH
                      - MANAGED_MEDIA_BUY_MONTH
                      - STANDARD_DOCUMENT_UNDERSTANDING
                      - LARGE_DOCUMENT_UNDERSTANDING
                      - CUSTOM_BIGQUERY_GIB
                      - MANAGED_VIDEO_RENDITION_OUTPUT_SECOND
                  - type: string
                    enum:
                      - ACTIVATED_SOCIAL_ACCOUNT_MONTH
                      - MULTI_SELLER_PRODUCT_RANKING
                      - PROPOSAL_EVALUATION_PASS
                      - COMPARATIVE_PROPOSAL_RANKING_PASS
                      - MURPH_WORKING_SESSION
                      - SIMPLE_PROPOSAL_EVALUATION
                      - COMPLEX_PROPOSAL_EVALUATION
                      - MERCHANDISING_BRIEF_RESPONSE
                      - MURPH_AI_SUPPORT_SESSION
                      - HUMAN_EXPERT_SUPPORT_HOUR
                      - GENERATED_IMAGE
                      - GENERATED_VIDEO_SECONDS
                      - ANALYZE_ACCOUNT
                      - CAMPAIGN_OPTIMIZATION_MONTH
                      - MANAGED_MEDIA_BUY_MONTH
                      - STANDARD_DOCUMENT_UNDERSTANDING
                      - LARGE_DOCUMENT_UNDERSTANDING
                      - AUDIO_VIDEO_UNDERSTANDING_MINUTES
                      - CUSTOM_BIGQUERY_GIB
                      - MODULAR_SOURCE_MANAGEMENT_MONTH
                      - MANAGED_VIDEO_RENDITION_OUTPUT_SECOND
              displayName:
                type: string
                minLength: 1
                maxLength: 120
              billingPosture:
                type: string
                enum:
                  - INCLUDED
                  - IU_PRICE
              iuAmountMilli:
                nullable: true
                type: integer
                minimum: 0
                exclusiveMinimum: true
                maximum: 9007199254740991
            required:
              - activityCode
              - displayName
              - billingPosture
              - iuAmountMilli
            additionalProperties: false
        setupCredit:
          default: null
          nullable: true
          type: object
          properties:
            program:
              type: string
              enum:
                - STOREFRONT_SETUP
          required:
            - program
          additionalProperties: false
      required:
        - price
        - platform
        - activityTerms
        - setupCredit
      additionalProperties: false
    PreV4CommercialOfferRateCardSnapshot:
      type: object
      properties:
        schemaVersion:
          type: number
          enum:
            - 1
        activityCatalogVersion:
          anyOf:
            - type: number
              enum:
                - 0
            - type: number
              enum:
                - 1
            - type: number
              enum:
                - 2
            - type: number
              enum:
                - 3
        source:
          type: object
          properties:
            rateCardId:
              type: string
              pattern: ^\d+$
            rateCardPublicVersion:
              type: string
              minLength: 1
              maxLength: 80
            planId:
              type: string
              pattern: ^\d+$
          required:
            - rateCardId
            - rateCardPublicVersion
            - planId
          additionalProperties: false
        plan:
          type: object
          properties:
            planCode:
              type: string
            displayName:
              type: string
            displayOrder:
              type: integer
              minimum: 0
              maximum: 9007199254740991
            visibility:
              type: string
              enum:
                - PUBLIC
                - PRIVATE
            publicListingApplicability:
              default:
                products:
                  - BUYER
                  - PARTNER
                  - SELLER
              type: object
              properties:
                products:
                  minItems: 1
                  maxItems: 3
                  type: array
                  items:
                    type: string
                    enum:
                      - BUYER
                      - SELLER
                      - PARTNER
                requiredProducts:
                  minItems: 1
                  maxItems: 3
                  type: array
                  items:
                    type: string
                    enum:
                      - BUYER
                      - SELLER
                      - PARTNER
                sellerProducts:
                  minItems: 1
                  maxItems: 2
                  type: array
                  items:
                    type: string
                    enum:
                      - LISTING_ONLY
                      - AGENTIC_MEDIA_COMPANY
              required:
                - products
              additionalProperties: false
            monthlyCommitmentMinor:
              type: integer
              minimum: 0
              maximum: 9007199254740991
            includedIus:
              type: integer
              minimum: 0
              maximum: 9007199254740991
            overageUnitAmountMinor:
              type: integer
              minimum: 0
              maximum: 9007199254740991
            currency:
              type: string
              enum:
                - USD
            billingPeriodMonths:
              type: number
              enum:
                - 1
            commitmentBillingTiming:
              type: string
              enum:
                - PERIOD_START
            usageBillingTiming:
              type: string
              enum:
                - PERIOD_END
            resetInterval:
              type: string
              enum:
                - MONTH
            rolloverPolicy:
              nullable: true
              type: object
              properties:
                capBasisPoints:
                  type: integer
                  minimum: 1
                  maximum: 5000
                expiresAfterBillingPeriods:
                  type: number
                  enum:
                    - 1
              required:
                - capBasisPoints
                - expiresAfterBillingPeriods
              additionalProperties: false
            paymentTermsDays:
              type: integer
              minimum: 0
              exclusiveMinimum: true
              maximum: 9007199254740991
            renewalPosture:
              type: string
              enum:
                - STANDARD_ROLLING
                - PINNED
            prices:
              type: array
              items:
                type: object
                properties:
                  currency:
                    type: string
                    enum:
                      - EUR
                      - GBP
                      - AUD
                  monthlyCommitmentMinor:
                    type: integer
                    minimum: 0
                    maximum: 9007199254740991
                  overageUnitAmountMinor:
                    type: integer
                    minimum: 0
                    maximum: 9007199254740991
                required:
                  - currency
                  - monthlyCommitmentMinor
                  - overageUnitAmountMinor
                additionalProperties: false
          required:
            - planCode
            - displayName
            - displayOrder
            - visibility
            - publicListingApplicability
            - monthlyCommitmentMinor
            - includedIus
            - overageUnitAmountMinor
            - currency
            - billingPeriodMonths
            - commitmentBillingTiming
            - usageBillingTiming
            - resetInterval
            - rolloverPolicy
            - paymentTermsDays
            - renewalPosture
            - prices
          additionalProperties: false
        activityTerms:
          $ref: '#/components/schemas/PreV4IuRateCardActivitySchedule'
        setupGrant:
          nullable: true
          type: object
          properties:
            grantedIus:
              default: 100
              type: integer
              minimum: 1
              maximum: 1000000
            validForDays:
              default: 60
              type: integer
              minimum: 1
              maximum: 3650
            rolloverEnabled:
              default: false
              type: boolean
              enum:
                - false
            automatic:
              default: true
              type: boolean
              enum:
                - true
          required:
            - grantedIus
            - validForDays
            - rolloverEnabled
            - automatic
          additionalProperties: false
      required:
        - schemaVersion
        - activityCatalogVersion
        - source
        - plan
        - activityTerms
        - setupGrant
      additionalProperties: false
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: API key or access token

````