Get a Topic
Topic detail. Carries the versioned stance series: bucketed,
target-scoped stance of the Topic conversation itself
(supportive, skeptical, neutral, mixed, unknown),
independent from Project-targeted sentiment.
Path Parameters
^topic_[a-f0-9]{20}$Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v3/topics/string"{
"data": {
"id": "topic_a1b2c3d4e5f601234567",
"rank": 1,
"name": "Restaking yield compression",
"summary": "Yields across restaking protocols compress as new AVS demand stalls.",
"trend": 93.2,
"postCount": 412,
"authorCount": 118,
"lastSeenAt": "2026-08-05T04:52:00Z",
"clusters": [
{
"cluster": {
"id": "cl_defi",
"name": "DeFi researchers"
},
"share": 0.41
}
],
"report": {
"id": "tr_9f2b6c41d8a35e07b1c4f6a2d5e8091c3b7a4f60d2e5c8b1a4f7092c5d8e3b6a",
"title": "Restaking Yield Compression",
"publishedAt": "2026-08-04T18:00:00Z"
},
"stance": {
"buckets": [
{
"from": "2026-08-05T03:00:00Z",
"to": "2026-08-05T04:00:00Z",
"dominant": "skeptical",
"shares": {
"supportive": 0.18,
"skeptical": 0.47,
"neutral": 0.22,
"mixed": 0.08,
"unknown": 0.05
}
}
]
}
},
"meta": {
"snapshot": {
"completedAt": "2026-08-05T04:55:00Z",
"latestEvidenceAt": "2026-08-05T04:52:10Z",
"windowStartedAt": "2026-08-04T04:55:00Z"
},
"versions": {
"stanceSchema": "1",
"stanceClassifier": "stance-v2"
}
}
}{
"code": "invalid_request",
"message": "minTrend must be numeric",
"details": {
"fields": [
"minTrend"
]
}
}{
"code": "credential_required",
"message": "Provide an API key via the x-api-key header."
}{
"code": "entitlement_required",
"message": "This resource requires the topic-reports entitlement.",
"details": {
"entitlement": "topic-reports"
}
}{
"code": "not_found",
"message": "No Project matches that locator.",
"details": {
"subject": {
"type": "project",
"locator": "examplechain"
}
}
}{
"code": "rate_limited",
"message": "Minute limit reached.",
"details": {
"limit": 30,
"window": "minute"
}
}{
"code": "internal_error",
"message": "Unexpected error."
}List the current Topic leaderboard GET
The current Topic leaderboard (top 25), a bounded set, so there is no cursor. `meta.snapshot` carries the shared evidence cutoff. With `projectId` (or `projectSlug`) the same authority is projected inversely: only Topics observationally associated with that Project, each item gaining an `association` block.
List Projects associated with a Topic GET
The authoritative Topic→Project association collection. An association is observational: canonical Project-attributed posts that are members of the Topic at the shared cutoff. It never implies partnership, endorsement, taxonomy, causality, or a primary Project. Coverage is a statement about source completeness, separate from association eligibility.