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

# Generate content score

> Evaluate content (title, meta description, body copy) for a draft and return scoring insights across multiple dimensions.



## OpenAPI

````yaml POST /v4/accounts/{accountId}/drafts/{draftId}/content-score
openapi: 3.1.0
info:
  title: Conductor API Documentation
  version: 4.0.0
  license:
    name: Conductor terms of service
    url: https://www.conductor.com/legal/
  termsOfService: https://www.conductor.com/legal/
  x-logo:
    url: https://app.conductor.com/images/global/logo_login.png
servers:
  - url: https://api.conductor.com
security:
  - ApiKeyAuth: []
    SigAuth: []
tags:
  - name: Draft Management
    description: Create, retrieve, update, and delete Writing Assistant drafts.
  - name: Content Insights
    description: >-
      Request and retrieve AI-driven content insights and recommendations for a
      draft.
  - name: Content Generation
    description: >-
      Generate and revise content assets — outlines, drafts, meta descriptions,
      title tags, outline expansions, and shortened text.
  - name: Content Guidance
    description: >-
      Validate and guide content against target keywords and optimization
      criteria.
  - name: Content Score
    description: >-
      Evaluate on-page content and return scoring insights across intent
      alignment and topical coverage.
  - name: Content Profile
    description: >-
      Create, retrieve, update, and delete reusable voice, tone, and
      language-rule profiles applied to draft generation.
  - name: Internal Linking
    description: >-
      Get anchor text and URL recommendations for internal linking based on a
      customer's embedded pages.
paths:
  /v4/accounts/{accountId}/drafts/{draftId}/content-score:
    post:
      tags:
        - Content Score
      summary: Generate Content Score
      description: >-
        Evaluate content (title, meta description, body copy) for a draft and
        return scoring insights across multiple dimensions.
      operationId: generateContentScore
      parameters:
        - name: accountId
          in: path
          required: true
          schema:
            type: integer
          description: Account identifier
        - name: draftId
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: Draft identifier
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ContentScoreRequest'
            example:
              title: How to Improve Team Communication
              metaDescription: A practical guide to better collaboration.
              bodyCopy: Effective communication helps teams align and execute.
      responses:
        '200':
          description: Content score
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContentScoreResponse'
              example:
                overallScore: 67
                responseId: 6fvXaYjXAuXd_uMPg4fYwQQ
                intentAlignment:
                  objectiveAssessment:
                    detailedEvaluation: >-
                      The content provides a professional comparison of checking
                      and savings accounts but lacks a structured head-to-head
                      of daily-access features.
                    summary: >-
                      Strong analogy and decision framework; needs more granular
                      detail on physical access differences.
                    shortSummary: >-
                      Add concrete debit/ATM access details and a direct feature
                      comparison.
                    overallObjectiveScore: 1
                    improvementPriority:
                      - Compare daily access features like debit cards and ATMs.
                      - List common best-use cases for each account type.
                  audienceAssessment:
                    detailedEvaluation: >-
                      Addresses early-career adults well but omits popular
                      features like savings buckets and round-ups.
                    summary: >-
                      Clear, practical breakdown with a solid decision
                      framework.
                    shortSummary: >-
                      Integrate automation features to better serve the
                      audience.
                    overallAlignmentScore: 2
                    improvementPriority:
                      - Incorporate automated round-ups and savings buckets.
                      - >-
                        Refine terminology to avoid alienating non-technical
                        readers.
                  journeyStageAssessment:
                    detailedEvaluation: >-
                      Serves the Awareness stage effectively but leans into
                      Consideration-level vetting detail.
                    summary: >-
                      Aligns well with Awareness by framing finance as a
                      strategic system.
                    shortSummary: Solid Awareness content; focus more on lifestyle benefits.
                    overallJourneyScore: 1
                    improvementPriority:
                      - >-
                        Deepen the 'why' with lifestyle impacts before listing
                        criteria.
                      - >-
                        Emphasize emergency funds over technical vetting
                        frameworks.
                  intentScore: 37
                topicalCoverage:
                  questionsAssessment:
                    questionEvaluations:
                      - question: What is a savings account and how does it work?
                        explanation: >-
                          Defines it as a Growth Layer that earns interest to
                          protect against inflation.
                        score: 1
                      - question: Does Thrivent have a savings account?
                        explanation: No mention of Thrivent or specific banking brands.
                        score: 0
                    overallScore: 1
                    summary: >-
                      High-quality strategic advice undermined by missing
                      brand-specific answers.
                    shortSummary: Strong framework, missing specific brand information.
                    improvementPriority:
                      - Address specific providers like Thrivent and Schwab.
                      - Define how checking accounts relate to debit cards.
                  subtopicAssessment:
                    subtopicEvaluations:
                      - subtopic: What checking accounts are and how they work
                        score: 1
                        explanation: >-
                          Defines checking as an 'operating system' for
                          paychecks and expenses.
                    overallScore: 1
                    summary: >-
                      Solid framework that needs more detail on account linking
                      and overdraft protection.
                    shortSummary: Needs detail on direct deposits and overdraft protection.
                    improvementPriority:
                      - >-
                        Detail setting up automated transfers and direct
                        deposits.
                      - Explain how overdraft protection works between accounts.
                  keyTermsAssessment: null
                  coverageScore:
                    score: 1
                    scoreMatches:
                      - term: checking account
                        termType: IMPORTANT
                        match: true
                      - term: debit card
                        termType: IMPORTANT
                        match: false
                      - term: minimum balance
                        termType: SUPPORTING
                        match: true
                      - term: savings goals
                        termType: ADDITIONAL
                        match: true
                  topicalCoverageScore: 30
        '401':
          description: >-
            Missing or invalid API key/signature, or an invalid or expired
            session token.
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/Error'
                  - $ref: '#/components/schemas/FastApiDetailError'
        '404':
          description: Draft not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FastApiDetailError'
components:
  schemas:
    ContentScoreRequest:
      type: object
      required:
        - title
        - metaDescription
        - bodyCopy
      properties:
        title:
          type: string
          description: The title associated with the content.
        metaDescription:
          type: string
          description: The meta description associated with the content.
        bodyCopy:
          type: string
          description: The text content to be evaluated.
    ContentScoreResponse:
      type: object
      properties:
        overallScore:
          type: integer
          description: Score from 0 to 100.
        responseId:
          type: string
          description: Identifier for the request.
        intentAlignment:
          $ref: '#/components/schemas/IntentAlignment'
        topicalCoverage:
          $ref: '#/components/schemas/TopicalCoverage'
    Error:
      type: object
      description: >-
        Error envelope for failures that apply uniformly across all v4 endpoints
        (e.g. gateway-level authentication failures).
      properties:
        code:
          type: string
          description: Machine-readable error code.
        message:
          type: string
          description: Human-readable error description.
    FastApiDetailError:
      type: object
      description: >-
        Default error body returned by the FastAPI backends (content-generation,
        polaris-api, internal-linking-recommendations) for HTTPException-based
        errors.
      properties:
        detail:
          type: string
    IntentAlignment:
      type: object
      description: >-
        Evaluates how well content aligns with the configured objective,
        audience, and journey stage.
      properties:
        objectiveAssessment:
          $ref: '#/components/schemas/ObjectiveAssessment'
        audienceAssessment:
          $ref: '#/components/schemas/AudienceAssessment'
        journeyStageAssessment:
          $ref: '#/components/schemas/JourneyStageAssessment'
        intentScore:
          type: integer
          description: Composite intent alignment score (0-50).
    TopicalCoverage:
      type: object
      description: >-
        Evaluates how thoroughly the content covers relevant questions,
        subtopics, and key terms.
      properties:
        questionsAssessment:
          $ref: '#/components/schemas/QuestionsAssessment'
        subtopicAssessment:
          $ref: '#/components/schemas/SubtopicAssessment'
        keyTermsAssessment:
          type: object
          nullable: true
          description: Key-terms assessment (may be null).
        coverageScore:
          $ref: '#/components/schemas/CoverageScore'
        topicalCoverageScore:
          type: integer
          description: Composite topical coverage score (0-50).
    ObjectiveAssessment:
      allOf:
        - $ref: '#/components/schemas/AssessmentNarrative'
        - type: object
          properties:
            overallObjectiveScore:
              type: integer
              description: Score from 0 to 2 for objective fulfillment.
    AudienceAssessment:
      allOf:
        - $ref: '#/components/schemas/AssessmentNarrative'
        - type: object
          properties:
            overallAlignmentScore:
              type: integer
              description: Score from 0 to 2 for audience alignment.
    JourneyStageAssessment:
      allOf:
        - $ref: '#/components/schemas/AssessmentNarrative'
        - type: object
          properties:
            overallJourneyScore:
              type: integer
              description: Score from 0 to 2 for journey-stage fit.
    QuestionsAssessment:
      type: object
      description: Evaluation of how well the content addresses target questions.
      properties:
        questionEvaluations:
          type: array
          items:
            $ref: '#/components/schemas/QuestionEvaluation'
          description: Per-question scoring.
        overallScore:
          type: integer
          description: Aggregate questions coverage score (0-2).
        summary:
          type: string
        shortSummary:
          type: string
        improvementPriority:
          type: array
          items:
            type: string
    SubtopicAssessment:
      type: object
      description: Evaluation of subtopic coverage.
      properties:
        subtopicEvaluations:
          type: array
          items:
            $ref: '#/components/schemas/SubtopicEvaluation'
          description: Per-subtopic scoring.
        overallScore:
          type: integer
          description: Aggregate subtopic coverage score (0-2).
        summary:
          type: string
        shortSummary:
          type: string
        improvementPriority:
          type: array
          items:
            type: string
    CoverageScore:
      type: object
      description: Term-level coverage breakdown.
      properties:
        score:
          type: integer
          description: Aggregate coverage score (0-2).
        scoreMatches:
          type: array
          items:
            $ref: '#/components/schemas/TermMatch'
          description: Per-term match results.
    AssessmentNarrative:
      type: object
      properties:
        detailedEvaluation:
          type: string
          description: In-depth evaluation narrative.
        summary:
          type: string
          description: Mid-length summary of the evaluation.
        shortSummary:
          type: string
          description: Brief one-line summary.
        improvementPriority:
          type: array
          items:
            type: string
          description: Ordered list of suggested improvements.
    QuestionEvaluation:
      type: object
      properties:
        question:
          type: string
        explanation:
          type: string
        score:
          type: integer
    SubtopicEvaluation:
      type: object
      properties:
        subtopic:
          type: string
        score:
          type: integer
        explanation:
          type: string
    TermMatch:
      type: object
      properties:
        term:
          type: string
        termType:
          type: string
          enum:
            - IMPORTANT
            - SUPPORTING
            - ADDITIONAL
        match:
          type: boolean
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: query
      name: apiKey
      description: API Key as a query parameter
    SigAuth:
      type: apiKey
      in: query
      name: sig
      description: >-
        Request signature computed using API key and secret. Valid for 5 minutes
        after creation.

````