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

# Read



## OpenAPI

````yaml /openapi.json get /api/v1/brands/{brand_id}/brand-intelligence/{module}-native-create/{revision_id}
openapi: 3.1.0
info:
  title: AITasker
  version: 0.1.0
servers: []
security: []
paths:
  /api/v1/brands/{brand_id}/brand-intelligence/{module}-native-create/{revision_id}:
    get:
      tags:
        - SEO and Content Create
      summary: Read
      operationId: >-
        read_api_v1_brands__brand_id__brand_intelligence__module__native_create__revision_id__get
      parameters:
        - name: brand_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Brand Id
        - name: module
          in: path
          required: true
          schema:
            type: string
            enum:
              - seo
              - content
            title: Module
        - name: revision_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Revision Id
        - name: program_revision_id
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: uuid
              - type: 'null'
            title: Program Revision Id
        - name: asset_id
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: uuid
              - type: 'null'
            title: Asset Id
        - name: child_revision_id
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: uuid
              - type: 'null'
            title: Child Revision Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NativeCreateReadResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
components:
  schemas:
    NativeCreateReadResponse:
      properties:
        ownerId:
          type: string
          format: uuid
          title: Ownerid
        revisionId:
          type: string
          format: uuid
          title: Revisionid
        revisionNumber:
          type: integer
          minimum: 1
          title: Revisionnumber
        baseRevisionId:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Baserevisionid
        module:
          type: string
          enum:
            - seo
            - content
          title: Module
        deliverable:
          type: string
          enum:
            - seo_strategy
            - seo_refresh
            - content_strategy
            - content_asset
            - content_plan
          title: Deliverable
        title:
          type: string
          maxLength: 500
          minLength: 1
          title: Title
        reviewState:
          type: string
          enum:
            - draft
            - needs_review
            - approved
          title: Reviewstate
        accessState:
          type: string
          enum:
            - available
            - restricted
            - erased
          title: Accessstate
        createdAt:
          type: string
          format: date-time
          title: Createdat
        completedAt:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Completedat
        exportReady:
          type: boolean
          title: Exportready
        publishReady:
          type: boolean
          title: Publishready
        artifactId:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Artifactid
        selection:
          anyOf:
            - $ref: '#/components/schemas/NativeCreateSelection'
            - type: 'null'
        contextSnapshotRef:
          anyOf:
            - $ref: '#/components/schemas/ContextSnapshotRef'
            - type: 'null'
        result:
          anyOf:
            - oneOf:
                - $ref: '#/components/schemas/SeoStrategyResult'
                - $ref: '#/components/schemas/SeoRefreshResult'
                - $ref: '#/components/schemas/ContentStrategyResult'
                - $ref: '#/components/schemas/ContentAssetResult'
                - $ref: '#/components/schemas/ContentPlanResult'
              discriminator:
                propertyName: deliverable
                mapping:
                  content_asset:
                    $ref: '#/components/schemas/ContentAssetResult'
                  content_plan:
                    $ref: '#/components/schemas/ContentPlanResult'
                  content_strategy:
                    $ref: '#/components/schemas/ContentStrategyResult'
                  seo_refresh:
                    $ref: '#/components/schemas/SeoRefreshResult'
                  seo_strategy:
                    $ref: '#/components/schemas/SeoStrategyResult'
            - type: 'null'
          title: Result
        childContext:
          anyOf:
            - $ref: '#/components/schemas/NativeCreateChildContext'
            - type: 'null'
        job:
          anyOf:
            - $ref: '#/components/schemas/NativeCreateJobView'
            - type: 'null'
        evidenceRefs:
          items:
            $ref: '#/components/schemas/NativeCreateEvidenceRef'
          type: array
          maxItems: 80
          title: Evidencerefs
        omissions:
          items:
            $ref: '#/components/schemas/NativeCreateOmission'
          type: array
          maxItems: 100
          title: Omissions
      additionalProperties: false
      type: object
      required:
        - ownerId
        - revisionId
        - revisionNumber
        - module
        - deliverable
        - title
        - reviewState
        - accessState
        - createdAt
        - exportReady
        - publishReady
      title: NativeCreateReadResponse
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    NativeCreateSelection:
      properties:
        module:
          type: string
          enum:
            - seo
            - content
          title: Module
        brandId:
          type: string
          format: uuid
          title: Brandid
        entrySurface:
          type: string
          enum:
            - seo_insight
            - content_finding
            - direct
          title: Entrysurface
        deliverableKind:
          type: string
          enum:
            - seo_strategy
            - seo_refresh
            - content_strategy
            - content_asset
            - content_plan
          title: Deliverablekind
        sourceScope:
          type: string
          enum:
            - dashboard_cohort
            - account_group
          title: Sourcescope
        accountGroupId:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Accountgroupid
        groupKey:
          anyOf:
            - type: string
              maxLength: 120
              minLength: 1
              pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
            - type: 'null'
          title: Groupkey
        cohortDomains:
          items:
            type: string
            maxLength: 253
            minLength: 1
          type: array
          maxItems: 100
          title: Cohortdomains
        regionCode:
          type: string
          pattern: ^[A-Z]{2}$
          title: Regioncode
        languageCode:
          type: string
          maxLength: 40
          minLength: 2
          pattern: ^[A-Za-z]{2,3}(?:-[A-Za-z0-9]{2,8})*$
          title: Languagecode
        measurementWindow:
          anyOf:
            - $ref: '#/components/schemas/NativeCreateMeasurementWindow'
            - type: 'null'
        selectedEvidenceRefs:
          items:
            $ref: '#/components/schemas/NativeCreateEvidenceSelector'
          type: array
          maxItems: 80
          title: Selectedevidencerefs
        seoSourceSelector:
          anyOf:
            - $ref: '#/components/schemas/NativeCreateSeoSourceSelector'
            - type: 'null'
        selectedContext:
          $ref: '#/components/schemas/NativeCreateSelectedContext'
        businessModel:
          type: string
          enum:
            - b2b
            - b2c
            - mixed
          title: Businessmodel
        conversionModel:
          type: string
          enum:
            - leadgen
            - ecommerce
            - mixed
          title: Conversionmodel
        objective:
          type: string
          maxLength: 500
          minLength: 1
          title: Objective
        assetFormat:
          anyOf:
            - type: string
              enum:
                - blog_post
                - guide
                - resource
                - case_study
                - whitepaper
                - webinar
                - podcast
                - video_script
            - type: 'null'
          title: Assetformat
        planAssetFormats:
          anyOf:
            - items:
                type: string
                enum:
                  - blog_post
                  - guide
                  - resource
                  - case_study
                  - whitepaper
                  - webinar
                  - podcast
                  - video_script
              type: array
              maxItems: 20
              minItems: 1
            - type: 'null'
          title: Planassetformats
        requestedAssetCount:
          type: integer
          maximum: 20
          minimum: 1
          title: Requestedassetcount
          default: 1
        outputBudget:
          $ref: '#/components/schemas/NativeCreateOutputBudget'
        ownedPageRevision:
          anyOf:
            - $ref: '#/components/schemas/OwnedPageRevisionRef'
            - type: 'null'
        sourceRevisionId:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Sourcerevisionid
      additionalProperties: false
      type: object
      required:
        - module
        - brandId
        - entrySurface
        - deliverableKind
        - sourceScope
        - regionCode
        - languageCode
        - businessModel
        - conversionModel
        - objective
        - outputBudget
      title: NativeCreateSelection
    ContextSnapshotRef:
      properties:
        contextSnapshotId:
          type: string
          format: uuid
          title: Contextsnapshotid
        contextHash:
          type: string
          pattern: ^[0-9a-f]{64}$
          title: Contexthash
        artifactSchemaVersion:
          type: string
          maxLength: 64
          minLength: 1
          title: Artifactschemaversion
        packetSchemaVersion:
          type: string
          maxLength: 64
          minLength: 1
          title: Packetschemaversion
        projectionPolicyVersion:
          type: string
          maxLength: 64
          minLength: 1
          title: Projectionpolicyversion
        manifestHash:
          type: string
          pattern: ^[0-9a-f]{64}$
          title: Manifesthash
      additionalProperties: false
      type: object
      required:
        - contextSnapshotId
        - contextHash
        - artifactSchemaVersion
        - packetSchemaVersion
        - projectionPolicyVersion
        - manifestHash
      title: ContextSnapshotRef
    SeoStrategyResult:
      properties:
        deliverable:
          type: string
          const: seo_strategy
          title: Deliverable
        revisionId:
          type: string
          format: uuid
          title: Revisionid
        scope:
          $ref: '#/components/schemas/NativeCreateScope'
        missingData:
          items:
            $ref: '#/components/schemas/NativeCreateOmission'
          type: array
          maxItems: 100
          title: Missingdata
        payload:
          $ref: '#/components/schemas/SeoStrategyPayload'
      additionalProperties: false
      type: object
      required:
        - deliverable
        - revisionId
        - scope
        - payload
      title: SeoStrategyResult
    SeoRefreshResult:
      properties:
        deliverable:
          type: string
          const: seo_refresh
          title: Deliverable
        revisionId:
          type: string
          format: uuid
          title: Revisionid
        scope:
          $ref: '#/components/schemas/NativeCreateScope'
        missingData:
          items:
            $ref: '#/components/schemas/NativeCreateOmission'
          type: array
          maxItems: 100
          title: Missingdata
        payload:
          $ref: '#/components/schemas/SeoRefreshPayload'
      additionalProperties: false
      type: object
      required:
        - deliverable
        - revisionId
        - scope
        - payload
      title: SeoRefreshResult
    ContentStrategyResult:
      properties:
        deliverable:
          type: string
          const: content_strategy
          title: Deliverable
        revisionId:
          type: string
          format: uuid
          title: Revisionid
        strategyScope:
          $ref: '#/components/schemas/NativeCreateScope'
        missingData:
          items:
            $ref: '#/components/schemas/NativeCreateOmission'
          type: array
          maxItems: 100
          title: Missingdata
        payload:
          $ref: '#/components/schemas/ContentStrategyPayload'
      additionalProperties: false
      type: object
      required:
        - deliverable
        - revisionId
        - strategyScope
        - payload
      title: ContentStrategyResult
    ContentAssetResult:
      properties:
        deliverable:
          type: string
          const: content_asset
          title: Deliverable
        revisionId:
          type: string
          format: uuid
          title: Revisionid
        strategyScope:
          $ref: '#/components/schemas/NativeCreateScope'
        missingData:
          items:
            $ref: '#/components/schemas/NativeCreateOmission'
          type: array
          maxItems: 100
          title: Missingdata
        payload:
          $ref: '#/components/schemas/ContentAssetPayload'
      additionalProperties: false
      type: object
      required:
        - deliverable
        - revisionId
        - strategyScope
        - payload
      title: ContentAssetResult
    ContentPlanResult:
      properties:
        deliverable:
          type: string
          const: content_plan
          title: Deliverable
        revisionId:
          type: string
          format: uuid
          title: Revisionid
        strategyScope:
          $ref: '#/components/schemas/NativeCreateScope'
        missingData:
          items:
            $ref: '#/components/schemas/NativeCreateOmission'
          type: array
          maxItems: 100
          title: Missingdata
        payload:
          $ref: '#/components/schemas/ContentPlanPayload'
      additionalProperties: false
      type: object
      required:
        - deliverable
        - revisionId
        - strategyScope
        - payload
      title: ContentPlanResult
    NativeCreateChildContext:
      properties:
        programRevisionId:
          type: string
          format: uuid
          title: Programrevisionid
        assetId:
          type: string
          format: uuid
          title: Assetid
        childRevisionId:
          type: string
          format: uuid
          title: Childrevisionid
      additionalProperties: false
      type: object
      required:
        - programRevisionId
        - assetId
        - childRevisionId
      title: NativeCreateChildContext
    NativeCreateJobView:
      properties:
        jobId:
          type: string
          format: uuid
          title: Jobid
        ownerId:
          type: string
          format: uuid
          title: Ownerid
        revisionId:
          type: string
          format: uuid
          title: Revisionid
        childContext:
          anyOf:
            - $ref: '#/components/schemas/NativeCreateChildContext'
            - type: 'null'
        module:
          type: string
          enum:
            - seo
            - content
          title: Module
        deliverable:
          type: string
          enum:
            - seo_strategy
            - seo_refresh
            - content_strategy
            - content_asset
            - content_plan
          title: Deliverable
        state:
          type: string
          enum:
            - accepted
            - queued
            - claiming
            - running
            - succeeded
            - failed
            - cancel_requested
            - cancelled
            - reconciling
          title: State
        accessState:
          type: string
          enum:
            - available
            - restricted
            - erased
          title: Accessstate
        createdAt:
          type: string
          format: date-time
          title: Createdat
        updatedAt:
          type: string
          format: date-time
          title: Updatedat
        completedAt:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Completedat
        items:
          items:
            $ref: '#/components/schemas/NativeCreateJobItemView'
          type: array
          maxItems: 21
          title: Items
        errorCode:
          anyOf:
            - type: string
              maxLength: 120
              minLength: 1
              pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
            - type: 'null'
          title: Errorcode
        statusMessage:
          anyOf:
            - type: string
              maxLength: 500
              minLength: 1
            - type: 'null'
          title: Statusmessage
        reused:
          type: boolean
          title: Reused
          default: false
      additionalProperties: false
      type: object
      required:
        - jobId
        - ownerId
        - revisionId
        - module
        - deliverable
        - state
        - accessState
        - createdAt
        - updatedAt
      title: NativeCreateJobView
    NativeCreateEvidenceRef:
      properties:
        id:
          type: string
          maxLength: 120
          minLength: 1
          pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
          title: Id
        module:
          type: string
          enum:
            - seo
            - content
            - audits
            - social
            - paid-media
            - google-ads
            - reviews
            - audience
          title: Module
        kind:
          type: string
          enum:
            - owned
            - inferred
            - hypothesis
            - user_asserted
          title: Kind
        contentHash:
          type: string
          pattern: ^[0-9a-f]{64}$
          title: Contenthash
        sourceArtifactId:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Sourceartifactid
        evidenceRecordId:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Evidencerecordid
        sourceLabel:
          type: string
          maxLength: 500
          minLength: 1
          title: Sourcelabel
        observedAt:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Observedat
        limitations:
          items:
            type: string
            maxLength: 500
            minLength: 1
          type: array
          maxItems: 20
          title: Limitations
      additionalProperties: false
      type: object
      required:
        - id
        - module
        - kind
        - contentHash
        - sourceLabel
      title: NativeCreateEvidenceRef
    NativeCreateOmission:
      properties:
        code:
          type: string
          maxLength: 120
          minLength: 1
          pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
          title: Code
        message:
          type: string
          maxLength: 1000
          minLength: 1
          title: Message
        sourceModule:
          anyOf:
            - type: string
              enum:
                - seo
                - content
                - audits
                - social
                - paid-media
                - google-ads
                - reviews
                - audience
            - type: 'null'
          title: Sourcemodule
      additionalProperties: false
      type: object
      required:
        - code
        - message
      title: NativeCreateOmission
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
    NativeCreateMeasurementWindow:
      properties:
        start:
          type: string
          format: date-time
          title: Start
        end:
          type: string
          format: date-time
          title: End
        coverage:
          type: string
          enum:
            - complete
            - partial
            - mixed
          title: Coverage
        sourceNote:
          type: string
          maxLength: 500
          minLength: 1
          title: Sourcenote
      additionalProperties: false
      type: object
      required:
        - start
        - end
        - coverage
        - sourceNote
      title: NativeCreateMeasurementWindow
    NativeCreateEvidenceSelector:
      properties:
        module:
          type: string
          enum:
            - seo
            - content
            - audits
            - social
            - paid-media
            - google-ads
            - reviews
            - audience
          title: Module
        sourceArtifactId:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Sourceartifactid
        evidenceRecordId:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Evidencerecordid
        findingId:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Findingid
        ruleId:
          anyOf:
            - type: string
              maxLength: 120
              minLength: 1
              pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
            - type: 'null'
          title: Ruleid
        panelKey:
          anyOf:
            - type: string
              maxLength: 120
              minLength: 1
              pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
            - type: 'null'
          title: Panelkey
        itemKey:
          anyOf:
            - type: string
              maxLength: 120
              minLength: 1
              pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
            - type: 'null'
          title: Itemkey
      additionalProperties: false
      type: object
      required:
        - module
      title: NativeCreateEvidenceSelector
    NativeCreateSeoSourceSelector:
      properties:
        sourceKind:
          type: string
          enum:
            - keyword_gap
            - keyword_gap_cluster
          title: Sourcekind
        competitorDomain:
          type: string
          maxLength: 253
          minLength: 1
          title: Competitordomain
        keywords:
          items:
            type: string
            maxLength: 200
            minLength: 1
          type: array
          maxItems: 20
          minItems: 1
          title: Keywords
        capturedAt:
          type: string
          format: date-time
          title: Capturedat
        snapshotId:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Snapshotid
      additionalProperties: false
      type: object
      required:
        - sourceKind
        - competitorDomain
        - keywords
        - capturedAt
      title: NativeCreateSeoSourceSelector
      description: >-
        Exact visible row selectors; the server resolves all facts and
        provenance.
    NativeCreateSelectedContext:
      properties:
        brandKitId:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Brandkitid
        guidelineIds:
          items:
            type: string
            format: uuid
          type: array
          maxItems: 10
          title: Guidelineids
        audienceProfileVersionId:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Audienceprofileversionid
        personaIds:
          items:
            type: string
            format: uuid
          type: array
          maxItems: 20
          title: Personaids
        scenarioIds:
          items:
            type: string
            format: uuid
          type: array
          maxItems: 20
          title: Scenarioids
        productIds:
          items:
            type: string
            format: uuid
          type: array
          maxItems: 50
          title: Productids
        offerIds:
          items:
            type: string
            format: uuid
          type: array
          maxItems: 50
          title: Offerids
        uploadIds:
          items:
            type: string
            format: uuid
          type: array
          maxItems: 30
          title: Uploadids
      additionalProperties: false
      type: object
      title: NativeCreateSelectedContext
    NativeCreateOutputBudget:
      properties:
        maxOutputTokens:
          type: integer
          maximum: 100000
          minimum: 1
          title: Maxoutputtokens
        maxOutputChars:
          type: integer
          maximum: 500000
          minimum: 1
          title: Maxoutputchars
      additionalProperties: false
      type: object
      required:
        - maxOutputTokens
        - maxOutputChars
      title: NativeCreateOutputBudget
    OwnedPageRevisionRef:
      properties:
        brandId:
          type: string
          format: uuid
          title: Brandid
        sourceKind:
          type: string
          enum:
            - owned_page_capture
            - native_create_revision
          title: Sourcekind
        revisionId:
          type: string
          format: uuid
          title: Revisionid
        contentHash:
          type: string
          pattern: ^[0-9a-f]{64}$
          title: Contenthash
        canonicalUrl:
          type: string
          maxLength: 2083
          minLength: 1
          format: uri
          title: Canonicalurl
        evidenceRecordId:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Evidencerecordid
      additionalProperties: false
      type: object
      required:
        - brandId
        - sourceKind
        - revisionId
        - contentHash
        - canonicalUrl
      title: OwnedPageRevisionRef
    NativeCreateScope:
      properties:
        brandId:
          type: string
          format: uuid
          title: Brandid
        groupKey:
          anyOf:
            - type: string
              maxLength: 120
              minLength: 1
              pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
            - type: 'null'
          title: Groupkey
        groupLabel:
          anyOf:
            - type: string
              maxLength: 500
              minLength: 1
            - type: 'null'
          title: Grouplabel
        regionCode:
          type: string
          pattern: ^[A-Z]{2}$
          title: Regioncode
        languageCode:
          type: string
          maxLength: 40
          minLength: 2
          pattern: ^[A-Za-z]{2,3}(?:-[A-Za-z0-9]{2,8})*$
          title: Languagecode
        sourceScope:
          type: string
          enum:
            - dashboard_cohort
            - account_group
          title: Sourcescope
        accountGroupId:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Accountgroupid
        cohortDomains:
          items:
            type: string
            maxLength: 253
            minLength: 1
          type: array
          maxItems: 100
          title: Cohortdomains
        measurementWindow:
          anyOf:
            - $ref: '#/components/schemas/NativeCreateMeasurementWindow'
            - type: 'null'
        estimateNotice:
          anyOf:
            - type: string
              maxLength: 500
              minLength: 1
            - type: 'null'
          title: Estimatenotice
        businessModel:
          type: string
          enum:
            - b2b
            - b2c
            - mixed
          title: Businessmodel
        conversionModel:
          type: string
          enum:
            - leadgen
            - ecommerce
            - mixed
          title: Conversionmodel
        objective:
          type: string
          maxLength: 500
          minLength: 1
          title: Objective
      additionalProperties: false
      type: object
      required:
        - brandId
        - regionCode
        - languageCode
        - sourceScope
        - businessModel
        - conversionModel
        - objective
      title: NativeCreateScope
    SeoStrategyPayload:
      properties:
        workstreams:
          $ref: '#/components/schemas/SeoWorkstreams'
        intentClusters:
          items:
            $ref: '#/components/schemas/SeoIntentCluster'
          type: array
          maxItems: 50
          title: Intentclusters
        ownedUrlMap:
          items:
            $ref: '#/components/schemas/SeoOwnedUrl'
          type: array
          maxItems: 100
          title: Ownedurlmap
        cannibalizationCandidates:
          $ref: '#/components/schemas/SeoCannibalization'
        priorityActions:
          items:
            $ref: '#/components/schemas/SeoAction'
          type: array
          maxItems: 100
          minItems: 1
          title: Priorityactions
        roadmap306090:
          $ref: '#/components/schemas/SeoRoadmap'
        measurementPlan:
          $ref: '#/components/schemas/NativeCreateMeasurementPlan'
      additionalProperties: false
      type: object
      required:
        - workstreams
        - cannibalizationCandidates
        - priorityActions
        - roadmap306090
        - measurementPlan
      title: SeoStrategyPayload
    SeoRefreshPayload:
      properties:
        sourceRevision:
          $ref: '#/components/schemas/OwnedPageRevisionRef'
        sourceCoverage:
          type: string
          enum:
            - complete
            - excerpt
          title: Sourcecoverage
        brief:
          $ref: '#/components/schemas/SeoRefreshBrief'
        draft:
          $ref: '#/components/schemas/ContentAssetDraft'
        changes:
          items:
            $ref: '#/components/schemas/SeoRefreshChange'
          type: array
          maxItems: 100
          minItems: 1
          title: Changes
        measurementPlan:
          $ref: '#/components/schemas/NativeCreateMeasurementPlan'
      additionalProperties: false
      type: object
      required:
        - sourceRevision
        - sourceCoverage
        - brief
        - draft
        - changes
        - measurementPlan
      title: SeoRefreshPayload
    ContentStrategyPayload:
      properties:
        pillars:
          items:
            $ref: '#/components/schemas/ContentPillar'
          type: array
          maxItems: 30
          minItems: 1
          title: Pillars
        formatChannelMatrix:
          items:
            $ref: '#/components/schemas/ContentFormatChannel'
          type: array
          maxItems: 50
          minItems: 1
          title: Formatchannelmatrix
        calendar:
          items:
            $ref: '#/components/schemas/ContentCalendarEntry'
          type: array
          maxItems: 100
          title: Calendar
        leadMagnetAndConversionJourney:
          $ref: '#/components/schemas/ContentConversionJourney'
        repurposingPlan:
          items:
            $ref: '#/components/schemas/ContentRepurposingEntry'
          type: array
          maxItems: 100
          title: Repurposingplan
      additionalProperties: false
      type: object
      required:
        - pillars
        - formatChannelMatrix
        - leadMagnetAndConversionJourney
      title: ContentStrategyPayload
    ContentAssetPayload:
      properties:
        assetId:
          type: string
          format: uuid
          title: Assetid
        singleAssetBrief:
          $ref: '#/components/schemas/ContentAssetBrief'
        singleAssetDraft:
          $ref: '#/components/schemas/ContentAssetDraft'
      additionalProperties: false
      type: object
      required:
        - assetId
        - singleAssetBrief
        - singleAssetDraft
      title: ContentAssetPayload
    ContentPlanPayload:
      properties:
        pillars:
          items:
            $ref: '#/components/schemas/ContentPillar'
          type: array
          maxItems: 30
          minItems: 1
          title: Pillars
        formatChannelMatrix:
          items:
            $ref: '#/components/schemas/ContentFormatChannel'
          type: array
          maxItems: 50
          minItems: 1
          title: Formatchannelmatrix
        programRevisionId:
          type: string
          format: uuid
          title: Programrevisionid
        calendar:
          items:
            $ref: '#/components/schemas/ContentPlanCalendarEntry'
          type: array
          maxItems: 100
          title: Calendar
        leadMagnetAndConversionJourney:
          $ref: '#/components/schemas/ContentPlanConversionJourney'
        repurposingPlan:
          items:
            $ref: '#/components/schemas/ContentPlanRepurposingEntry'
          type: array
          maxItems: 100
          title: Repurposingplan
        planAssets:
          items:
            $ref: '#/components/schemas/ContentPlanAsset'
          type: array
          maxItems: 20
          minItems: 1
          title: Planassets
      additionalProperties: false
      type: object
      required:
        - pillars
        - formatChannelMatrix
        - programRevisionId
        - leadMagnetAndConversionJourney
        - planAssets
      title: ContentPlanPayload
    NativeCreateJobItemView:
      properties:
        itemKey:
          type: string
          maxLength: 120
          minLength: 1
          pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
          title: Itemkey
        revisionId:
          type: string
          format: uuid
          title: Revisionid
        assetId:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Assetid
        state:
          type: string
          enum:
            - accepted
            - queued
            - claiming
            - running
            - succeeded
            - failed
            - cancel_requested
            - cancelled
            - reconciling
          title: State
        errorCode:
          anyOf:
            - type: string
              maxLength: 120
              minLength: 1
              pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
            - type: 'null'
          title: Errorcode
      additionalProperties: false
      type: object
      required:
        - itemKey
        - revisionId
        - state
      title: NativeCreateJobItemView
    SeoWorkstreams:
      properties:
        technical:
          items:
            $ref: '#/components/schemas/SeoAction'
          type: array
          maxItems: 50
          title: Technical
        onPage:
          items:
            $ref: '#/components/schemas/SeoAction'
          type: array
          maxItems: 50
          title: Onpage
        offPage:
          items:
            $ref: '#/components/schemas/SeoAction'
          type: array
          maxItems: 50
          title: Offpage
        content:
          items:
            $ref: '#/components/schemas/SeoAction'
          type: array
          maxItems: 50
          title: Content
      additionalProperties: false
      type: object
      title: SeoWorkstreams
    SeoIntentCluster:
      properties:
        clusterId:
          type: string
          maxLength: 120
          minLength: 1
          pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
          title: Clusterid
        clusterLabel:
          type: string
          maxLength: 500
          minLength: 1
          title: Clusterlabel
        intent:
          type: string
          enum:
            - informational
            - navigational
            - commercial
            - transactional
            - mixed
            - unknown
          title: Intent
        keywords:
          items:
            type: string
            maxLength: 500
            minLength: 1
          type: array
          maxItems: 100
          minItems: 1
          title: Keywords
        searchVolumeRange:
          anyOf:
            - $ref: '#/components/schemas/SeoSearchVolumeRange'
            - type: 'null'
        currentBrandPresence:
          $ref: '#/components/schemas/NativeCreateClaim'
        competitorExamples:
          items:
            type: string
            maxLength: 500
            minLength: 1
          type: array
          maxItems: 30
          title: Competitorexamples
        recommendedPageRole:
          type: string
          maxLength: 500
          minLength: 1
          title: Recommendedpagerole
        evidenceRefs:
          items:
            type: string
            maxLength: 120
            minLength: 1
            pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
          type: array
          maxItems: 40
          minItems: 1
          title: Evidencerefs
      additionalProperties: false
      type: object
      required:
        - clusterId
        - clusterLabel
        - intent
        - keywords
        - currentBrandPresence
        - recommendedPageRole
        - evidenceRefs
      title: SeoIntentCluster
    SeoOwnedUrl:
      properties:
        url:
          type: string
          maxLength: 2083
          minLength: 1
          format: uri
          title: Url
        pageRole:
          type: string
          maxLength: 500
          minLength: 1
          title: Pagerole
        currentState:
          $ref: '#/components/schemas/NativeCreateClaim'
        refreshCandidate:
          type: boolean
          title: Refreshcandidate
        targetClusterIds:
          items:
            type: string
            maxLength: 120
            minLength: 1
            pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
          type: array
          maxItems: 50
          title: Targetclusterids
        evidenceRefs:
          items:
            type: string
            maxLength: 120
            minLength: 1
            pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
          type: array
          maxItems: 40
          minItems: 1
          title: Evidencerefs
      additionalProperties: false
      type: object
      required:
        - url
        - pageRole
        - currentState
        - refreshCandidate
        - evidenceRefs
      title: SeoOwnedUrl
    SeoCannibalization:
      properties:
        status:
          type: string
          enum:
            - observed_candidates
            - none_observed
            - unknown_or_not_measured
          title: Status
        items:
          items:
            $ref: '#/components/schemas/SeoCannibalizationCandidate'
          type: array
          maxItems: 50
          title: Items
        note:
          type: string
          maxLength: 4000
          minLength: 1
          title: Note
      additionalProperties: false
      type: object
      required:
        - status
        - note
      title: SeoCannibalization
    SeoAction:
      properties:
        actionId:
          type: string
          maxLength: 120
          minLength: 1
          pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
          title: Actionid
        title:
          type: string
          maxLength: 500
          minLength: 1
          title: Title
        workstream:
          type: string
          enum:
            - technical
            - on_page
            - off_page
            - content
          title: Workstream
        whyNow:
          type: string
          maxLength: 4000
          minLength: 1
          title: Whynow
        priority:
          type: integer
          maximum: 100
          minimum: 1
          title: Priority
        evidenceRefs:
          items:
            type: string
            maxLength: 120
            minLength: 1
            pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
          type: array
          maxItems: 40
          title: Evidencerefs
        ownedVsInferred:
          type: string
          enum:
            - owned
            - inferred
            - unknown
          title: Ownedvsinferred
        dependencies:
          items:
            type: string
            maxLength: 120
            minLength: 1
            pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
          type: array
          maxItems: 50
          title: Dependencies
        effort:
          type: string
          enum:
            - low
            - medium
            - high
          title: Effort
        confidence:
          type: string
          enum:
            - low
            - medium
            - high
          title: Confidence
        regionLanguageNote:
          type: string
          maxLength: 500
          minLength: 1
          title: Regionlanguagenote
        ownerType:
          type: string
          enum:
            - editorial
            - technical
            - analytics
            - marketing
            - owner
          title: Ownertype
      additionalProperties: false
      type: object
      required:
        - actionId
        - title
        - workstream
        - whyNow
        - priority
        - ownedVsInferred
        - effort
        - confidence
        - regionLanguageNote
        - ownerType
      title: SeoAction
    SeoRoadmap:
      properties:
        days030:
          items:
            $ref: '#/components/schemas/SeoRoadmapAction'
          type: array
          maxItems: 50
          title: Days030
        days3160:
          items:
            $ref: '#/components/schemas/SeoRoadmapAction'
          type: array
          maxItems: 50
          title: Days3160
        days6190:
          items:
            $ref: '#/components/schemas/SeoRoadmapAction'
          type: array
          maxItems: 50
          title: Days6190
      additionalProperties: false
      type: object
      title: SeoRoadmap
    NativeCreateMeasurementPlan:
      properties:
        ownedMetrics:
          items:
            $ref: '#/components/schemas/NativeCreateMetric'
          type: array
          maxItems: 30
          title: Ownedmetrics
        inferredMetrics:
          items:
            $ref: '#/components/schemas/NativeCreateMetric'
          type: array
          maxItems: 30
          title: Inferredmetrics
        guardrails:
          items:
            type: string
            maxLength: 500
            minLength: 1
          type: array
          maxItems: 30
          minItems: 1
          title: Guardrails
      additionalProperties: false
      type: object
      required:
        - guardrails
      title: NativeCreateMeasurementPlan
    SeoRefreshBrief:
      properties:
        channel:
          type: string
          maxLength: 500
          minLength: 1
          title: Channel
        goal:
          type: string
          maxLength: 500
          minLength: 1
          title: Goal
        targetAudience:
          type: string
          maxLength: 4000
          minLength: 1
          title: Targetaudience
        funnelRole:
          type: string
          maxLength: 500
          minLength: 1
          title: Funnelrole
        primaryClaims:
          items:
            $ref: '#/components/schemas/NativeCreateClaim'
          type: array
          maxItems: 30
          title: Primaryclaims
        requiredProof:
          items:
            type: string
            maxLength: 500
            minLength: 1
          type: array
          maxItems: 30
          title: Requiredproof
        outline:
          items:
            type: string
            maxLength: 500
            minLength: 1
          type: array
          maxItems: 60
          minItems: 1
          title: Outline
        cta:
          type: string
          maxLength: 500
          minLength: 1
          title: Cta
        regionCode:
          type: string
          pattern: ^[A-Z]{2}$
          title: Regioncode
        languageCode:
          type: string
          maxLength: 40
          minLength: 2
          pattern: ^[A-Za-z]{2,3}(?:-[A-Za-z0-9]{2,8})*$
          title: Languagecode
        evidenceRefs:
          items:
            type: string
            maxLength: 120
            minLength: 1
            pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
          type: array
          maxItems: 40
          title: Evidencerefs
        knownUnknowns:
          items:
            type: string
            maxLength: 500
            minLength: 1
          type: array
          maxItems: 40
          title: Knownunknowns
        format:
          type: string
          enum:
            - web_page
            - landing_page
            - product_page
            - category_page
            - home_page
            - blog_post
            - guide
            - resource
            - case_study
            - whitepaper
          title: Format
      additionalProperties: false
      type: object
      required:
        - channel
        - goal
        - targetAudience
        - funnelRole
        - outline
        - cta
        - regionCode
        - languageCode
        - format
      title: SeoRefreshBrief
    ContentAssetDraft:
      properties:
        title:
          type: string
          maxLength: 500
          minLength: 1
          title: Title
        summary:
          type: string
          maxLength: 4000
          minLength: 1
          title: Summary
        outline:
          items:
            type: string
            maxLength: 500
            minLength: 1
          type: array
          maxItems: 60
          minItems: 1
          title: Outline
        bodyOrScript:
          type: string
          maxLength: 50000
          minLength: 1
          title: Bodyorscript
        metadata:
          $ref: '#/components/schemas/ContentAssetMetadata'
        cta:
          type: string
          maxLength: 500
          minLength: 1
          title: Cta
        repurposingHooks:
          items:
            type: string
            maxLength: 500
            minLength: 1
          type: array
          maxItems: 30
          title: Repurposinghooks
        reviewFlags:
          items:
            type: string
            maxLength: 500
            minLength: 1
          type: array
          maxItems: 40
          title: Reviewflags
        completion:
          type: string
          enum:
            - complete_draft
            - outline_requires_proof
          title: Completion
      additionalProperties: false
      type: object
      required:
        - title
        - summary
        - outline
        - bodyOrScript
        - metadata
        - cta
        - completion
      title: ContentAssetDraft
    SeoRefreshChange:
      properties:
        section:
          type: string
          maxLength: 500
          minLength: 1
          title: Section
        change:
          type: string
          maxLength: 4000
          minLength: 1
          title: Change
        rationale:
          type: string
          maxLength: 4000
          minLength: 1
          title: Rationale
        beforeText:
          anyOf:
            - type: string
              maxLength: 10000
              minLength: 1
            - type: 'null'
          title: Beforetext
        afterText:
          type: string
          maxLength: 10000
          minLength: 1
          title: Aftertext
        evidenceRefs:
          items:
            type: string
            maxLength: 120
            minLength: 1
            pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
          type: array
          maxItems: 40
          title: Evidencerefs
      additionalProperties: false
      type: object
      required:
        - section
        - change
        - rationale
        - afterText
      title: SeoRefreshChange
    ContentPillar:
      properties:
        pillar:
          type: string
          maxLength: 500
          minLength: 1
          title: Pillar
        audienceProblem:
          type: string
          maxLength: 4000
          minLength: 1
          title: Audienceproblem
        funnelRole:
          type: string
          maxLength: 500
          minLength: 1
          title: Funnelrole
        evidenceRefs:
          items:
            type: string
            maxLength: 120
            minLength: 1
            pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
          type: array
          maxItems: 40
          title: Evidencerefs
        demandSupport:
          $ref: '#/components/schemas/NativeCreateClaim'
        distributionSupport:
          $ref: '#/components/schemas/NativeCreateClaim'
        missingInputs:
          items:
            type: string
            maxLength: 500
            minLength: 1
          type: array
          maxItems: 30
          title: Missinginputs
      additionalProperties: false
      type: object
      required:
        - pillar
        - audienceProblem
        - funnelRole
        - demandSupport
        - distributionSupport
      title: ContentPillar
    ContentFormatChannel:
      properties:
        format:
          type: string
          enum:
            - blog_post
            - guide
            - resource
            - case_study
            - whitepaper
            - webinar
            - podcast
            - video_script
          title: Format
        channel:
          type: string
          maxLength: 500
          minLength: 1
          title: Channel
        funnelRole:
          type: string
          maxLength: 500
          minLength: 1
          title: Funnelrole
        distributionMotion:
          type: string
          maxLength: 4000
          minLength: 1
          title: Distributionmotion
        ctaType:
          type: string
          maxLength: 500
          minLength: 1
          title: Ctatype
        proofRequirement:
          type: string
          maxLength: 4000
          minLength: 1
          title: Proofrequirement
        regionLanguageNote:
          type: string
          maxLength: 500
          minLength: 1
          title: Regionlanguagenote
        evidenceRefs:
          items:
            type: string
            maxLength: 120
            minLength: 1
            pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
          type: array
          maxItems: 40
          title: Evidencerefs
      additionalProperties: false
      type: object
      required:
        - format
        - channel
        - funnelRole
        - distributionMotion
        - ctaType
        - proofRequirement
        - regionLanguageNote
      title: ContentFormatChannel
    ContentCalendarEntry:
      properties:
        calendarEntryId:
          type: string
          maxLength: 120
          minLength: 1
          pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
          title: Calendarentryid
        period:
          type: string
          maxLength: 500
          minLength: 1
          title: Period
        pillar:
          type: string
          maxLength: 500
          minLength: 1
          title: Pillar
        assetType:
          type: string
          enum:
            - blog_post
            - guide
            - resource
            - case_study
            - whitepaper
            - webinar
            - podcast
            - video_script
          title: Assettype
        channel:
          type: string
          maxLength: 500
          minLength: 1
          title: Channel
        ownerDependency:
          type: string
          maxLength: 500
          minLength: 1
          title: Ownerdependency
        repurposesFrom:
          anyOf:
            - type: string
              maxLength: 120
              minLength: 1
              pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
            - type: 'null'
          title: Repurposesfrom
        cta:
          type: string
          maxLength: 500
          minLength: 1
          title: Cta
        measurement:
          type: string
          maxLength: 4000
          minLength: 1
          title: Measurement
      additionalProperties: false
      type: object
      required:
        - calendarEntryId
        - period
        - pillar
        - assetType
        - channel
        - ownerDependency
        - cta
        - measurement
      title: ContentCalendarEntry
    ContentConversionJourney:
      properties:
        leadMagnetId:
          type: string
          maxLength: 120
          minLength: 1
          pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
          title: Leadmagnetid
        entryAsset:
          type: string
          maxLength: 500
          minLength: 1
          title: Entryasset
        leadMagnetPlay:
          type: string
          maxLength: 4000
          minLength: 1
          title: Leadmagnetplay
        cta:
          type: string
          maxLength: 500
          minLength: 1
          title: Cta
        handoffStep:
          type: string
          maxLength: 4000
          minLength: 1
          title: Handoffstep
        followUpContent:
          items:
            type: string
            maxLength: 500
            minLength: 1
          type: array
          maxItems: 30
          title: Followupcontent
        ownedMetrics:
          items:
            $ref: '#/components/schemas/NativeCreateMetric'
          type: array
          maxItems: 30
          title: Ownedmetrics
        inferredMetrics:
          items:
            $ref: '#/components/schemas/NativeCreateMetric'
          type: array
          maxItems: 30
          title: Inferredmetrics
      additionalProperties: false
      type: object
      required:
        - leadMagnetId
        - entryAsset
        - leadMagnetPlay
        - cta
        - handoffStep
      title: ContentConversionJourney
    ContentRepurposingEntry:
      properties:
        repurposingGroupId:
          type: string
          maxLength: 120
          minLength: 1
          pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
          title: Repurposinggroupid
        sourceAssetType:
          type: string
          enum:
            - blog_post
            - guide
            - resource
            - case_study
            - whitepaper
            - webinar
            - podcast
            - video_script
          title: Sourceassettype
        targetAssetType:
          type: string
          enum:
            - blog_post
            - guide
            - resource
            - case_study
            - whitepaper
            - webinar
            - podcast
            - video_script
          title: Targetassettype
        notes:
          type: string
          maxLength: 4000
          minLength: 1
          title: Notes
        evidenceRefs:
          items:
            type: string
            maxLength: 120
            minLength: 1
            pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
          type: array
          maxItems: 40
          title: Evidencerefs
      additionalProperties: false
      type: object
      required:
        - repurposingGroupId
        - sourceAssetType
        - targetAssetType
        - notes
      title: ContentRepurposingEntry
    ContentAssetBrief:
      properties:
        channel:
          type: string
          maxLength: 500
          minLength: 1
          title: Channel
        goal:
          type: string
          maxLength: 500
          minLength: 1
          title: Goal
        targetAudience:
          type: string
          maxLength: 4000
          minLength: 1
          title: Targetaudience
        funnelRole:
          type: string
          maxLength: 500
          minLength: 1
          title: Funnelrole
        primaryClaims:
          items:
            $ref: '#/components/schemas/NativeCreateClaim'
          type: array
          maxItems: 30
          title: Primaryclaims
        requiredProof:
          items:
            type: string
            maxLength: 500
            minLength: 1
          type: array
          maxItems: 30
          title: Requiredproof
        outline:
          items:
            type: string
            maxLength: 500
            minLength: 1
          type: array
          maxItems: 60
          minItems: 1
          title: Outline
        cta:
          type: string
          maxLength: 500
          minLength: 1
          title: Cta
        regionCode:
          type: string
          pattern: ^[A-Z]{2}$
          title: Regioncode
        languageCode:
          type: string
          maxLength: 40
          minLength: 2
          pattern: ^[A-Za-z]{2,3}(?:-[A-Za-z0-9]{2,8})*$
          title: Languagecode
        evidenceRefs:
          items:
            type: string
            maxLength: 120
            minLength: 1
            pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
          type: array
          maxItems: 40
          title: Evidencerefs
        knownUnknowns:
          items:
            type: string
            maxLength: 500
            minLength: 1
          type: array
          maxItems: 40
          title: Knownunknowns
        format:
          type: string
          enum:
            - blog_post
            - guide
            - resource
            - case_study
            - whitepaper
            - webinar
            - podcast
            - video_script
          title: Format
      additionalProperties: false
      type: object
      required:
        - channel
        - goal
        - targetAudience
        - funnelRole
        - outline
        - cta
        - regionCode
        - languageCode
        - format
      title: ContentAssetBrief
    ContentPlanCalendarEntry:
      properties:
        assetRefs:
          items:
            $ref: '#/components/schemas/NativeCreateAssetRef'
          type: array
          maxItems: 20
          title: Assetrefs
        workState:
          type: string
          enum:
            - proposed
            - generated
          title: Workstate
        calendarEntryId:
          type: string
          maxLength: 120
          minLength: 1
          pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
          title: Calendarentryid
        period:
          type: string
          maxLength: 500
          minLength: 1
          title: Period
        pillar:
          type: string
          maxLength: 500
          minLength: 1
          title: Pillar
        assetType:
          type: string
          enum:
            - blog_post
            - guide
            - resource
            - case_study
            - whitepaper
            - webinar
            - podcast
            - video_script
          title: Assettype
        channel:
          type: string
          maxLength: 500
          minLength: 1
          title: Channel
        ownerDependency:
          type: string
          maxLength: 500
          minLength: 1
          title: Ownerdependency
        repurposesFrom:
          anyOf:
            - type: string
              maxLength: 120
              minLength: 1
              pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
            - type: 'null'
          title: Repurposesfrom
        cta:
          type: string
          maxLength: 500
          minLength: 1
          title: Cta
        measurement:
          type: string
          maxLength: 4000
          minLength: 1
          title: Measurement
      additionalProperties: false
      type: object
      required:
        - workState
        - calendarEntryId
        - period
        - pillar
        - assetType
        - channel
        - ownerDependency
        - cta
        - measurement
      title: ContentPlanCalendarEntry
      description: Calendar proposal joined only to exact generated program members.
    ContentPlanConversionJourney:
      properties:
        assetRefs:
          items:
            $ref: '#/components/schemas/NativeCreateAssetRef'
          type: array
          maxItems: 20
          title: Assetrefs
        workState:
          type: string
          enum:
            - proposed
            - generated
          title: Workstate
        leadMagnetId:
          type: string
          maxLength: 120
          minLength: 1
          pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
          title: Leadmagnetid
        entryAsset:
          type: string
          maxLength: 500
          minLength: 1
          title: Entryasset
        leadMagnetPlay:
          type: string
          maxLength: 4000
          minLength: 1
          title: Leadmagnetplay
        cta:
          type: string
          maxLength: 500
          minLength: 1
          title: Cta
        handoffStep:
          type: string
          maxLength: 4000
          minLength: 1
          title: Handoffstep
        followUpContent:
          items:
            type: string
            maxLength: 500
            minLength: 1
          type: array
          maxItems: 30
          title: Followupcontent
        ownedMetrics:
          items:
            $ref: '#/components/schemas/NativeCreateMetric'
          type: array
          maxItems: 30
          title: Ownedmetrics
        inferredMetrics:
          items:
            $ref: '#/components/schemas/NativeCreateMetric'
          type: array
          maxItems: 30
          title: Inferredmetrics
      additionalProperties: false
      type: object
      required:
        - workState
        - leadMagnetId
        - entryAsset
        - leadMagnetPlay
        - cta
        - handoffStep
      title: ContentPlanConversionJourney
      description: Conversion proposal joined only to exact generated program members.
    ContentPlanRepurposingEntry:
      properties:
        assetRefs:
          items:
            $ref: '#/components/schemas/NativeCreateAssetRef'
          type: array
          maxItems: 20
          title: Assetrefs
        workState:
          type: string
          enum:
            - proposed
            - generated
          title: Workstate
        repurposingGroupId:
          type: string
          maxLength: 120
          minLength: 1
          pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
          title: Repurposinggroupid
        sourceAssetType:
          type: string
          enum:
            - blog_post
            - guide
            - resource
            - case_study
            - whitepaper
            - webinar
            - podcast
            - video_script
          title: Sourceassettype
        targetAssetType:
          type: string
          enum:
            - blog_post
            - guide
            - resource
            - case_study
            - whitepaper
            - webinar
            - podcast
            - video_script
          title: Targetassettype
        notes:
          type: string
          maxLength: 4000
          minLength: 1
          title: Notes
        evidenceRefs:
          items:
            type: string
            maxLength: 120
            minLength: 1
            pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
          type: array
          maxItems: 40
          title: Evidencerefs
      additionalProperties: false
      type: object
      required:
        - workState
        - repurposingGroupId
        - sourceAssetType
        - targetAssetType
        - notes
      title: ContentPlanRepurposingEntry
      description: Repurposing proposal joined only to exact generated program members.
    ContentPlanAsset:
      properties:
        assetId:
          type: string
          format: uuid
          title: Assetid
        childRevisionId:
          type: string
          format: uuid
          title: Childrevisionid
        parentProgramRevisionId:
          type: string
          format: uuid
          title: Parentprogramrevisionid
        assetType:
          type: string
          enum:
            - blog_post
            - guide
            - resource
            - case_study
            - whitepaper
            - webinar
            - podcast
            - video_script
          title: Assettype
        brief:
          $ref: '#/components/schemas/ContentAssetBrief'
        draft:
          $ref: '#/components/schemas/ContentAssetDraft'
        reviewState:
          type: string
          enum:
            - draft
            - needs_review
            - approved
          title: Reviewstate
      additionalProperties: false
      type: object
      required:
        - assetId
        - childRevisionId
        - parentProgramRevisionId
        - assetType
        - brief
        - draft
        - reviewState
      title: ContentPlanAsset
    SeoSearchVolumeRange:
      properties:
        minimum:
          type: integer
          minimum: 0
          title: Minimum
        maximum:
          type: integer
          minimum: 0
          title: Maximum
        sourceNote:
          type: string
          maxLength: 500
          minLength: 1
          title: Sourcenote
      additionalProperties: false
      type: object
      required:
        - minimum
        - maximum
        - sourceNote
      title: SeoSearchVolumeRange
    NativeCreateClaim:
      properties:
        text:
          type: string
          maxLength: 4000
          minLength: 1
          title: Text
        basis:
          type: string
          enum:
            - owned
            - inferred
            - hypothesis
            - unverified
          title: Basis
        evidenceRefs:
          items:
            type: string
            maxLength: 120
            minLength: 1
            pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
          type: array
          maxItems: 40
          title: Evidencerefs
      additionalProperties: false
      type: object
      required:
        - text
        - basis
      title: NativeCreateClaim
    SeoCannibalizationCandidate:
      properties:
        urls:
          items:
            type: string
            maxLength: 2083
            minLength: 1
            format: uri
          type: array
          maxItems: 20
          minItems: 2
          title: Urls
        overlap:
          type: string
          maxLength: 4000
          minLength: 1
          title: Overlap
        evidenceRefs:
          items:
            type: string
            maxLength: 120
            minLength: 1
            pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
          type: array
          maxItems: 40
          minItems: 1
          title: Evidencerefs
      additionalProperties: false
      type: object
      required:
        - urls
        - overlap
        - evidenceRefs
      title: SeoCannibalizationCandidate
    SeoRoadmapAction:
      properties:
        actionId:
          type: string
          maxLength: 120
          minLength: 1
          pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
          title: Actionid
        prerequisites:
          items:
            type: string
            maxLength: 120
            minLength: 1
            pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
          type: array
          maxItems: 50
          title: Prerequisites
        measurementNote:
          type: string
          maxLength: 4000
          minLength: 1
          title: Measurementnote
      additionalProperties: false
      type: object
      required:
        - actionId
        - measurementNote
      title: SeoRoadmapAction
    NativeCreateMetric:
      properties:
        metric:
          type: string
          maxLength: 500
          minLength: 1
          title: Metric
        source:
          type: string
          maxLength: 500
          minLength: 1
          title: Source
        measurementNote:
          type: string
          maxLength: 4000
          minLength: 1
          title: Measurementnote
        evidenceRefs:
          items:
            type: string
            maxLength: 120
            minLength: 1
            pattern: ^[A-Za-z0-9][A-Za-z0-9_.:-]*$
          type: array
          maxItems: 40
          minItems: 1
          title: Evidencerefs
      additionalProperties: false
      type: object
      required:
        - metric
        - source
        - measurementNote
        - evidenceRefs
      title: NativeCreateMetric
    ContentAssetMetadata:
      properties:
        metaTitle:
          anyOf:
            - type: string
              maxLength: 200
              minLength: 1
            - type: 'null'
          title: Metatitle
        metaDescription:
          anyOf:
            - type: string
              maxLength: 500
              minLength: 1
            - type: 'null'
          title: Metadescription
        slug:
          anyOf:
            - type: string
              maxLength: 200
              minLength: 1
              pattern: ^[a-z0-9]+(?:-[a-z0-9]+)*$
            - type: 'null'
          title: Slug
        canonicalUrl:
          anyOf:
            - type: string
              maxLength: 2083
              minLength: 1
              format: uri
            - type: 'null'
          title: Canonicalurl
        keywords:
          items:
            type: string
            maxLength: 500
            minLength: 1
          type: array
          maxItems: 30
          title: Keywords
      additionalProperties: false
      type: object
      title: ContentAssetMetadata
    NativeCreateAssetRef:
      properties:
        assetId:
          type: string
          format: uuid
          title: Assetid
        childRevisionId:
          type: string
          format: uuid
          title: Childrevisionid
      additionalProperties: false
      type: object
      required:
        - assetId
        - childRevisionId
      title: NativeCreateAssetRef
  securitySchemes:
    HTTPBearer:
      type: http
      scheme: bearer

````