changedOutput schema / (root)
Previous value: -nullNew value: +{
+ "additionalProperties": false,
+ "properties": {
+ "data": {
+ "additionalProperties": false,
+ "properties": {
+ "as_of_business_date": {
+ "format": "date",
+ "type": "string"
+ },
+ "bytes": {
+ "minimum": 0,
+ "type": "integer"
+ },
+ "bytes_compressed": {
+ "minimum": 0,
+ "type": "integer"
+ },
+ "catalog_version": {
+ "type": "string"
+ },
+ "etag": {
+ "type": "string"
+ },
+ "expires_at": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "format": {
+ "enum": [
+ "csv",
+ "json"
+ ]
+ },
+ "generated_at": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "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"
+ },
+ "rows": {
+ "minimum": 0,
+ "type": "integer"
+ },
+ "rows_inline": {
+ "items": {
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "schema_version": {
+ "const": 1
+ },
+ "scope": {
+ "anyOf": [
+ {
+ "pattern": "^network:(?:US|CA)$",
+ "type": "string"
+ },
+ {
+ "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$",
+ "type": "string"
+ }
+ ]
+ },
+ "snapshot_id": {
+ "pattern": "^[0-9a-f]{24}$",
+ "type": "string"
+ },
+ "sync_cursor": {
+ "type": "string"
+ },
+ "url": {
+ "format": "uri",
+ "type": "string"
+ },
+ "view": {
+ "enum": [
+ "manifest",
+ "summary",
+ "full"
+ ]
+ }
+ },
+ "required": [
+ "snapshot_id",
+ "schema_version",
+ "scope",
+ "view",
+ "format",
+ "generated_at",
+ "as_of_business_date",
+ "rows",
+ "bytes",
+ "bytes_compressed",
+ "etag",
+ "url",
+ "expires_at",
+ "catalog_version"
+ ],
+ "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"
+}