Plugin gRPC API

gRPC interface for external QNTX domain plugins.

Proto file: plugin/grpc/protocol/domain.proto

Service Methods

MethodRequestResponseStreaming
MetadataEmptyMetadataResponseNo
InitializeInitializeRequestEmptyNo
ShutdownEmptyEmptyNo
HandleHTTPHTTPRequestHTTPResponseNo
HandleWebSocketWebSocketMessageWebSocketMessageBidirectional
HealthEmptyHealthResponseNo
ConfigSchemaEmptyConfigSchemaResponseNo

Metadata

Metadata returns plugin metadata


Initialize

Initialize initializes the plugin


Shutdown

Shutdown shuts down the plugin


HandleHTTP

HandleHTTP handles an HTTP request


HandleWebSocket

HandleWebSocket handles a WebSocket connection (bidirectional streaming)


Health

Health checks plugin health


ConfigSchema

ConfigSchema returns the configuration schema for this plugin


Message Types

MetadataResponse

FieldTypeDescription
namestring-
versionstring-
qntx_versionstring-
descriptionstring-
authorstring-
licensestring-

InitializeRequest

FieldTypeDescription
ats_store_endpointstringService endpoints the plugin can call back to QNTX core Format: "host:port" for TCP (e.g., "localhost:50051") Note: Database access is not provided - database is a hard boundary. Plugins should use attestations via ats_store_endpoint instead. ats_store_endpoint: gRPC endpoint for ATSStoreService Provides: Attestation creation, querying, and management
queue_endpointstringqueue_endpoint: gRPC endpoint for QueueService Provides: Async job enqueue, status, and management
auth_tokenstringauth_token: Simple token for authenticating with service endpoints Plugins must include this token in all service RPC calls
configmap<string, string>Plugin-specific configuration values Simple types (string, int, bool) passed as string representations Complex types (maps, slices) JSON-encoded as strings Plugins should parse and validate values appropriate to their schema

HTTPRequest

FieldTypeDescription
methodstring-
pathstring-
headersHTTPHeader-
bodybytes-

HTTPResponse

FieldTypeDescription
status_codeint32-
headersHTTPHeader-
bodybytes-

HTTPHeader

HTTPHeader represents an HTTP header with support for multiple values. HTTP headers can have multiple values (e.g., Set-Cookie, Accept).

FieldTypeDescription
namestring-
valuesstring-

WebSocketMessage

HealthResponse

FieldTypeDescription
healthybool-
messagestring-
detailsmap<string, string>-

ConfigSchemaResponse

FieldTypeDescription
fieldsmap<string, ConfigFieldSchema>Map of config field name to schema definition

ConfigFieldSchema

FieldTypeDescription
typestringField type: "string", "number", "boolean", "array"
descriptionstringHuman-readable description of what this field does
default_valuestringDefault value (as string representation)
requiredboolWhether this field is required
min_valuestringFor number types: minimum value (optional)
max_valuestringFor number types: maximum value (optional)
patternstringFor string types: validation pattern (regex, optional)
element_typestringFor array types: element type (optional)

← Back to API Index