API Reference

get discovery scan

Read saved Discovery searches, observed result positions and resulting opportunities. Historical scans may contain only partial evidence. Positions are provider placement, not independently verified Google rankings. Cache policy: live. Idempotency: none. Auth modes: api_key, mcp_oauth, session_bearer.

POST
/agent/v1/growth/get-discovery-scan

Read saved Discovery searches, observed result positions and resulting opportunities. Historical scans may contain only partial evidence. Positions are provider placement, not independently verified Google rankings. Cache policy: live. Idempotency: none. 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

curl -X POST "https://example.com/agent/v1/growth/get-discovery-scan" \  -H "Content-Type: application/json" \  -d '{    "organizationId": "org_demo",    "websiteId": "site_demo",    "scanId": "scan_demo"  }'
{  "scan": {    "id": "scan_demo",    "outcome": "empty",    "trigger": "scheduled",    "scheduledFor": "2026-09-16T13:00:00Z",    "startedAt": null,    "finishedAt": null  },  "searches": [],  "candidates": [],  "opportunities": []}
{  "error": {    "code": "agentic_invalid_input",    "message": "Invalid capability input."  }}
{  "error": {    "code": "agentic_unauthorized",    "message": "Authentication is required."  }}
{  "error": {    "code": "agentic_missing_scope",    "message": "The required permission has not been granted."  }}

{  "error": {    "code": "agentic_website_not_found",    "message": "Product not found."  }}