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

# Per-profile review summary

> Unresolved review counts for one profile (management planes, member+). `requires_review_count` drives the dashboard profile-tab badge; `flag_counts` tallies UNRESOLVED sessions per flag category. Always tenant+workspace bounded: an unknown or foreign profile id counts zero sessions (no cross-tenant oracle).




## OpenAPI

````yaml /api-reference/idv-svc.json get /profiles/{profileId}/review-summary
openapi: 3.1.0
info:
  title: Minerva IDV API
  version: 1.0.0-draft
  description: >-
    Customer API for identity verification. Create verification sessions for
    profiles, deliver invites, track capture progress, and read review outcomes.
    For the end-to-end flow, see the [IDV Integration
    Guide](/api-reference/idv-integration-guide). Reviewer-safe responses never
    expose storage keys, checksums, wrapped keys, encryption context, raw OCR,
    or raw model output. Decrypted personal data is available only on `GET
    /sessions/{sessionId}/data`, to an authenticated in-scope principal, with
    fail-closed auditing.
servers:
  - url: https://api.gominerva.com/idv/v1
    description: The production API server for Minerva identity verification
security: []
tags:
  - name: sessions
    description: >-
      Verification sessions and invite delivery (application or dashboard
      authentication).
  - name: capture
    description: End-user capture flow (session or invite credentials).
  - name: review
    description: Review decisions and audited structured-data access.
  - name: workflows
    description: Workflow configuration for verification sessions.
  - name: themes
    description: Branding themes and managed logo assets.
paths:
  /profiles/{profileId}/review-summary:
    get:
      tags:
        - review
      summary: Per-profile review summary
      description: >
        Unresolved review counts for one profile (management planes, member+).
        `requires_review_count` drives the dashboard profile-tab badge;
        `flag_counts` tallies UNRESOLVED sessions per flag category. Always
        tenant+workspace bounded: an unknown or foreign profile id counts zero
        sessions (no cross-tenant oracle).
      parameters:
        - name: profileId
          in: path
          required: true
          schema:
            type: string
            pattern: ^[A-Za-z0-9._:-]{1,128}$
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProfileReviewSummaryResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
      security:
        - applicationApiKey: []
        - dashboardUserToken: []
components:
  schemas:
    ProfileReviewSummaryResponse:
      type: object
      required:
        - data
      properties:
        data:
          type: object
          required:
            - profile_id
            - total_sessions
            - requires_review_count
            - escalation_count
            - flag_counts
          properties:
            profile_id:
              type: string
            total_sessions:
              type: integer
              format: int64
            requires_review_count:
              type: integer
              format: int64
              description: The dashboard profile-tab badge count.
            escalation_count:
              type: integer
              format: int64
            flag_counts:
              type: object
              description: >-
                Counts of UNRESOLVED sessions (review_status
                requires_review|escalation) carrying each category.
              required:
                - idv
                - document
                - questionnaire
              properties:
                idv:
                  type: integer
                  format: int64
                document:
                  type: integer
                  format: int64
                questionnaire:
                  type: integer
                  format: int64
    Error:
      type: object
      required:
        - error
      properties:
        error:
          type: object
          required:
            - code
            - message
          properties:
            code:
              type: string
              example: idv_session_not_found
            message:
              type: string
  responses:
    BadRequest:
      description: Validation error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Unauthorized:
      description: >-
        Missing or invalid credentials (uniform for token plane, no existence
        oracle)
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    applicationApiKey:
      type: apiKey
      in: header
      name: Authorization
      description: >-
        `Authorization: Api-Key <application_api_key>` (legacy `X-Api-Key` also
        accepted).
    dashboardUserToken:
      type: apiKey
      in: header
      name: x-user-token
      description: >
        Dashboard session token for Minerva dashboard users. Management routes
        accept it alongside an application API key; any in-scope workspace user
        (member or above) can read sessions and record review decisions, while
        workflow and theme writes need a management-capable role. Send it with
        the `x-tenant-id` and `x-workspace-id` headers; a header/access mismatch
        is refused with 403, and when dashboard authentication is disabled (the
        default) any request carrying this header gets a uniform 401.

````