For the complete documentation index, see llms.txt. This page is also available as Markdown.

Topic Browser GraphQL API

Early Access. The GraphQL API lets developers query the Unified Namespace programmatically. It's experimental and off by default. To turn it on, set agent.graphql.enabled: true in the agent: block of your umh-core instance configuration. See Configuration for all options. Tell us what you think.

Overview

Query Unified Namespace topics and metadata in real-time.

  • Endpoint: http://localhost:8090/graphql

  • Default: Disabled; opt in with agent.graphql.enabled: true

  • Authentication: None (open by default)

Schema

Queries

type Query {
  topics(filter: TopicFilter, limit: Int): [Topic!]!
  topic(topic: String!): Topic
}

Types

type Topic {
  topic: String!
  metadata: [MetadataEntry!]!
  lastEvent: Event    # Latest event only
}

union Event = TimeSeriesEvent | RelationalEvent

type TimeSeriesEvent {
  producedAt: String!
  scalarType: String!
  numericValue: Float
  stringValue: String
  booleanValue: Boolean
}

type RelationalEvent {
  producedAt: String!
  json: String!
}

input TopicFilter {
  text: String
  meta: [MetaExpr!]
}

input MetaExpr {
  key: String!
  eq: String!
}

Example Queries

All topics:

Filter by text:

Filter by metadata:

Single topic:

Using curl

Basic query:

Filter query:

Limitations

  • History: Latest event only (no historical data)

  • Subscriptions: Not supported (queries only)

  • Rate Limiting: None (use responsibly)

  • Scope: Single UMH instance only

Multi-Instance Behavior

  • Each UMH Core instance has its own Topic Browser

  • GraphQL API returns topics from local instance only

  • Management Console aggregates all instances into unified view

Configuration

Security

  • Authentication: Currently open (no tokens required)

  • CORS: Configurable via corsOrigins setting

  • Network Security: Recommended for production deployments

  • Port Access: Ensure port 8090 is appropriately secured

Last updated