API reference

Every HTTP route, MCP tool, query op, semurg command, SDK call and refusal of the Semurg node, read from the code of the published release r11.88.20261014.06756f3, never hand-written. The blog's how-to guides show them in use.

HTTP routes

Route descriptions are not generated yet: docs/openapi.json is not in the published release r11.88.20261014.06756f3 yet (mix semurg.openapi).

/.well-known/oauth-authorization-server

MethodPathMCP tool
GET/.well-known/oauth-authorization-server

/.well-known/oauth-protected-resource

MethodPathMCP tool
GET/.well-known/oauth-protected-resource
GET/.well-known/oauth-protected-resource/v1/mcp

/api/contact

MethodPathMCP tool
POST/api/contact

/api/health

MethodPathMCP tool
GET/api/health

/api/version

MethodPathMCP tool
GET/api/version

/oauth/authorize

MethodPathMCP tool
GET/oauth/authorize
POST/oauth/authorize

/oauth/register

MethodPathMCP tool
POST/oauth/register

/oauth/token

MethodPathMCP tool
POST/oauth/token

/v1/analytics

MethodPathMCP tool
GET/v1/analytics/catalog
POST/v1/analytics/run

/v1/chat

MethodPathMCP tool
POST/v1/chat/completions

/v1/cluster

MethodPathMCP tool
GET/v1/cluster/conveyor
GET/v1/cluster/customs
POST/v1/cluster/customs/land
GET/v1/cluster/nodes
POST/v1/cluster/nodes/join-token
POST/v1/cluster/nodes/reinstate
POST/v1/cluster/nodes/remove
GET/v1/cluster/nodes/{fp}
POST/v1/cluster/reconcile
GET/v1/cluster/update
POST/v1/cluster/update
GET/v1/cluster/update/status
GET/v1/cluster/util

/v1/embeddings

MethodPathMCP tool
POST/v1/embeddings

/v1/ingest

MethodPathMCP tool
POST/v1/ingest

/v1/keys

MethodPathMCP tool
POST/v1/keys/models

/v1/licence

MethodPathMCP tool
GET/v1/licence
POST/v1/licence/activate

/v1/marketplace

MethodPathMCP tool
GET/v1/marketplace/{kinds}/{key}

/v1/mcp

MethodPathMCP tool
DELETE/v1/mcp
GET/v1/mcp
POST/v1/mcp

/v1/memory

MethodPathMCP tool
POST/v1/memory/context
POST/v1/memory/delete_user
POST/v1/memory/document
POST/v1/memory/forget
POST/v1/memory/recall
POST/v1/memory/relate
POST/v1/memory/remember
GET/v1/memory/status

/v1/messages

MethodPathMCP tool
POST/v1/messages
POST/v1/messages/count_tokens

/v1/models

MethodPathMCP tool
GET/v1/models
GET/v1/models/{id}

/v1/provider

MethodPathMCP tool
GET/v1/provider/openrouter/models

/v1/query

MethodPathMCP tool
POST/v1/query

/v1/rag

MethodPathMCP tool
POST/v1/rag/chat
GET/v1/rag/health

/v1/rerank

MethodPathMCP tool
POST/v1/rerank

/v1/status

MethodPathMCP tool
GET/v1/status

/v1/whoami

MethodPathMCP tool
GET/v1/whoami

MCP tools

  • memory_context:
  • memory_document:
  • memory_forget:
  • memory_recall:
  • memory_relate:
  • memory_remember:
  • memory_status:

Query ops (POST /v1/query, the op field)

aggregate, connector_egress, connector_ingest, connectors, delete_documents, delete_passages, fetch, geo_put, geo_within, histogram, hybrid_ingest, hybrid_query, index_documents, job, job_cancel, marketplace_catalogue, marketplace_install, marketplace_remove, marketplace_show, marketplace_status, marketplace_update, neighbour_ids, oauth_grants, oauth_revoke, object_delete, object_get, object_put, read_rows, resolve, search, similar, stream_count, stream_produce, stream_read, term_docs, term_postings, traverse, ts_ingest, ts_latest, vector_search, vector_top_k

The semurg command on a node

  • semurg admin
  • semurg arena
  • semurg bench
  • semurg join
  • semurg marketplace
  • semurg model
  • semurg uninstall
  • semurg update

SDK calls, per client

  • Python (clients/python/semurg/client.py): close, cluster_util, context, conveyor_report, delete_user, fetch, forget, health, histogram, ingest, ingest_vectors, licence, memory_status, node_status, nodes, query, recall, relate, remember, resolve, search, similar, status, vector_search, vector_top_k, version
    Still in this client, but they call routes this release does not serve: fetch_batch
  • Go (clients/go/semurg/client.go): ClusterUtil, Context, ConveyorReport, DeleteUser, Fetch, Forget, Health, Histogram, Ingest, IngestVectors, Licence, MemoryStatus, NodeStatus, Nodes, Query, Recall, Relate, Remember, Resolve, Search, Similar, Status, VectorSearch, VectorTopK, Version
    Still in this client, but they call routes this release does not serve: FetchBatch
  • Java (clients/java/src/main/java/io/semurg/client/SemurgClient.java): atp, baseUrl, context, deleteUser, fetch, forget, health, histogram, ingest, ingestVectors, memoryStatus, query, recall, relate, remember, resolve, search, similar, status, transport, vectorSearch, vectorTopK, version, ws
    Still in this client, but they call routes this release does not serve: fetchBatch
  • C# (clients/csharp/Semurg.Client/SemurgClient.cs): Atp, ClusterUtil, Context, ConveyorReport, DeleteUser, Fetch, Forget, Health, Histogram, Ingest, IngestVectors, Licence, MemoryStatus, NodeStatus, Nodes, Query, Recall, Relate, Remember, Resolve, Search, SemurgClient, Similar, Status, VectorSearch, VectorTopK, Version, Ws
    Still in this client, but they call routes this release does not serve: FetchBatch
  • F# (clients/fsharp/Semurg.Client.FSharp/Client.fs): answeredIndexed, arr, atpEndpoint, baseUrl, bits, body, config, connect, connectAuth, context, create, d, deleteUser, dispose, fetch, fetchBatch, forget, health, histogram, ingest, ingestVectors, joinMessage, memoryStatus, node, o, off, ok, payload, private, query, raw, recall, relate, remember, resolve, search, similar, socketUrl, status, svc, transport, vectorSearch, vectorTopK, vectorTopKEf, version, withTimeout, withToken, withTransport
    Still in this client, but they call routes this release does not serve: packed
  • Elixir (clients/elixir/lib/semurg/client.ex): aggregate, aggregate_column, cluster_util, connector_egress, connector_ingest, connectors, context, conveyor_report, customs_land, customs_status, delete_documents, delete_passages, delete_user, error, fetch, forget, geo_put, geo_within, health, histogram, hybrid_ingest, hybrid_query, index_documents, ingest, ingest_containers, ingest_vectors, job, job_cancel, licence, marketplace_catalogue, marketplace_install, marketplace_remove, marketplace_show, marketplace_status, marketplace_update, memory_status, model_keys_list, model_keys_mint, model_keys_revoke, model_keys_usage, neighbour_ids, new, node_status, nodes, oauth_grants, oauth_revoke, object_delete, object_get, object_put, object_values, query, read_rows, recall, reconcile_local_copies, relate, remember, require_indexed, resolve, search, similar, status, stream_count, stream_produce, stream_read, term_docs, term_postings, ts_ingest, ts_latest, vector_search, vector_top_k, version, with_transport
    Still in this client, but they call routes this release does not serve: fetch_batch
  • Erlang (clients/erlang/src/semurg_client.erl): context, delete_user, edge, fetch, fetch_batch, forget, health, histogram, ingest, ingest_containers, ingest_vectors, memory_status, new, query, recall, relate, remember, resolve, result, search, similar, status, vector_search, vector_top_k, version, with_transport
  • Rust (clients/rust/src/client.rs): aggregate, aggregate_column, atp_addr, connector_egress, connector_ingest, connectors, customs_land, customs_status, decode, delete_documents, delete_passages, delete_user, encode, fetch, forget, geo_put, geo_within, health, histogram, http_connections_opened, hybrid_ingest, hybrid_query, index_documents, ingest, ingest_containers, ingest_vectors, insecure, job, job_cancel, marketplace_catalogue, marketplace_install, marketplace_remove, marketplace_show, marketplace_status, marketplace_update, memory_context, memory_status, model_keys_list, model_keys_mint, model_keys_revoke, model_keys_usage, neighbour_ids, new, oauth_grants, oauth_revoke, object_delete, object_get, object_put, prefer_atp, query, read_rows, recall, relate, remember, resolve, search, similar, status, stream_count, stream_produce, stream_read, term_docs, term_postings, transport, ts_ingest, ts_latest, vector_search, vector_top_k, vector_top_k_ef, version, with_atp_addr, with_timeout, with_token, with_transport
    Still in this client, but they call routes this release does not serve: fetch_batch
  • Julia (clients/julia/src/client.jl): context, ingest, ingest_vectors, query, recall, remember, vector_search, vector_top_k, version
    Still in this client, but they call routes this release does not serve: fetch_batch
  • C++ (clients/cpp/src/client.cpp): decode_json, ensure_http, fetch, get_json, health, histogram, ingest, ingest_containers, ingest_vectors, post_bin, post_json, query, resolve, search, similar, status, vector_search, vector_top_k, version
    Still in this client, but they call routes this release does not serve: fetch_batch
  • OCaml (clients/ocaml/lib/client.ml): base_url, close, context, create, decode_json_response, delete_user, fetch, forget, get, health, histogram, http_connections_opened, ingest, ingest_vectors, memory_status, pack_ids, pct, post_json, query, recall, relate, remember, require_indexed, resolve, run_bin, run_json, sdk_version, search, similar, status, transport, trim_trailing_slash, vector_search, vector_top_k, version, with_transport, with_user
    Still in this client, but they call routes this release does not serve: fetch_batch

For pack developers: the Tier-3 path, not open yet (150 facade verbs)

The node's internal API for extension packs. It is listed so nothing is hidden; it is not yet a path a customer can use, so no guide covers it yet.

The 150 facade verbs
  • append/2
  • append_edges/2
  • append_resolved/3 (write)
  • append_resolved/4 (write)
  • bind_verified/1 (open)
  • bind_verified/2 (open)
  • cell_chunk/2
  • cell_chunk/3
  • chunk/2
  • chunk/3
  • cluster_state/0 (read)
  • cluster_store_open/1 (open)
  • cluster_store_open/2 (open)
  • coaccess_commit/2 (write)
  • connectors/0 (read)
  • customs_land/2 (write)
  • customs_read/2 (read)
  • customs_status/0 (read)
  • customs_write/3 (write)
  • derive_edge_id/3
  • destroy/1 (admin)
  • durability_class/1 (read)
  • edge/4
  • edge/5
  • edge/6
  • edge_dst/1
  • edge_id/1
  • edge_src/1
  • edge_value/1
  • edge_weight/1
  • egress_connector/3 (read)
  • embed_code/1 (read)
  • engine_health/0 (read)
  • engine_loaded/0 (read)
  • engine_state/1 (read)
  • engine_vmlck_kb/0 (read)
  • fetch/2
  • fetch_batch/2
  • footprint/1 (read)
  • generation/1
  • grid_engine_set/1 (read)
  • grid_lend_entry/0 (read)
  • grid_read/3 (read)
  • grid_read_ahead/2 (read)
  • group_by_owner/2 (read)
  • hardware_conveyor_report/0 (read)
  • hardware_core_util/0 (read)
  • hardware_disk_count/0 (read)
  • hardware_per_disk_bytes/0 (read)
  • hardware_physical_disk_bases/0 (admin)
  • hardware_stripe_roots/0 (admin)
  • hybrid_query/2 (read)
  • ingest_connector/3 (write)
  • job/1 (read)
  • job_cancel/1 (write)
  • job_subscribe/1 (read)
  • knn_top_k/6 (read)
  • licence_activate/1 (write)
  • map_reduce_owned/4
  • map_reduce_owned/5
  • marketplace_catalogue/2 (read)
  • marketplace_install/4 (write)
  • marketplace_remove/2 (write)
  • marketplace_show/3 (read)
  • marketplace_status/4 (read)
  • marketplace_update/4 (write)
  • measured_suite_report/1 (read)
  • measured_suite_run/1 (admin)
  • memory_headroom_bytes/0
  • mesh_issue_join_token/0 (write)
  • mesh_issue_join_token/1 (write)
  • mesh_list_nodes/0 (read)
  • mesh_node_status/1 (read)
  • mesh_reinstate_node/1 (write)
  • mesh_remove_node/1 (write)
  • mesh_remove_node/2 (write)
  • mesh_status/0 (read)
  • neighbour_ids/3 (read)
  • neighbours/2 (read)
  • node/4
  • node/5
  • node/6
  • node_attr/1
  • node_first_chunk/1
  • node_gen/1
  • node_inline/1
  • node_type_tag/1
  • object_cells_read/2 (read)
  • object_delete/2 (write)
  • object_get/2 (read)
  • object_get/3 (read)
  • object_put/2 (write)
  • object_put/3 (write)
  • open/1 (open)
  • open/2 (open)
  • pack_graph/1
  • pool_entry/0 (read)
  • put_values/2 (write)
  • put_vectors/4 (write)
  • put_vectors/5 (write)
  • rank_nodes/1 (read)
  • reachable/3 (read)
  • read_value/2 (read)
  • reconcile_local_copies/1 (write)
  • reconcile_local_copies/2 (write)
  • register_column/3 (write)
  • relocate_batch_stats/2 (write)
  • reset_write_timing_map/0 (write)
  • runtime_census/0 (read)
  • scan_count_cmp/4
  • scan_histogram/3
  • scan_pattern/2 (read)
  • scan_search/2 (read)
  • scan_sum_cmp/4 (read)
  • scan_text/2 (read)
  • scan_value_histogram/3
  • shard_free_bytes/1
  • stats/1 (read)
  • store_key/1 (read)
  • tier_stats/1 (read)
  • tombstone/2 (write)
  • tombstone_edges/2 (write)
  • top_k_hamming/3
  • top_k_hamming/4
  • top_k_l2/5 (read)
  • tp_entry/0 (read)
  • tp_exchange_all/5 (write)
  • tp_link_close/1 (write)
  • tp_link_open/2 (write)
  • tp_link_status/0 (read)
  • tp_prepare/1 (write)
  • tp_window/2 (write)
  • update_check/1
  • update_check/2
  • util_cached/0 (read)
  • util_snapshot/0 (read)
  • util_snapshot/1 (read)
  • vec/2
  • vec/3
  • vector_pieces/2
  • vector_scope/2 (read)
  • vector_then_walk/4
  • vector_then_walk/5
  • vectors_stored/3 (read)
  • walk/3
  • walk/4
  • walk_collect_mixed_release_refusals/0 (read)
  • walk_packed/3
  • walk_packed/4
  • write_timing_map/0 (read)

Refusals

No door of this release declares its refusal list yet (they are error clauses in each door's code). Until each door declares them, each guide's "When something is refused" section lists the refusals it meets.