Get Opportunity Conversation
Read one opportunity's conversation timeline: milestones, drafts, questions, and messages. Poll with afterSeq for new items. An opportunity that resolved itself may have no conversation; the response then carries a null conversationId and an empty items list. Cache policy: live. Idempotency: none. Auth modes: api_key, mcp_oauth, session_bearer.
Read one opportunity's conversation timeline: milestones, drafts, questions, and messages. Poll with afterSeq for new items. An opportunity that resolved itself may have no conversation; the response then carries a null conversationId and an empty items list. Cache policy: live. Idempotency: none. Auth modes: api_key, mcp_oauth, session_bearer.
Rankhog organization API key sent as Authorization: Bearer rhog_....
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/agent/v1/opportunities/conversation" \ -H "Content-Type: application/json" \ -d '{ "managedRedditAccountId": "mra_2x9rnkhdemo", "organizationId": "org_2x9rnkhdemo", "websiteId": "site_2x9rnkhdemo", "afterSeq": 0, "opportunityId": "opp_2x9opportunity" }'{ "conversationId": "conv_2x9conversation", "items": [ { "authorUserId": null, "createdAt": "2026-06-17T12:00:00.000Z", "id": "item_2x9found", "level": "milestone", "metadata": { "origin": "system" }, "parts": [ { "data": { "key": "found", "title": "Found a discussion worth a comment in r/SaaS." }, "type": "data-milestone" } ], "role": "system", "seq": 1, "sourceAdapter": "system" }, { "authorUserId": "user_2x9founder", "createdAt": "2026-06-17T12:00:00.000Z", "id": "item_2x9message", "level": "timeline", "metadata": { "authorName": "Anthony", "origin": "web" }, "parts": [ { "text": "Make it shorter.", "type": "text" } ], "role": "user", "seq": 2, "sourceAdapter": "web" } ], "lastSeq": 2, "mode": "copilot", "pendingQuestion": null}{ "error": { "code": "agentic_invalid_input", "details": { "issues": [ { "code": "invalid_type", "message": "Expected string, received undefined.", "path": [ "organizationId" ] } ] }, "message": "Request body did not match the agentic capability schema." }}{ "error": { "code": "agentic_unauthorized", "message": "Authenticate before using Rankhog agentic capabilities." }}{ "error": { "code": "agentic_paid_plan_required", "details": { "managedAccountBillingStatus": "active", "subscriptionStatus": "past_due" }, "message": "Rankhog agentic capabilities are available only for active or trialing paid workspaces." }}{ "error": { "code": "agentic_missing_scope", "details": { "missingScopes": [ "rankhog:read" ] }, "message": "Missing required OAuth scope: rankhog:read." }}{ "error": { "code": "agentic_managed_account_not_found", "message": "Managed Reddit account not found." }}{ "error": { "code": "agentic_internal_error", "message": "Rankhog could not complete this agentic request." }}Get Planned Reddit Action POST
Return one planned Reddit action from a paid workspace. Cache policy: live. Idempotency: none. Auth modes: api_key, mcp_oauth, session_bearer.
Post Opportunity Conversation Message POST
Post a plain text message into an opportunity conversation and queue an agent turn. API keys are automation actors: their messages can steer and ask, but Reddit-write confirmations stay human-only. Cache policy: live. Idempotency: required. Auth modes: api_key, mcp_oauth, session_bearer.