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

# Get one AI Visibility tracker

> Reads a single AI Visibility tracker by id. Ids do not cross workspaces.



## OpenAPI

````yaml /openapi.json get /api/entities/VisibilityTracker/{id}
openapi: 3.1.0
info:
  title: Reputably API
  version: 1.0.0
  description: >-
    The HTTP surface an agent credential can reach. It is read plus safe writes:
    you can read your reputation data, generate drafts, queue reports and run
    first-time tracking setup. You cannot send anything to an external platform,
    trigger syncs, touch billing or manage credentials.


    The same endpoints back the MCP server, so anything documented here is
    reachable both ways.
servers:
  - url: https://app.reputably.net
    description: Reputably
  - url: https://your-domain.example
    description: Your own verified white-label domain
security:
  - agentKey: []
tags:
  - name: Businesses
    description: The locations you track, their plan usage and AI-generated insights.
  - name: Reviews
    description: Google and Facebook reviews, including which still need a reply.
  - name: Brand mentions
    description: Mentions across X, Reddit, YouTube, Facebook communities and the open web.
  - name: Brand tracking
    description: The trackers that find mentions, and competitor share of voice.
  - name: Leads
    description: Buying signals detected in mentions, with the public post to reply to.
  - name: AI Visibility
    description: >-
      Whether AI assistants recommend the business, what they cite, and how it
      moves.
  - name: AI Traffic
    description: Which AI crawlers read the website, and who arrives from an AI answer.
  - name: Posts
    description: Google Business Profile posts and drafts.
  - name: Reports
    description: Queued report renders and their CSV output.
  - name: Setup
    description: First-time tracking configuration.
  - name: Account
    description: Workspaces, notifications, sync status and prospect audits.
paths:
  /api/entities/VisibilityTracker/{id}:
    get:
      tags:
        - AI Visibility
      summary: Get one AI Visibility tracker
      description: Reads a single AI Visibility tracker by id. Ids do not cross workspaces.
      operationId: getVisibilityTracker
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
          description: The AI Visibility tracker id.
        - name: X-Workspace-Id
          in: header
          required: false
          schema:
            type: string
          description: >-
            Which workspace to read. Omit it and you get the account’s home
            workspace, which on an agency account is often not where the live
            businesses are. A workspace this credential cannot read is refused
            with 403 rather than quietly answered from the default.
      responses:
        '200':
          description: The AI Visibility tracker.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VisibilityTracker'
        '401':
          description: Missing or invalid credential.
        '403':
          description: Not readable by this credential, or not in this workspace.
        '404':
          description: No such AI Visibility tracker in this workspace.
components:
  schemas:
    VisibilityTracker:
      type: object
      title: VisibilityTracker
      properties:
        id:
          type: string
          description: Unique id.
        location_id:
          type: string
        name:
          type: string
        brand_name:
          type: string
          description: >-
            The brand to detect in AI answers. Defaults from the
            BusinessLocation name.
        brand_domain:
          type: string
          description: >-
            Bare domain (e.g. 'reputably.net') used to detect when an AI answer
            CITES the brand's own site.
        brand_aliases:
          type: array
          items:
            type: string
          description: >-
            Other names the business trades as in AI answers — used when the
            real-world name differs from `brand_name` (e.g. a domain-named
            business like 'fibreglasspoolssouthbrisbane.com.au' that answers
            call 'Fibreglass Pools South Brisbane'). Fed to the analysis prompt
            so these references count as brand_mentioned instead of being missed
            or absorbed into a competitor.
        competitors:
          type: array
          items:
            type: object
            properties:
              name:
                type: string
              domain:
                type: string
          description: >-
            Competitor set for share-of-voice. Each carries a name (detected in
            answer text) and an optional domain (detected in citations).
        engines:
          type: array
          items:
            type: string
          description: >-
            Which AI answer engines to run prompts against. Keys map to
            server/lib/aiEngines registry (e.g. ['chatgpt','gemini','claude']).
        provider:
          type: string
          description: Which backend this tracker runs on.
        is_active:
          type: boolean
        run_frequency_hours:
          type: integer
          description: >-
            How often the scheduler runs every active prompt against every
            enabled engine. peec.ai-style daily cadence by default.
        last_run_at:
          type: string
          description: >-
            Bumped by manual 'Run now' and by the scheduler — drives the 'last
            run X ago' UI label.
        last_scheduled_run_at:
          type: string
          description: >-
            Owned by the scheduler. Gates the run_frequency_hours cadence
            independent of manual runs.
        last_run_summary:
          type: object
          description: >-
            Outcome of the most recent run attempt, written by
            runVisibilityTracker on EVERY exit path (success, partial failure,
            quota stop, fatal error) so the UI can report what actually
            happened. Success shape: { at, ran, errors, planned, truncated,
            quota_used, quota_limit, error_samples? }. Fatal shape: { at, ran:
            0, message }.
  securitySchemes:
    agentKey:
      type: http
      scheme: bearer
      description: >-
        An agent key (`rpk_...`) created in Settings → API & MCP, sent as
        `Authorization: Bearer rpk_...`. Bearer only: a cookie session can never
        drive this API. An OAuth 2.1 access token obtained from the same host
        works identically and lands on the same ceiling.

````