changedOutput schema / (root)
Previous value: -nullNew value: +{
+ "additionalProperties": false,
+ "properties": {
+ "tool": {
+ "additionalProperties": true,
+ "properties": {
+ "ai_id": {
+ "type": "integer"
+ },
+ "canonical_url": {
+ "type": "string"
+ },
+ "company": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "country": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "deal": {
+ "additionalProperties": false,
+ "properties": {
+ "applies_to": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "code": {
+ "type": "string"
+ },
+ "credits_amount": {
+ "type": [
+ "number",
+ "null"
+ ]
+ },
+ "deal_type": {
+ "enum": [
+ "discount_percent",
+ "discount_amount",
+ "credits",
+ "free_trial"
+ ],
+ "type": "string"
+ },
+ "discount_amount": {
+ "type": [
+ "number",
+ "null"
+ ]
+ },
+ "discount_percent": {
+ "type": [
+ "number",
+ "null"
+ ]
+ },
+ "expires_at": {
+ "description": "Explicit expiry date in YYYY-MM-DD format, or null when no reliable date is present.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "free_trial_days": {
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
+ "has_deal": {
+ "type": "boolean"
+ },
+ "raw_text": {
+ "description": "Deal-related text copied from the tool description when present.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "terms": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "has_deal",
+ "code",
+ "deal_type",
+ "discount_percent",
+ "discount_amount",
+ "credits_amount",
+ "free_trial_days",
+ "applies_to",
+ "terms",
+ "expires_at",
+ "raw_text"
+ ],
+ "type": [
+ "object",
+ "null"
+ ]
+ },
+ "description": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "features": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "name": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "pricing_model": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "rating": {
+ "type": [
+ "number",
+ "null"
+ ]
+ },
+ "slug": {
+ "type": "string"
+ },
+ "tagline": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "tags": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "task": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "task_path": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "url": {
+ "type": "string"
+ },
+ "website_url": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "ai_id",
+ "name",
+ "slug",
+ "canonical_url",
+ "url",
+ "website_url",
+ "tagline",
+ "description",
+ "pricing_model",
+ "rating",
+ "company",
+ "country",
+ "task",
+ "task_path",
+ "tags",
+ "features",
+ "deal"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "tool"
+ ],
+ "type": "object"
+}