---
title: "Get Diagnose Api"
method: GET
path: "/diagnose"
tags: ["public-api"]
---

# Get Diagnose Api

`GET /diagnose`

## Request

- Base URL: `https://api.trakkr.ai`
- URL: `https://api.trakkr.ai/diagnose`
- Auth: HTTP bearer

Get diagnosis results, history, or usage.

- diagnosis_id: Returns full diagnosis result (poll until status is completed/failed).
- view=history: Returns past diagnoses for a brand.
- view=usage: Returns monthly usage quota.

Subject to monthly usage limits based on your plan.

## Query parameters

- `brand_id` string, uuid, nullable: Brand UUID (required for history/usage views)
- `diagnosis_id` string, nullable: Diagnosis ID to retrieve results
- `market_id` string, nullable: Exact brand market id, 'global', or 'legacy'. Omit for all scopes.
- `view` 'history' | 'usage', nullable: View type: history or usage
- `limit` integer: Max results for history view

## Response `200`

Successful Response

- union
  - DiagnoseResultApiResponse: GET /diagnose?diagnosis_id=X response.
    - `id` string, required
    - `brand_id` string, required
    - `query` string, required
    - `location` string, nullable
    - `market_id` string, nullable
    - `market_scope` 'exact' | 'global' | 'legacy'
    - `status` string, required
    - `error_message` string, nullable
    - `visibility_score` number, nullable
    - `best_position` integer, nullable
    - `model_positions` object, nullable
    - `competitors` DiagnoseCompetitorApi[], nullable
      - `name` string, required
      - `positions` object
      - `score` number
    - `model_consistency_score` number, nullable
    - `hypothesis_factors` DiagnoseHypothesisFactorApi[], nullable
      - `factor` string, required
      - `mentioned_by` string[]
      - `count` integer
      - `type` string
      - `validation_status` string, nullable
    - `confidence_score` integer, nullable
    - `confidence_level` string, nullable
    - `recommendations` DiagnoseRecommendationApi[], nullable
      - `id` string, required
      - `title` string, required
      - `gap` string, required
      - `effort` string, required
      - `impact` string, required
      - `validation_status` string, required
      - `confidence` string, required
      - `mentioned_by_models` integer
    - `summary` string, nullable
    - `synthesis_summary` object, nullable
    - `variant_analysis` object[], nullable
    - `phrasing_insight` object, nullable
    - `visibility_change` number, nullable
    - `created_at` string, required
    - `completed_at` string, nullable
    - `duration_ms` integer, nullable
    - `credits_used` integer
    - `models_queried` string[], nullable
    - `models_succeeded` string[], nullable
    - `models_failed` string[], nullable
  - DiagnoseHistoryApiResponse: GET /diagnose?view=history response.
    - `diagnoses` DiagnoseSummaryApi[], required
      - `id` string, required
      - `query` string, required
      - `location` string, nullable
      - `market_id` string, nullable
      - `market_scope` 'exact' | 'global' | 'legacy'
      - `visibility_score` number, nullable
      - `best_position` integer, nullable
      - `status` string, required
      - `created_at` string, required
      - `visibility_change` number, nullable
  - DiagnoseUsageApiResponse: GET /diagnose?view=usage response.
    - `used` integer, required
    - `limit` integer, required
    - `remaining` integer, required

## Other responses

- `401`: Missing, malformed, or expired credentials
- `402`: The current plan does not fund this operation
- `403`: Invalid credentials, missing brand access, or insufficient role
- `422`: Validation Error
- `429`: Rate limit exceeded
- `500`: The operation failed
- `503`: Authentication, entitlement, or a required dependency is temporarily unavailable

---

[API](https://skmtc.dev/trakkr/apis/trakkr-api.md) · [All operations](https://skmtc.dev/trakkr/apis/trakkr-api/llms.txt) · [OpenAPI document](https://skmtc.dev/trakkr/apis/trakkr-api/revisions/189a9e76b8d5?raw)
