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

# Get Asset Issues

> Get all issues for a single asset, enriched with blob-stored detail.

Flat list — for the topic grouping use ``/assets/{asset_id}/topics``.

Authentication: Requires X-API-Key header with valid API key.

Same 404/502 semantics as the topics endpoint.



## OpenAPI

````yaml /openapi.json get /api/integrations/submissions/{submission_id}/assets/{asset_id}/issues
openapi: 3.1.0
info:
  title: Midmarket Integrations API
  description: An API for Midmarket integrations.
  version: 0.1.0
servers:
  - url: https://mm-midmarket-integrations-api-preview.azurewebsites.net
    description: preview
security: []
paths:
  /api/integrations/submissions/{submission_id}/assets/{asset_id}/issues:
    get:
      tags:
        - submissions
      summary: Get Asset Issues
      description: |-
        Get all issues for a single asset, enriched with blob-stored detail.

        Flat list — for the topic grouping use ``/assets/{asset_id}/topics``.

        Authentication: Requires X-API-Key header with valid API key.

        Same 404/502 semantics as the topics endpoint.
      operationId: >-
        get_asset_issues_api_integrations_submissions__submission_id__assets__asset_id__issues_get
      parameters:
        - name: submission_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Submission Id
        - name: asset_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Asset Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssetIssuesResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - apiKey: []
components:
  schemas:
    AssetIssuesResponse:
      properties:
        assetId:
          type: string
          format: uuid
          title: Assetid
          description: Asset ID
        issues:
          items:
            $ref: '#/components/schemas/EnrichedIssueSchema'
          type: array
          title: Issues
          description: All issues for the asset, ordered by reference number
        total:
          type: integer
          title: Total
          description: Total number of issues
      type: object
      required:
        - assetId
        - issues
        - total
      title: AssetIssuesResponse
      description: Per-asset flat list of enriched issues.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    EnrichedIssueSchema:
      properties:
        id:
          type: string
          format: uuid
          title: Id
          description: Issue UUID
        assetId:
          type: string
          format: uuid
          title: Assetid
          description: Asset the issue belongs to
        referenceNumber:
          anyOf:
            - type: integer
            - type: 'null'
          title: Referencenumber
          description: Sequential display number, e.g. 1 for ISS-001
        ruleId:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Ruleid
          description: UUID of the rule that detected this issue
        ruleCode:
          anyOf:
            - type: string
            - type: 'null'
          title: Rulecode
          description: Rule code that detected this issue, e.g. 'CAP_8.4'
        summary:
          type: string
          title: Summary
          description: One-line description of the issue
        details:
          anyOf:
            - type: string
            - type: 'null'
          title: Details
          description: Long-form explanation of the issue
        severity:
          type: string
          title: Severity
          description: CRITICAL | MAJOR | MINOR | INFO
        severityReasoning:
          anyOf:
            - type: string
            - type: 'null'
          title: Severityreasoning
          description: >-
            Risk-scorer rationale for the severity bucket, when the upstream
            evaluator produced one. Null if no scorer ran or no rationale was
            emitted.
        severityReasoningHeadline:
          anyOf:
            - type: string
            - type: 'null'
          title: Severityreasoningheadline
          description: >-
            Short one-line summary of severityReasoning for inline rendering;
            the full reasoning is shown when the user expands it.
        precedents:
          anyOf:
            - items:
                $ref: '#/components/schemas/PrecedentSchema'
              type: array
            - type: 'null'
          title: Precedents
          description: >-
            ASA rulings cited by the risk-scorer as precedent for the severity
            call. Null on legacy issues or when no relevant rulings were
            retrieved.
        status:
          type: string
          title: Status
          description: OPEN | ACKNOWLEDGED | AWAITING_HUMAN_INPUT | RESOLVED | DISMISSED
        contributors:
          items:
            $ref: '#/components/schemas/ContributorSchema'
          type: array
          title: Contributors
          description: Rule-graph contributors that surfaced this issue.
        resolutionRequirement:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Resolutionrequirement
          description: What needs to happen for this issue to be considered resolved.
        anchor:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Anchor
          description: >-
            Location in the asset the issue applies to. Discriminated by `type`
            (e.g. video timestamp, document page, image region).
        createdAt:
          type: string
          format: date-time
          title: Createdat
          description: Timestamp when the issue was created
        updatedAt:
          type: string
          format: date-time
          title: Updatedat
          description: Timestamp of last update
      type: object
      required:
        - id
        - assetId
        - summary
        - severity
        - status
        - createdAt
        - updatedAt
      title: EnrichedIssueSchema
      description: |-
        An issue plus the blob-sourced enrichment fields.

        ``resolutionRequirement`` and ``anchor`` are kept as opaque dicts (their
        full schema is owned by ``mm_agents_core``). ``anchor`` is a
        discriminated union (video timestamp / document page / image region)
        — integrators key off the ``type`` field. ``contributors`` is typed so
        internal-only fields can't leak.
    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
    PrecedentSchema:
      properties:
        url:
          type: string
          title: Url
          description: Canonical ASA URL for the ruling.
        title:
          type: string
          title: Title
          description: Display title for the ruling.
        decision:
          type: string
          title: Decision
          description: ASA outcome — Upheld / Not upheld / etc.
        date:
          anyOf:
            - type: string
            - type: 'null'
          title: Date
          description: Ruling date (ISO-8601 if known).
      type: object
      required:
        - url
        - title
        - decision
      title: PrecedentSchema
      description: An ASA ruling cited by the risk-scorer as precedent for a severity call.
    ContributorSchema:
      properties:
        id:
          type: string
          format: uuid
          title: Id
          description: Contributor UUID
        label:
          type: string
          title: Label
          description: Human-readable label, e.g. 'Pricing Claim Text'
        reasoning:
          type: string
          title: Reasoning
          description: Why this contributes to the issue
        confidence:
          type: number
          maximum: 1
          minimum: 0
          title: Confidence
          description: Confidence score (0.0-1.0)
        relationType:
          type: string
          title: Relationtype
          description: How the contributor relates to the issue, e.g. 'CAUSES'
        evidence:
          items:
            $ref: '#/components/schemas/EvidenceSchema'
          type: array
          title: Evidence
          description: Evidence items backing this contributor
        resolutionRequirement:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Resolutionrequirement
          description: >-
            Per-contributor resolution requirement, if the rule graph defines
            one
        ruleCode:
          anyOf:
            - type: string
            - type: 'null'
          title: Rulecode
          description: Rule code of the originating rule violation, if applicable
        ruleName:
          anyOf:
            - type: string
            - type: 'null'
          title: Rulename
          description: Human-readable name of the originating rule, if applicable
        severity:
          anyOf:
            - type: string
            - type: 'null'
          title: Severity
          description: Severity level of the originating rule violation, if applicable
      type: object
      required:
        - id
        - label
        - reasoning
        - confidence
        - relationType
      title: ContributorSchema
      description: |-
        A single rule-graph contributor to an issue.

        Mirrors ``mm_agents_core.models.issues.IssueContributor`` minus
        internal-only fields: ``node`` (rule-graph plumbing), ``metadata``
        (agent bookkeeping), and ``feedbacks`` (user-keyed reactions from the
        ``FeedbackMixin``). ``resolutionRequirement`` is kept opaque — its
        full schema is owned by the worker.
    EvidenceSchema:
      properties:
        id:
          type: string
          title: Id
          description: Evidence ID
        sourceType:
          type: string
          title: Sourcetype
          description: Where the evidence came from
        content:
          anyOf:
            - {}
            - type: 'null'
          title: Content
          description: Evidence payload (shape varies by sourceType)
        anchor:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Anchor
          description: Location of the evidence within the asset
        confidence:
          type: number
          maximum: 1
          minimum: 0
          title: Confidence
          description: Confidence score for this evidence (0.0-1.0)
      type: object
      required:
        - id
        - sourceType
        - confidence
      title: EvidenceSchema
      description: |-
        A single piece of evidence backing a contributor's finding.

        Mirrors ``mm_agents_core.models.rules.evidence.Evidence`` minus its
        internal ``metadata`` bookkeeping. ``content`` is intentionally opaque
        — its shape varies by ``sourceType`` (text excerpt, video frame
        reference, document span, …).
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: X-API-Key
      description: 'Workspace-scoped API key. Format: sk_live_{64 hex chars}'
      x-default: sk_live_your_api_key_here

````