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

# Video Analysis Detail

> One analysis with the video and creator it targets, and its full results payload returned exactly as the pipeline wrote it -- this API stores the payload and never reshapes it. An analysis that is still pending or running, or that failed, comes back as a 200 carrying its status (and error_message when it failed) and no results, so the UI renders the processing or failed state in the same tab. Readable by any workspace member.



## OpenAPI

````yaml https://openapi.shareofmodel.ai/swagger-sos.json get /v1/organizations/{organization_id}/workspaces/{workspace_id}/search/video-analyses/{video_analysis_id}
openapi: 3.0.3
info:
  title: Share Of Model API
  version: v1
  description: >-
    ## Search



    The Share of Search API provides visibility, presence, and ranking metrics
    for tracked

    search and AI engine sources. Use it to analyse how a project performs
    across keywords,

    thematics, competitors, and ranked URLs over time.


    For the previous version of the API, see the [v1
    documentation](https://api.shareofsearch.jplus.io/docs/v1).
servers:
  - description: Search - Production API
    url: https://api.shareofsearch.jplus.io/
security: []
tags:
  - name: Projects
    description: >-
      Manage analyses (projects) within a workspace. Create new analyses and
      list existing ones.
  - name: Collects
    description: >-
      Access data collection runs and their raw results. List collect runs for
      an analysis, or retrieve the raw data captured during each run: domain
      rankings, brand mentions, keyword insights, and LLM/SERP responses.
  - name: Overview Metrics
    description: >-
      High-level, aggregated metrics that summarise the overall performance of
      an analysis. Use these endpoints to get a quick picture of visibility,
      presence, andranking across all keywords and sources.
  - name: Metrics
    description: >-
      Detailed, per-entity metrics for deep-diving into specific aspects of an
      analysis. Break down performance by domain, brand, keyword, URL, or
      competitor.
  - name: Insights
    description: >-
      Cross-project KPIs aggregated at the workspace or organization level.
      These endpoints consolidate metrics from all active projects within a
      workspace, or across every workspace of an organization, to provide a
      unified view of visibility, mentions, citations, sentiment, and ranking.
  - name: Shopping
    description: >-
      Shopping-specific metrics for analyses that track product listings in
      shopping engines. Measure product visibility, pricing, merchant coverage,
      and share of shelf across all tracked keywords and sources.
  - name: Ads
    description: >-
      Sponsored-ad performance across tracked prompts and engines, including
      coverage, advertiser diversity, brand presence, and share of ad voice.
  - name: Creators
    description: >-
      YouTube creators cited as sources in AI-engine search results, enriched
      with channel metrics and an Influence Score. Browse creators across every
      project in a workspace, narrowed by country, engine, brand, category,
      analysis, and persona filters.
  - name: Video Analyses
    description: >-
      On-demand LLM analysis of an already-cited YouTube video: why it works as
      a citation source, the brands it treats, and an internal creator
      pre-brief. Price a selection before committing to it, trigger the
      analyses, and read the results.
  - name: Creator Briefs
    description: >-
      Partnership briefs written for shortlisted YouTube creators: a markdown
      document with its brand context, saved and edited by the user, with one
      version recorded per save and the diff into each version stored at write
      time.
  - name: CSV Export
    description: >-
      Generic CSV export gateway shared across features. `export_type` selects
      which dataset to export; each feature registers its own export types and
      usecases on the same CsvExportUsecase base rather than duplicating the
      CSV-writing/validation mechanics.
paths:
  /v1/organizations/{organization_id}/workspaces/{workspace_id}/search/video-analyses/{video_analysis_id}:
    get:
      tags:
        - Video Analyses
      summary: Video Analysis Detail
      description: >-
        One analysis with the video and creator it targets, and its full results
        payload returned exactly as the pipeline wrote it -- this API stores the
        payload and never reshapes it. An analysis that is still pending or
        running, or that failed, comes back as a 200 carrying its status (and
        error_message when it failed) and no results, so the UI renders the
        processing or failed state in the same tab. Readable by any workspace
        member.
      operationId: get_video_analysis
      parameters:
        - name: video_analysis_id
          in: path
          required: true
          schema:
            type: string
            title: Video Analysis Id
        - name: organization_id
          in: path
          required: true
          schema:
            type: string
            title: Organization Id
        - name: workspace_id
          in: path
          required: true
          schema:
            type: string
            title: Workspace Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VideoAnalysisDetailResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
components:
  schemas:
    VideoAnalysisDetailResponse:
      properties:
        id:
          type: string
          title: Id
        status:
          type: string
          title: Status
          description: pending, running, completed or failed.
        generation_used:
          type: integer
          title: Generation Used
          description: Generations charged for this analysis, frozen at trigger time.
        created_at:
          type: string
          format: date-time
          title: Created At
          description: When the analysis was requested and charged.
        completed_at:
          type: string
          format: date-time
          nullable: true
          title: Completed At
          description: >-
            When the analysis reached a terminal state. Absent while it is still
            running.
        video:
          $ref: '#/components/schemas/VideoAnalysisVideoResponse'
        creator:
          $ref: '#/components/schemas/VideoAnalysisCreatorResponse'
        current_step:
          type: string
          nullable: true
          title: Current Step
          description: >-
            The pipeline step last reported by the flow. Absent before it
            starts.
        triggered_by:
          type: string
          title: Triggered By
          description: Id of the user who requested the analysis.
        error_message:
          type: string
          nullable: true
          title: Error Message
          description: Why the analysis failed. Absent unless it did.
        results:
          additionalProperties: true
          type: object
          nullable: true
          title: Results
          description: >-
            The analysis payload, returned exactly as the pipeline wrote it.
            Absent until the analysis is completed, so a pending, running or
            failed analysis is a 200 with no results rather than a 404.
      type: object
      required:
        - id
        - status
        - generation_used
        - created_at
        - video
        - creator
        - triggered_by
      title: VideoAnalysisDetailResponse
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    VideoAnalysisVideoResponse:
      properties:
        id:
          type: string
          title: Id
        youtube_video_id:
          type: string
          title: Youtube Video Id
        url:
          type: string
          nullable: true
          title: Url
        title:
          type: string
          nullable: true
          title: Title
        thumbnail_url:
          type: string
          nullable: true
          title: Thumbnail Url
        publish_date:
          type: string
          format: date
          nullable: true
          title: Publish Date
        duration_seconds:
          type: integer
          nullable: true
          title: Duration Seconds
      type: object
      required:
        - id
        - youtube_video_id
      title: VideoAnalysisVideoResponse
    VideoAnalysisCreatorResponse:
      properties:
        id:
          type: string
          title: Id
        display_name:
          type: string
          nullable: true
          title: Display Name
        handle:
          type: string
          nullable: true
          title: Handle
        channel_url:
          type: string
          nullable: true
          title: Channel Url
        thumbnail_url:
          type: string
          nullable: true
          title: Thumbnail Url
      type: object
      required:
        - id
      title: VideoAnalysisCreatorResponse
    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
  securitySchemes:
    HTTPBearer:
      type: http
      scheme: bearer

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.