Topic Browser GraphQL API
Overview
Query Unified Namespace topics and metadata in real-time.
Endpoint:
http://localhost:8090/graphqlDefault: Enabled (
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
corsOriginssettingNetwork Security: Recommended for production deployments
Port Access: Ensure port 8090 is appropriately secured
Last updated

