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

# Get tracker

> Get a specific tracker by its public ID



## OpenAPI

````yaml /openapi.yaml get /trackers/{trackerPublicId}
openapi: 3.1.0
info:
  title: Concrete API
  description: >
    The Concrete API provides programmatic access to view and create select data
    in Concrete.  The API is primarily intended to facilitate data pipeline
    automations for portfolio management.
  version: 1.0.0
  license:
    name: MIT
  contact:
    name: Concrete Support
    email: support@concretehq.com
    url: https://concretehq.com
servers:
  - url: https://app.concretehq.com/api/v1
    description: Production server
security:
  - bearerAuth: []
tags:
  - name: Authentication
    description: Authentication and member information
  - name: Companies
    description: Portfolio company management
  - name: Funds
    description: Fund and portfolio management
  - name: Meetings
    description: External meeting imports
  - name: Notes
    description: Notes attached to companies and people
  - name: Connections
    description: Data connections and message uploads
  - name: Trackers
    description: Tracked metrics and their per-company value history
paths:
  /trackers/{trackerPublicId}:
    get:
      tags:
        - Trackers
      summary: Get tracker
      description: Get a specific tracker by its public ID
      operationId: getTracker
      parameters:
        - name: trackerPublicId
          in: path
          description: Tracker public ID
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Tracker details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Tracker'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  schemas:
    Tracker:
      type: object
      description: |
        A tracker defines a metric monitored across portfolio companies
        (e.g. ARR, headcount, cash balance). Concrete extracts tracker values
        from incoming emails, files, and meetings automatically; values can
        also be entered manually.
      required:
        - publicId
        - name
        - kind
        - ingestionEnabled
        - createdAt
        - updatedAt
      properties:
        publicId:
          type: string
          description: Tracker public ID
          example: abc123def456
        name:
          type: string
          description: Tracker name
          example: ARR
        kind:
          type: string
          enum:
            - money
            - number
            - percent
            - boolean
            - text
            - score
          description: |
            Data type of the tracker. Determines the JSON type of each value's
            `value` field: `boolean` → boolean, `text` → string,
            `money`/`number`/`percent`/`score` → number.
          example: money
        preferredUnit:
          type: string
          nullable: true
          description: Preferred display unit for values (e.g. "USD", "employees")
          example: USD
        description:
          type: string
          nullable: true
          description: What this tracker measures
          example: Annual recurring revenue as most recently reported
        ingestionEnabled:
          type: boolean
          description: Whether automatic extraction from incoming content is enabled
        valuePolicy:
          nullable: true
          allOf:
            - $ref: '#/components/schemas/TrackerValuePolicy'
        createdAt:
          type: string
          format: date-time
          description: When the tracker was created
        updatedAt:
          type: string
          format: date-time
          description: When the tracker definition was last updated
      example:
        publicId: trk123abc456
        name: ARR
        kind: money
        preferredUnit: USD
        description: Annual recurring revenue as most recently reported
        ingestionEnabled: true
        valuePolicy:
          kind: point_in_time
          denomination:
            allowed:
              - month
              - year
            preferred: year
        createdAt: '2026-01-10T09:00:00Z'
        updatedAt: '2026-04-02T17:30:00Z'
    TrackerValuePolicy:
      description: |
        Constraints on how values for this tracker are reported. 
        Use it to interpret the period fields on
        values and the bounds of score trackers. Discriminated by `kind`;
        see each variant for details. Trackers without period semantics
        (e.g. boolean or text trackers) have a null valuePolicy.
      oneOf:
        - $ref: '#/components/schemas/PeriodTotalValuePolicy'
        - $ref: '#/components/schemas/PointInTimeValuePolicy'
        - $ref: '#/components/schemas/ScoreValuePolicy'
      discriminator:
        propertyName: kind
        mapping:
          period_total:
            $ref: '#/components/schemas/PeriodTotalValuePolicy'
          point_in_time:
            $ref: '#/components/schemas/PointInTimeValuePolicy'
          score:
            $ref: '#/components/schemas/ScoreValuePolicy'
    Error:
      type: object
      required:
        - error
      properties:
        error:
          type: string
          description: Human-readable error message
          example: Not found
    PeriodTotalValuePolicy:
      type: object
      description: |
        For metrics that accumulate over a bounded window, like quarterly
        revenue or monthly GMV. The key test: does the value grow as time
        passes within the period? Values for these trackers carry a
        `period` of kind `period_total` whose `cadence` describes the
        accumulation window.
      required:
        - kind
        - cadence
      properties:
        kind:
          type: string
          enum:
            - period_total
        cadence:
          type: object
          description: |
            Which reporting cadences are permitted. `allowed: null` means any
            cadence is valid; an array restricts values to those windows.
            `preferred` is the default cadence and is always one of `allowed`
            when `allowed` is an array.
          required:
            - allowed
          properties:
            allowed:
              type: array
              nullable: true
              items:
                $ref: '#/components/schemas/PeriodWindow'
              description: Permitted accumulation windows (null = any)
            preferred:
              $ref: '#/components/schemas/PeriodWindow'
      example:
        kind: period_total
        cadence:
          allowed:
            - unit: quarter
              length: 1
          preferred:
            unit: quarter
            length: 1
    PointInTimeValuePolicy:
      type: object
      description: |
        For snapshot metrics, like ARR, headcount, cash balance, churn, or
        gross margin. The key test: if time froze, would the value still be
        valid? Ratios, percentages, and rates are always point-in-time.

        The three optional sub-fields qualify the snapshot in different ways
        and are omitted entirely when not applicable to the metric:

        - `observationWindow`: the intrinsic lookback that defines the metric.
          Used when the value cannot be interpreted without its window, e.g.
          weekly active users (7 days) or 30-day churn.
        - `underlyingCadence`: the reporting period the source data came from,
          pure provenance. Used when the metric concept needs no window but
          the inputs come from a period, e.g. gross margin from a quarterly
          report. Does not change the metric's meaning.
        - `denomination`: for run-rate metrics that can be quoted per month or
          per year (MRR vs ARR).

        In each sub-field, `allowed: null` means any value is permitted and an
        array restricts values to the listed options. A pure snapshot like
        headcount has none of the three.
      required:
        - kind
      properties:
        kind:
          type: string
          enum:
            - point_in_time
        observationWindow:
          type: object
          description: >-
            Intrinsic lookback window that defines the metric (e.g. WAU's 7
            days)
          required:
            - allowed
          properties:
            allowed:
              type: array
              nullable: true
              items:
                $ref: '#/components/schemas/PeriodWindow'
              description: Permitted observation windows (null = any)
            preferred:
              $ref: '#/components/schemas/PeriodWindow'
        underlyingCadence:
          type: object
          description: Reporting period the source data came from (provenance only)
          required:
            - allowed
          properties:
            allowed:
              type: array
              nullable: true
              items:
                $ref: '#/components/schemas/PeriodWindow'
              description: Permitted source cadences (null = any)
            preferred:
              $ref: '#/components/schemas/PeriodWindow'
        denomination:
          type: object
          description: >-
            For run-rate metrics: whether values are quoted per month (MRR) or
            per year (ARR)
          required:
            - allowed
          properties:
            allowed:
              type: array
              nullable: true
              items:
                type: string
                enum:
                  - month
                  - year
              description: Permitted denominations (null = any)
            preferred:
              type: string
              enum:
                - month
                - year
      example:
        kind: point_in_time
        denomination:
          allowed:
            - month
            - year
          preferred: year
    ScoreValuePolicy:
      type: object
      description: |
        For bounded AI-generated ratings, like a financial health score or a
        risk score. Score values have no period semantics; the value's `note`
        field carries the reasoning behind the score.
      required:
        - kind
        - min
        - max
        - direction
      properties:
        kind:
          type: string
          enum:
            - score
        min:
          type: number
          description: Lower bound of the scale
          example: 0
        max:
          type: number
          description: Upper bound of the scale
          example: 100
        direction:
          type: string
          enum:
            - higher_is_better
            - lower_is_better
          description: Whether higher scores are good (quality) or bad (risk)
          example: higher_is_better
      example:
        kind: score
        min: 0
        max: 100
        direction: higher_is_better
    PeriodWindow:
      type: object
      description: |
        A time window expressed as a unit and a length, e.g.
        `{ "unit": "day", "length": 7 }` for a 7-day window or
        `{ "unit": "quarter", "length": 1 }` for one quarter.
        Cadences use month/quarter/year; observation windows may also use
        day and week.
      required:
        - unit
        - length
      properties:
        unit:
          type: string
          enum:
            - day
            - week
            - month
            - quarter
            - year
          example: month
        length:
          type: integer
          minimum: 1
          example: 1
  responses:
    Unauthorized:
      description: Unauthorized
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: API key authentication using Bearer token format

````