get_hook
Fetch one bought hook in full, including its parsed score. Free (WP-G).
Account-scoped: a foreign or unknown id is not_found (no existence leak). Args:
hook_id (from a generate/batch/remix response or list_hooks), api_key. Returns
{hook_id, text, archetype, claim_type, mode, platform, topic, score_total, score,
prompt_version, request_id, created_at, outcomes:[...], outcome_summary:{count,
max_views, avg_views}}. Report results with report_outcome. Errors: unauthorized,
not_found, rate_limited.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| api_key | No | API key for this call. Omit to fall back to the Authorization: Bearer / X-API-Key request header (streamable-HTTP only), then the VHGENGINE_API_KEY env var (the stdio default). No key resolvable -> unauthorized. | |
| hook_id | Yes | The hook's id, as returned in the `hooks[].hook_id` of a generate/batch/remix response or by list_hooks. Account-scoped: an id you do not own reads as not_found. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Engine that produced it (instant|smart|research|remix). | |
| text | No | The hook line. | |
| score | No | Per-dimension score breakdown. | |
| topic | No | Topic it was generated from. | |
| hook_id | No | The hook's id. | |
| outcomes | No | Outcomes you have reported against this hook. | |
| platform | No | Platform it was written for. | |
| archetype | No | Archetype it was written in. | |
| claim_type | No | What kind of claim it makes. | |
| created_at | No | When it was generated, ISO-8601 UTC. | |
| request_id | No | The generate call that bought it. | |
| score_total | No | Total craft score. | |
| prompt_version | No | Prompt build that produced it, for reproducibility. | |
| outcome_summary | No | {count, max_views, avg_views} over those outcomes. | |
| contains_placeholder_stat | No | true when the text carries an unverified number you must replace before posting (e.g. '90% of people'). Treat as an edit-before-use flag. |