{ "$defs": { "AutoPriceReductionConfig": { "properties": { "enabled": { "default": false, "description": "automatically lower the price of reposted ads", "title": "Enabled", "type": "boolean" }, "strategy": { "anyOf": [ { "enum": [ "FIXED", "PERCENTAGE" ], "type": "string" }, { "type": "null" } ], "default": null, "description": "reduction strategy (required when enabled: true). PERCENTAGE = % of price, FIXED = absolute amount", "examples": [ "PERCENTAGE", "FIXED" ], "title": "Strategy" }, "amount": { "anyOf": [ { "exclusiveMinimum": 0, "type": "number" }, { "type": "null" } ], "default": null, "description": "reduction amount (required when enabled: true). For PERCENTAGE: use percent value (e.g., 10 = 10%%). For FIXED: use currency amount", "examples": [ 10.0, 5.0, 20.0 ], "title": "Amount" }, "min_price": { "anyOf": [ { "minimum": 0, "type": "number" }, { "type": "null" } ], "default": null, "description": "minimum price floor (required when enabled: true). Use 0 for no minimum", "examples": [ 1.0, 5.0, 10.0 ], "title": "Min Price" }, "delay_reposts": { "default": 0, "description": "number of reposts to wait before applying the first automatic price reduction", "minimum": 0, "title": "Delay Reposts", "type": "integer" }, "delay_days": { "default": 0, "description": "number of days to wait after publication before applying automatic price reductions", "minimum": 0, "title": "Delay Days", "type": "integer" } }, "title": "AutoPriceReductionConfig", "type": "object" }, "ContactPartial": { "properties": { "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Name" }, "street": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Street" }, "zipcode": { "anyOf": [ { "type": "integer" }, { "type": "string" }, { "type": "null" } ], "default": null, "title": "Zipcode" }, "location": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Location" }, "phone": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Phone" } }, "title": "ContactPartial", "type": "object" } }, "properties": { "active": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Active" }, "type": { "anyOf": [ { "enum": [ "OFFER", "WANTED" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Type" }, "title": { "minLength": 10, "title": "Title", "type": "string" }, "description": { "title": "Description", "type": "string" }, "description_prefix": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Description Prefix" }, "description_suffix": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Description Suffix" }, "category": { "title": "Category", "type": "string" }, "special_attributes": { "anyOf": [ { "additionalProperties": { "type": "string" }, "type": "object" }, { "type": "null" } ], "default": null, "title": "Special Attributes" }, "price": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Price" }, "price_type": { "anyOf": [ { "enum": [ "FIXED", "NEGOTIABLE", "GIVE_AWAY", "NOT_APPLICABLE" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Price Type" }, "auto_price_reduction": { "anyOf": [ { "$ref": "#/$defs/AutoPriceReductionConfig" }, { "type": "null" } ], "default": null, "description": "automatic price reduction configuration" }, "repost_count": { "default": 0, "description": "number of successful publications for this ad (persisted between runs)", "minimum": 0, "title": "Repost Count", "type": "integer" }, "price_reduction_count": { "default": 0, "description": "internal counter: number of automatic price reductions already applied", "minimum": 0, "title": "Price Reduction Count", "type": "integer" }, "shipping_type": { "anyOf": [ { "enum": [ "PICKUP", "SHIPPING", "NOT_APPLICABLE" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Shipping Type" }, "shipping_costs": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "title": "Shipping Costs" }, "shipping_options": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "default": null, "title": "Shipping Options" }, "sell_directly": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Sell Directly" }, "images": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "default": null, "title": "Images" }, "contact": { "anyOf": [ { "$ref": "#/$defs/ContactPartial" }, { "type": "null" } ], "default": null }, "republication_interval": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Republication Interval" }, "id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Id" }, "created_on": { "anyOf": [ { "type": "null" }, { "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,6})?(?:Z|[+-]\\d{2}:\\d{2})?$", "type": "string" } ], "default": null, "description": "ISO-8601 timestamp with optional timezone (e.g. 2024-12-25T00:00:00 or 2024-12-25T00:00:00Z)", "title": "Created On" }, "updated_on": { "anyOf": [ { "type": "null" }, { "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,6})?(?:Z|[+-]\\d{2}:\\d{2})?$", "type": "string" } ], "default": null, "description": "ISO-8601 timestamp with optional timezone (e.g. 2024-12-25T00:00:00 or 2024-12-25T00:00:00Z)", "title": "Updated On" }, "content_hash": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Content Hash" } }, "required": [ "title", "description", "category" ], "title": "AdPartial", "type": "object", "description": "Auto-generated JSON Schema for Ad" }