Skip to content
Ironflow is pre-1.0: APIs can change between releases. Pin a version. What is ready →

ironflow topic

Manage developer pub/sub topics: list topics, view statistics, and publish messages.

Terminal window
ironflow topic <subcommand> [flags]

Topics provide lightweight service-to-service messaging without triggering functions. See the Topics guide for full details.

List all active developer pub/sub topics.

Terminal window
ironflow topic list [flags]

Flags:

FlagShortTypeDefaultDescription
--server-sstring$IRONFLOW_SERVER_URL or http://localhost:9123Server URL
--jsonboolfalseOutput as JSON

Output:

NAME MESSAGES CONSUMERS
order.processed 42 2
user.signup 15 1

Show detailed statistics for a specific topic.

Terminal window
ironflow topic stats <topic> [flags]

Arguments:

ArgumentRequiredDescription
topicYesTopic name (e.g., order.processed)

Flags:

FlagShortTypeDefaultDescription
--server-sstring$IRONFLOW_SERVER_URL or http://localhost:9123Server URL
--jsonboolfalseOutput as JSON

Output:

Topic: order.processed
Messages: 42
Consumers: 2
Lag: 5
First Seq: 1
Last Seq: 42

Publish a message to a developer pub/sub topic.

Terminal window
ironflow topic publish <topic> [flags]

Arguments:

ArgumentRequiredDescription
topicYesTopic name (e.g., order.processed)

Flags:

FlagShortTypeDefaultDescription
--data-dstringJSON data to publish
--data-file-fstringPath to JSON file with data (- reads stdin)
--idempotency-keystringIdempotency key for deduplication (max 255 bytes, no whitespace or control characters)
--server-sstring$IRONFLOW_SERVER_URL or http://localhost:9123Server URL

Data can be provided via --data or --data-file. --data-file - reads stdin.

Output:

Published to order.processed (event_id=evt_abc123, seq=43)

Examples:

Terminal window
# List all topics
ironflow topic list
ironflow topic list --json
# View topic statistics
ironflow topic stats order.processed
ironflow topic stats order.processed --json
# Publish a message
ironflow topic publish order.processed --data '{"orderId": "123", "status": "shipped"}'
# Publish from file
ironflow topic publish order.processed --data-file payload.json
# Publish from stdin
echo '{"orderId": "123"}' | ironflow topic publish order.processed --data-file -
# Publish with idempotency key
ironflow topic publish order.processed --data '{"orderId": "123"}' --idempotency-key order-123-shipped