Procedure 01 / Quickstart
First calls.
Four operations in order: admit a node, admit a relation, read a traversal, and request a derivation. The commands below use the temporary hosted address and a provisioned token.
You need a base URL and a DEVELOPER bearer token. There is no signup flow. See Access if you do not have one.
- 01
Set the host
The hosted address is temporary. Replace it when a stable domain is issued.
shell export GNOMON_API_URL="https://api.gnomon.one" - 02
Hold the token
Keep the token in an environment variable or secret manager. Do not commit it, put it in a URL, or paste it into logs.
shell export GNOMON_TOKEN="gnm1.<claims>.<signature>" - 03
Check liveness
/healthis the only open route. It does not prove the engine is loaded.request curl -sS "$GNOMON_API_URL/v1/health"response {"status":"ok"} - 04
Observe one text
The text is encoded as UTF-8, admitted as a node, and reduced to a 16-character invariant. The same text and configuration produce the same hash.
request curl -sS "$GNOMON_API_URL/v1/observe" -H "Authorization: Bearer $GNOMON_TOKEN" -H "Content-Type: application/json" --data '{"text":"the sky is blue"}'response shape {"node":"<16-hex-invariant>"} - 05
Admit a relation
A sequence writes directed transitions between consecutive nodes. A single observation has no relation to traverse.
request curl -sS "$GNOMON_API_URL/v1/observe-seq" -H "Authorization: Bearer $GNOMON_TOKEN" -H "Content-Type: application/json" --data '{"epithets":["sky","blue"]}'response shape {"nodes":["<hash>","<hash>"]} - 06
Query
/queryaccepts text or an existing hash. If the text is not yet a node, it is admitted first. The response is the text projection.request curl -sS "$GNOMON_API_URL/v1/query" -H "Authorization: Bearer $GNOMON_TOKEN" -H "Content-Type: application/json" --data '{"query":"sky","payload_kind":"text"}'response shape {"emitted_text":"..."} - 07
Emit from an anchor
/emitdoes not admit anything. If the anchor is absent, the result isUNKNOWN_SEAM.request curl -sS "$GNOMON_API_URL/v1/emit" -H "Authorization: Bearer $GNOMON_TOKEN" -H "Content-Type: application/json" --data '{"node":"<node-hash>","mode":"nlc_v2","max_steps":15}'response shape {"verdict":"...","emitted_text":"..."} - 08
Derive
/derivereconstructs a justification between two nodes. The HTTP route reports promotion only; the sealed proof is exposed through the Python engine, not this route.request curl -sS "$GNOMON_API_URL/v1/derive" -H "Authorization: Bearer $GNOMON_TOKEN" -H "Content-Type: application/json" --data '{"query":"sky","target":"blue","payload_kind":"proof","learn":false}'response shape {"promoted":false}
What the outputs mean
A node hash is identity, not a label. The readable text is an epithet attached to that identity. Two different texts can share an invariant if they share the same block structure; the hash is the address, not a semantic summary.
UNKNOWN_SEAM is a real answer: the requested relation is not present. It is not a prompt to invent one and it is not an HTTP 404.
Do not expect a reset
There is no HTTP route to delete nodes or clear the substrate. Every observation is written to the instance and persists across restarts when persistence is enabled. Use a dedicated instance for experiments.
If a call fails
Failures are JSON objects with a stable error string. Authentication failures are 401 or 403; malformed requests and engine exceptions are 400. See Errors & limits.