API Reference

Create Reddit Action

Create a stored Reddit write action for post, comment, reply, upvote, or join_subreddit. Draft approval and write execution remain separate. Cache policy: live. Idempotency: required. Auth modes: api_key, mcp_oauth, session_bearer.

POST
/agent/v1/reddit-actions

Create a stored Reddit write action for post, comment, reply, upvote, or join_subreddit. Draft approval and write execution remain separate. Cache policy: live. Idempotency: required. Auth modes: api_key, mcp_oauth, session_bearer.

Authorization

AuthorizationBearer <token>

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

application/json

application/json

application/json

curl -X POST "https://example.com/agent/v1/reddit-actions" \  -H "Content-Type: application/json" \  -d '{    "managedRedditAccountId": "mra_2x9rnkhdemo",    "organizationId": "org_2x9rnkhdemo",    "actionType": "comment",    "body": "We saw better activation after asking users for one setup action instead of showing a long checklist.",    "idempotencyKey": "action-comment-2026-06-17-001",    "riskSummary": "Contextual reply with no link and no promotional claim.",    "targetUrl": "https://www.reddit.com/r/SaaS/comments/examplepost/example/"  }'
{  "actionType": "comment",  "approvalStatus": "pending",  "plannedRedditActionId": "act_2x9planned",  "riskSummary": "Contextual reply with no link and no promotional claim.",  "rules": null,  "status": "planned"}
{  "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",        "reddit:draft:write"      ]    },    "message": "Missing required OAuth scope: rankhog:read, reddit:draft:write."  }}

{  "error": {    "code": "agentic_managed_account_not_found",    "message": "Managed Reddit account not found."  }}

{  "error": {    "code": "agentic_managed_account_inactive",    "details": {      "managedAccountStatus": "setup_required"    },    "message": "This managed Reddit account must be active before browser-backed agentic tools can run."  }}

{  "error": {    "code": "agentic_write_rate_limited",    "details": {      "limit": 10,      "windowSeconds": 3600    },    "message": "Agentic Reddit writes are rate-limited for this workspace."  }}
{  "error": {    "code": "agentic_internal_error",    "message": "Rankhog could not complete this agentic request."  }}
{  "error": {    "code": "agentic_action_not_created",    "message": "Agent-created Reddit action could not be stored."  }}