Run link 404s — v2 endpoint can't find run that v1 just returned

Summary: The LangSmith trace viewer 404s for trace links that were generated from a successful client.read_run(run_id) call. The /v1 endpoint continues to return the run, but the /v2 endpoint fails with "run not found: resource not found", and the UI falls back to a 404 state.

How the link is generated

run = client.read_run(run_id)   # succeeds — returns a real Run
# we share the resulting trace URL (e.g. run.url or the standard
# /o/{org}/projects/p/{project}/r/{run_id} format) 

So the run is known to exist and be readable at the time the link is created.

Steps to reproduce

  1. Generate a trace URL from a successful client.read_run(run_id) call.

  2. Open the URL in a browser, watch the network tab.

Expected Trace renders.

Actual

  • First 3–4 requests against /v1 succeed and return the run.

  • Subsequent /v2 requests for the same run ID return:

    json

    { "error": "run not found: resource not found" }
    
  • UI renders an empty / 404 state.

The run is unambiguously present — client.read_run() returned it, and /v1 is still returning it in the same page load. The /v2 lookup path appears to be looking at a different (and inconsistent) source.

Hi @sauravj , thanks for reporting this. I’m looking into this and will follow up shortly.

Hi @sauravj

We validated this behavior with a test run. The run exists and is readable via client.read_run() and the classic /runs/{id} path. The failure appears specific to the /v2 lookup path, which requires the correct project ID and the run’s actual start time.

In our test, /v2 succeeded when we used the stored run.start_time, but returned run not found: resource not found when the lookup used a different timestamp, for example one derived from the UUIDv7 run ID rather than the stored run start time. This means the run can exist and still fail in the /v2 trace viewer lookup if the v2 lookup context does not match exactly.

Relevant API references:

For run field context such as id, trace_id, start_time, dotted_order, and app_path, this page is also useful: https://docs.langchain.com/langsmith/run-data-format

Hey Steve,

Thanks for the quick reply. Since i’m using the langsmith SDK to get the run url, what do you suggest i do instead?