Update Opportunity Draft
Edit one opportunity's linked Reddit draft. Direct saves immediately; audited mode saves first, then checks the saved revision. Changes retain the requesting actor attribution. Cache policy: live. Idempotency: required. Auth modes: api_key, mcp_oauth, session_bearer.
Edit one opportunity's linked Reddit draft. Direct saves immediately; audited mode saves first, then checks the saved revision. Changes retain the requesting actor attribution. Cache policy: live. Idempotency: required. 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
application/json
application/json
curl -X POST "https://example.com/agent/v1/opportunities/draft" \ -H "Content-Type: application/json" \ -d '{ "idempotencyKey": "edit-draft-1", "managedRedditAccountId": "mra_2x9rnkhdemo", "organizationId": "org_2x9rnkhdemo", "websiteId": "site_2x9rnkhdemo", "body": "We switched to a single guided setup step and activation improved. What changed onboarding for you?", "expectedRevision": 3, "mode": "audit", "opportunityId": "opp_2x9opportunity" }'{ "auditJobId": "job_2x9rnkhdemo", "kind": "audit_queued", "opportunityId": "opp_2x9opportunity"}{ "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 scope: rankhog:read, reddit:draft:write." }}{ "error": { "code": "agentic_managed_account_not_found", "message": "Managed Reddit account not found." }}{ "error": { "code": "agentic_draft_conflict", "message": "The draft changed since revision 3. Reload and edit again." }}{ "error": { "code": "agentic_draft_unsafe", "message": "This warm-up draft has not passed the helpfulness and repetition checks." }}{ "error": { "code": "agentic_internal_error", "message": "Rankhog could not complete this agentic request." }}Cancel Opportunity Execution POST
Cancel one opportunity's pending execution and dismiss the opportunity. Running Reddit writes cannot be stopped mid-flight; their approval is rejected so the preflight aborts. Cache policy: live. Idempotency: required. Auth modes: api_key, mcp_oauth, session_bearer.
Audit Opportunity Draft POST
Audit a saved draft revision. Returns advisory findings without editing, approving, scheduling, or executing it. Cache policy: live. Idempotency: required. Auth modes: api_key, mcp_oauth, session_bearer.