{ "$schema": "http://json-schema.org/draft-07/schema#", "title": "News Article", "description": "Structured news article for LLM pipelines and media monitoring.", "type": "object", "properties": { "headline": { "type": "string", "description": "Main headline of the article." }, "subheadline": { "type": "string", "description": "Secondary headline or deck of the article." }, "author_name": { "type": "string", "description": "Name of the article's author." }, "author_url": { "type": "string", "description": "URL to the author's profile or bio page." }, "publication_name": { "type": "string", "description": "Name of the publication or outlet." }, "publication_domain": { "type": "string", "description": "Domain of the publication (e.g., 'techcrunch.com')." }, "published_at": { "type": "string", "format": "date-time", "description": "ISO 8601 datetime when the article was first published." }, "updated_at": { "type": "string", "format": "date-time", "description": "ISO 8601 datetime when the article was last updated." }, "article_url": { "type": "string", "description": "Direct URL to the article." }, "canonical_url": { "type": "string", "description": "Canonical URL as declared by the article page." }, "body_text": { "type": "string", "description": "Full body text of the article." }, "summary": { "type": "string", "description": "Short summary or abstract of the article." }, "word_count": { "type": "number", "description": "Approximate word count of the article body." }, "language": { "type": "string", "description": "BCP-47 language code of the article (e.g., 'en')." }, "section": { "type": "string", "description": "Publication section or category the article appears in." }, "tags": { "type": "array", "description": "List of tags or topic labels applied to the article.", "items": { "type": "string" } }, "entities_mentioned": { "type": "array", "description": "Named entities mentioned in the article.", "items": { "$ref": "#/$defs/EntityMention" } }, "sentiment": { "type": "string", "description": "Overall sentiment of the article.", "enum": ["positive", "negative", "neutral", "other"] }, "paywall": { "type": "boolean", "description": "Whether the article is behind a paywall." }, "image_url": { "type": "string", "description": "URL to the article's featured image." }, "page_title": { "type": "string", "description": "Title of the source page. Tabstack auto-fills this from page metadata when left empty." }, "favicon": { "type": "string", "format": "uri", "description": "Favicon URL of the source page. Tabstack auto-fills this from page metadata when left empty." } }, "$defs": { "EntityMention": { "type": "object", "description": "A named entity referenced in the article.", "properties": { "name": { "type": "string", "description": "Name of the entity." }, "type": { "type": "string", "description": "Category of the entity.", "enum": ["company", "person", "product", "location", "other"] }, "url": { "type": "string", "description": "Optional URL associated with the entity." } }, "required": ["name", "type"] } }, "required": ["headline", "publication_name", "published_at", "article_url"] }