API Reference
All endpoints return JSON and are accessible without authentication. CORS is enabled for all origins.
Every node page is also available as markdown by appending .md to the URL (e.g., /nodes/econ/profit-extraction.md).
Nodes
Get a single node
GET /api/nodes/{COORDINATE}
Example:
curl https://retflo.org/api/nodes/ECON.PROFIT.1
Response:
{
"coordinate": "ECON.PROFIT.1",
"domain": "econ",
"tags": ["profit", "surplus-value", "exploitation"],
"aliases": ["profit is earned", "risk justifies reward"],
"recursion_point": true,
"links": {
"redirect": ["PHIL.COERCION.1", "ECON.EXIT.1"]
},
"content": "# The Profit Extraction Problem\n\n..."
}
List nodes
GET /api/nodes
GET /api/nodes?domain=econ
Returns an array of all nodes, optionally filtered by domain. Each entry includes metadata but not full content (use the single-node endpoint for content).
Domains
Get a domain
GET /api/domains/{domain}
Example:
curl https://retflo.org/api/domains/econ
Returns domain metadata and a list of its nodes.
List domains
GET /api/domains
Returns all 7 domains with node counts.
Graph
Full connection graph
GET /api/graph
Returns the complete graph structure: all nodes and all connections between them.
{
"nodes": [...],
"connections": [
{
"source": "AUTH.FEDERATION.1",
"target": "AUTH.ENFORCEMENT.1",
"type": "flow",
"why": "..."
}
]
}
Search
Search nodes
GET /api/search?q={query}
GET /api/search?q={query}&domain={domain}&tag={tag}
Parameters:
| Parameter | Type | Description |
|---|---|---|
q | string | Search query (matches title, content, aliases) |
domain | string | Filter by domain (auth, econ, hist, phil, rhet, soc, tech) |
tag | string | Filter by tag |
Example:
curl "https://retflo.org/api/search?q=profit&domain=econ"
Rate Limiting
No authentication required. Rate limiting may be applied to prevent abuse. If you need high-volume access, consider fetching /api/graph once and caching locally.