Echo/Docs

CLI command

content topics

What posts are about: a topic declared per post, by which echo-cli social analytics --by topic sums the published posts.

Invocation#

Shell
echo-cli content topics list [--topic <topic>]
echo-cli content topics set --post <post-id> --topic <topic> --by <who>
echo-cli content topics unset --post <post-id>

Inputs and output#

list writes every declared topic, newest first, of one topic with --topic: post_id, topic, declared_by and declared_at. set and unset write the topic.

State effect#

The verbs call Echo Web's authenticated /api/analytics/post-topics with ECHO_INTERNAL_BEARER at ECHO_WEB_BASE_URL; the Post topics section of the ecosystem's analytics and of Echo Desktop's GEO screen do the same, and echo-mcp runs them as echo_post_topics, echo_post_topic_set and echo_post_topic_unset. Topics are kept in post_topics, one per post, removed with the post. echo-cli social analytics --by topic sums the window's published posts by them; a post with no topic is left out rather than guessed into one.

Refusals#

  • A wrong invocation is refused before anything is sent: "content topics takes list …; set …; unset …; got <word>", "content topics <verb> does not take <flag>; it takes …", "<flag> needs a value" and "content topics <verb> needs <flag>".
  • Echo Web answers a bad request with "post_id is required: …", "topic is required: what the post is about" or "declared_by is required: an internal caller has no signed-in user, so it names who is acting"; not found with "no queued post has id <id>" or "post <id> has no topic declared". The command prints Echo Web's sentence and exits 1.