Posts & Engagement

Posts & Engagement

Voyager provides full post lifecycle management — create posts, react with any of LinkedIn’s 6 reaction types, comment, and monitor engagement. All engagement endpoints use direct API calls.

Create a Post

$curl -X POST "$BASE/api/post" \
> -H "Authorization: Bearer $KEY" \
> -H "X-User-Id: $USER" \
> -H "Content-Type: application/json" \
> -d '{
> "text": "Excited to share our latest findings on AI infrastructure scaling.\n\nKey takeaways:\n- Latency matters more than throughput\n- Cache everything you can\n- Measure from the edge\n\n#AI #Engineering #Infrastructure"
> }'
1{
2 "success": true,
3 "postUrn": "urn:li:share:7180123456789012345",
4 "postUrl": "https://www.linkedin.com/feed/update/urn:li:activity:7180123456789012345/"
5}

Like a Post

React to a post with any of LinkedIn’s 6 reaction types:

$curl -X POST "$BASE/api/like" \
> -H "Authorization: Bearer $KEY" \
> -H "X-User-Id: $USER" \
> -H "Content-Type: application/json" \
> -d '{
> "postUrl": "https://www.linkedin.com/feed/update/urn:li:activity:7180123456789012345/",
> "reactionType": "PRAISE"
> }'

Reaction Types

TypeEmojiDescription
LIKEThumbs upDefault reaction
PRAISEClapCelebrating
APPRECIATIONHeartLove
EMPATHYHugSupportive / Caring
INTERESTLightbulbInsightful
ENTERTAINMENTLaughFunny

If reactionType is omitted, it defaults to LIKE.

Unlike a Post

$curl -X POST "$BASE/api/like" \
> -H "Authorization: Bearer $KEY" \
> -H "X-User-Id: $USER" \
> -H "Content-Type: application/json" \
> -d '{
> "postUrl": "https://www.linkedin.com/feed/update/urn:li:activity:7180123456789012345/",
> "unlike": true
> }'

Comment on a Post

$curl -X POST "$BASE/api/comment" \
> -H "Authorization: Bearer $KEY" \
> -H "X-User-Id: $USER" \
> -H "Content-Type: application/json" \
> -d '{
> "postUrl": "https://www.linkedin.com/feed/update/urn:li:activity:7180123456789012345/",
> "comment": "Great insight! We have been seeing similar trends in our infrastructure work."
> }'

Delete a Comment

Delete by matching text (finds your comment that matches the provided text):

$curl -X POST "$BASE/api/comment" \
> -H "Authorization: Bearer $KEY" \
> -H "X-User-Id: $USER" \
> -H "Content-Type: application/json" \
> -d '{
> "postUrl": "https://www.linkedin.com/feed/update/urn:li:activity:7180123456789012345/",
> "comment": "Great insight! We have been seeing similar trends",
> "delete": true
> }'

Or delete by URN directly:

$curl -X DELETE "$BASE/api/comment" \
> -H "Authorization: Bearer $KEY" \
> -H "X-User-Id: $USER" \
> -H "Content-Type: application/json" \
> -d '{"commentUrn": "urn:li:comment:(activity:7180123456789012345,7180987654321098765)"}'

Delete a Post

$curl -X POST "$BASE/api/post" \
> -H "Authorization: Bearer $KEY" \
> -H "X-User-Id: $USER" \
> -H "Content-Type: application/json" \
> -d '{
> "text": "Excited to share our latest findings",
> "delete": true
> }'

Get a Person’s Posts

$curl -H "Authorization: Bearer $KEY" \
> -H "X-User-Id: $USER" \
> "$BASE/api/posts?profileUrl=https://www.linkedin.com/in/janesmith/&limit=10"

Get Post Reactions

See who reacted to a specific post:

$curl -H "Authorization: Bearer $KEY" \
> -H "X-User-Id: $USER" \
> "$BASE/api/posts/7180123456789012345/reactions?limit=50"

Get Post Comments

$curl -H "Authorization: Bearer $KEY" \
> -H "X-User-Id: $USER" \
> "$BASE/api/posts/7180123456789012345/comments?limit=50"

The postId in URLs like /api/posts/:postId/comments is the numeric activity ID. Extract it from a post URL: urn:li:activity:7180123456789012345 has postId 7180123456789012345.

Feed & Content Discovery

Your Feed

$curl -H "Authorization: Bearer $KEY" \
> -H "X-User-Id: $USER" \
> "$BASE/api/feed?start=0&count=20"
$curl -H "Authorization: Bearer $KEY" \
> -H "X-User-Id: $USER" \
> "$BASE/api/feed/topics?count=10"

Search Content

$curl -H "Authorization: Bearer $KEY" \
> -H "X-User-Id: $USER" \
> "$BASE/api/search/content?keywords=AI+infrastructure&count=10"

Follow / Unfollow

$# Follow a profile
$curl -X POST "$BASE/api/follow" \
> -H "Authorization: Bearer $KEY" \
> -H "X-User-Id: $USER" \
> -H "Content-Type: application/json" \
> -d '{"profileUrl": "https://www.linkedin.com/in/janesmith/"}'
$
$# Unfollow
$curl -X POST "$BASE/api/follow" \
> -H "Authorization: Bearer $KEY" \
> -H "X-User-Id: $USER" \
> -H "Content-Type: application/json" \
> -d '{"profileUrl": "https://www.linkedin.com/in/janesmith/", "unfollow": true}'

Your Engagement History

See posts you have liked and comments you have written:

$curl -H "Authorization: Bearer $KEY" \
> -H "X-User-Id: $USER" \
> "$BASE/api/reactions?count=20"

Notifications

Get engagement notifications on your own content (likes, comments, mentions):

$curl -H "Authorization: Bearer $KEY" \
> -H "X-User-Id: $USER" \
> "$BASE/api/notifications?count=20"