changedOutput schema / (root)
Previous value: -nullNew value: +{
+ "additionalProperties": false,
+ "properties": {
+ "data": {
+ "additionalProperties": false,
+ "properties": {
+ "assignee": {
+ "additionalProperties": false,
+ "properties": {
+ "member_id": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "member_id",
+ "name"
+ ],
+ "type": [
+ "null",
+ "object"
+ ]
+ },
+ "brand": {
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "url": {
+ "description": "The brand's website, or empty when none is set.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "name",
+ "url"
+ ],
+ "type": "object"
+ },
+ "comment_count": {
+ "type": "integer"
+ },
+ "comments": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "author": {
+ "type": "string"
+ },
+ "body": {
+ "type": "string"
+ },
+ "created_at": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "body",
+ "author",
+ "created_at"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "dismissed_at": {
+ "type": "string"
+ },
+ "engine_answers": {
+ "description": "Content gaps: each model's latest answer to the question.",
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "answer_id": {
+ "description": "get_answer gives the full text.",
+ "type": "string"
+ },
+ "brands_named": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "captured_at": {
+ "type": "string"
+ },
+ "model": {
+ "type": "string"
+ },
+ "model_name": {
+ "type": "string"
+ },
+ "names_you": {
+ "type": "boolean"
+ },
+ "opening": {
+ "description": "The answer's first lines.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "answer_id",
+ "model",
+ "model_name",
+ "captured_at",
+ "names_you",
+ "brands_named",
+ "opening"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "excerpts": {
+ "description": "Verbatim answer excerpts behind the opportunity.",
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "answer_id": {
+ "type": "string"
+ },
+ "captured_at": {
+ "type": "string"
+ },
+ "model": {
+ "type": "string"
+ },
+ "model_name": {
+ "type": "string"
+ },
+ "text": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "answer_id",
+ "model",
+ "model_name",
+ "captured_at",
+ "text"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "facts": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "label": {
+ "type": "string"
+ },
+ "value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "label",
+ "value"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "found_at": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "kind": {
+ "description": "content_gap, readiness, source_gap, traffic_gap, or coverage_gap.",
+ "type": "string"
+ },
+ "monthly_ai_searches": {
+ "type": [
+ "null",
+ "integer"
+ ]
+ },
+ "play": {
+ "additionalProperties": false,
+ "description": "What to do about it.",
+ "properties": {
+ "angle": {
+ "type": "string"
+ },
+ "changes": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "check_id": {
+ "type": "string"
+ },
+ "checklist": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "done": {
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ },
+ "label": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "label",
+ "done"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "findings": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "check_id": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "check_id",
+ "title"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "fix_language": {
+ "type": "string"
+ },
+ "fix_snippet": {
+ "type": "string"
+ },
+ "headline": {
+ "type": "string"
+ },
+ "kind": {
+ "description": "draft_content, ship_fix, earn_source, optimise_page, or track_prompts.",
+ "type": "string"
+ },
+ "next_step": {
+ "description": "The tool call that carries out the play.",
+ "type": "string"
+ },
+ "optimised_at": {
+ "type": "string"
+ },
+ "outreach": {
+ "additionalProperties": false,
+ "properties": {
+ "body": {
+ "type": "string"
+ },
+ "error": {
+ "type": "string"
+ },
+ "generated_at": {
+ "type": "string"
+ },
+ "status": {
+ "description": "none, generating, ready, or failed.",
+ "type": "string"
+ },
+ "subject": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "status",
+ "subject",
+ "body",
+ "generated_at",
+ "error"
+ ],
+ "type": [
+ "null",
+ "object"
+ ]
+ },
+ "page_ideas": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "content_type": {
+ "type": "string"
+ },
+ "covered": {
+ "description": "An existing page already covers it.",
+ "type": "boolean"
+ },
+ "objective": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "title",
+ "content_type",
+ "objective",
+ "covered"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "pages": {
+ "description": "draft_content: Content Studio pages already started for it.",
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "page_id": {
+ "type": "string"
+ },
+ "published_url": {
+ "type": "string"
+ },
+ "status": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "page_id",
+ "title",
+ "status",
+ "published_url"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "pitched_at": {
+ "type": "string"
+ },
+ "segment": {
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "name"
+ ],
+ "type": [
+ "null",
+ "object"
+ ]
+ },
+ "shipped_at": {
+ "type": "string"
+ },
+ "suggestions": {
+ "description": "track_prompts: questions to track; pass their suggestion_id to act_on_opportunity.",
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "monthly_ai_searches": {
+ "type": [
+ "null",
+ "integer"
+ ]
+ },
+ "seen_count": {
+ "type": "integer"
+ },
+ "suggestion_id": {
+ "type": "string"
+ },
+ "text": {
+ "type": "string"
+ },
+ "tracked": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "suggestion_id",
+ "text",
+ "monthly_ai_searches",
+ "seen_count",
+ "tracked"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "target": {
+ "additionalProperties": false,
+ "properties": {
+ "source_id": {
+ "description": "Pass to get_citation_source.",
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "source_id",
+ "title",
+ "url"
+ ],
+ "type": [
+ "null",
+ "object"
+ ]
+ },
+ "tracked_at": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "headline",
+ "next_step"
+ ],
+ "type": [
+ "null",
+ "object"
+ ]
+ },
+ "presence": {
+ "description": "Content gaps: how each model's latest answer treats each brand it names.",
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "brand": {
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "url": {
+ "description": "The brand's website, or empty when none is set.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "name",
+ "url"
+ ],
+ "type": "object"
+ },
+ "is_you": {
+ "type": "boolean"
+ },
+ "models": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "model": {
+ "type": "string"
+ },
+ "model_name": {
+ "type": "string"
+ },
+ "presence": {
+ "description": "ranked, mentioned, caveated, or absent.",
+ "type": "string"
+ },
+ "rank": {
+ "type": [
+ "null",
+ "integer"
+ ]
+ }
+ },
+ "required": [
+ "model",
+ "model_name",
+ "presence",
+ "rank"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "brand",
+ "is_you",
+ "models"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "proof": {
+ "additionalProperties": false,
+ "description": "Before and after the play, once it shipped.",
+ "properties": {
+ "after": {
+ "additionalProperties": false,
+ "properties": {
+ "answers": {
+ "type": "integer"
+ },
+ "period": {
+ "additionalProperties": false,
+ "properties": {
+ "from": {
+ "description": "First day, YYYY-MM-DD.",
+ "type": "string"
+ },
+ "to": {
+ "description": "Last day, YYYY-MM-DD.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "from",
+ "to"
+ ],
+ "type": "object"
+ },
+ "value": {
+ "type": "number"
+ }
+ },
+ "required": [
+ "value",
+ "answers",
+ "period"
+ ],
+ "type": [
+ "null",
+ "object"
+ ]
+ },
+ "before": {
+ "additionalProperties": false,
+ "properties": {
+ "answers": {
+ "type": "integer"
+ },
+ "period": {
+ "additionalProperties": false,
+ "properties": {
+ "from": {
+ "description": "First day, YYYY-MM-DD.",
+ "type": "string"
+ },
+ "to": {
+ "description": "Last day, YYYY-MM-DD.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "from",
+ "to"
+ ],
+ "type": "object"
+ },
+ "value": {
+ "type": "number"
+ }
+ },
+ "required": [
+ "value",
+ "answers",
+ "period"
+ ],
+ "type": [
+ "null",
+ "object"
+ ]
+ },
+ "gap_closed_at": {
+ "type": "string"
+ },
+ "metric": {
+ "type": "string"
+ },
+ "since": {
+ "type": "string"
+ },
+ "suggest_won": {
+ "description": "The gap has closed; move the opportunity to won.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "since",
+ "metric",
+ "before",
+ "after",
+ "gap_closed_at",
+ "suggest_won"
+ ],
+ "type": [
+ "null",
+ "object"
+ ]
+ },
+ "score": {
+ "description": "0-100 priority.",
+ "type": "integer"
+ },
+ "segment": {
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "name"
+ ],
+ "type": [
+ "null",
+ "object"
+ ]
+ },
+ "signal": {
+ "description": "Why it matters now.",
+ "type": "string"
+ },
+ "snoozed_until": {
+ "type": "string"
+ },
+ "sources": {
+ "description": "Sources the answers cite.",
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "citations": {
+ "type": "integer"
+ },
+ "domain": {
+ "type": "string"
+ },
+ "ownership": {
+ "description": "own, competitor, or third_party.",
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "domain",
+ "url",
+ "title",
+ "ownership",
+ "citations"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "stage": {
+ "description": "now, in_flight, watching, or won.",
+ "type": "string"
+ },
+ "stage_changed_at": {
+ "type": "string"
+ },
+ "timeline": {
+ "description": "The 10 latest events, newest first.",
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "at": {
+ "type": "string"
+ },
+ "by": {
+ "type": "string"
+ },
+ "detail": {
+ "type": "string"
+ },
+ "kind": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "at",
+ "by",
+ "detail"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "title": {
+ "type": "string"
+ },
+ "trend": {
+ "additionalProperties": false,
+ "properties": {
+ "marker": {
+ "description": "When the play shipped, if it has.",
+ "type": "string"
+ },
+ "metric": {
+ "description": "mention_rate, recommendation_rate, or ai_referrals.",
+ "type": "string"
+ },
+ "points": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "date": {
+ "type": "string"
+ },
+ "value": {
+ "type": "number"
+ }
+ },
+ "required": [
+ "date",
+ "value"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "metric",
+ "points",
+ "marker"
+ ],
+ "type": [
+ "null",
+ "object"
+ ]
+ }
+ },
+ "required": [
+ "brand",
+ "id",
+ "kind",
+ "stage",
+ "title",
+ "signal",
+ "segment",
+ "monthly_ai_searches",
+ "score",
+ "assignee",
+ "found_at",
+ "stage_changed_at",
+ "snoozed_until",
+ "dismissed_at",
+ "comment_count",
+ "facts",
+ "play",
+ "presence",
+ "excerpts",
+ "engine_answers",
+ "sources",
+ "trend",
+ "proof",
+ "timeline",
+ "comments"
+ ],
+ "type": "object"
+ },
+ "generated_at": {
+ "description": "RFC 3339 time the response was made.",
+ "type": "string"
+ },
+ "schema_version": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "schema_version",
+ "generated_at",
+ "data"
+ ],
+ "type": "object"
+}