Documentation Index
Fetch the complete documentation index at: https://docs.orinadus.com/llms.txt
Use this file to discover all available pages before exploring further.
Endpoint
Request body
All fields except the required ones are optional. Optional fields absent from the body are omitted from the JSONL line on disk (nonull keys written).
RFC 4122 UUID v4. Must be generated client-side. Used as a deduplication key. Example:
"56816532-adb7-4000-8a0f-1dda8408aab5"RFC 3339 UTC timestamp. Example:
"2026-05-04T20:00:00Z"Tool or system that produced the event. Must not be blank after trim. Examples:
"claude", "copilot", "cli", "ci", "my-script".Event kind. Accepted values:
| Value | Use case |
|---|---|
conversation | AI chat turn, notes, conversational content |
agent | Agent-generated reflection or decision |
command | Shell command, CLI invocation |
commit | Git commit |
file | File creation, edit, or deletion |
decision | Architectural or product decision |
<other> | Any other string is stored as Other(value) |
The memory payload. Must not be blank after trim.
Absolute path to the repo or workspace this event belongs to.
Session identifier. Examples: Copilot session UUID, tmux session name.
Short human-readable title for display in vault projections and
urchin_status output.Free-form tags. Omitted from JSONL if empty.
Identity envelope.All sub-fields are optional. The entire
actor field is omitted from JSONL if not provided.Vault identifier for multi-brain setups. Optional.
Responses
200 OK — written
202 Accepted — ephemeral drop
400 Bad Request — validation failure
content or source is present but blank (empty or whitespace-only after trim).
401 Unauthorized — auth failure
intake_token is configured and the Authorization header is missing, uses the wrong prefix, or contains the wrong token.
Bearer prefix (capital B, one space) is required.
422 Unprocessable Entity — schema failure
Body is not valid JSON, or one of the required fields (id, timestamp, source, kind, content) is absent from the body. Response body is Axum’s default JSON extractor error — not normalised to the error envelope above.
500 Internal Server Error — write failure
journal.append() failed (disk full, permission error, mutex poisoned).
Examples
JSONL on-disk format
Each successfulPOST /ingest appends one line:
None optional fields are omitted. Empty tags are omitted.