/api/selfThe Ouroboros Endpoint - Documentation about the documentation system itself.
This is the most self-referential endpoint in the GROOV API. It describes:
"The snake biting its own tail" - Ancient symbol of completeness and eternity
Traditional documentation:
Code → (Manual Process) → Documentation
↓
(Gets outdated, incomplete, wrong)
GROOV self-documentation:
┌──────────────────────────┐
│ Grav CMS Content │
│ (API Documentation) │ ←──┐
└──────────┬───────────────┘ │
│ │
│ Served via │
▼ │
┌──────────────────────────┐ │
│ Grav REST API │ │
│ (The API being │ │
│ documented) │ │
└──────────┬───────────────┘ │
│ │
│ Consumed by │
▼ │
┌──────────────────────────┐ │
│ GROOV Browser │ │
│ (Displays docs from │ │
│ the API it documents) │────┘
└──────────────────────────┘
The snake bites its tail
.json to any route → get JSON response/api/self.json returns this pagePage file: /user/pages/03.api/default.md
---
title: 'GROOV API'
process:
markdown: true
twig: true
visible: true
routable: true
---
# Content here
Access patterns:
https://api.infinity.b0x.store/apihttps://api.infinity.b0x.store/api.jsonSame content, different formats - no code duplication.
*Generated: 2025-12-10 13:18:25*
Renders as current timestamp every time page is accessed. Documentation is always current.
This endpoint can validate itself:
# Fetch this page's documentation
curl https://api.infinity.b0x.store/api/self.json
# Verify it describes itself
jq '.title' response.json
# Output: "Self Endpoint - The Meta-Documentation"
# Read how to read itself
jq '.content' response.json | grep "curl.*api/self"
The documentation proves it works by responding to the request.
/api/pages)This endpoint creates a "strange loop":
For Developers:
For Users:
For Maintainers:
Reading this page creates multiple levels of self-reference:
/api/self endpoint/api/self endpointEach level contains the level below it, like Russian dolls or fractal patterns.
Since the documentation is the API:
/user/pages/No separate doc builds, no external tools - pure simplicity.
This page will always exist as long as the API exists. It documents the system that serves it. It proves itself by being readable. It creates knowledge by describing knowledge.
The snake bites its tail. The circle is complete. 🐍
Generated: 2025-12-10 13:18:25
This page is part of the infinite loop it describes.