---
title: "[Beta] Get issue"
method: GET
path: "/api/v1/platform/issues/{id}"
tags: ["issues"]
---

# \[Beta\] Get issue

`GET /api/v1/platform/issues/{id}`

## Request

- Base URL: `https://api.smith.langchain.com`
- URL: `https://api.smith.langchain.com/api/v1/platform/issues/{id}`
- Auth: one of:
  - API key in header `X-API-Key`
  - API key in header `X-Tenant-Id`
  - HTTP bearer

**Beta:** This endpoint is in active development and may change without notice.

Returns one issue for the authenticated tenant.

## Path parameters

- `id` string, required

## Query parameters

- `include_linear_context` boolean

## Response `200`

OK

- IssuesIssue
  - `actions` object
  - `auto_resolution_evidence` object
  - `auto_resolution_state` string: Nil unless eligible: "auto_close" or "prompt". Evidence carries the deciding gate.
  - `created_at` string
  - `description` string
  - `evidence` IssuesEvidence
    - `series` IssuesSeriesEvidence
      - `metric_definition` RunsanalyticsMetricDefinition, required
        - `denominator` RunsanalyticsScalarMetricDefinition
          - `entity` 'run' | 'feedback'
          - `field` 'latency_seconds' | 'first_token_seconds' | 'total_tokens' | 'prompt_tokens' | 'completion_tokens' | 'total_cost' | 'prompt_cost' | 'completion_cost' | 'feedback_score' | 'prompt_token_details.cache_creation' | 'prompt_token_details.cache_read' | 'prompt_token_details.ephemeral_1h_input_tokens' | 'prompt_token_details.ephemeral_5m_input_tokens' | 'prompt_token_details.audio' | 'prompt_token_details.image' | 'prompt_token_details.video' | 'completion_token_details.reasoning' | 'completion_token_details.audio' | 'completion_token_details.image' | 'completion_token_details.video' | 'prompt_cost_details.cache_creation' | 'prompt_cost_details.cache_read' | 'prompt_cost_details.ephemeral_1h_input_tokens' | 'prompt_cost_details.ephemeral_5m_input_tokens' | 'prompt_cost_details.audio' | 'prompt_cost_details.image' | 'prompt_cost_details.video' | 'completion_cost_details.reasoning' | 'completion_cost_details.audio' | 'completion_cost_details.image' | 'completion_cost_details.video'
          - `filter` string
          - `params` RunsanalyticsMetricParams
            - `bucket_count` integer
            - `feedback_key` string
            - `p` number
          - `type` 'count' | 'sum' | 'avg' | 'min' | 'max' | 'percentile' | 'ratio' | 'histogram', required
        - `entity` 'run' | 'feedback'
        - `field` 'latency_seconds' | 'first_token_seconds' | 'total_tokens' | 'prompt_tokens' | 'completion_tokens' | 'total_cost' | 'prompt_cost' | 'completion_cost' | 'feedback_score' | 'prompt_token_details.cache_creation' | 'prompt_token_details.cache_read' | 'prompt_token_details.ephemeral_1h_input_tokens' | 'prompt_token_details.ephemeral_5m_input_tokens' | 'prompt_token_details.audio' | 'prompt_token_details.image' | 'prompt_token_details.video' | 'completion_token_details.reasoning' | 'completion_token_details.audio' | 'completion_token_details.image' | 'completion_token_details.video' | 'prompt_cost_details.cache_creation' | 'prompt_cost_details.cache_read' | 'prompt_cost_details.ephemeral_1h_input_tokens' | 'prompt_cost_details.ephemeral_5m_input_tokens' | 'prompt_cost_details.audio' | 'prompt_cost_details.image' | 'prompt_cost_details.video' | 'completion_cost_details.reasoning' | 'completion_cost_details.audio' | 'completion_cost_details.image' | 'completion_cost_details.video'
        - `numerator` RunsanalyticsScalarMetricDefinition
          - `entity` 'run' | 'feedback'
          - `field` 'latency_seconds' | 'first_token_seconds' | 'total_tokens' | 'prompt_tokens' | 'completion_tokens' | 'total_cost' | 'prompt_cost' | 'completion_cost' | 'feedback_score' | 'prompt_token_details.cache_creation' | 'prompt_token_details.cache_read' | 'prompt_token_details.ephemeral_1h_input_tokens' | 'prompt_token_details.ephemeral_5m_input_tokens' | 'prompt_token_details.audio' | 'prompt_token_details.image' | 'prompt_token_details.video' | 'completion_token_details.reasoning' | 'completion_token_details.audio' | 'completion_token_details.image' | 'completion_token_details.video' | 'prompt_cost_details.cache_creation' | 'prompt_cost_details.cache_read' | 'prompt_cost_details.ephemeral_1h_input_tokens' | 'prompt_cost_details.ephemeral_5m_input_tokens' | 'prompt_cost_details.audio' | 'prompt_cost_details.image' | 'prompt_cost_details.video' | 'completion_cost_details.reasoning' | 'completion_cost_details.audio' | 'completion_cost_details.image' | 'completion_cost_details.video'
          - `filter` string
          - `params` RunsanalyticsMetricParams
            - `bucket_count` integer
            - `feedback_key` string
            - `p` number
          - `type` 'count' | 'sum' | 'avg' | 'min' | 'max' | 'percentile' | 'ratio' | 'histogram', required
        - `params` RunsanalyticsMetricParams
          - `bucket_count` integer
          - `feedback_key` string
          - `p` number
        - `type` 'count' | 'sum' | 'avg' | 'min' | 'max' | 'percentile' | 'ratio' | 'histogram', required
      - `run_filter` string: Narrows what is measured; the renderer ANDs its root scope over it.
      - `window_end` string, date-time
      - `window_start` string, date-time: The view the chart opens at, not a clamp. Start alone renders start -> now.
    - `type` 'series', required
  - `first_seen_at` string
  - `fix_branch` string: Legacy: branch of the oldest fix in the board's oldest connected repository.
  - `fix_dispatched_at` string
  - `fix_pr_number` integer
  - `fix_prompt` string: Issue-level: the problem every fix shares, and the last time a fix run was dispatched for this issue — one run works several fixes.
  - `fix_verification` IssuesIssueFixVerification
    - `attempt` integer
    - `baseline_experiment_id` string, uuid
    - `dataset_id` string, uuid
    - `parent_deployment_id` string, uuid
    - `preview_deployment_id` string, uuid
    - `preview_experiment_id` string, uuid
    - `reason` string
    - `root_trace_ids` string[]
    - `status` 'awaiting_preview' | 'verifying' | 'passed' | 'failed' | 'inconclusive' | 'timeout' | 'error'
    - `updated_at` string, date-time
  - `fixes` IssuesFix[]: Newest first.
    - `branch` string, nullable, required
    - `created_at` string, date-time, required
    - `id` string, required
    - `pr_number` integer, nullable, required
    - `provider` 'github' | 'gitlab', required
    - `provider_web_base_url` string, nullable, required: ProviderWebBaseURL is the instance the fix was opened on; null on GitHub fixes from before it was recorded.
    - `repo_url` string, required
    - `updated_at` string, date-time, required
  - `id` string
  - `last_seen_at` string
  - `linear_context` IssuesLinearContext
    - `github_pr_urls` string[]
    - `workflow_state` string
  - `linear_sync` IssuesLinearSync
    - `identifier` string
    - `issue_id` string
    - `last_attempted_at` string, date-time
    - `last_error` string
    - `last_synced_at` string, date-time
    - `linear_issue_id` string
    - `state` 'pending' | 'synced' | 'failed' | 'auth_required' | 'paused'
    - `url` string
  - `name` string
  - `proposed_context_fixes` object[]
  - `proposed_examples` object[]
  - `proposed_fix` string
  - `proposed_prompt_fixes` object[]
  - `recurrences_since_watching` integer: RecurrencesSinceWatching counts linked traces whose run start_time is after watching_since — i.e. recurrences observed during the current watch period.
  - `session_id` string
  - `severity` 0 | 1 | 2 | 3
  - `status` 'open' | 'fixing' | 'watching' | 'completed' | 'ignored'
  - `tags` string[]
  - `tenant_id` string
  - `traces` object
  - `updated_at` string
  - `validation_result` IssuesIssueValidationResult
    - `active_revision_id` string, uuid
    - `baseline_experiment_id` string, uuid
    - `completed_at` string, date-time
    - `dataset_id` string, uuid
    - `deployment_id` string, uuid
    - `outcome` 'reproduced' | 'not_reproduced' | 'inconclusive' | 'error'
    - `reason` string
    - `root_trace_ids` string[]
  - `watching_since` string

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found
- `500`: Internal Server Error

## Changes

- **2026-10-23** `e9b5f2bcae6f`: 2 info
  - added the required property `fixes/items/provider` to the response with the `200` status
  - added the required property `fixes/items/provider_web_base_url` to the response with the `200` status
- **2026-10-16** `1a8ee9358d81`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/langchain-ai/apis/langsmith/changes/api/v1/platform/issues/:id/get.md)

---

[API](https://skmtc.dev/langchain-ai/apis/langsmith.md) - [All operations](https://skmtc.dev/langchain-ai/apis/langsmith/llms.txt) - [OpenAPI document](https://skmtc.dev/langchain-ai/apis/langsmith/revisions/7a01c01f75e8?raw)
