API Reference

Set up a product and its free report

Set up a product in Rankhog from its website and build the free Reddit SEO report: which Google searches show Reddit threads, where the product ranks...

POST
/agent/v1/setup/product

Set up a product in Rankhog from its website and build the free Reddit SEO report: which Google searches show Reddit threads, where the product ranks, and which subreddits talk about it. Reuses the product sign-up made, or one with the same website, so calling it again is safe and moves setup forward. It finishes setup once the report is ready. The report takes a few minutes: poll get_product_setup with the productId it returns. It never pays for anything. The person starts the 7-day trial themselves from links.trial. Cache policy: live. Idempotency: none. Auth modes: mcp_oauth, session_bearer.

Authorization

AuthorizationBearer <token>

In: header

Scope: rankhog:read, setup:write

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

curl -X POST "https://example.com/agent/v1/setup/product" \  -H "Content-Type: application/json" \  -d '{    "audience": "Founders of small SaaS companies",    "websiteUrl": "https://supportleaf.example"  }'
{  "checkAfterSeconds": 20,  "links": {    "dashboard": null,    "desktopSetup": null,    "report": "https://rankhog.com/product/site_demo/onboarding/review",    "trial": null  },  "message": "Rankhog is building the free Reddit SEO report. It's on: Check Google searches. Check again in about 20 seconds.",  "plan": {    "cardRequired": true,    "name": "Growth",    "price": "$99/month",    "trialDays": 7  },  "product": {    "id": "site_demo",    "name": "SupportLeaf",    "websiteUrl": "https://supportleaf.example"  },  "report": {    "steps": [      {        "label": "Save your answers",        "status": "completed"      },      {        "label": "Check Google searches",        "status": "running"      }    ],    "summary": null  },  "stage": "building_report"}
{  "error": {    "code": "agentic_invalid_input",    "message": "Invalid capability input."  }}
{  "error": {    "code": "agentic_human_actor_required",    "message": "This agentic capability requires a human-authenticated Rankhog user."  }}
{  "error": {    "code": "agentic_not_found",    "message": "Website not found."  }}
{  "error": {    "code": "agentic_too_many_requests",    "message": "You have added a lot of websites today. Try again tomorrow."  }}