> ## 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.

# Request content insights

> Submit a request to generate content insights for a draft.



## OpenAPI

````yaml POST /v4/accounts/{accountId}/drafts/{draftId}/insights
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}/insights:
    post:
      tags:
        - Content Insights
      summary: Request content insights
      description: Submit a request to generate content insights for a draft.
      operationId: requestInsights
      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/ContentInsightsRequest'
            example:
              insight:
                input:
                  topic:
                    phrases:
                      - data integration
                    rankSourceId: 1
                    webPropertyId: 1
                    competitorUrls:
                      - https://www.example.com/data-integration
                      - https://www.example.org/guides/data-integration-tools
                      - https://www.example.net/data-integration-platform
                      - https://www.example.com/blog/etl-vs-elt
                      - https://www.example.org/data-pipelines
                request:
                  insights:
                    - PAA_INSIGHT
                    - BODY_CONTENT_COMMON
                    - CONTENT_ANALYSIS_INSIGHT
                    - HTML_HEADING1_COMMON
                    - HTML_HEADING2_COMMON
                    - HTML_HEADING3_COMMON
                    - HTML_META_DESCRIPTION_COMMON
                    - HTML_TITLE_COMMON
                    - CONTENT_LENGTH_INSIGHT
                    - READABILITY_INSIGHT
                    - OBJECTIVE_INSIGHT
                    - AUDIENCE_INSIGHT
                    - JOURNEY_STAGE_INSIGHT
                    - CONTENT_TYPE_INSIGHT
                    - SUBTOPIC_INSIGHT
                    - OPPORTUNITIES_SNIPPET
                    - MSV_SNIPPET
      responses:
        '202':
          description: Insights request accepted
        '401':
          description: Missing or invalid API key/signature.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: >-
            Caller does not have access to this account, or the draft belongs to
            a different account.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SpringBootErrorResponse'
        '404':
          description: Draft not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SpringBootErrorResponse'
components:
  schemas:
    ContentInsightsRequest:
      type: object
      properties:
        insight:
          type: object
          properties:
            input:
              type: object
              properties:
                topic:
                  type: object
                  properties:
                    phrases:
                      type: array
                      items:
                        type: string
                    rankSourceId:
                      type: integer
                    webPropertyId:
                      type: integer
                    competitorUrls:
                      type: array
                      items:
                        type: string
                        format: uri
            request:
              type: object
              properties:
                insights:
                  type: array
                  items:
                    $ref: '#/components/schemas/InsightType'
    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.
    SpringBootErrorResponse:
      type: object
      description: >-
        Default error body returned by the Spring Boot backends (sage-history,
        content-guidance, serp-explorer) for unhandled/framework-level errors.
        Not endpoint-specific.
      properties:
        timestamp:
          type: string
          format: date-time
        status:
          type: integer
        error:
          type: string
          description: HTTP reason phrase, e.g. "Bad Request".
        message:
          type: string
          nullable: true
          description: >-
            Often empty; these backends do not consistently populate a detail
            message.
        path:
          type: string
    InsightType:
      type: string
      enum:
        - PAA_INSIGHT
        - BODY_CONTENT_COMMON
        - CONTENT_ANALYSIS_INSIGHT
        - HTML_HEADING1_COMMON
        - HTML_HEADING2_COMMON
        - HTML_HEADING3_COMMON
        - HTML_META_DESCRIPTION_COMMON
        - HTML_TITLE_COMMON
        - CONTENT_LENGTH_INSIGHT
        - READABILITY_INSIGHT
        - OBJECTIVE_INSIGHT
        - AUDIENCE_INSIGHT
        - JOURNEY_STAGE_INSIGHT
        - CONTENT_TYPE_INSIGHT
        - SUBTOPIC_INSIGHT
        - OPPORTUNITIES_SNIPPET
        - MSV_SNIPPET
  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.

````