changedOutput schema / (root)
Previous value: -nullNew value: +{
+ "additionalProperties": false,
+ "properties": {
+ "data": {
+ "additionalProperties": false,
+ "properties": {
+ "market": {
+ "additionalProperties": false,
+ "properties": {
+ "country": {
+ "enum": [
+ "US",
+ "CA"
+ ],
+ "type": "string"
+ },
+ "currency": {
+ "type": "string"
+ },
+ "odometer_unit": {
+ "enum": [
+ "mi",
+ "km"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "country",
+ "currency",
+ "odometer_unit"
+ ],
+ "type": "object"
+ },
+ "rooftops": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "address": {
+ "maxLength": 200,
+ "type": "string"
+ },
+ "available_units": {
+ "description": "null when the rooftop is not part of network aggregation (network opt-out)",
+ "minimum": 0,
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
+ "city": {
+ "maxLength": 100,
+ "type": "string"
+ },
+ "country": {
+ "enum": [
+ "US",
+ "CA"
+ ],
+ "type": "string"
+ },
+ "dealer_group": {
+ "additionalProperties": false,
+ "properties": {
+ "name": {
+ "maxLength": 200,
+ "type": "string"
+ },
+ "slug": {
+ "maxLength": 80,
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "slug"
+ ],
+ "type": "object"
+ },
+ "freshness": {
+ "additionalProperties": false,
+ "properties": {
+ "last_ingest_at": {
+ "format": "date-time",
+ "maxLength": 40,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "status": {
+ "enum": [
+ "fresh",
+ "stale",
+ "no_data"
+ ]
+ }
+ },
+ "required": [
+ "status",
+ "last_ingest_at"
+ ],
+ "type": "object"
+ },
+ "hours": {
+ "type": "object"
+ },
+ "latitude": {
+ "maximum": 90,
+ "minimum": -90,
+ "type": "number"
+ },
+ "limitations": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "longitude": {
+ "maximum": 180,
+ "minimum": -180,
+ "type": "number"
+ },
+ "manifest_url": {
+ "maxLength": 300,
+ "type": "string"
+ },
+ "name": {
+ "maxLength": 200,
+ "type": "string"
+ },
+ "new_units": {
+ "description": "null when the rooftop is not part of network aggregation (network opt-out)",
+ "minimum": 0,
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
+ "oem_programs": {
+ "items": {
+ "maxLength": 80,
+ "type": "string"
+ },
+ "maxItems": 20,
+ "type": "array"
+ },
+ "phone": {
+ "maxLength": 30,
+ "type": "string"
+ },
+ "price_median": {
+ "description": "null when the rooftop is not part of network aggregation (network opt-out)",
+ "minimum": 0,
+ "type": [
+ "number",
+ "null"
+ ]
+ },
+ "priced_count": {
+ "description": "null when the rooftop is not part of network aggregation (network opt-out)",
+ "minimum": 0,
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
+ "slug": {
+ "maxLength": 80,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 50,
+ "type": "string"
+ },
+ "top_makes": {
+ "items": {
+ "maxLength": 80,
+ "type": "string"
+ },
+ "maxItems": 3,
+ "type": "array"
+ },
+ "used_units": {
+ "description": "null when the rooftop is not part of network aggregation (network opt-out)",
+ "minimum": 0,
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
+ "website_url": {
+ "maxLength": 300,
+ "type": "string"
+ },
+ "zip": {
+ "maxLength": 20,
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "slug",
+ "country",
+ "dealer_group",
+ "oem_programs",
+ "available_units",
+ "new_units",
+ "used_units",
+ "top_makes",
+ "priced_count",
+ "price_median",
+ "freshness"
+ ],
+ "type": "object"
+ },
+ "maxItems": 500,
+ "type": "array"
+ },
+ "total": {
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "rooftops",
+ "total"
+ ],
+ "type": "object"
+ },
+ "error": {
+ "additionalProperties": false,
+ "description": "Unknown and foreign thread ids are deliberately indistinguishable: both return invalid_params with message \"unknown thread_id\" (anti-enumeration).",
+ "properties": {
+ "auth_help_url": {
+ "description": "Present only when no credential was supplied for a capability that requires one. Points to human documentation for obtaining a key. Absent for invalid, pending, or disabled credentials, which are deliberately indistinguishable.",
+ "format": "uri",
+ "maxLength": 500,
+ "type": "string"
+ },
+ "code": {
+ "enum": [
+ "rooftop_not_found",
+ "rooftop_inactive",
+ "unit_not_found",
+ "invalid_params",
+ "rate_limited",
+ "upstream_unavailable",
+ "capability_unavailable",
+ "identity_required",
+ "quota_exceeded",
+ "unit_held",
+ "quote_expired",
+ "rooftop_paused",
+ "handoff_duplicate",
+ "idempotency_conflict",
+ "price_unavailable",
+ "snapshot_expired",
+ "artifact_too_large",
+ "cursor_invalid",
+ "cursor_expired",
+ "ambiguous_identity",
+ "unsupported_in_country"
+ ]
+ },
+ "message": {
+ "maxLength": 500,
+ "type": "string"
+ },
+ "retry_after_seconds": {
+ "minimum": 0,
+ "type": "integer"
+ },
+ "retryable": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "code",
+ "message",
+ "retryable"
+ ],
+ "type": "object"
+ },
+ "freshness": {
+ "additionalProperties": false,
+ "properties": {
+ "by_rooftop": {
+ "additionalProperties": {
+ "additionalProperties": false,
+ "properties": {
+ "last_ingest_at": {
+ "format": "date-time",
+ "maxLength": 40,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "status": {
+ "enum": [
+ "fresh",
+ "stale",
+ "no_data"
+ ]
+ }
+ },
+ "required": [
+ "status",
+ "last_ingest_at"
+ ],
+ "type": "object"
+ },
+ "maxProperties": 500,
+ "type": "object"
+ }
+ },
+ "required": [
+ "by_rooftop"
+ ],
+ "type": "object"
+ }
+ },
+ "type": "object"
+}