Get Source Detail
Returns detailed information about a specific source (public or private), including the full body text, extracted links from the body, linked agent runs, and linked entities.Request
GET /api/v1/graph/source/{sourceId}?sourceType=public
Path Parameters
| Parameter | Type | Description |
|---|---|---|
sourceId | string | Source ID |
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
sourceType | string | Yes | Source type: public or private |
Headers
| Header | Required | Description |
|---|---|---|
Authorization | Yes | API key in Bearer snorbe_... format |
The workspace is automatically resolved from your API key. No
workspaceId parameter required.Response
{
"id": "clsrc001",
"url": "https://example.com/research-paper",
"title": "Advances in Solid-State Battery Technology",
"description": "A comprehensive review of recent developments...",
"body": "Solid-state batteries have emerged as a promising alternative...",
"bodyLinks": [
{
"title": "Related Study",
"url": "https://example.com/related-study",
"type": "external"
}
],
"sourceType": "public",
"createdAt": "2026-03-10T08:00:00.000Z",
"agentRuns": [
{
"id": "clrun001",
"status": "completed",
"createdAt": "2026-04-01T09:00:00.000Z",
"linkedEntityIds": ["clxxx001", "clxxx002"],
"turnId": "clturn001"
}
],
"linkedEntities": [
{
"id": "clxxx001",
"label": "Solid-State Battery",
"category": "technology",
"kind": "entity"
}
]
}
null if the source is not found in the workspace.
Response Fields
| Field | Type | Description |
|---|---|---|
id | string | Source ID |
url | string | Source URL |
title | string | Source title |
description | string | Source description |
body | string | Full body text of the source |
bodyLinks | object[] | Links extracted from the source body |
bodyLinks[].title | string | Link title |
bodyLinks[].url | string | Link URL |
bodyLinks[].type | string | Link type (e.g., external) |
sourceType | string | Source type (public or private) |
createdAt | string | Creation timestamp (ISO 8601) |
agentRuns | object[] | Agent runs that used this source |
agentRuns[].id | string | Agent run ID |
agentRuns[].status | string | Run status (completed, running, error, etc.) |
agentRuns[].createdAt | string | Run creation timestamp (ISO 8601) |
agentRuns[].linkedEntityIds | string[] | Entity IDs linked to this agent run |
agentRuns[].turnId | string | null | Turn ID associated with this agent run |
linkedEntities | object[] | Entities extracted from or linked to this source |
linkedEntities[].id | string | Entity ID |
linkedEntities[].label | string | Entity name |
linkedEntities[].category | string | Entity category |
linkedEntities[].kind | string | Entity kind |
Examples
curl "https://app.snorbe.deskrex.ai/api/v1/graph/source/clsrc001?sourceType=public" \
-H "Authorization: Bearer snorbe_your_api_key_here"
import requests
resp = requests.get(
"https://app.snorbe.deskrex.ai/api/v1/graph/source/clsrc001",
params={"sourceType": "public"},
headers={"Authorization": "Bearer snorbe_your_api_key_here"},
)
data = resp.json()
if data:
print(f"Source: {data['title']}")
print(f"URL: {data['url']}")
print(f"Body length: {len(data['body'])} chars")
print(f"Links: {len(data['bodyLinks'])}")
print(f"Agent Runs: {len(data['agentRuns'])}")
print(f"Entities: {len(data['linkedEntities'])}")
else:
print("Source not found")
const params = new URLSearchParams({ sourceType: "public" });
const resp = await fetch(
`https://app.snorbe.deskrex.ai/api/v1/graph/source/clsrc001?${params}`,
{ headers: { Authorization: "Bearer snorbe_your_api_key_here" } },
);
const data = await resp.json();
if (data) {
console.log(`Source: ${data.title}`);
console.log(`URL: ${data.url}`);
console.log(`Body length: ${data.body.length} chars`);
console.log(`Links: ${data.bodyLinks.length}`);
console.log(`Agent Runs: ${data.agentRuns.length}`);
console.log(`Entities: ${data.linkedEntities.length}`);
}
Error Responses
| HTTP Status | Description |
|---|---|
| 401 | Invalid, expired, or missing API key |
| 403 | Access denied (source belongs to a different workspace or user) |
| 404 | Source not found (returns null body) |