---
title: Get research
description: Returns a research run as it stands, at once.
doc_version: 0.1.0-preview
last_updated: 2026-09-14
---

# Get research

`GET /v1/workspaces/{workspaceId}/research/{researchId}`

Returns a research run as it stands, at once. It never waits. A finished run stays readable for one hour, also while its bucket is offline. After expiresAt it is 404 not_found. Requires the viewer role.

## Authentication

Send `Authorization: Bearer <GRAPHON_API_KEY>`. Read the key from the
GRAPHON_API_KEY environment variable. Never print it.

## Path parameters

- `workspaceId` (string) — The workspace id.
- `researchId` (string) — The research run id.

## Example request

```bash
curl \
  --url "https://api.beta.graphon.ai/v1/workspaces/wspq7ws2np5l8z4/research/rscR7tY2kL9mP" \
  --header "Authorization: Bearer $GRAPHON_API_KEY"
```

## Example response

```json
{
  "research": {
    "id": "rscR7tY2kL9mP",
    "workspaceId": "wsp4k9m2x7q1z8r",
    "bucketId": "bktA1b2C3d4E5",
    "status": "succeeded",
    "mode": "ultra",
    "query": "Why did checkout stall after the 3 October deploy?",
    "history": [],
    "answer": "Release 4.18 raised checkout workers from 8 to 24 but left the database pool at 200 [[SRC:0001]].",
    "sources": [
      {
        "ref": "SRC:0001",
        "key": "incidents/2026-10-03-checkout.pdf",
        "versionId": "ver_3f9c2a7d1e4b4c8a9f0d6b2e5a1c7d3f",
        "score": 0.86,
        "cited": true,
        "location": {
          "page": 2,
          "snippet": "Release 4.18 raised CHECKOUT_WORKERS from 8 to 24. DB_POOL_SIZE stayed at 200."
        }
      }
    ],
    "warnings": [],
    "error": null,
    "imageDescription": null,
    "createdBy": {
      "userId": null,
      "apiKeyId": "apkH3sK8pW2xQ"
    },
    "createdAt": "2026-10-12T09:00:00.000Z",
    "completedAt": "2026-10-12T09:03:42.210Z",
    "expiresAt": "2026-10-12T10:03:42.210Z"
  }
}
```

## Sitemap

See the full [sitemap](/sitemap.md) for all pages.
