Insights & Actions Endpoints
Visibility report insights, workspace actions, and AI content generation endpoints
Insights & Actions Endpoints
Access AI-generated visibility insights, manage workspace actions, and trigger content generation programmatically.
Scope Requirements: Read endpoints require read:insights (Professional tier+). Write endpoints require write:actions (Enterprise tier only).
Tier Access
| Endpoint Type | Required Scope | Tier |
|---|---|---|
| Reports (read) | read:insights | Professional, Enterprise |
| Actions (read) | read:insights | Professional, Enterprise |
| Actions (create) | write:actions | Enterprise |
| Content Generation | write:actions | Enterprise |
Reports
List Reports
Retrieve a paginated list of visibility audit reports for your workspace.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
report_type | string | No | Filter by type: free_audit, weekly_report, on_demand |
start_date | date | No | Filter reports created after this date (YYYY-MM-DD) |
end_date | date | No | Filter reports created before this date (YYYY-MM-DD) |
page | integer | No | Page number (default: 1) |
per_page | integer | No | Results per page (max: 50, default: 20) |
Example Request
Response
Get Latest Report
Shortcut to retrieve the most recent report without pagination.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
report_type | string | No | Filter by report type |
include_insights | boolean | No | Include AI insights in response (default: false) |
Example Request
Response
Returns a single report object (same shape as list items), optionally with an insights field containing the full AI analysis.
Get Report Detail
Retrieve full detail of a specific visibility report including provider breakdowns and rankings.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
report_id | UUID | Yes | Report ID (path parameter) |
include_insights | boolean | No | Include AI insights in response (default: false) |
Example Request
Response
Get Report Insights
Retrieve AI-generated insights from a specific visibility report. Returns structured opportunities, threats, quick wins, and recommendations.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
report_id | UUID | Yes | Report ID (path parameter) |
type | string | No | Filter by insight type: opportunities, threats, quick_wins, or all (default) |
priority | string | No | Filter by priority: high, medium, low |
category | string | No | Filter by category: tech, content, marketing, leadership |
Example Request
Response
Schema Versioning: The schema_version field indicates the response shape version. New fields may be added in future versions, but existing fields will never be removed or renamed. Clients should ignore unknown fields for forward compatibility.
Actions
List Actions
Retrieve workspace actions (recommendations, tasks, content items) with optional filters.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
status | string | No | Filter: pending, in_progress, ready, completed, dismissed |
priority | string | No | Filter: high, medium, low |
recommendation_type | string | No | Filter: opportunity, threat, quick_win, prompt_edit |
owner_team | string | No | Filter: tech, content, marketing, leadership |
content_format | string | No | Filter: blog_post, linkedin_post, x_thread, etc. |
source_report_id | UUID | No | Filter by source visibility report |
page | integer | No | Page number (default: 1) |
per_page | integer | No | Results per page (max: 50, default: 20) |
Example Request
Response
Get Action Detail
Retrieve full detail of a specific action including context and brief information.
Example Request
Create Action
Create a new workspace action. Requires write:actions scope (Enterprise tier).
Enterprise Only: This endpoint requires the write:actions scope, available on Enterprise tier API keys.
Headers
| Header | Required | Description |
|---|---|---|
Authorization | Yes | Bearer nudg3_live_ak_your_key |
Content-Type | Yes | application/json |
Idempotency-Key | Recommended | Unique string to prevent duplicate creation on retry (24hr window) |
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
action_text | string | Yes | Action description (max 2000 chars) |
recommendation_type | string | Yes | opportunity, threat, quick_win, or prompt_edit |
priority | string | No | high, medium (default), or low |
content_format | string | No | blog_post, linkedin_post, x_thread, editorial, etc. |
target_platform | string | No | website, linkedin, x_twitter, reddit, etc. |
owner_team | string | No | tech, content, marketing, or leadership |
source_report_id | UUID | No | Link to source visibility report |
context | object | No | Additional context for the action |
Response (201 Created)
Returns the full action detail object.
Content Generation
Generate Brief
Generate a structured content brief for an action. The brief provides guidance for content creation.
Rate Limited: Max 5 generations per action per hour, max 50 per workspace per day. Cost: ~$0.001 per brief (Gemini Flash).
Headers
| Header | Required | Description |
|---|---|---|
Authorization | Yes | Bearer nudg3_live_ak_your_key |
Idempotency-Key | Recommended | Prevents duplicate generation on retry |
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
custom_instructions | string | No | Custom instructions for brief generation (max 1000 chars) |
Response
Returns a structured brief with objective, target audience, key messages, tone, content structure, SEO considerations, CTA, and success metrics.
Response Headers
| Header | Description |
|---|---|
X-Generation-Remaining-Action | Remaining generations for this action this hour |
X-Generation-Remaining-Workspace-Daily | Remaining generations for this workspace today |
Generate Content
Trigger asynchronous AI content generation for an action. Returns a run_id for polling.
Rate Limited: Max 5 generations per action per hour, max 50 per workspace per day. Cost varies by content type ($0.005 - $0.30 per generation).
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
use_brief | boolean | No | Use existing brief if available (default: true) |
Response
Cost Estimates by Content Type
| Content Type | Model | Estimated Cost |
|---|---|---|
| Blog post | Claude Sonnet | $0.04 - $0.06 |
| LinkedIn post | GPT-4o | $0.03 - $0.05 |
| X/Twitter thread | Grok | $0.02 - $0.04 |
| Social media | Gemini Flash | $0.005 - $0.01 |
| Claude Haiku | $0.005 - $0.01 |
Poll Generation Status
Check the status of an asynchronous content generation run.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
action_id | UUID | Yes | Action ID (path parameter) |
run_id | string | Yes | Run ID returned from generate-content (path parameter) |
Example Request
Response (completed)
Status Values
| Status | Description |
|---|---|
triggered | Generation request accepted, queued for processing |
running | AI model is generating content |
completed | Content generated successfully |
failed | Generation failed (check error field) |
Polling Recommendation: Poll every 3-5 seconds. Most generations complete within 30-60 seconds. Webhook support for push notifications is coming in a future release.
Idempotency
All POST endpoints support the Idempotency-Key header to prevent duplicate operations on retry.
- If the same
Idempotency-Keyis sent twice within 24 hours, the second request returns the stored response from the first - Keys are scoped per API key (different API keys can use the same idempotency key without collision)
- The idempotency window is 24 hours
Error Responses
| Code | Scenario | Example Message |
|---|---|---|
| 403 | Missing scope | Insufficient scope: read:insights required |
| 404 | Report/action not found or belongs to another workspace | Report not found |
| 429 | Generation rate limit | Rate limit exceeded: max 5 generations per action per hour |
| 429 | Workspace daily limit | Rate limit exceeded: max 50 generations per workspace per day |