Endpoint
127.0.0.1). It is not reachable from other machines.
When to use HTTP vs CLI
| Scenario | Recommended path |
|---|---|
| One-off event from a shell script | urchin ingest --content "..." |
| Events from a long-running process | HTTP POST /ingest |
| Events from a Rust application | urchin-sdk crate |
| Events from a non-Rust application | HTTP POST /ingest |
| IDE/agent integration | MCP (urchin mcp) |
Minimal example
Full example with auth and metadata
Using urchin-sdk (Rust)
Authentication
Authentication is opt-in. Setintake_token in config.toml or URCHIN_INTAKE_TOKEN to require a Bearer token.
When a token is configured:
401 {"error": "unauthorized"}.
Starting the server
Required fields
EveryPOST /ingest body must include:
| Field | Notes |
|---|---|
id | UUID v4 string. Generate client-side. Used as a deduplication key. |
timestamp | RFC 3339 UTC. Example: 2026-05-04T20:00:00Z |
source | Non-blank string identifying the originating tool. |
kind | One of: conversation, agent, command, commit, file, decision |
content | Non-blank string. The memory payload. |
422. Blank content or source returns 400.
See POST /ingest for the full API reference.