Skip to content

docs: document observability, frontend errors and the mail API - #12

Merged
PhilippTheServer merged 1 commit into
mainfrom
docs/observability
Aug 26, 2026
Merged

PhilippTheServer merged 1 commit into
mainfrom
docs/observability

Conversation

@PhilippTheServer

Copy link
Copy Markdown
Contributor

Closes #11 · documents OpenTaberna/fastapi#48, #50, and the mail feature

Refreshing the snapshot surfaced eleven undocumented paths — my two frontend-error
endpoints and, it turned out, the entire admin mail API, which had never been written up:

FAIL  API serves `/v1/telemetry/errors`, but no wiki page mentions it
FAIL  API serves `/v1/admin/telemetry/errors`, but no wiki page mentions it
FAIL  API serves `/v1/admin/mail/folders`, but no wiki page mentions it
FAIL  API serves `/v1/admin/mail/folders/{}/messages/{}/attachments/{}`, …
… 12 mail endpoints in total

That the check caught somebody else's undocumented feature is the point of it existing.

What's documented

Frontend errors, including the parts a schema cannot convey: the user agent is reduced
to a family and major version rather than stored, and the reduction doubles as a filter;
grouping is by message rather than stack, because one fault from two routes is one bug; and
the list shows only what browsers managed to send, so a quiet list is no news, not proof
of no errors.

OpenTelemetry settings, and why the endpoint is the seam — no application code imports a
vendor SDK, so pointing it at Datadog is the entire change required.

The admin mail API, all twelve endpoints, read from the running instance rather than
guessed: that a uid is only meaningful alongside its folder, that /status is what to
check first when the others return nothing, and that transactional order mail does not pass
through this API at all.

Verification

$ python3 tools/check_wiki.py
Checked 8 pages against 43 API paths.
OK — every endpoint is documented, and every documented path exists.

Snapshot regenerated from a live instance (43 paths, up from 32).

Merge after OpenTaberna/fastapi#51, since the snapshot includes its endpoints.

Refreshing the snapshot surfaced eleven undocumented paths: the frontend error
endpoints, and the whole admin mail API, which had never been written up.

Documents all of them, plus the OpenTelemetry settings, and carries across the
parts a reader cannot recover from a schema:

Why the OTLP endpoint is the seam — no application code imports a vendor SDK, so
pointing it elsewhere is the entire change needed to use a different backend.

That the user agent is reduced to a family and major version rather than stored,
and that the reduction is also a filter.

That frontend errors are grouped by message rather than by stack, because the
same fault reached from two routes produces two stacks and is one bug.

That the list shows only what browsers managed to send, so an error that breaks
a page badly enough to stop the reporter never arrives — a quiet list is no
news, not proof of no errors.

For mail: that a uid is only meaningful alongside its folder, that /status is
the endpoint to check first when the others return nothing, and that
transactional order mail does not pass through this API at all.

Closes #11

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YY1ekLLeFLkAU2kvdQ8Ey4
@PhilippTheServer
PhilippTheServer merged commit 0266d2a into main Aug 26, 2026
2 checks passed
@PhilippTheServer
PhilippTheServer deleted the docs/observability branch August 26, 2026 16:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Observability, frontend errors and the mail API are undocumented

1 participant