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

# Get analyst insight by ID

> Retrieve a single analyst insight entry by its Wealthyhood identifier.

Fetch the full payload for an analyst insight using its Wealthyhood identifier.

### Authentication & headers

<ParamField header="Authorization" type="string" required>
  Bearer token issued by Auth0. Format: `Bearer YOUR_ACCESS_TOKEN` and must include the `wealthyhood:nbg` scope.
</ParamField>

### Path parameters

<ParamField path="id" type="string" required>
  Wealthyhood content entry identifier.
</ParamField>

### Example request

<RequestExample>
  ```bash cURL theme={null}
  curl -X GET 'https://api.wealthyhood.com/learn/analyst-insights/64f0c51e7fb3fc001234abcd' \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer YOUR_ACCESS_TOKEN'
  ```
</RequestExample>

### Response fields

<ResponseField name="data" type="AnalystInsight" required>
  Single analyst insight payload. See the list endpoint for field descriptions.
</ResponseField>


## OpenAPI

````yaml GET /learn/analyst-insights/{id}
openapi: 3.0.3
info:
  title: Wealthyhood Learn API
  version: 1.0.0
  description: >
    Machine-to-machine endpoints that power the Wealthyhood Learn screen.


    All routes require a bearer access token issued by Auth0 with the
    `wealthyhood:nbg` scope.
servers:
  - url: https://{host}
    variables:
      host:
        default: api.wealthyhood.com
        description: Wealthyhood API host.
security:
  - bearerAuth: []
tags:
  - name: Learn
    description: Investor education content surfaced in the Learn screen.
paths:
  /learn/analyst-insights/{id}:
    get:
      tags:
        - Learn
      summary: Get an analyst insight by ID
      description: >-
        Retrieve a single analyst insight entry using its Wealthyhood
        identifier.
      parameters:
        - $ref: '#/components/parameters/XUserId'
        - name: id
          in: path
          required: true
          schema:
            type: string
            description: Wealthyhood content entry identifier.
      responses:
        '200':
          description: Analyst insight payload.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AnalystInsightResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
        '404':
          $ref: '#/components/responses/NotFoundError'
components:
  parameters:
    XUserId:
      name: x-user-id
      in: header
      required: true
      description: >-
        MongoDB identifier of the Wealthyhood user. Used to determine the
        language preference for localized content.
      schema:
        type: string
        pattern: ^[a-f0-9]{24}$
  schemas:
    AnalystInsightResponse:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/AnalystInsight'
      required:
        - data
    AnalystInsight:
      type: object
      properties:
        key:
          type: string
          description: Stable slug from Contentful.
          example: weekly-market-roundup
        id:
          type: string
          description: Wealthyhood content entry identifier.
          example: 64f0c51e7fb3fc001234abcd
        analystInsightType:
          type: string
          description: Insight category returned by the CMS.
          enum:
            - analysis
            - quickTake
            - weeklyReview
        createdAt:
          type: string
          format: date-time
        title:
          type: string
        contentHTML:
          type: string
          description: HTML article body.
        previewImageURL:
          type: string
          format: uri
        fullImageURL:
          type: string
          format: uri
        bannerImageURL:
          type: string
          format: uri
          nullable: true
        readingTime:
          type: string
          example: 3 min
      required:
        - key
        - id
        - analystInsightType
        - createdAt
        - title
        - contentHTML
        - previewImageURL
        - fullImageURL
        - readingTime
    ApiErrorResponse:
      type: object
      properties:
        status:
          type: integer
        error:
          type: object
          properties:
            message:
              type: string
            description:
              type: string
              nullable: true
        responseId:
          type: string
          format: uuid
  responses:
    UnauthorizedError:
      description: Missing or invalid bearer token.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiErrorResponse'
    ForbiddenError:
      description: Token lacks the required scope.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiErrorResponse'
    NotFoundError:
      description: Resource not found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiErrorResponse'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: Auth0-issued access token that includes the `wealthyhood:nbg` scope.

````