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

# Record a share page view

> Records one view of a /s/{publicId} share page: writes a page_viewed event to the share ledger and, for article-backed shares, increments the article public_view_count. The share row must exist, be unexpired, and bind to its site. Rate limit: 60 per minute and 5000 per day per client IP. Origin must be the Hrizn app.



## OpenAPI

````yaml /openapi.yaml post /share/track-view
openapi: 3.1.0
info:
  title: Hrizn Public API
  version: 1.2.0
  description: >
    The Hrizn Public API allows partners to programmatically create content,
    manage inventory descriptions, and integrate with the Hrizn platform.


    All endpoints are prefixed with `/public` and require an API key passed via
    the `X-API-Key` header (except the health check).
  contact:
    email: support@hrizn.io
servers:
  - url: https://api.app.hrizn.io/v1/public
    description: Production
security:
  - apiKeyAuth: []
tags:
  - name: Analytics
    description: >-
      Warehoused Google Search Console and GA4 reads (Teams+ API access,
      analytics:read). URL Inspection is live only on pages/performance.
  - name: IdeaClouds
    description: Create and manage AI-powered keyword research
  - name: Content Intelligence
    description: AI-powered content gap analysis and recommendations
  - name: Content
    description: Generate content from IdeaClouds
  - name: Compliance
    description: Run OEM compliance checks on content
  - name: Content Tools
    description: Generate SEO metadata, schemas, and social snippets
  - name: Inventory
    description: Access vehicle data and AI descriptions
  - name: Images
    description: >-
      Media Library images. Read the library (images:read): list and fetch
      images with alt text, AI-written title/caption/description, the generating
      prompt, dimensions, article links, and social variant cuts. Generate
      (images:write): async AI image generation returning an image_id;
      completion is delivered via image.generation.completed /
      image.generation.failed webhooks.
  - name: Market
    description: >-
      Live local market listings, days supply, competitive set, and pricing
      insights (Unlimited plan + market_data:read)
  - name: Site
    description: View dealership details and configuration
  - name: Webhooks
    description: Manage webhook subscriptions for real-time events
  - name: Reference
    description: Look up available types, scopes, and events
  - name: Social
    description: >-
      Social Hub posting and reviews across all connected platforms (X,
      Facebook, Instagram, LinkedIn, Google Business Profile)
  - name: Health
    description: Health check (no authentication)
  - name: Share
    description: >-
      Anonymous share-page routes (no API key). Called by Hrizn share pages
      (/s/{publicId}) on behalf of shoppers who are not signed in. Requests must
      originate from the Hrizn app origin (CORS is origin-checked, never
      wildcard) and are rate limited per client IP. Responses use a flat `{
      error }` / `{ success }` body, not the `{ error: { code, message } }`
      envelope of API-key routes.
paths:
  /share/track-view:
    post:
      tags:
        - Share
      summary: Record a share page view
      description: >-
        Records one view of a /s/{publicId} share page: writes a page_viewed
        event to the share ledger and, for article-backed shares, increments the
        article public_view_count. The share row must exist, be unexpired, and
        bind to its site. Rate limit: 60 per minute and 5000 per day per client
        IP. Origin must be the Hrizn app.
      operationId: trackShareView
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ShareTrackViewRequest'
      responses:
        '200':
          description: View recorded
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                  viewCount:
                    type: integer
                    nullable: true
                    description: New article view count; null for non-article shares
                    example: 12
        '400':
          $ref: '#/components/responses/ShareError'
        '404':
          $ref: '#/components/responses/ShareError'
        '429':
          $ref: '#/components/responses/ShareRateLimited'
        '500':
          $ref: '#/components/responses/ShareError'
      security: []
components:
  schemas:
    ShareTrackViewRequest:
      type: object
      required:
        - publicId
      properties:
        publicId:
          type: string
          pattern: ^[0-9A-Za-z]{6}$
          description: Share public id from the /s/{publicId} URL
        articleId:
          type: string
          format: uuid
          nullable: true
          description: Optional; must match the share's article when provided
        shareToken:
          type: string
          nullable: true
          minLength: 6
    ShareErrorBody:
      type: object
      required:
        - error
      properties:
        error:
          type: string
          example: Invalid lead submission.
  responses:
    ShareError:
      description: Share-route error (flat body, not the API-key envelope)
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ShareErrorBody'
    ShareRateLimited:
      description: Per-IP rate limit or per-profile daily cap reached
      headers:
        Retry-After:
          description: Seconds until the window resets
          schema:
            type: integer
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ShareErrorBody'
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
      description: Your Hrizn API key (prefix hzk_)

````