gnomondevelopersv0.12.0
Index

Reference 01 / HTTP

HTTP reference.

Nine developer routes. JSON in, JSON out. Everything except /health requires a DEVELOPER bearer token. Operator administration is a separate surface.

Version 0.12.0Base URLhttps://api.gnomon.one
base URL
GNOMON_API_URL="https://api.gnomon.one"

All POST bodies use Content-Type: application/json. Responses are JSON with a JSON Content-Length. The server does not emit CORS headers; call it from a server-side client.

GET /health

no credential

Liveness only. It does not prove a snapshot loaded or that the substrate is empty.

request
curl -sS "$GNOMON_API_URL/v1/health"
response
{"status":"ok"}

GET /status

DEVELOPER

Developer status plus capacity. The values are a copy, not a live subscription.

request
curl -sS "$GNOMON_API_URL/v1/status" -H "Authorization: Bearer $GNOMON_TOKEN"
response
{
  "working_memory": 0,
  "cognitive_load": "STABLE",
  "staging_memory": 0,
  "strict_mode": true,
  "grounding_guard": true,
  "total_production_nodes": 0,
  "total_production_transitions": 0,
  "total_songs": 0,
  "capacity": {
    "max_nodes": null,
    "total_nodes": 0,
    "remaining_nodes": null,
    "at_capacity": false
  }
}

capacity.remaining_nodes is null when the instance is unbounded. Check at_capacity before admitting a batch.

GET /instance

DEVELOPER

Instance identity and counters. The origin id binds tokens to this deployment.

request
curl -sS "$GNOMON_API_URL/v1/instance" -H "Authorization: Bearer $GNOMON_TOKEN"
response
{
  "version": "0.11.0",
  "node_count": 0,
  "tick": 0,
  "heartbeat": 0,
  "accounts_enabled": true,
  "origin_id": "<origin-id>",
  "clock": 0,
  "account_count": 1
}

GET /account

DEVELOPER

The authenticated caller's record. It contains no token material.

request
curl -sS "$GNOMON_API_URL/v1/account" -H "Authorization: Bearer $GNOMON_TOKEN"
response
{
  "account": {
    "account_id": "<16-hex>",
    "name": "...",
    "tier": "DEVELOPER",
    "status": "ACTIVE",
    "epoch": 1,
    "min_epoch": 1,
    "created_clock": 0
  }
}

If accounts are disabled, the response is {"account":null}.

POST /observe

DEVELOPER

Admit one text observation as a node.

FieldTypeDefault
textstringempty string
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>"}

The returned hash is the node identity. The text is an epithet, not the key.

POST /observe-seq

DEVELOPER

Admit an ordered sequence and wire consecutive nodes as directed transitions.

FieldTypeDefault
epithetsarray of stringsif absent, split text
textstringempty
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>"]}

{"text":"sky blue"} is split on whitespace. epithets preserves any spaces inside an item.

POST /query

DEVELOPER

Emit from a query string or an existing node hash.

FieldTypeDefault
querystringempty string
payload_kindstringtext
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":"..."}

If query is not an existing hash, it is admitted as a new observation before emission. Querying unknown text mutates the instance. Use /emit for an anchor-only read.

POST /emit

DEVELOPER

Emit from an existing anchor without admitting anything.

FieldTypeDefault
nodestringempty string
modenlc_v1 or nlc_v2instance default
max_stepsinteger15
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":"..."}

An unknown anchor returns HTTP 200 with verdict and emitted_text set to UNKNOWN_SEAM. It does not create the node.

POST /derive

DEVELOPER

Reconstruct a justification and optionally promote the derived edge.

FieldTypeDefault
querystringempty string
targetstringempty string
payload_kindstringproof
learnbooleantrue
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}

The HTTP response reports promotion only. It does not include the derivation, proof, sigil, or structure digest; those are available through the Python engine.

query and target are admitted if they are not existing hashes.learn:false avoids promotion but still runs the derivation.

Not on this surface

The Python developer API also exposes known_nodes, resolve,observe_bytestream, proof verification, and provenance helpers. Those are not mapped to HTTP routes. Operator account and security administration are also outside this reference.

Next: Errors & limits for the failure contract and operational bounds.