{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://finlight.me/schemas/article.json", "title": "Article", "description": "A financial news article enriched with AI-driven sentiment analysis and company entity extraction", "type": "object", "required": ["link", "title", "publishDate", "source", "language"], "properties": { "link": { "type": "string", "format": "uri", "description": "Original URL of the article" }, "title": { "type": "string", "description": "Article headline" }, "publishDate": { "type": "string", "format": "date-time", "description": "Date and time when the article was published" }, "source": { "type": "string", "description": "Domain of the news source" }, "language": { "type": "string", "pattern": "^[a-z]{2}$", "description": "ISO 639-1 language code", "examples": ["en", "de", "fr", "es"] }, "sentiment": { "type": "string", "enum": ["positive", "negative", "neutral"], "description": "AI-generated sentiment classification for the article" }, "confidence": { "type": "number", "minimum": 0, "maximum": 1, "description": "Confidence score for the sentiment classification (0.0 to 1.0)" }, "summary": { "type": "string", "description": "AI-generated brief summary of the article" }, "images": { "type": "array", "items": { "type": "string", "format": "uri" }, "description": "URLs of images associated with the article" }, "content": { "type": "string", "description": "Full article content text" }, "companies": { "type": "array", "items": { "$ref": "company.json" }, "description": "Companies mentioned and extracted from the article" }, "createdAt": { "type": "string", "format": "date-time", "description": "Timestamp when Finlight ingested the article" }, "revisedDate": { "type": "string", "format": "date-time", "description": "Timestamp when the article was last revised by the publisher" }, "isUpdate": { "type": "boolean", "description": "Whether this article is an update to a previously published piece" }, "categories": { "type": "array", "items": { "$ref": "article-category.json" }, "description": "Content categories assigned to the article" }, "countries": { "type": "array", "items": { "type": "string", "pattern": "^[A-Z]{2}$" }, "description": "ISO 3166-1 alpha-2 country codes relevant to the article" } }, "additionalProperties": false }