{"openapi":"3.0.3","info":{"title":"DynaMail API Documentation","version":"1.0.0","description":"DynaMail API documentation generated from the shared operation registry and Zod schemas. The documented shapes are generated schema representations; individual route handlers define runtime validation behavior."},"servers":[{"url":"https://api.dynamail.io","description":"Production API server"},{"url":"http://localhost:3001","description":"Local development API server"}],"tags":[{"name":"Account"},{"name":"Latest Content"},{"name":"Widgets"},{"name":"Render"},{"name":"Meta"},{"name":"Health"},{"name":"Assets"},{"name":"Backgrounds"},{"name":"Fundraising"}],"paths":{"/me":{"get":{"operationId":"getApiIdentity","summary":"Get the authenticated API account identity","tags":["Account"],"parameters":[],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiIdentityEnvelope"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too many requests","headers":{"Retry-After":{"description":"Positive integer seconds to wait before retrying.","schema":{"type":"integer","minimum":1}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"Service unavailable","headers":{"Retry-After":{"description":"Positive integer seconds to wait before retrying.","schema":{"type":"integer","minimum":1}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/latest-content/{id}":{"get":{"operationId":"getLatestContent","summary":"Get the current published latest content item","tags":["Latest Content"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","minLength":1}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LatestContentPublicEnvelope"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/latest-content/{id}/image.png":{"get":{"operationId":"getLatestContentImage","summary":"Get the generation-bound latest content image","tags":["Latest Content"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","minLength":1}},{"name":"generation","in":"query","required":true,"schema":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[a-f0-9]+$"}}],"responses":{"200":{"description":"Binary response","content":{"image/png":{"schema":{"type":"string","format":"binary"}},"image/gif":{"schema":{"type":"string","format":"binary"}},"image/jpeg":{"schema":{"type":"string","format":"binary"}},"image/webp":{"schema":{"type":"string","format":"binary"}},"image/apng":{"schema":{"type":"string","format":"binary"}},"image/jxl":{"schema":{"type":"string","format":"binary"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/widgets":{"post":{"operationId":"createWidget","summary":"Create widget","tags":["Widgets"],"parameters":[],"responses":{"201":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WidgetEnvelope"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too many requests","headers":{"Retry-After":{"description":"Positive integer seconds to wait before retrying.","schema":{"type":"integer","minimum":1}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"Service unavailable","headers":{"Retry-After":{"description":"Positive integer seconds to wait before retrying.","schema":{"type":"integer","minimum":1}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateWidgetRequestBody"}}}},"security":[{"ApiKeyAuth":["widgets:write"]}]},"get":{"operationId":"listWidgets","summary":"List widgets","tags":["Widgets"],"parameters":[],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WidgetListEnvelope"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too many requests","headers":{"Retry-After":{"description":"Positive integer seconds to wait before retrying.","schema":{"type":"integer","minimum":1}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"Service unavailable","headers":{"Retry-After":{"description":"Positive integer seconds to wait before retrying.","schema":{"type":"integer","minimum":1}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"security":[{"ApiKeyAuth":["widgets:read"]}]}},"/widgets/summaries":{"get":{"operationId":"listWidgetSummaries","summary":"List owned widget metadata without configuration","tags":["Widgets"],"parameters":[],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WidgetSummaryListEnvelope"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too many requests","headers":{"Retry-After":{"description":"Positive integer seconds to wait before retrying.","schema":{"type":"integer","minimum":1}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"Service unavailable","headers":{"Retry-After":{"description":"Positive integer seconds to wait before retrying.","schema":{"type":"integer","minimum":1}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"security":[{"ApiKeyAuth":["widgets:read"]},{"ApiKeyAuth":["live-value:write"]}]}},"/widgets/{id}":{"get":{"operationId":"getWidget","summary":"Get widget by ID","tags":["Widgets"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","minLength":1}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicWidgetEnvelope"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}},"patch":{"operationId":"updateWidget","summary":"Update widget","tags":["Widgets"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","minLength":1}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WidgetEnvelope"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too many requests","headers":{"Retry-After":{"description":"Positive integer seconds to wait before retrying.","schema":{"type":"integer","minimum":1}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"Service unavailable","headers":{"Retry-After":{"description":"Positive integer seconds to wait before retrying.","schema":{"type":"integer","minimum":1}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateWidgetRequestBody"}}}},"security":[{"ApiKeyAuth":["widgets:write"]}]},"delete":{"operationId":"deleteWidget","summary":"Delete widget","tags":["Widgets"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","minLength":1}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessMessageResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too many requests","headers":{"Retry-After":{"description":"Positive integer seconds to wait before retrying.","schema":{"type":"integer","minimum":1}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"Service unavailable","headers":{"Retry-After":{"description":"Positive integer seconds to wait before retrying.","schema":{"type":"integer","minimum":1}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"security":[{"ApiKeyAuth":["widgets:write"]}]}},"/widgets/{id}/live-value":{"get":{"operationId":"getWidgetLiveValue","summary":"Get the live value (Stat Counter, Progress Bar, Radial Progress, Gauge Progress, Vertical Progress)","tags":["Widgets"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","minLength":1}},{"name":"recipient","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LiveNumericValueReadEnvelope"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too many requests","headers":{"Retry-After":{"description":"Positive integer seconds to wait before retrying.","schema":{"type":"integer","minimum":1}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"Service unavailable","headers":{"Retry-After":{"description":"Positive integer seconds to wait before retrying.","schema":{"type":"integer","minimum":1}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"security":[{"ApiKeyAuth":["live-value:read"]}]},"put":{"operationId":"setWidgetLiveValue","summary":"Set the live value (Stat Counter, Progress Bar, Radial Progress, Gauge Progress, Vertical Progress)","tags":["Widgets"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","minLength":1}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LiveNumericValueMutationEnvelope"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too many requests","headers":{"Retry-After":{"description":"Positive integer seconds to wait before retrying.","schema":{"type":"integer","minimum":1}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"Service unavailable","headers":{"Retry-After":{"description":"Positive integer seconds to wait before retrying.","schema":{"type":"integer","minimum":1}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetLiveNumericValueRequestBody"}}}},"security":[{"ApiKeyAuth":["live-value:write"]}]},"delete":{"operationId":"clearWidgetLiveValue","summary":"Clear the live value (Stat Counter, Progress Bar, Radial Progress, Gauge Progress, Vertical Progress)","tags":["Widgets"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","minLength":1}},{"name":"recipient","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LiveNumericValueMutationEnvelope"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too many requests","headers":{"Retry-After":{"description":"Positive integer seconds to wait before retrying.","schema":{"type":"integer","minimum":1}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"Service unavailable","headers":{"Retry-After":{"description":"Positive integer seconds to wait before retrying.","schema":{"type":"integer","minimum":1}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"security":[{"ApiKeyAuth":["live-value:write"]}]}},"/widgets/{id}/live-value/bulk":{"put":{"operationId":"bulkSetWidgetLiveValues","summary":"Set recipient live values in bulk (Stat Counter, Progress Bar, Radial Progress, Gauge Progress, Vertical Progress)","tags":["Widgets"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","minLength":1}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkLiveNumericValueEnvelope"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too many requests","headers":{"Retry-After":{"description":"Positive integer seconds to wait before retrying.","schema":{"type":"integer","minimum":1}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"Service unavailable","headers":{"Retry-After":{"description":"Positive integer seconds to wait before retrying.","schema":{"type":"integer","minimum":1}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkSetLiveNumericValueRequestBody"}}}},"security":[{"ApiKeyAuth":["live-value:write"]}]}},"/widgets/{id}/live-value/increment":{"post":{"operationId":"incrementWidgetLiveValue","summary":"Increment the live value (Stat Counter, Progress Bar, Radial Progress, Gauge Progress, Vertical Progress)","tags":["Widgets"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","minLength":1}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LiveNumericValueMutationEnvelope"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too many requests","headers":{"Retry-After":{"description":"Positive integer seconds to wait before retrying.","schema":{"type":"integer","minimum":1}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"Service unavailable","headers":{"Retry-After":{"description":"Positive integer seconds to wait before retrying.","schema":{"type":"integer","minimum":1}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IncrementLiveNumericValueRequestBody"}}}},"security":[{"ApiKeyAuth":["live-value:write"]}]}},"/widgets/{id}/live-value/recipients":{"delete":{"operationId":"clearWidgetLiveValueRecipients","summary":"Clear all recipient live values (Stat Counter, Progress Bar, Radial Progress, Gauge Progress, Vertical Progress)","tags":["Widgets"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","minLength":1}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteLiveRecipientValuesEnvelope"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too many requests","headers":{"Retry-After":{"description":"Positive integer seconds to wait before retrying.","schema":{"type":"integer","minimum":1}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"Service unavailable","headers":{"Retry-After":{"description":"Positive integer seconds to wait before retrying.","schema":{"type":"integer","minimum":1}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"security":[{"ApiKeyAuth":["live-value:write"]}]}},"/widgets/{id}/render.png":{"get":{"operationId":"renderWidgetPng","summary":"Render widget as PNG","tags":["Render"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","minLength":1}},{"name":"width","in":"query","required":false,"schema":{"type":"integer","minimum":100,"maximum":2000}},{"name":"height","in":"query","required":false,"schema":{"type":"integer","minimum":50,"maximum":1000}},{"name":"format","in":"query","required":false,"schema":{"type":"string","enum":["png","gif","webp","apng","jxl","jpg"]}},{"name":"pixelRatio","in":"query","required":false,"schema":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},{"name":"scheme","in":"query","required":false,"schema":{"type":"string","enum":["light","dark"]}},{"name":"locale","in":"query","required":false,"schema":{"type":"string","minLength":2,"maxLength":35}},{"name":"recipient","in":"query","required":false,"schema":{"type":"string"}},{"name":"t","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Binary response","content":{"image/png":{"schema":{"type":"string","format":"binary"}},"image/gif":{"schema":{"type":"string","format":"binary"}},"image/jpeg":{"schema":{"type":"string","format":"binary"}},"image/webp":{"schema":{"type":"string","format":"binary"}},"image/apng":{"schema":{"type":"string","format":"binary"}},"image/jxl":{"schema":{"type":"string","format":"binary"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/widgets/{id}/render.gif":{"get":{"operationId":"renderWidgetGif","summary":"Render widget as GIF","tags":["Render"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","minLength":1}},{"name":"width","in":"query","required":false,"schema":{"type":"integer","minimum":100,"maximum":2000}},{"name":"height","in":"query","required":false,"schema":{"type":"integer","minimum":50,"maximum":1000}},{"name":"format","in":"query","required":false,"schema":{"type":"string","enum":["png","gif","webp","apng","jxl","jpg"]}},{"name":"pixelRatio","in":"query","required":false,"schema":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},{"name":"scheme","in":"query","required":false,"schema":{"type":"string","enum":["light","dark"]}},{"name":"locale","in":"query","required":false,"schema":{"type":"string","minLength":2,"maxLength":35}},{"name":"recipient","in":"query","required":false,"schema":{"type":"string"}},{"name":"t","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Binary response","content":{"image/png":{"schema":{"type":"string","format":"binary"}},"image/gif":{"schema":{"type":"string","format":"binary"}},"image/jpeg":{"schema":{"type":"string","format":"binary"}},"image/webp":{"schema":{"type":"string","format":"binary"}},"image/apng":{"schema":{"type":"string","format":"binary"}},"image/jxl":{"schema":{"type":"string","format":"binary"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/widgets/{id}/render.webp":{"get":{"operationId":"renderWidgetWebp","summary":"Render widget as WebP","tags":["Render"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","minLength":1}},{"name":"width","in":"query","required":false,"schema":{"type":"integer","minimum":100,"maximum":2000}},{"name":"height","in":"query","required":false,"schema":{"type":"integer","minimum":50,"maximum":1000}},{"name":"format","in":"query","required":false,"schema":{"type":"string","enum":["png","gif","webp","apng","jxl","jpg"]}},{"name":"pixelRatio","in":"query","required":false,"schema":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},{"name":"scheme","in":"query","required":false,"schema":{"type":"string","enum":["light","dark"]}},{"name":"locale","in":"query","required":false,"schema":{"type":"string","minLength":2,"maxLength":35}},{"name":"recipient","in":"query","required":false,"schema":{"type":"string"}},{"name":"t","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Binary response","content":{"image/png":{"schema":{"type":"string","format":"binary"}},"image/gif":{"schema":{"type":"string","format":"binary"}},"image/jpeg":{"schema":{"type":"string","format":"binary"}},"image/webp":{"schema":{"type":"string","format":"binary"}},"image/apng":{"schema":{"type":"string","format":"binary"}},"image/jxl":{"schema":{"type":"string","format":"binary"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/widgets/{id}/render.apng":{"get":{"operationId":"renderWidgetApng","summary":"Render widget as animated PNG","tags":["Render"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","minLength":1}},{"name":"width","in":"query","required":false,"schema":{"type":"integer","minimum":100,"maximum":2000}},{"name":"height","in":"query","required":false,"schema":{"type":"integer","minimum":50,"maximum":1000}},{"name":"format","in":"query","required":false,"schema":{"type":"string","enum":["png","gif","webp","apng","jxl","jpg"]}},{"name":"pixelRatio","in":"query","required":false,"schema":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},{"name":"scheme","in":"query","required":false,"schema":{"type":"string","enum":["light","dark"]}},{"name":"locale","in":"query","required":false,"schema":{"type":"string","minLength":2,"maxLength":35}},{"name":"recipient","in":"query","required":false,"schema":{"type":"string"}},{"name":"t","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Binary response","content":{"image/png":{"schema":{"type":"string","format":"binary"}},"image/gif":{"schema":{"type":"string","format":"binary"}},"image/jpeg":{"schema":{"type":"string","format":"binary"}},"image/webp":{"schema":{"type":"string","format":"binary"}},"image/apng":{"schema":{"type":"string","format":"binary"}},"image/jxl":{"schema":{"type":"string","format":"binary"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/widgets/{id}/render.jxl":{"get":{"operationId":"renderWidgetJxl","summary":"Render widget as JPEG XL","tags":["Render"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","minLength":1}},{"name":"width","in":"query","required":false,"schema":{"type":"integer","minimum":100,"maximum":2000}},{"name":"height","in":"query","required":false,"schema":{"type":"integer","minimum":50,"maximum":1000}},{"name":"format","in":"query","required":false,"schema":{"type":"string","enum":["png","gif","webp","apng","jxl","jpg"]}},{"name":"pixelRatio","in":"query","required":false,"schema":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},{"name":"scheme","in":"query","required":false,"schema":{"type":"string","enum":["light","dark"]}},{"name":"locale","in":"query","required":false,"schema":{"type":"string","minLength":2,"maxLength":35}},{"name":"recipient","in":"query","required":false,"schema":{"type":"string"}},{"name":"t","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Binary response","content":{"image/png":{"schema":{"type":"string","format":"binary"}},"image/gif":{"schema":{"type":"string","format":"binary"}},"image/jpeg":{"schema":{"type":"string","format":"binary"}},"image/webp":{"schema":{"type":"string","format":"binary"}},"image/apng":{"schema":{"type":"string","format":"binary"}},"image/jxl":{"schema":{"type":"string","format":"binary"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/widgets/{id}/render.jpg":{"get":{"operationId":"renderWidgetJpeg","summary":"Render widget as JPEG","tags":["Render"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","minLength":1}},{"name":"width","in":"query","required":false,"schema":{"type":"integer","minimum":100,"maximum":2000}},{"name":"height","in":"query","required":false,"schema":{"type":"integer","minimum":50,"maximum":1000}},{"name":"format","in":"query","required":false,"schema":{"type":"string","enum":["png","gif","webp","apng","jxl","jpg"]}},{"name":"pixelRatio","in":"query","required":false,"schema":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},{"name":"scheme","in":"query","required":false,"schema":{"type":"string","enum":["light","dark"]}},{"name":"locale","in":"query","required":false,"schema":{"type":"string","minLength":2,"maxLength":35}},{"name":"recipient","in":"query","required":false,"schema":{"type":"string"}},{"name":"t","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Binary response","content":{"image/png":{"schema":{"type":"string","format":"binary"}},"image/gif":{"schema":{"type":"string","format":"binary"}},"image/jpeg":{"schema":{"type":"string","format":"binary"}},"image/webp":{"schema":{"type":"string","format":"binary"}},"image/apng":{"schema":{"type":"string","format":"binary"}},"image/jxl":{"schema":{"type":"string","format":"binary"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/widgets/{id}/render.jpeg":{"get":{"operationId":"renderWidgetJpegAlias","summary":"Render widget as JPEG (alias)","tags":["Render"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","minLength":1}},{"name":"width","in":"query","required":false,"schema":{"type":"integer","minimum":100,"maximum":2000}},{"name":"height","in":"query","required":false,"schema":{"type":"integer","minimum":50,"maximum":1000}},{"name":"format","in":"query","required":false,"schema":{"type":"string","enum":["png","gif","webp","apng","jxl","jpg"]}},{"name":"pixelRatio","in":"query","required":false,"schema":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},{"name":"scheme","in":"query","required":false,"schema":{"type":"string","enum":["light","dark"]}},{"name":"locale","in":"query","required":false,"schema":{"type":"string","minLength":2,"maxLength":35}},{"name":"recipient","in":"query","required":false,"schema":{"type":"string"}},{"name":"t","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Binary response","content":{"image/png":{"schema":{"type":"string","format":"binary"}},"image/gif":{"schema":{"type":"string","format":"binary"}},"image/jpeg":{"schema":{"type":"string","format":"binary"}},"image/webp":{"schema":{"type":"string","format":"binary"}},"image/apng":{"schema":{"type":"string","format":"binary"}},"image/jxl":{"schema":{"type":"string","format":"binary"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/openapi.json":{"get":{"operationId":"getOpenApiDocument","summary":"Get the public OpenAPI document","tags":["Meta"],"parameters":[],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenApiDocument"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/health/live":{"get":{"operationId":"getLiveness","summary":"Liveness check","tags":["Health"],"parameters":[],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LivenessResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/health":{"get":{"operationId":"getHealth","summary":"Health check","tags":["Health"],"parameters":[],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"503":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthResponse"}}}}}}},"/assets/{userId}/{hashDotExt}":{"get":{"operationId":"getPublicAsset","summary":"Get a user image by content hash","tags":["Assets"],"parameters":[{"name":"userId","in":"path","required":true,"schema":{"type":"string","minLength":1}},{"name":"hashDotExt","in":"path","required":true,"schema":{"type":"string","minLength":1}}],"responses":{"200":{"description":"Binary response","content":{"image/png":{"schema":{"type":"string","format":"binary"}},"image/gif":{"schema":{"type":"string","format":"binary"}},"image/jpeg":{"schema":{"type":"string","format":"binary"}},"image/webp":{"schema":{"type":"string","format":"binary"}},"image/apng":{"schema":{"type":"string","format":"binary"}},"image/jxl":{"schema":{"type":"string","format":"binary"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/backgrounds/{category}/{filename}":{"get":{"operationId":"getBackgroundImage","summary":"Get a background image by category and filename","tags":["Backgrounds"],"parameters":[{"name":"category","in":"path","required":true,"schema":{"type":"string","minLength":1}},{"name":"filename","in":"path","required":true,"schema":{"type":"string","minLength":1}}],"responses":{"200":{"description":"Binary response","content":{"image/png":{"schema":{"type":"string","format":"binary"}},"image/gif":{"schema":{"type":"string","format":"binary"}},"image/jpeg":{"schema":{"type":"string","format":"binary"}},"image/webp":{"schema":{"type":"string","format":"binary"}},"image/apng":{"schema":{"type":"string","format":"binary"}},"image/jxl":{"schema":{"type":"string","format":"binary"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/backgrounds/id/{imageId}":{"get":{"operationId":"getBackgroundImageById","summary":"Get a background image by ID","tags":["Backgrounds"],"parameters":[{"name":"imageId","in":"path","required":true,"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}}],"responses":{"200":{"description":"Binary response","content":{"image/png":{"schema":{"type":"string","format":"binary"}},"image/gif":{"schema":{"type":"string","format":"binary"}},"image/jpeg":{"schema":{"type":"string","format":"binary"}},"image/webp":{"schema":{"type":"string","format":"binary"}},"image/apng":{"schema":{"type":"string","format":"binary"}},"image/jxl":{"schema":{"type":"string","format":"binary"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/widgets/{id}/gifts":{"post":{"operationId":"addWidgetFundraisingGift","summary":"Add a gift to a fundraising campaign","tags":["Fundraising"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","minLength":1}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WidgetGiftReceiptEnvelope"}}}},"201":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WidgetGiftReceiptEnvelope"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too many requests","headers":{"Retry-After":{"description":"Positive integer seconds to wait before retrying.","schema":{"type":"integer","minimum":1}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddWidgetGiftRequestBody"}}}},"security":[{"ApiKeyAuth":["live-value:write"]}]}}},"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"X-API-Key","description":"Scopes: widgets:read, widgets:write, live-value:read, live-value:write. When an operation lists multiple scopes, holding any one of them grants access."}},"schemas":{"ApiError":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"context":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}},"required":["code","message"]}},"required":["error"]},"CreateWidgetRequestBody":{"oneOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"type":{"type":"string","enum":["latest_content"]},"userId":{"type":"string","minLength":1},"config":{"type":"object","properties":{"brand":{"type":"object","properties":{"accentColor":{"type":"string","pattern":"^#(?:[a-f\\d]{3}|[a-f\\d]{6})$"},"fontId":{"type":"string","maxLength":80,"pattern":"^(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display|\"\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*\"|'\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*')$"},"brandName":{"type":"string","maxLength":200}}},"tokens":{"type":"object","properties":{"surface":{"type":"string","minLength":1},"ink":{"type":"string","minLength":1},"muted":{"type":"string","minLength":1},"accent":{"type":"string","minLength":1},"accentSoft":{"type":"string","minLength":1},"line":{"type":"string","minLength":1},"headingFont":{"type":"string","minLength":1},"bodyFont":{"type":"string","minLength":1}},"additionalProperties":false},"collection":{"type":"string","enum":["signal","ledger","poster","night"]},"format":{"type":"string","enum":["png"]},"publication":{"type":"string","enum":["draft","published"]},"dslLayout":{},"fallbackLayout":{},"background":{},"source":{},"previewLatestContentScenario":{"not":{}}},"required":["format","dslLayout","fallbackLayout"],"additionalProperties":{},"description":"config.dslLayout is required on create for this widget type: it has no server default and cannot render without one. Supply tokens when the layout uses $ references."}},"required":["name","type","userId","config"]},{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"type":{"type":"string","enum":["event_card"]},"userId":{"type":"string","minLength":1},"config":{"type":"object","properties":{"brand":{"type":"object","properties":{"accentColor":{"type":"string","pattern":"^#(?:[a-f\\d]{3}|[a-f\\d]{6})$"},"fontId":{"type":"string","maxLength":80,"pattern":"^(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display|\"\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*\"|'\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*')$"},"brandName":{"type":"string","maxLength":200}}},"tokens":{"type":"object","properties":{"surface":{"type":"string","minLength":1},"ink":{"type":"string","minLength":1},"muted":{"type":"string","minLength":1},"accent":{"type":"string","minLength":1},"accentSoft":{"type":"string","minLength":1},"line":{"type":"string","minLength":1},"headingFont":{"type":"string","minLength":1},"bodyFont":{"type":"string","minLength":1}},"additionalProperties":false},"collection":{"type":"string","enum":["signal","ledger","poster","night"]},"title":{"type":"string","minLength":1,"maxLength":120},"description":{"default":"","type":"string","maxLength":2000},"organizer":{"default":"","type":"string","maxLength":120},"venue":{"default":"","type":"string","maxLength":300},"joinUrl":{"default":"","type":"string","maxLength":2000},"recordingUrl":{"default":"","type":"string","maxLength":2000},"startDate":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{3})?(?:Z|[+-]\\d{2}:\\d{2})$"},"endDate":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{3})?(?:Z|[+-]\\d{2}:\\d{2})$"},"timezone":{"type":"string"},"status":{"type":"string","enum":["scheduled","cancelled"]},"publication":{"type":"string","enum":["draft","published"]},"dslLayout":{},"format":{"type":"string","enum":["png"]},"previewPhase":{"not":{}},"testVariables":{"not":{}}},"required":["title","startDate","endDate","timezone","status","publication","dslLayout","format"],"description":"config.dslLayout is required on create for this widget type: it has no server default and cannot render without one. Supply tokens when the layout uses $ references."}},"required":["name","type","userId","config"]},{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"type":{"type":"string","enum":["campaign_stages"]},"userId":{"type":"string","minLength":1},"config":{"type":"object","properties":{"brand":{"type":"object","properties":{"accentColor":{"type":"string","pattern":"^#(?:[a-f\\d]{3}|[a-f\\d]{6})$"},"fontId":{"type":"string","maxLength":80,"pattern":"^(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display|\"\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*\"|'\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*')$"},"brandName":{"type":"string","maxLength":200}}},"tokens":{"type":"object","properties":{"surface":{"type":"string","minLength":1},"ink":{"type":"string","minLength":1},"muted":{"type":"string","minLength":1},"accent":{"type":"string","minLength":1},"accentSoft":{"type":"string","minLength":1},"line":{"type":"string","minLength":1},"headingFont":{"type":"string","minLength":1},"bodyFont":{"type":"string","minLength":1}},"additionalProperties":false},"collection":{"type":"string","enum":["signal","ledger","poster","night"]},"startDate":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{3})?(?:Z|[+-]\\d{2}:\\d{2})$"},"endDate":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{3})?(?:Z|[+-]\\d{2}:\\d{2})$"},"timezone":{"type":"string"},"destinationUrl":{"type":"string","maxLength":2048,"format":"uri"},"stageDestinations":{"type":"object","properties":{"upcoming":{"type":"string","maxLength":2048,"format":"uri"},"active":{"type":"string","maxLength":2048,"format":"uri"},"ended":{"type":"string","maxLength":2048,"format":"uri"}},"additionalProperties":false},"dslLayout":{},"activeLayout":{},"endedLayout":{},"format":{"type":"string","enum":["png"]},"previewStage":{"not":{}}},"required":["startDate","endDate","timezone","destinationUrl","dslLayout","activeLayout","endedLayout","format"],"additionalProperties":{},"description":"config.dslLayout is required on create for this widget type: it has no server default and cannot render without one. Supply tokens when the layout uses $ references."}},"required":["name","type","userId","config"]},{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"type":{"type":"string","enum":["weather_variants"]},"userId":{"type":"string","minLength":1},"config":{"type":"object","properties":{"brand":{"type":"object","properties":{"accentColor":{"type":"string","pattern":"^#(?:[a-f\\d]{3}|[a-f\\d]{6})$"},"fontId":{"type":"string","maxLength":80,"pattern":"^(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display|\"\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*\"|'\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*')$"},"brandName":{"type":"string","maxLength":200}}},"tokens":{"type":"object","properties":{"surface":{"type":"string","minLength":1},"ink":{"type":"string","minLength":1},"muted":{"type":"string","minLength":1},"accent":{"type":"string","minLength":1},"accentSoft":{"type":"string","minLength":1},"line":{"type":"string","minLength":1},"headingFont":{"type":"string","minLength":1},"bodyFont":{"type":"string","minLength":1}},"additionalProperties":false},"collection":{"type":"string","enum":["signal","ledger","poster","night"]},"location":{},"forecast":{},"temperatureUnit":{"type":"string","enum":["celsius","fahrenheit"]},"coldThresholdCelsius":{"type":"number"},"destinationUrl":{"type":"string"},"dslLayout":{},"wetLayout":{},"coldSnowLayout":{},"format":{"type":"string","enum":["png"]},"previewWeatherScenario":{"not":{}}},"required":["location","forecast","temperatureUnit","coldThresholdCelsius","destinationUrl","dslLayout","wetLayout","coldSnowLayout","format"],"additionalProperties":{},"description":"config.dslLayout is required on create for this widget type: it has no server default and cannot render without one. Supply tokens when the layout uses $ references."}},"required":["name","type","userId","config"]},{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"type":{"type":"string","enum":["countdown"]},"userId":{"type":"string","minLength":1},"config":{"type":"object","properties":{"brand":{"type":"object","properties":{"accentColor":{"type":"string","pattern":"^#(?:[a-f\\d]{3}|[a-f\\d]{6})$"},"fontId":{"type":"string","maxLength":80,"pattern":"^(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display|\"\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*\"|'\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*')$"},"brandName":{"type":"string","maxLength":200}}},"tokens":{"type":"object","properties":{"surface":{"type":"string","minLength":1},"ink":{"type":"string","minLength":1},"muted":{"type":"string","minLength":1},"accent":{"type":"string","minLength":1},"accentSoft":{"type":"string","minLength":1},"line":{"type":"string","minLength":1},"headingFont":{"type":"string","minLength":1},"bodyFont":{"type":"string","minLength":1}},"additionalProperties":false},"collection":{"type":"string","enum":["signal","ledger","poster","night"]},"referenceDate":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(:\\d{2})?(\\.\\d+)?(Z|[+-]\\d{2}:\\d{2})?$"},{"type":"string","enum":["nextFriday","endOfMonth","endOfQuarter","endOfYear"]}]},"mode":{"type":"string","enum":["countdown","countup"]},"recurrence":{"type":"string","enum":["daily","weekly","monthly","yearly"]},"recurrenceDay":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"milestones":{"maxItems":10,"type":"array","items":{"type":"object","properties":{"remainingSeconds":{"type":"integer","minimum":0,"maximum":9007199254740991},"styles":{"type":"object","properties":{"background":{"anyOf":[{"type":"string","collectionToken":true},{"type":"object","properties":{"type":{"type":"string","enum":["gradient"]},"colors":{"type":"array","items":[{"type":"string","collectionToken":true},{"type":"string","collectionToken":true}],"additionalItems":false,"minItems":2,"maxItems":2},"direction":{"type":"string","enum":["horizontal","vertical","diagonal"]}},"required":["type","colors","direction"],"additionalProperties":false}]},"backgroundImage":{"type":"object","properties":{"source":{"type":"string"},"imageId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"isSystem":{"type":"boolean"},"fit":{"type":"string","enum":["cover","contain","stretch","tile"]},"position":{"type":"object","properties":{"x":{"type":"string","enum":["left","center","right"]},"y":{"type":"string","enum":["top","center","bottom"]}},"additionalProperties":false},"opacity":{"type":"number","minimum":0,"maximum":1},"filters":{"type":"object","properties":{"grayscale":{"type":"number","minimum":0,"maximum":100},"brightness":{"type":"number","minimum":0,"maximum":200},"contrast":{"type":"number","minimum":0,"maximum":200},"blur":{"type":"number","minimum":0,"maximum":20},"saturate":{"type":"number","minimum":0,"maximum":200},"sepia":{"type":"number","minimum":0,"maximum":100},"hueRotate":{"type":"number","minimum":0,"maximum":360},"invert":{"type":"number","minimum":0,"maximum":100}},"additionalProperties":false}},"additionalProperties":false},"borderRadius":{"type":"number","minimum":0},"border":{"type":"object","properties":{"width":{"type":"number","minimum":0},"color":{"type":"string","collectionToken":true},"borderRadius":{"type":"number","minimum":0}},"required":["width","color"],"additionalProperties":false},"shadow":{"type":"object","properties":{"blur":{"type":"number","minimum":0},"color":{"type":"string","collectionToken":true},"offsetX":{"type":"number"},"offsetY":{"type":"number"}},"required":["blur","color"],"additionalProperties":false},"digits":{"type":"object","properties":{"days":{"type":"string"},"hours":{"type":"string"},"minutes":{"type":"string"},"seconds":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false}},"required":["remainingSeconds","styles"],"additionalProperties":false}},"timezone":{"type":"string"},"hideLeadingZeros":{"type":"boolean"},"message":{"type":"string"},"dslLayout":{},"expiredLayout":{},"displayFormat":{"type":"string","enum":["full","compact","minimal"]},"format":{"type":"string","enum":["png","gif","webp","apng","jxl","jpg"]},"generator":{"type":"object","properties":{"style":{"type":"string","enum":["signal-cards","signal-classic","ledger-pills","ledger-stacked","poster-grid","poster-minimal","night-cards","night-pills","flash-sale","sunset","gilt","glass"]},"expiry":{"type":"string","enum":["zeros","offer-ended","event-started","times-up"]},"perRecipient":{"type":"boolean"},"deadlineField":{"type":"string","pattern":"^[A-Za-z0-9_]{1,40}$"}},"required":["style","expiry","perRecipient"],"additionalProperties":false},"expiredDestinationUrl":{"type":"string","maxLength":2048,"format":"uri"}},"required":["referenceDate"],"additionalProperties":{},"description":"config.dslLayout is optional on create. When omitted, the API stores the widget type's default composition and its collection tokens. Supply dslLayout, and tokens when it uses $ references, to control the design."}},"required":["name","type","userId","config"]},{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"type":{"type":"string","enum":["stat_counter"]},"userId":{"type":"string","minLength":1},"config":{"type":"object","properties":{"brand":{"type":"object","properties":{"accentColor":{"type":"string","pattern":"^#(?:[a-f\\d]{3}|[a-f\\d]{6})$"},"fontId":{"type":"string","maxLength":80,"pattern":"^(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display|\"\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*\"|'\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*')$"},"brandName":{"type":"string","maxLength":200}}},"value":{"type":"number"},"label":{"type":"string"},"prefix":{"type":"string"},"suffix":{"type":"string"},"trend":{"type":"string","enum":["up","down","neutral"]},"previousValue":{"type":"number"},"dataSource":{"anyOf":[{"type":"object","properties":{"url":{"type":"string","maxLength":2048,"format":"uri"},"jsonPath":{"type":"string","minLength":1,"maxLength":200},"refreshTier":{"type":"string","enum":["realtime","fast","hourly","daily"]},"fallbackValue":{"type":"number"},"valueKey":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9_-]+$"},"labelKey":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9_-]+$"}},"required":["url","jsonPath","refreshTier"],"additionalProperties":false},{"type":"object","properties":{"format":{"type":"string","enum":["csv"]},"version":{"type":"number","enum":[1]},"url":{"type":"string"},"refreshTier":{"type":"string","enum":["realtime","fast","hourly","daily"]},"sourceRevision":{"type":"integer","minimum":0,"maximum":9007199254740991},"row":{"type":"object","properties":{"keyColumn":{"type":"string","minLength":1,"maxLength":200},"keyValue":{"type":"string","minLength":1,"maxLength":200}},"required":["keyColumn","keyValue"],"additionalProperties":false},"mapping":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["scalar"]},"valueColumn":{"type":"string","minLength":1,"maxLength":200}},"required":["kind","valueColumn"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["series"]},"valueColumns":{"minItems":2,"maxItems":32,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}}},"required":["kind","valueColumns"],"additionalProperties":false}]},"fallbackValue":{"type":"number"}},"required":["format","version","url","refreshTier","sourceRevision","row","mapping"],"additionalProperties":false}]},"format":{"type":"string","enum":["png","gif","webp","apng","jxl","jpg"]},"recipientFallback":{"oneOf":[{"type":"object","properties":{"mode":{"type":"string","enum":["hide"]}},"required":["mode"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","enum":["text"]},"text":{"type":"string","minLength":1,"maxLength":40}},"required":["mode","text"],"additionalProperties":false}]}},"required":["value","label"],"additionalProperties":{},"description":"config.dslLayout is optional on create. When omitted, the API stores the widget type's default composition and its collection tokens. Supply dslLayout, and tokens when it uses $ references, to control the design."}},"required":["name","type","userId","config"]},{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"type":{"type":"string","enum":["progress_bar"]},"userId":{"type":"string","minLength":1},"config":{"type":"object","properties":{"brand":{"type":"object","properties":{"accentColor":{"type":"string","pattern":"^#(?:[a-f\\d]{3}|[a-f\\d]{6})$"},"fontId":{"type":"string","maxLength":80,"pattern":"^(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display|\"\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*\"|'\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*')$"},"brandName":{"type":"string","maxLength":200}}},"format":{"type":"string","enum":["png","gif","webp","apng","jxl","jpg"]},"dataSource":{"anyOf":[{"type":"object","properties":{"url":{"type":"string","maxLength":2048,"format":"uri"},"jsonPath":{"type":"string","minLength":1,"maxLength":200},"refreshTier":{"type":"string","enum":["realtime","fast","hourly","daily"]},"fallbackValue":{"type":"number"},"valueKey":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9_-]+$"},"labelKey":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9_-]+$"}},"required":["url","jsonPath","refreshTier"],"additionalProperties":false},{"type":"object","properties":{"format":{"type":"string","enum":["csv"]},"version":{"type":"number","enum":[1]},"url":{"type":"string"},"refreshTier":{"type":"string","enum":["realtime","fast","hourly","daily"]},"sourceRevision":{"type":"integer","minimum":0,"maximum":9007199254740991},"row":{"type":"object","properties":{"keyColumn":{"type":"string","minLength":1,"maxLength":200},"keyValue":{"type":"string","minLength":1,"maxLength":200}},"required":["keyColumn","keyValue"],"additionalProperties":false},"mapping":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["scalar"]},"valueColumn":{"type":"string","minLength":1,"maxLength":200}},"required":["kind","valueColumn"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["series"]},"valueColumns":{"minItems":2,"maxItems":32,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}}},"required":["kind","valueColumns"],"additionalProperties":false}]},"fallbackValue":{"type":"number"}},"required":["format","version","url","refreshTier","sourceRevision","row","mapping"],"additionalProperties":false}]},"recipientFallback":{"oneOf":[{"type":"object","properties":{"mode":{"type":"string","enum":["hide"]}},"required":["mode"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","enum":["text"]},"text":{"type":"string","minLength":1,"maxLength":40}},"required":["mode","text"],"additionalProperties":false}]}},"additionalProperties":{},"description":"config.dslLayout is optional on create. When omitted, the API stores the widget type's default composition and its collection tokens. Supply dslLayout, and tokens when it uses $ references, to control the design."}},"required":["name","type","userId","config"]},{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"type":{"type":"string","enum":["radial_progress"]},"userId":{"type":"string","minLength":1},"config":{"type":"object","properties":{"brand":{"type":"object","properties":{"accentColor":{"type":"string","pattern":"^#(?:[a-f\\d]{3}|[a-f\\d]{6})$"},"fontId":{"type":"string","maxLength":80,"pattern":"^(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display|\"\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*\"|'\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*')$"},"brandName":{"type":"string","maxLength":200}}},"format":{"type":"string","enum":["png","gif","webp","apng","jxl","jpg"]},"dataSource":{"anyOf":[{"type":"object","properties":{"url":{"type":"string","maxLength":2048,"format":"uri"},"jsonPath":{"type":"string","minLength":1,"maxLength":200},"refreshTier":{"type":"string","enum":["realtime","fast","hourly","daily"]},"fallbackValue":{"type":"number"},"valueKey":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9_-]+$"},"labelKey":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9_-]+$"}},"required":["url","jsonPath","refreshTier"],"additionalProperties":false},{"type":"object","properties":{"format":{"type":"string","enum":["csv"]},"version":{"type":"number","enum":[1]},"url":{"type":"string"},"refreshTier":{"type":"string","enum":["realtime","fast","hourly","daily"]},"sourceRevision":{"type":"integer","minimum":0,"maximum":9007199254740991},"row":{"type":"object","properties":{"keyColumn":{"type":"string","minLength":1,"maxLength":200},"keyValue":{"type":"string","minLength":1,"maxLength":200}},"required":["keyColumn","keyValue"],"additionalProperties":false},"mapping":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["scalar"]},"valueColumn":{"type":"string","minLength":1,"maxLength":200}},"required":["kind","valueColumn"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["series"]},"valueColumns":{"minItems":2,"maxItems":32,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}}},"required":["kind","valueColumns"],"additionalProperties":false}]},"fallbackValue":{"type":"number"}},"required":["format","version","url","refreshTier","sourceRevision","row","mapping"],"additionalProperties":false}]},"recipientFallback":{"oneOf":[{"type":"object","properties":{"mode":{"type":"string","enum":["hide"]}},"required":["mode"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","enum":["text"]},"text":{"type":"string","minLength":1,"maxLength":40}},"required":["mode","text"],"additionalProperties":false}]}},"additionalProperties":{},"description":"config.dslLayout is optional on create. When omitted, the API stores the widget type's default composition and its collection tokens. Supply dslLayout, and tokens when it uses $ references, to control the design."}},"required":["name","type","userId","config"]},{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"type":{"type":"string","enum":["gauge_progress"]},"userId":{"type":"string","minLength":1},"config":{"type":"object","properties":{"brand":{"type":"object","properties":{"accentColor":{"type":"string","pattern":"^#(?:[a-f\\d]{3}|[a-f\\d]{6})$"},"fontId":{"type":"string","maxLength":80,"pattern":"^(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display|\"\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*\"|'\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*')$"},"brandName":{"type":"string","maxLength":200}}},"format":{"type":"string","enum":["png","gif","webp","apng","jxl","jpg"]},"dataSource":{"anyOf":[{"type":"object","properties":{"url":{"type":"string","maxLength":2048,"format":"uri"},"jsonPath":{"type":"string","minLength":1,"maxLength":200},"refreshTier":{"type":"string","enum":["realtime","fast","hourly","daily"]},"fallbackValue":{"type":"number"},"valueKey":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9_-]+$"},"labelKey":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9_-]+$"}},"required":["url","jsonPath","refreshTier"],"additionalProperties":false},{"type":"object","properties":{"format":{"type":"string","enum":["csv"]},"version":{"type":"number","enum":[1]},"url":{"type":"string"},"refreshTier":{"type":"string","enum":["realtime","fast","hourly","daily"]},"sourceRevision":{"type":"integer","minimum":0,"maximum":9007199254740991},"row":{"type":"object","properties":{"keyColumn":{"type":"string","minLength":1,"maxLength":200},"keyValue":{"type":"string","minLength":1,"maxLength":200}},"required":["keyColumn","keyValue"],"additionalProperties":false},"mapping":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["scalar"]},"valueColumn":{"type":"string","minLength":1,"maxLength":200}},"required":["kind","valueColumn"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["series"]},"valueColumns":{"minItems":2,"maxItems":32,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}}},"required":["kind","valueColumns"],"additionalProperties":false}]},"fallbackValue":{"type":"number"}},"required":["format","version","url","refreshTier","sourceRevision","row","mapping"],"additionalProperties":false}]},"recipientFallback":{"oneOf":[{"type":"object","properties":{"mode":{"type":"string","enum":["hide"]}},"required":["mode"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","enum":["text"]},"text":{"type":"string","minLength":1,"maxLength":40}},"required":["mode","text"],"additionalProperties":false}]}},"additionalProperties":{},"description":"config.dslLayout is optional on create. When omitted, the API stores the widget type's default composition and its collection tokens. Supply dslLayout, and tokens when it uses $ references, to control the design."}},"required":["name","type","userId","config"]},{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"type":{"type":"string","enum":["vertical_progress"]},"userId":{"type":"string","minLength":1},"config":{"type":"object","properties":{"brand":{"type":"object","properties":{"accentColor":{"type":"string","pattern":"^#(?:[a-f\\d]{3}|[a-f\\d]{6})$"},"fontId":{"type":"string","maxLength":80,"pattern":"^(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display|\"\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*\"|'\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*')$"},"brandName":{"type":"string","maxLength":200}}},"format":{"type":"string","enum":["png","gif","webp","apng","jxl","jpg"]},"dataSource":{"anyOf":[{"type":"object","properties":{"url":{"type":"string","maxLength":2048,"format":"uri"},"jsonPath":{"type":"string","minLength":1,"maxLength":200},"refreshTier":{"type":"string","enum":["realtime","fast","hourly","daily"]},"fallbackValue":{"type":"number"},"valueKey":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9_-]+$"},"labelKey":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9_-]+$"}},"required":["url","jsonPath","refreshTier"],"additionalProperties":false},{"type":"object","properties":{"format":{"type":"string","enum":["csv"]},"version":{"type":"number","enum":[1]},"url":{"type":"string"},"refreshTier":{"type":"string","enum":["realtime","fast","hourly","daily"]},"sourceRevision":{"type":"integer","minimum":0,"maximum":9007199254740991},"row":{"type":"object","properties":{"keyColumn":{"type":"string","minLength":1,"maxLength":200},"keyValue":{"type":"string","minLength":1,"maxLength":200}},"required":["keyColumn","keyValue"],"additionalProperties":false},"mapping":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["scalar"]},"valueColumn":{"type":"string","minLength":1,"maxLength":200}},"required":["kind","valueColumn"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["series"]},"valueColumns":{"minItems":2,"maxItems":32,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}}},"required":["kind","valueColumns"],"additionalProperties":false}]},"fallbackValue":{"type":"number"}},"required":["format","version","url","refreshTier","sourceRevision","row","mapping"],"additionalProperties":false}]},"recipientFallback":{"oneOf":[{"type":"object","properties":{"mode":{"type":"string","enum":["hide"]}},"required":["mode"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","enum":["text"]},"text":{"type":"string","minLength":1,"maxLength":40}},"required":["mode","text"],"additionalProperties":false}]}},"additionalProperties":{},"description":"config.dslLayout is optional on create. When omitted, the API stores the widget type's default composition and its collection tokens. Supply dslLayout, and tokens when it uses $ references, to control the design."}},"required":["name","type","userId","config"]},{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"type":{"type":"string","enum":["step_progress"]},"userId":{"type":"string","minLength":1},"config":{"type":"object","properties":{"brand":{"type":"object","properties":{"accentColor":{"type":"string","pattern":"^#(?:[a-f\\d]{3}|[a-f\\d]{6})$"},"fontId":{"type":"string","maxLength":80,"pattern":"^(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display|\"\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*\"|'\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*')$"},"brandName":{"type":"string","maxLength":200}}},"format":{"type":"string","enum":["png","gif","webp","apng","jxl","jpg"]}},"additionalProperties":{},"description":"config.dslLayout is required on create for this widget type: it has no server default and cannot render without one. Supply tokens when the layout uses $ references."}},"required":["name","type","userId","config"]},{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"type":{"type":"string","enum":["wave_liquid"]},"userId":{"type":"string","minLength":1},"config":{"type":"object","properties":{"brand":{"type":"object","properties":{"accentColor":{"type":"string","pattern":"^#(?:[a-f\\d]{3}|[a-f\\d]{6})$"},"fontId":{"type":"string","maxLength":80,"pattern":"^(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display|\"\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*\"|'\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*')$"},"brandName":{"type":"string","maxLength":200}}},"format":{"type":"string","enum":["png","gif","webp","apng","jxl","jpg"]}},"additionalProperties":{},"description":"config.dslLayout is required on create for this widget type: it has no server default and cannot render without one. Supply tokens when the layout uses $ references."}},"required":["name","type","userId","config"]},{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"type":{"type":"string","enum":["flip_clock"]},"userId":{"type":"string","minLength":1},"config":{"type":"object","properties":{"brand":{"type":"object","properties":{"accentColor":{"type":"string","pattern":"^#(?:[a-f\\d]{3}|[a-f\\d]{6})$"},"fontId":{"type":"string","maxLength":80,"pattern":"^(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display|\"\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*\"|'\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*')$"},"brandName":{"type":"string","maxLength":200}}},"format":{"type":"string","enum":["png","gif","webp","apng","jxl","jpg"]}},"additionalProperties":{},"description":"config.dslLayout is required on create for this widget type: it has no server default and cannot render without one. Supply tokens when the layout uses $ references."}},"required":["name","type","userId","config"]},{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"type":{"type":"string","enum":["timeline"]},"userId":{"type":"string","minLength":1},"config":{"type":"object","properties":{"brand":{"type":"object","properties":{"accentColor":{"type":"string","pattern":"^#(?:[a-f\\d]{3}|[a-f\\d]{6})$"},"fontId":{"type":"string","maxLength":80,"pattern":"^(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display|\"\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*\"|'\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*')$"},"brandName":{"type":"string","maxLength":200}}},"format":{"type":"string","enum":["png","gif","webp","apng","jxl","jpg"]}},"additionalProperties":{},"description":"config.dslLayout is required on create for this widget type: it has no server default and cannot render without one. Supply tokens when the layout uses $ references."}},"required":["name","type","userId","config"]},{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"type":{"type":"string","enum":["donut"]},"userId":{"type":"string","minLength":1},"config":{"type":"object","properties":{"brand":{"type":"object","properties":{"accentColor":{"type":"string","pattern":"^#(?:[a-f\\d]{3}|[a-f\\d]{6})$"},"fontId":{"type":"string","maxLength":80,"pattern":"^(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display|\"\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*\"|'\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*')$"},"brandName":{"type":"string","maxLength":200}}},"format":{"type":"string","enum":["png","gif","webp","apng","jxl","jpg"]},"dataSource":{"anyOf":[{"type":"object","properties":{"url":{"type":"string","maxLength":2048,"format":"uri"},"jsonPath":{"type":"string","minLength":1,"maxLength":200},"refreshTier":{"type":"string","enum":["realtime","fast","hourly","daily"]},"fallbackValue":{"type":"number"},"valueKey":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9_-]+$"},"labelKey":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9_-]+$"}},"required":["url","jsonPath","refreshTier"],"additionalProperties":false},{"type":"object","properties":{"format":{"type":"string","enum":["csv"]},"version":{"type":"number","enum":[1]},"url":{"type":"string"},"refreshTier":{"type":"string","enum":["realtime","fast","hourly","daily"]},"sourceRevision":{"type":"integer","minimum":0,"maximum":9007199254740991},"row":{"type":"object","properties":{"keyColumn":{"type":"string","minLength":1,"maxLength":200},"keyValue":{"type":"string","minLength":1,"maxLength":200}},"required":["keyColumn","keyValue"],"additionalProperties":false},"mapping":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["scalar"]},"valueColumn":{"type":"string","minLength":1,"maxLength":200}},"required":["kind","valueColumn"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["series"]},"valueColumns":{"minItems":2,"maxItems":32,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}}},"required":["kind","valueColumns"],"additionalProperties":false}]},"fallbackValue":{"type":"number"}},"required":["format","version","url","refreshTier","sourceRevision","row","mapping"],"additionalProperties":false}]}},"additionalProperties":{},"description":"config.dslLayout is optional on create. When omitted, the API stores the widget type's default composition and its collection tokens. Supply dslLayout, and tokens when it uses $ references, to control the design."}},"required":["name","type","userId","config"]},{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"type":{"type":"string","enum":["rating_summary"]},"userId":{"type":"string","minLength":1},"config":{"type":"object","properties":{"brand":{"type":"object","properties":{"accentColor":{"type":"string","pattern":"^#(?:[a-f\\d]{3}|[a-f\\d]{6})$"},"fontId":{"type":"string","maxLength":80,"pattern":"^(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display|\"\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*\"|'\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*')$"},"brandName":{"type":"string","maxLength":200}}},"format":{"type":"string","enum":["png","gif","webp","apng","jxl","jpg"]},"dataSource":{"anyOf":[{"type":"object","properties":{"url":{"type":"string","maxLength":2048,"format":"uri"},"jsonPath":{"type":"string","minLength":1,"maxLength":200},"refreshTier":{"type":"string","enum":["realtime","fast","hourly","daily"]},"fallbackValue":{"type":"number"},"valueKey":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9_-]+$"},"labelKey":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9_-]+$"}},"required":["url","jsonPath","refreshTier"],"additionalProperties":false},{"type":"object","properties":{"format":{"type":"string","enum":["csv"]},"version":{"type":"number","enum":[1]},"url":{"type":"string"},"refreshTier":{"type":"string","enum":["realtime","fast","hourly","daily"]},"sourceRevision":{"type":"integer","minimum":0,"maximum":9007199254740991},"row":{"type":"object","properties":{"keyColumn":{"type":"string","minLength":1,"maxLength":200},"keyValue":{"type":"string","minLength":1,"maxLength":200}},"required":["keyColumn","keyValue"],"additionalProperties":false},"mapping":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["scalar"]},"valueColumn":{"type":"string","minLength":1,"maxLength":200}},"required":["kind","valueColumn"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["series"]},"valueColumns":{"minItems":2,"maxItems":32,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}}},"required":["kind","valueColumns"],"additionalProperties":false}]},"fallbackValue":{"type":"number"}},"required":["format","version","url","refreshTier","sourceRevision","row","mapping"],"additionalProperties":false}]},"distributionSource":{"type":"object","properties":{"url":{"type":"string","maxLength":2048,"format":"uri"},"jsonPath":{"type":"string","minLength":1,"maxLength":200},"refreshTier":{"type":"string","enum":["realtime","fast","hourly","daily"]},"fallbackValue":{"type":"number"},"valueKey":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9_-]+$"},"labelKey":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9_-]+$"}},"required":["url","jsonPath","refreshTier"],"additionalProperties":false},"average":{"not":{}},"reviewCount":{"not":{}},"distribution":{"not":{}}},"additionalProperties":{},"description":"config.dslLayout is optional on create. When omitted, the API stores the widget type's default composition and its collection tokens. Supply dslLayout, and tokens when it uses $ references, to control the design."}},"required":["name","type","userId","config"]},{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"type":{"type":"string","enum":["heatmap"]},"userId":{"type":"string","minLength":1},"config":{"type":"object","properties":{"brand":{"type":"object","properties":{"accentColor":{"type":"string","pattern":"^#(?:[a-f\\d]{3}|[a-f\\d]{6})$"},"fontId":{"type":"string","maxLength":80,"pattern":"^(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display|\"\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*\"|'\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*')$"},"brandName":{"type":"string","maxLength":200}}},"format":{"type":"string","enum":["png","gif","webp","apng","jxl","jpg"]},"dataSource":{"anyOf":[{"type":"object","properties":{"url":{"type":"string","maxLength":2048,"format":"uri"},"jsonPath":{"type":"string","minLength":1,"maxLength":200},"refreshTier":{"type":"string","enum":["realtime","fast","hourly","daily"]},"fallbackValue":{"type":"number"},"valueKey":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9_-]+$"},"labelKey":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9_-]+$"}},"required":["url","jsonPath","refreshTier"],"additionalProperties":false},{"type":"object","properties":{"format":{"type":"string","enum":["csv"]},"version":{"type":"number","enum":[1]},"url":{"type":"string"},"refreshTier":{"type":"string","enum":["realtime","fast","hourly","daily"]},"sourceRevision":{"type":"integer","minimum":0,"maximum":9007199254740991},"row":{"type":"object","properties":{"keyColumn":{"type":"string","minLength":1,"maxLength":200},"keyValue":{"type":"string","minLength":1,"maxLength":200}},"required":["keyColumn","keyValue"],"additionalProperties":false},"mapping":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["scalar"]},"valueColumn":{"type":"string","minLength":1,"maxLength":200}},"required":["kind","valueColumn"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["series"]},"valueColumns":{"minItems":2,"maxItems":32,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}}},"required":["kind","valueColumns"],"additionalProperties":false}]},"fallbackValue":{"type":"number"}},"required":["format","version","url","refreshTier","sourceRevision","row","mapping"],"additionalProperties":false}]}},"additionalProperties":{},"description":"config.dslLayout is optional on create. When omitted, the API stores the widget type's default composition and its collection tokens. Supply dslLayout, and tokens when it uses $ references, to control the design."}},"required":["name","type","userId","config"]},{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"type":{"type":"string","enum":["calendar"]},"userId":{"type":"string","minLength":1},"config":{"type":"object","properties":{"brand":{"type":"object","properties":{"accentColor":{"type":"string","pattern":"^#(?:[a-f\\d]{3}|[a-f\\d]{6})$"},"fontId":{"type":"string","maxLength":80,"pattern":"^(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display|\"\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*\"|'\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*')$"},"brandName":{"type":"string","maxLength":200}}},"format":{"type":"string","enum":["png","gif","webp","apng","jxl","jpg"]},"dataSource":{"type":"object","properties":{"url":{"type":"string","maxLength":2048,"format":"uri"},"jsonPath":{"type":"string","minLength":1,"maxLength":200},"refreshTier":{"type":"string","enum":["realtime","fast","hourly","daily"]},"labelKey":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9_-]+$"}},"required":["url","jsonPath","refreshTier"],"additionalProperties":false}},"additionalProperties":{},"description":"config.dslLayout is optional on create. When omitted, the API stores the widget type's default composition and its collection tokens. Supply dslLayout, and tokens when it uses $ references, to control the design."}},"required":["name","type","userId","config"]},{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"type":{"type":"string","enum":["comparison_tile"]},"userId":{"type":"string","minLength":1},"config":{"type":"object","properties":{"brand":{"type":"object","properties":{"accentColor":{"type":"string","pattern":"^#(?:[a-f\\d]{3}|[a-f\\d]{6})$"},"fontId":{"type":"string","maxLength":80,"pattern":"^(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display|\"\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*\"|'\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*')$"},"brandName":{"type":"string","maxLength":200}}},"format":{"type":"string","enum":["png","gif","webp","apng","jxl","jpg"]},"dataSource":{"anyOf":[{"type":"object","properties":{"url":{"type":"string","maxLength":2048,"format":"uri"},"jsonPath":{"type":"string","minLength":1,"maxLength":200},"refreshTier":{"type":"string","enum":["realtime","fast","hourly","daily"]},"fallbackValue":{"type":"number"},"valueKey":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9_-]+$"},"labelKey":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9_-]+$"}},"required":["url","jsonPath","refreshTier"],"additionalProperties":false},{"type":"object","properties":{"format":{"type":"string","enum":["csv"]},"version":{"type":"number","enum":[1]},"url":{"type":"string"},"refreshTier":{"type":"string","enum":["realtime","fast","hourly","daily"]},"sourceRevision":{"type":"integer","minimum":0,"maximum":9007199254740991},"row":{"type":"object","properties":{"keyColumn":{"type":"string","minLength":1,"maxLength":200},"keyValue":{"type":"string","minLength":1,"maxLength":200}},"required":["keyColumn","keyValue"],"additionalProperties":false},"mapping":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["scalar"]},"valueColumn":{"type":"string","minLength":1,"maxLength":200}},"required":["kind","valueColumn"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["series"]},"valueColumns":{"minItems":2,"maxItems":32,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}}},"required":["kind","valueColumns"],"additionalProperties":false}]},"fallbackValue":{"type":"number"}},"required":["format","version","url","refreshTier","sourceRevision","row","mapping"],"additionalProperties":false}]},"dslLayout":{},"deltaText":{"not":{}}},"additionalProperties":{},"description":"config.dslLayout is optional on create. When omitted, the API stores the widget type's default composition and its collection tokens. Supply dslLayout, and tokens when it uses $ references, to control the design."}},"required":["name","type","userId","config"]},{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"type":{"type":"string","enum":["membership_card"]},"userId":{"type":"string","minLength":1},"config":{"type":"object","properties":{"brand":{"type":"object","properties":{"accentColor":{"type":"string","pattern":"^#(?:[a-f\\d]{3}|[a-f\\d]{6})$"},"fontId":{"type":"string","maxLength":80,"pattern":"^(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display|\"\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*\"|'\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*')$"},"brandName":{"type":"string","maxLength":200}}},"format":{"type":"string","enum":["png","gif","webp","apng","jxl","jpg"]},"dataSource":{"anyOf":[{"type":"object","properties":{"url":{"type":"string","maxLength":2048,"format":"uri"},"jsonPath":{"type":"string","minLength":1,"maxLength":200},"refreshTier":{"type":"string","enum":["realtime","fast","hourly","daily"]},"fallbackValue":{"type":"number"},"valueKey":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9_-]+$"},"labelKey":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9_-]+$"}},"required":["url","jsonPath","refreshTier"],"additionalProperties":false},{"type":"object","properties":{"format":{"type":"string","enum":["csv"]},"version":{"type":"number","enum":[1]},"url":{"type":"string"},"refreshTier":{"type":"string","enum":["realtime","fast","hourly","daily"]},"sourceRevision":{"type":"integer","minimum":0,"maximum":9007199254740991},"row":{"type":"object","properties":{"keyColumn":{"type":"string","minLength":1,"maxLength":200},"keyValue":{"type":"string","minLength":1,"maxLength":200}},"required":["keyColumn","keyValue"],"additionalProperties":false},"mapping":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["scalar"]},"valueColumn":{"type":"string","minLength":1,"maxLength":200}},"required":["kind","valueColumn"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["series"]},"valueColumns":{"minItems":2,"maxItems":32,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}}},"required":["kind","valueColumns"],"additionalProperties":false}]},"fallbackValue":{"type":"number"}},"required":["format","version","url","refreshTier","sourceRevision","row","mapping"],"additionalProperties":false}]},"dslLayout":{},"tokenValues":{"not":{}},"points":{"not":{}}},"additionalProperties":{},"description":"config.dslLayout is optional on create. When omitted, the API stores the widget type's default composition and its collection tokens. Supply dslLayout, and tokens when it uses $ references, to control the design."}},"required":["name","type","userId","config"]},{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"type":{"type":"string","enum":["leaderboard"]},"userId":{"type":"string","minLength":1},"config":{"type":"object","properties":{"brand":{"type":"object","properties":{"accentColor":{"type":"string","pattern":"^#(?:[a-f\\d]{3}|[a-f\\d]{6})$"},"fontId":{"type":"string","maxLength":80,"pattern":"^(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display|\"\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*\"|'\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*')$"},"brandName":{"type":"string","maxLength":200}}},"format":{"type":"string","enum":["png","gif","webp","apng","jxl","jpg"]},"dslLayout":{},"dataSource":{"type":"object","properties":{"url":{"type":"string","maxLength":2048,"format":"uri"},"jsonPath":{"type":"string","minLength":1,"maxLength":200},"refreshTier":{"type":"string","enum":["realtime","fast","hourly","daily"]},"valueKey":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9_-]+$"},"labelKey":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9_-]+$"},"keyKey":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9_-]+$"}},"required":["url","jsonPath","refreshTier","valueKey","labelKey"],"additionalProperties":false},"me":{"not":{}},"rows":{"not":{}}},"additionalProperties":{},"description":"config.dslLayout is optional on create. When omitted, the API stores the widget type's default composition and its collection tokens. Supply dslLayout, and tokens when it uses $ references, to control the design."}},"required":["name","type","userId","config"]},{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"type":{"type":"string","enum":["data_table"]},"userId":{"type":"string","minLength":1},"config":{"type":"object","properties":{"brand":{"type":"object","properties":{"accentColor":{"type":"string","pattern":"^#(?:[a-f\\d]{3}|[a-f\\d]{6})$"},"fontId":{"type":"string","maxLength":80,"pattern":"^(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display|\"\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*\"|'\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*')$"},"brandName":{"type":"string","maxLength":200}}},"format":{"type":"string","enum":["png","gif","webp","apng","jxl","jpg"]},"dslLayout":{},"dataSource":{"anyOf":[{"type":"object","properties":{"format":{"type":"string","enum":["csv"]},"version":{"type":"number","enum":[1]},"url":{"type":"string"},"refreshTier":{"type":"string","enum":["realtime","fast","hourly","daily"]},"sourceRevision":{"type":"integer","minimum":0,"maximum":9007199254740991},"selection":{"type":"object","properties":{"startRow":{"type":"integer","minimum":0,"maximum":99},"rowCount":{"type":"integer","minimum":2,"maximum":6}},"required":["startRow","rowCount"],"additionalProperties":false},"mapping":{"type":"object","properties":{"kind":{"type":"string","enum":["records"]},"columns":{"minItems":2,"maxItems":4,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}}},"required":["kind","columns"],"additionalProperties":false}},"required":["format","version","url","refreshTier","sourceRevision","selection","mapping"],"additionalProperties":false},{"type":"object","properties":{"format":{"type":"string","enum":["json"]},"url":{"type":"string","maxLength":2048,"format":"uri"},"refreshTier":{"type":"string","enum":["realtime","fast","hourly","daily"]},"jsonPath":{"type":"string","minLength":1,"maxLength":200},"selection":{"type":"object","properties":{"startRow":{"type":"integer","minimum":0,"maximum":99},"rowCount":{"type":"integer","minimum":2,"maximum":6}},"required":["startRow","rowCount"],"additionalProperties":false},"mapping":{"type":"object","properties":{"kind":{"type":"string","enum":["records"]},"columns":{"minItems":2,"maxItems":4,"type":"array","items":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9_-]+$"}}},"required":["kind","columns"],"additionalProperties":false}},"required":["format","url","refreshTier","jsonPath","selection","mapping"],"additionalProperties":false}]},"rows":{"not":{}},"records":{"not":{}}},"additionalProperties":{},"description":"config.dslLayout is optional on create. When omitted, the API stores the widget type's default composition and its collection tokens. Supply dslLayout, and tokens when it uses $ references, to control the design."}},"required":["name","type","userId","config"]},{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"type":{"type":"string","enum":["time_series"]},"userId":{"type":"string","minLength":1},"config":{"type":"object","properties":{"brand":{"type":"object","properties":{"accentColor":{"type":"string","pattern":"^#(?:[a-f\\d]{3}|[a-f\\d]{6})$"},"fontId":{"type":"string","maxLength":80,"pattern":"^(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display|\"\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*\"|'\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*')$"},"brandName":{"type":"string","maxLength":200}}},"format":{"type":"string","enum":["png","gif","webp","apng","jxl","jpg"]},"dslLayout":{},"dataSource":{"anyOf":[{"type":"object","properties":{"format":{"type":"string","enum":["csv"]},"version":{"type":"number","enum":[1]},"url":{"type":"string"},"refreshTier":{"type":"string","enum":["realtime","fast","hourly","daily"]},"sourceRevision":{"type":"integer","minimum":0,"maximum":9007199254740991},"selection":{"type":"object","properties":{"startRow":{"type":"integer","minimum":0,"maximum":99},"rowCount":{"type":"integer","minimum":2,"maximum":100}},"required":["startRow","rowCount"],"additionalProperties":false},"mapping":{"type":"object","properties":{"kind":{"type":"string","enum":["time-series"]},"dataKind":{"type":"string","enum":["values","ohlc"]},"columns":{"minItems":2,"maxItems":5,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}}},"required":["kind","dataKind","columns"],"additionalProperties":false}},"required":["format","version","url","refreshTier","sourceRevision","selection","mapping"],"additionalProperties":false},{"type":"object","properties":{"format":{"type":"string","enum":["json"]},"url":{"type":"string","maxLength":2048,"format":"uri"},"refreshTier":{"type":"string","enum":["realtime","fast","hourly","daily"]},"jsonPath":{"type":"string","minLength":1,"maxLength":200},"selection":{"type":"object","properties":{"startRow":{"type":"integer","minimum":0,"maximum":99},"rowCount":{"type":"integer","minimum":2,"maximum":100}},"required":["startRow","rowCount"],"additionalProperties":false},"mapping":{"type":"object","properties":{"kind":{"type":"string","enum":["time-series"]},"dataKind":{"type":"string","enum":["values","ohlc"]},"columns":{"minItems":2,"maxItems":5,"type":"array","items":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9_-]+$"}}},"required":["kind","dataKind","columns"],"additionalProperties":false}},"required":["format","url","refreshTier","jsonPath","selection","mapping"],"additionalProperties":false}]},"rows":{"not":{}},"records":{"not":{}},"timeSeries":{"not":{}}},"additionalProperties":{},"description":"config.dslLayout is optional on create. When omitted, the API stores the widget type's default composition and its collection tokens. Supply dslLayout, and tokens when it uses $ references, to control the design."}},"required":["name","type","userId","config"]},{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"type":{"type":"string","enum":["personalized_banner"]},"userId":{"type":"string","minLength":1},"config":{"type":"object","properties":{"brand":{"type":"object","properties":{"accentColor":{"type":"string","pattern":"^#(?:[a-f\\d]{3}|[a-f\\d]{6})$"},"fontId":{"type":"string","maxLength":80,"pattern":"^(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display|\"\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*\"|'\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*')$"},"brandName":{"type":"string","maxLength":200}}},"format":{"type":"string","enum":["png","gif","webp","apng","jxl","jpg"]},"dslLayout":{},"background":{"anyOf":[{"type":"string","collectionToken":true},{"type":"object","properties":{"type":{"type":"string","enum":["gradient"]},"colors":{"type":"array","items":[{"type":"string","collectionToken":true},{"type":"string","collectionToken":true}],"additionalItems":false,"minItems":2,"maxItems":2},"direction":{"type":"string","enum":["horizontal","vertical","diagonal"]}},"required":["type","colors","direction"],"additionalProperties":false}]},"tokenValues":{"not":{}}},"additionalProperties":{},"description":"config.dslLayout is optional on create. When omitted, the API stores the widget type's default composition and its collection tokens. Supply dslLayout, and tokens when it uses $ references, to control the design."}},"required":["name","type","userId","config"]},{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"type":{"type":"string","enum":["sparkline"]},"userId":{"type":"string","minLength":1},"config":{"type":"object","properties":{"brand":{"type":"object","properties":{"accentColor":{"type":"string","pattern":"^#(?:[a-f\\d]{3}|[a-f\\d]{6})$"},"fontId":{"type":"string","maxLength":80,"pattern":"^(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display|\"\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*\"|'\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*')$"},"brandName":{"type":"string","maxLength":200}}},"format":{"type":"string","enum":["png","gif","webp","apng","jxl","jpg"]},"dataSource":{"anyOf":[{"type":"object","properties":{"url":{"type":"string","maxLength":2048,"format":"uri"},"jsonPath":{"type":"string","minLength":1,"maxLength":200},"refreshTier":{"type":"string","enum":["realtime","fast","hourly","daily"]},"fallbackValue":{"type":"number"},"valueKey":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9_-]+$"},"labelKey":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9_-]+$"}},"required":["url","jsonPath","refreshTier"],"additionalProperties":false},{"type":"object","properties":{"format":{"type":"string","enum":["csv"]},"version":{"type":"number","enum":[1]},"url":{"type":"string"},"refreshTier":{"type":"string","enum":["realtime","fast","hourly","daily"]},"sourceRevision":{"type":"integer","minimum":0,"maximum":9007199254740991},"row":{"type":"object","properties":{"keyColumn":{"type":"string","minLength":1,"maxLength":200},"keyValue":{"type":"string","minLength":1,"maxLength":200}},"required":["keyColumn","keyValue"],"additionalProperties":false},"mapping":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["scalar"]},"valueColumn":{"type":"string","minLength":1,"maxLength":200}},"required":["kind","valueColumn"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["series"]},"valueColumns":{"minItems":2,"maxItems":32,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}}},"required":["kind","valueColumns"],"additionalProperties":false}]},"fallbackValue":{"type":"number"}},"required":["format","version","url","refreshTier","sourceRevision","row","mapping"],"additionalProperties":false}]}},"additionalProperties":{},"description":"config.dslLayout is required on create for this widget type: it has no server default and cannot render without one. Supply tokens when the layout uses $ references."}},"required":["name","type","userId","config"]},{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"type":{"type":"string","enum":["current_weather"]},"userId":{"type":"string","minLength":1},"config":{"type":"object","properties":{"brand":{"type":"object","properties":{"accentColor":{"type":"string","pattern":"^#(?:[a-f\\d]{3}|[a-f\\d]{6})$"},"fontId":{"type":"string","maxLength":80,"pattern":"^(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display|\"\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*\"|'\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*')$"},"brandName":{"type":"string","maxLength":200}}},"tokens":{"type":"object","properties":{"surface":{"type":"string","minLength":1},"ink":{"type":"string","minLength":1},"muted":{"type":"string","minLength":1},"accent":{"type":"string","minLength":1},"accentSoft":{"type":"string","minLength":1},"line":{"type":"string","minLength":1},"headingFont":{"type":"string","minLength":1},"bodyFont":{"type":"string","minLength":1}},"additionalProperties":false},"collection":{"type":"string","enum":["signal","ledger","poster","night"]},"format":{"type":"string","enum":["png","gif","webp","apng","jxl","jpg"]},"dslLayout":{},"background":{}},"additionalProperties":{},"description":"config.dslLayout is required on create for this widget type: it has no server default and cannot render without one. Supply tokens when the layout uses $ references."}},"required":["name","type","userId","config"]},{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"type":{"type":"string","enum":["weather_forecast"]},"userId":{"type":"string","minLength":1},"config":{"type":"object","properties":{"brand":{"type":"object","properties":{"accentColor":{"type":"string","pattern":"^#(?:[a-f\\d]{3}|[a-f\\d]{6})$"},"fontId":{"type":"string","maxLength":80,"pattern":"^(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display|\"\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*\"|'\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*')$"},"brandName":{"type":"string","maxLength":200}}},"format":{"type":"string","enum":["png","gif","webp","apng","jxl","jpg"]}},"additionalProperties":{},"description":"config.dslLayout is required on create for this widget type: it has no server default and cannot render without one. Supply tokens when the layout uses $ references."}},"required":["name","type","userId","config"]},{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"type":{"type":"string","enum":["uv_index"]},"userId":{"type":"string","minLength":1},"config":{"type":"object","properties":{"brand":{"type":"object","properties":{"accentColor":{"type":"string","pattern":"^#(?:[a-f\\d]{3}|[a-f\\d]{6})$"},"fontId":{"type":"string","maxLength":80,"pattern":"^(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display|\"\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*\"|'\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*')$"},"brandName":{"type":"string","maxLength":200}}},"format":{"type":"string","enum":["png","gif","webp","apng","jxl","jpg"]}},"additionalProperties":{},"description":"config.dslLayout is required on create for this widget type: it has no server default and cannot render without one. Supply tokens when the layout uses $ references."}},"required":["name","type","userId","config"]},{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"type":{"type":"string","enum":["daylight"]},"userId":{"type":"string","minLength":1},"config":{"type":"object","properties":{"brand":{"type":"object","properties":{"accentColor":{"type":"string","pattern":"^#(?:[a-f\\d]{3}|[a-f\\d]{6})$"},"fontId":{"type":"string","maxLength":80,"pattern":"^(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display|\"\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*\"|'\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*')$"},"brandName":{"type":"string","maxLength":200}}},"tokens":{"type":"object","properties":{"surface":{"type":"string","minLength":1},"ink":{"type":"string","minLength":1},"muted":{"type":"string","minLength":1},"accent":{"type":"string","minLength":1},"accentSoft":{"type":"string","minLength":1},"line":{"type":"string","minLength":1},"headingFont":{"type":"string","minLength":1},"bodyFont":{"type":"string","minLength":1}},"additionalProperties":false},"collection":{"type":"string","enum":["signal","ledger","poster","night"]},"format":{"type":"string","enum":["png","gif","webp","apng","jxl","jpg"]},"dslLayout":{},"background":{}},"additionalProperties":{},"description":"config.dslLayout is required on create for this widget type: it has no server default and cannot render without one. Supply tokens when the layout uses $ references."}},"required":["name","type","userId","config"]},{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"type":{"type":"string","enum":["weather_compare"]},"userId":{"type":"string","minLength":1},"config":{"type":"object","properties":{"brand":{"type":"object","properties":{"accentColor":{"type":"string","pattern":"^#(?:[a-f\\d]{3}|[a-f\\d]{6})$"},"fontId":{"type":"string","maxLength":80,"pattern":"^(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display|\"\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*\"|'\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*')$"},"brandName":{"type":"string","maxLength":200}}},"format":{"type":"string","enum":["png","gif","webp","apng","jxl","jpg"]}},"additionalProperties":{},"description":"config.dslLayout is required on create for this widget type: it has no server default and cannot render without one. Supply tokens when the layout uses $ references."}},"required":["name","type","userId","config"]},{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"type":{"type":"string","enum":["product_card"]},"userId":{"type":"string","minLength":1},"config":{"type":"object","properties":{"brand":{"type":"object","properties":{"accentColor":{"type":"string","pattern":"^#(?:[a-f\\d]{3}|[a-f\\d]{6})$"},"fontId":{"type":"string","maxLength":80,"pattern":"^(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display|\"\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*\"|'\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*')$"},"brandName":{"type":"string","maxLength":200}}},"tokens":{"type":"object","properties":{"surface":{"type":"string","minLength":1},"ink":{"type":"string","minLength":1},"muted":{"type":"string","minLength":1},"accent":{"type":"string","minLength":1},"accentSoft":{"type":"string","minLength":1},"line":{"type":"string","minLength":1},"headingFont":{"type":"string","minLength":1},"bodyFont":{"type":"string","minLength":1}},"additionalProperties":false},"collection":{"type":"string","enum":["signal","ledger","poster","night"]},"format":{"type":"string","enum":["png"]},"dslLayout":{},"background":{"anyOf":[{"type":"string","collectionToken":true},{"type":"object","properties":{"type":{"type":"string","enum":["gradient"]},"colors":{"type":"array","items":[{"type":"string","collectionToken":true},{"type":"string","collectionToken":true}],"additionalItems":false,"minItems":2,"maxItems":2},"direction":{"type":"string","enum":["horizontal","vertical","diagonal"]}},"required":["type","colors","direction"],"additionalProperties":false}]},"source":{"anyOf":[{"type":"object","properties":{"version":{"type":"number","enum":[1]},"url":{"type":"string","maxLength":2048,"format":"uri"},"refreshTier":{"type":"string","enum":["fast","hourly","daily"]},"mapping":{"type":"object","properties":{"fixedCurrency":{"type":"string","enum":["USD","EUR","GBP","CAD","AUD","JPY"]},"collectionPath":{"type":"string","minLength":1,"maxLength":200},"fields":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":200},"name":{"type":"string","minLength":1,"maxLength":200},"brand":{"type":"string","minLength":1,"maxLength":200},"productUrl":{"type":"string","minLength":1,"maxLength":200},"price":{"type":"string","minLength":1,"maxLength":200},"compareAtPrice":{"type":"string","minLength":1,"maxLength":200},"currency":{"type":"string","minLength":1,"maxLength":200},"availability":{"type":"string","minLength":1,"maxLength":200},"stockCount":{"type":"string","minLength":1,"maxLength":200}},"required":["id","name","productUrl","price","availability"],"additionalProperties":false},"images":{"type":"object","properties":{"imagesPath":{"type":"string","minLength":1,"maxLength":200},"imageIdPath":{"type":"string","minLength":1,"maxLength":200},"imageUrlPath":{"type":"string","minLength":1,"maxLength":200}},"required":["imagesPath"],"additionalProperties":false},"availability":{"type":"object","properties":{"inStock":{"minItems":1,"maxItems":20,"type":"array","items":{"anyOf":[{"type":"string","maxLength":100},{"type":"number"},{"type":"boolean"}]}},"outOfStock":{"minItems":1,"maxItems":20,"type":"array","items":{"anyOf":[{"type":"string","maxLength":100},{"type":"number"},{"type":"boolean"}]}},"unknown":{"default":[],"maxItems":20,"type":"array","items":{"anyOf":[{"type":"string","maxLength":100},{"type":"number"},{"type":"boolean"}]}}},"required":["inStock","outOfStock"],"additionalProperties":false}},"required":["collectionPath","fields","images","availability"],"additionalProperties":false},"productId":{"type":"string","minLength":1,"maxLength":200},"destinationUrl":{"type":"string","maxLength":2048,"format":"uri"},"image":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["feed"]},"imageKey":{"type":"string","minLength":1,"maxLength":200}},"required":["kind","imageKey"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["asset"]},"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}},"required":["kind","assetId"],"additionalProperties":false}]},"locale":{"default":"en-US","type":"string","minLength":2,"maxLength":35},"sourceRevision":{"type":"integer","minimum":0,"maximum":9007199254740991},"safeFallback":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":200},"brand":{"type":"string","minLength":1,"maxLength":100},"image":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["feed"]},"imageKey":{"type":"string","minLength":1,"maxLength":200}},"required":["kind","imageKey"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["asset"]},"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}},"required":["kind","assetId"],"additionalProperties":false}]}},"required":["name","image"],"additionalProperties":false}},"required":["version","url","refreshTier","mapping","productId","destinationUrl","image","sourceRevision","safeFallback"],"additionalProperties":false},{"type":"object","properties":{"format":{"type":"string","enum":["csv"]},"version":{"type":"number","enum":[1]},"url":{"type":"string"},"refreshTier":{"type":"string","enum":["fast","hourly","daily"]},"sourceRevision":{"type":"integer","minimum":0,"maximum":9007199254740991},"row":{"type":"object","properties":{"keyColumn":{"type":"string","minLength":1,"maxLength":200},"keyValue":{"type":"string","minLength":1,"maxLength":200}},"required":["keyColumn","keyValue"],"additionalProperties":false},"mapping":{"type":"object","properties":{"fixedCurrency":{"type":"string","enum":["USD","EUR","GBP","CAD","AUD","JPY"]},"fields":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":200},"brand":{"type":"string","minLength":1,"maxLength":200},"productUrl":{"type":"string","minLength":1,"maxLength":200},"price":{"type":"string","minLength":1,"maxLength":200},"compareAtPrice":{"type":"string","minLength":1,"maxLength":200},"currency":{"type":"string","minLength":1,"maxLength":200},"availability":{"type":"string","minLength":1,"maxLength":200},"stockCount":{"type":"string","minLength":1,"maxLength":200}},"required":["name","productUrl","price","availability"],"additionalProperties":false},"imageUrlColumn":{"type":"string","minLength":1,"maxLength":200},"availability":{"type":"object","properties":{"inStock":{"minItems":1,"maxItems":20,"type":"array","items":{"type":"string","maxLength":100}},"outOfStock":{"minItems":1,"maxItems":20,"type":"array","items":{"type":"string","maxLength":100}},"unknown":{"default":[],"maxItems":20,"type":"array","items":{"type":"string","maxLength":100}}},"required":["inStock","outOfStock"],"additionalProperties":false}},"required":["fields","imageUrlColumn","availability"],"additionalProperties":false},"productId":{"type":"string","minLength":1,"maxLength":200},"destinationUrl":{"type":"string","maxLength":2048,"format":"uri"},"image":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["feed"]},"imageKey":{"type":"string","minLength":1,"maxLength":200}},"required":["kind","imageKey"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["asset"]},"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}},"required":["kind","assetId"],"additionalProperties":false}]},"locale":{"default":"en-US","type":"string","minLength":2,"maxLength":35},"safeFallback":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":200},"brand":{"type":"string","minLength":1,"maxLength":100},"image":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["feed"]},"imageKey":{"type":"string","minLength":1,"maxLength":200}},"required":["kind","imageKey"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["asset"]},"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}},"required":["kind","assetId"],"additionalProperties":false}]}},"required":["name","image"],"additionalProperties":false}},"required":["format","version","url","refreshTier","sourceRevision","row","mapping","productId","destinationUrl","image","safeFallback"],"additionalProperties":false}]}},"required":["dslLayout","source"],"additionalProperties":false,"description":"config.dslLayout is required on create for this widget type: it has no server default and cannot render without one. Supply tokens when the layout uses $ references."}},"required":["name","type","userId","config"]},{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"type":{"type":"string","enum":["booking_availability"]},"userId":{"type":"string","minLength":1},"config":{"type":"object","properties":{"brand":{"type":"object","properties":{"accentColor":{"type":"string","pattern":"^#(?:[a-f\\d]{3}|[a-f\\d]{6})$"},"fontId":{"type":"string","maxLength":80,"pattern":"^(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display|\"\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*\"|'\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*')$"},"brandName":{"type":"string","maxLength":200}}},"tokens":{"type":"object","properties":{"surface":{"type":"string","minLength":1},"ink":{"type":"string","minLength":1},"muted":{"type":"string","minLength":1},"accent":{"type":"string","minLength":1},"accentSoft":{"type":"string","minLength":1},"line":{"type":"string","minLength":1},"headingFont":{"type":"string","minLength":1},"bodyFont":{"type":"string","minLength":1}},"additionalProperties":false},"collection":{"type":"string","enum":["signal","ledger","poster","night"]},"format":{"type":"string","enum":["png"]},"dslLayout":{},"background":{},"source":{}},"required":["format","dslLayout","source"],"additionalProperties":{},"description":"config.dslLayout is required on create for this widget type: it has no server default and cannot render without one. Supply tokens when the layout uses $ references."}},"required":["name","type","userId","config"]},{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"type":{"type":"string","enum":["service_status"]},"userId":{"type":"string","minLength":1},"config":{"type":"object","properties":{"brand":{"type":"object","properties":{"accentColor":{"type":"string","pattern":"^#(?:[a-f\\d]{3}|[a-f\\d]{6})$"},"fontId":{"type":"string","maxLength":80,"pattern":"^(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display|\"\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*\"|'\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*')$"},"brandName":{"type":"string","maxLength":200}}},"tokens":{"type":"object","properties":{"surface":{"type":"string","minLength":1},"ink":{"type":"string","minLength":1},"muted":{"type":"string","minLength":1},"accent":{"type":"string","minLength":1},"accentSoft":{"type":"string","minLength":1},"line":{"type":"string","minLength":1},"headingFont":{"type":"string","minLength":1},"bodyFont":{"type":"string","minLength":1}},"additionalProperties":false},"collection":{"type":"string","enum":["signal","ledger","poster","night"]},"format":{"type":"string","enum":["png"]},"dslLayout":{},"background":{},"source":{}},"required":["format","dslLayout","source"],"additionalProperties":{},"description":"config.dslLayout is required on create for this widget type: it has no server default and cannot render without one. Supply tokens when the layout uses $ references."}},"required":["name","type","userId","config"]},{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"type":{"type":"string","enum":["business_hours"]},"userId":{"type":"string","minLength":1},"config":{"type":"object","properties":{"brand":{"type":"object","properties":{"accentColor":{"type":"string","pattern":"^#(?:[a-f\\d]{3}|[a-f\\d]{6})$"},"fontId":{"type":"string","maxLength":80,"pattern":"^(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display|\"\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*\"|'\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*')$"},"brandName":{"type":"string","maxLength":200}}},"tokens":{"type":"object","properties":{"surface":{"type":"string","minLength":1},"ink":{"type":"string","minLength":1},"muted":{"type":"string","minLength":1},"accent":{"type":"string","minLength":1},"accentSoft":{"type":"string","minLength":1},"line":{"type":"string","minLength":1},"headingFont":{"type":"string","minLength":1},"bodyFont":{"type":"string","minLength":1}},"additionalProperties":false},"collection":{"type":"string","enum":["signal","ledger","poster","night"]},"format":{"type":"string","enum":["png"]},"dslLayout":{},"destinationUrl":{"type":"string"},"background":{},"previewBusinessHoursScenario":{"not":{}}},"required":["format","dslLayout"],"additionalProperties":{},"description":"config.dslLayout is required on create for this widget type: it has no server default and cannot render without one. Supply tokens when the layout uses $ references."}},"required":["name","type","userId","config"]},{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"type":{"type":"string","enum":["shipping_cutoff"]},"userId":{"type":"string","minLength":1},"config":{"type":"object","properties":{"brand":{"type":"object","properties":{"accentColor":{"type":"string","pattern":"^#(?:[a-f\\d]{3}|[a-f\\d]{6})$"},"fontId":{"type":"string","maxLength":80,"pattern":"^(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display|\"\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*\"|'\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*')$"},"brandName":{"type":"string","maxLength":200}}},"tokens":{"type":"object","properties":{"surface":{"type":"string","minLength":1},"ink":{"type":"string","minLength":1},"muted":{"type":"string","minLength":1},"accent":{"type":"string","minLength":1},"accentSoft":{"type":"string","minLength":1},"line":{"type":"string","minLength":1},"headingFont":{"type":"string","minLength":1},"bodyFont":{"type":"string","minLength":1}},"additionalProperties":false},"collection":{"type":"string","enum":["signal","ledger","poster","night"]},"format":{"type":"string","enum":["png"]},"dslLayout":{},"destinationUrl":{"type":"string"},"background":{},"previewShippingCutoffScenario":{"not":{}}},"required":["format","dslLayout"],"additionalProperties":{},"description":"config.dslLayout is required on create for this widget type: it has no server default and cannot render without one. Supply tokens when the layout uses $ references."}},"required":["name","type","userId","config"]},{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"type":{"type":"string","enum":["review_spotlight"]},"userId":{"type":"string","minLength":1},"config":{"type":"object","properties":{"brand":{"type":"object","properties":{"accentColor":{"type":"string","pattern":"^#(?:[a-f\\d]{3}|[a-f\\d]{6})$"},"fontId":{"type":"string","maxLength":80,"pattern":"^(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display|\"\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*\"|'\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*')$"},"brandName":{"type":"string","maxLength":200}}},"tokens":{"type":"object","properties":{"surface":{"type":"string","minLength":1},"ink":{"type":"string","minLength":1},"muted":{"type":"string","minLength":1},"accent":{"type":"string","minLength":1},"accentSoft":{"type":"string","minLength":1},"line":{"type":"string","minLength":1},"headingFont":{"type":"string","minLength":1},"bodyFont":{"type":"string","minLength":1}},"additionalProperties":false},"collection":{"type":"string","enum":["signal","ledger","poster","night"]},"format":{"type":"string","enum":["png"]},"dslLayout":{},"background":{},"source":{}},"required":["format","dslLayout","source"],"additionalProperties":{},"description":"config.dslLayout is required on create for this widget type: it has no server default and cannot render without one. Supply tokens when the layout uses $ references."}},"required":["name","type","userId","config"]},{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"type":{"type":"string","enum":["poll"]},"userId":{"type":"string","minLength":1},"config":{"type":"object","properties":{"brand":{"type":"object","properties":{"accentColor":{"type":"string","pattern":"^#(?:[a-f\\d]{3}|[a-f\\d]{6})$"},"fontId":{"type":"string","maxLength":80,"pattern":"^(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display|\"\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*\"|'\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*')$"},"brandName":{"type":"string","maxLength":200}}},"responseMode":{"type":"string","enum":["choice","rating_5","nps_0_10"]},"question":{"type":"string","minLength":1,"maxLength":500},"npsSubject":{"type":"string","minLength":1,"maxLength":120},"scaleLabels":{"type":"object","properties":{"low":{"type":"string","minLength":1,"maxLength":60},"high":{"type":"string","minLength":1,"maxLength":60}},"required":["low","high"],"additionalProperties":false},"showResults":{"type":"boolean"},"redirectUrl":{"type":"string","format":"uri"},"options":{"minItems":2,"maxItems":10,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"label":{"type":"string","minLength":1,"maxLength":200},"sortOrder":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["label"],"additionalProperties":false}},"optionStyle":{"type":"object","properties":{"width":{"default":400,"type":"integer","minimum":100,"maximum":800},"height":{"default":56,"type":"integer","minimum":32,"maximum":120},"gap":{"default":8,"type":"integer","minimum":0,"maximum":32},"backgroundColor":{"default":"#ffffff","type":"string","pattern":"^(?:#[0-9a-f]{3}|#[0-9a-f]{6}|rgba?\\(\\s*\\d{1,3}\\s*,\\s*\\d{1,3}\\s*,\\s*\\d{1,3}(?:\\s*,\\s*(?:0|1|0?\\.\\d+))?\\s*\\))$"},"textColor":{"default":"#1a1a1a","type":"string","pattern":"^(?:#[0-9a-f]{3}|#[0-9a-f]{6}|rgba?\\(\\s*\\d{1,3}\\s*,\\s*\\d{1,3}\\s*,\\s*\\d{1,3}(?:\\s*,\\s*(?:0|1|0?\\.\\d+))?\\s*\\))$"},"fontSize":{"default":16,"type":"integer","minimum":10,"maximum":32},"fontFamily":{"default":"Inter","type":"string","enum":["Inter","Arial","Helvetica","Verdana","Tahoma","Georgia","Times New Roman","sans-serif","system-ui"]},"borderRadius":{"default":8,"type":"integer","minimum":0,"maximum":32},"barColor":{"default":"#6366f1","type":"string","pattern":"^(?:#[0-9a-f]{3}|#[0-9a-f]{6}|rgba?\\(\\s*\\d{1,3}\\s*,\\s*\\d{1,3}\\s*,\\s*\\d{1,3}(?:\\s*,\\s*(?:0|1|0?\\.\\d+))?\\s*\\))$"},"barOpacity":{"default":0.15,"type":"number","minimum":0,"maximum":1},"percentageColor":{"default":"#6b7280","type":"string","pattern":"^(?:#[0-9a-f]{3}|#[0-9a-f]{6}|rgba?\\(\\s*\\d{1,3}\\s*,\\s*\\d{1,3}\\s*,\\s*\\d{1,3}(?:\\s*,\\s*(?:0|1|0?\\.\\d+))?\\s*\\))$"}},"additionalProperties":false},"format":{"type":"string","enum":["png","gif","webp","apng","jxl","jpg"]}},"additionalProperties":{},"description":"This widget type renders from its config; config.dslLayout is optional and no default is stamped."}},"required":["name","type","userId","config"]},{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"type":{"type":"string","enum":["video_thumbnail"]},"userId":{"type":"string","minLength":1},"config":{"type":"object","properties":{"brand":{"type":"object","properties":{"accentColor":{"type":"string","pattern":"^#(?:[a-f\\d]{3}|[a-f\\d]{6})$"},"fontId":{"type":"string","maxLength":80,"pattern":"^(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display|\"\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*\"|'\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*')$"},"brandName":{"type":"string","maxLength":200}}},"format":{"type":"string","enum":["png","gif","webp","apng","jxl","jpg"]},"dslLayout":{}},"additionalProperties":{},"description":"config.dslLayout is optional on create. When omitted, the API stores the widget type's default composition and its collection tokens. Supply dslLayout, and tokens when it uses $ references, to control the design."}},"required":["name","type","userId","config"]}]},"UpdateWidgetRequestBody":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"config":{"anyOf":[{"type":"object","properties":{"brand":{"type":"object","properties":{"accentColor":{"type":"string","pattern":"^#(?:[a-f\\d]{3}|[a-f\\d]{6})$"},"fontId":{"type":"string","maxLength":80,"pattern":"^(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display|\"\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*\"|'\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*')$"},"brandName":{"type":"string","maxLength":200}}},"tokens":{"type":"object","properties":{"surface":{"type":"string","minLength":1},"ink":{"type":"string","minLength":1},"muted":{"type":"string","minLength":1},"accent":{"type":"string","minLength":1},"accentSoft":{"type":"string","minLength":1},"line":{"type":"string","minLength":1},"headingFont":{"type":"string","minLength":1},"bodyFont":{"type":"string","minLength":1}},"additionalProperties":false},"collection":{"type":"string","enum":["signal","ledger","poster","night"]},"format":{"type":"string","enum":["png"]},"publication":{"type":"string","enum":["draft","published"]},"dslLayout":{},"fallbackLayout":{},"background":{},"source":{},"previewLatestContentScenario":{"not":{}}},"additionalProperties":{}},{"type":"object","properties":{"brand":{"type":"object","properties":{"accentColor":{"type":"string","pattern":"^#(?:[a-f\\d]{3}|[a-f\\d]{6})$"},"fontId":{"type":"string","maxLength":80,"pattern":"^(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display|\"\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*\"|'\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*')$"},"brandName":{"type":"string","maxLength":200}}},"tokens":{"type":"object","properties":{"surface":{"type":"string","minLength":1},"ink":{"type":"string","minLength":1},"muted":{"type":"string","minLength":1},"accent":{"type":"string","minLength":1},"accentSoft":{"type":"string","minLength":1},"line":{"type":"string","minLength":1},"headingFont":{"type":"string","minLength":1},"bodyFont":{"type":"string","minLength":1}},"additionalProperties":false},"collection":{"type":"string","enum":["signal","ledger","poster","night"]},"title":{"type":"string","minLength":1,"maxLength":120},"description":{"default":"","type":"string","maxLength":2000},"organizer":{"default":"","type":"string","maxLength":120},"venue":{"default":"","type":"string","maxLength":300},"joinUrl":{"default":"","type":"string","maxLength":2000},"recordingUrl":{"default":"","type":"string","maxLength":2000},"startDate":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{3})?(?:Z|[+-]\\d{2}:\\d{2})$"},"endDate":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{3})?(?:Z|[+-]\\d{2}:\\d{2})$"},"timezone":{"type":"string"},"status":{"type":"string","enum":["scheduled","cancelled"]},"publication":{"type":"string","enum":["draft","published"]},"dslLayout":{},"format":{"type":"string","enum":["png"]},"previewPhase":{"not":{}},"testVariables":{"not":{}}}},{"type":"object","properties":{"brand":{"type":"object","properties":{"accentColor":{"type":"string","pattern":"^#(?:[a-f\\d]{3}|[a-f\\d]{6})$"},"fontId":{"type":"string","maxLength":80,"pattern":"^(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display|\"\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*\"|'\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*')$"},"brandName":{"type":"string","maxLength":200}}},"tokens":{"type":"object","properties":{"surface":{"type":"string","minLength":1},"ink":{"type":"string","minLength":1},"muted":{"type":"string","minLength":1},"accent":{"type":"string","minLength":1},"accentSoft":{"type":"string","minLength":1},"line":{"type":"string","minLength":1},"headingFont":{"type":"string","minLength":1},"bodyFont":{"type":"string","minLength":1}},"additionalProperties":false},"collection":{"type":"string","enum":["signal","ledger","poster","night"]},"startDate":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{3})?(?:Z|[+-]\\d{2}:\\d{2})$"},"endDate":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{3})?(?:Z|[+-]\\d{2}:\\d{2})$"},"timezone":{"type":"string"},"destinationUrl":{"type":"string","maxLength":2048,"format":"uri"},"stageDestinations":{"type":"object","properties":{"upcoming":{"type":"string","maxLength":2048,"format":"uri"},"active":{"type":"string","maxLength":2048,"format":"uri"},"ended":{"type":"string","maxLength":2048,"format":"uri"}},"additionalProperties":false},"dslLayout":{},"activeLayout":{},"endedLayout":{},"format":{"type":"string","enum":["png"]},"previewStage":{"not":{}}},"additionalProperties":{}},{"type":"object","properties":{"brand":{"type":"object","properties":{"accentColor":{"type":"string","pattern":"^#(?:[a-f\\d]{3}|[a-f\\d]{6})$"},"fontId":{"type":"string","maxLength":80,"pattern":"^(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display|\"\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*\"|'\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*')$"},"brandName":{"type":"string","maxLength":200}}},"tokens":{"type":"object","properties":{"surface":{"type":"string","minLength":1},"ink":{"type":"string","minLength":1},"muted":{"type":"string","minLength":1},"accent":{"type":"string","minLength":1},"accentSoft":{"type":"string","minLength":1},"line":{"type":"string","minLength":1},"headingFont":{"type":"string","minLength":1},"bodyFont":{"type":"string","minLength":1}},"additionalProperties":false},"collection":{"type":"string","enum":["signal","ledger","poster","night"]},"location":{},"forecast":{},"temperatureUnit":{"type":"string","enum":["celsius","fahrenheit"]},"coldThresholdCelsius":{"type":"number"},"destinationUrl":{"type":"string"},"dslLayout":{},"wetLayout":{},"coldSnowLayout":{},"format":{"type":"string","enum":["png"]},"previewWeatherScenario":{"not":{}}},"required":["location","forecast","temperatureUnit","coldThresholdCelsius","destinationUrl","dslLayout","wetLayout","coldSnowLayout","format"],"additionalProperties":{}},{"type":"object","properties":{"brand":{"type":"object","properties":{"accentColor":{"type":"string","pattern":"^#(?:[a-f\\d]{3}|[a-f\\d]{6})$"},"fontId":{"type":"string","maxLength":80,"pattern":"^(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display|\"\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*\"|'\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*')$"},"brandName":{"type":"string","maxLength":200}}},"tokens":{"type":"object","properties":{"surface":{"type":"string","minLength":1},"ink":{"type":"string","minLength":1},"muted":{"type":"string","minLength":1},"accent":{"type":"string","minLength":1},"accentSoft":{"type":"string","minLength":1},"line":{"type":"string","minLength":1},"headingFont":{"type":"string","minLength":1},"bodyFont":{"type":"string","minLength":1}},"additionalProperties":false},"collection":{"type":"string","enum":["signal","ledger","poster","night"]},"referenceDate":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(:\\d{2})?(\\.\\d+)?(Z|[+-]\\d{2}:\\d{2})?$"},{"type":"string","enum":["nextFriday","endOfMonth","endOfQuarter","endOfYear"]}]},"mode":{"type":"string","enum":["countdown","countup"]},"recurrence":{"type":"string","enum":["daily","weekly","monthly","yearly"]},"recurrenceDay":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"milestones":{"maxItems":10,"type":"array","items":{"type":"object","properties":{"remainingSeconds":{"type":"integer","minimum":0,"maximum":9007199254740991},"styles":{"type":"object","properties":{"background":{"anyOf":[{"type":"string","collectionToken":true},{"type":"object","properties":{"type":{"type":"string","enum":["gradient"]},"colors":{"type":"array","items":[{"type":"string","collectionToken":true},{"type":"string","collectionToken":true}],"additionalItems":false,"minItems":2,"maxItems":2},"direction":{"type":"string","enum":["horizontal","vertical","diagonal"]}},"required":["type","colors","direction"],"additionalProperties":false}]},"backgroundImage":{"type":"object","properties":{"source":{"type":"string"},"imageId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"isSystem":{"type":"boolean"},"fit":{"type":"string","enum":["cover","contain","stretch","tile"]},"position":{"type":"object","properties":{"x":{"type":"string","enum":["left","center","right"]},"y":{"type":"string","enum":["top","center","bottom"]}},"additionalProperties":false},"opacity":{"type":"number","minimum":0,"maximum":1},"filters":{"type":"object","properties":{"grayscale":{"type":"number","minimum":0,"maximum":100},"brightness":{"type":"number","minimum":0,"maximum":200},"contrast":{"type":"number","minimum":0,"maximum":200},"blur":{"type":"number","minimum":0,"maximum":20},"saturate":{"type":"number","minimum":0,"maximum":200},"sepia":{"type":"number","minimum":0,"maximum":100},"hueRotate":{"type":"number","minimum":0,"maximum":360},"invert":{"type":"number","minimum":0,"maximum":100}},"additionalProperties":false}},"additionalProperties":false},"borderRadius":{"type":"number","minimum":0},"border":{"type":"object","properties":{"width":{"type":"number","minimum":0},"color":{"type":"string","collectionToken":true},"borderRadius":{"type":"number","minimum":0}},"required":["width","color"],"additionalProperties":false},"shadow":{"type":"object","properties":{"blur":{"type":"number","minimum":0},"color":{"type":"string","collectionToken":true},"offsetX":{"type":"number"},"offsetY":{"type":"number"}},"required":["blur","color"],"additionalProperties":false},"digits":{"type":"object","properties":{"days":{"type":"string"},"hours":{"type":"string"},"minutes":{"type":"string"},"seconds":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false}},"required":["remainingSeconds","styles"],"additionalProperties":false}},"timezone":{"type":"string"},"hideLeadingZeros":{"type":"boolean"},"message":{"type":"string"},"dslLayout":{},"expiredLayout":{},"displayFormat":{"type":"string","enum":["full","compact","minimal"]},"format":{"type":"string","enum":["png","gif","webp","apng","jxl","jpg"]},"generator":{"type":"object","properties":{"style":{"type":"string","enum":["signal-cards","signal-classic","ledger-pills","ledger-stacked","poster-grid","poster-minimal","night-cards","night-pills","flash-sale","sunset","gilt","glass"]},"expiry":{"type":"string","enum":["zeros","offer-ended","event-started","times-up"]},"perRecipient":{"type":"boolean"},"deadlineField":{"type":"string","pattern":"^[A-Za-z0-9_]{1,40}$"}},"required":["style","expiry","perRecipient"],"additionalProperties":false},"expiredDestinationUrl":{"type":"string","maxLength":2048,"format":"uri"}},"additionalProperties":{}},{"type":"object","properties":{"brand":{"type":"object","properties":{"accentColor":{"type":"string","pattern":"^#(?:[a-f\\d]{3}|[a-f\\d]{6})$"},"fontId":{"type":"string","maxLength":80,"pattern":"^(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display|\"\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*\"|'\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*')$"},"brandName":{"type":"string","maxLength":200}}},"value":{"type":"number"},"label":{"type":"string"},"prefix":{"type":"string"},"suffix":{"type":"string"},"trend":{"type":"string","enum":["up","down","neutral"]},"previousValue":{"type":"number"},"dataSource":{"anyOf":[{"type":"object","properties":{"url":{"type":"string","maxLength":2048,"format":"uri"},"jsonPath":{"type":"string","minLength":1,"maxLength":200},"refreshTier":{"type":"string","enum":["realtime","fast","hourly","daily"]},"fallbackValue":{"type":"number"},"valueKey":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9_-]+$"},"labelKey":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9_-]+$"}},"required":["url","jsonPath","refreshTier"],"additionalProperties":false},{"type":"object","properties":{"format":{"type":"string","enum":["csv"]},"version":{"type":"number","enum":[1]},"url":{"type":"string"},"refreshTier":{"type":"string","enum":["realtime","fast","hourly","daily"]},"sourceRevision":{"type":"integer","minimum":0,"maximum":9007199254740991},"row":{"type":"object","properties":{"keyColumn":{"type":"string","minLength":1,"maxLength":200},"keyValue":{"type":"string","minLength":1,"maxLength":200}},"required":["keyColumn","keyValue"],"additionalProperties":false},"mapping":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["scalar"]},"valueColumn":{"type":"string","minLength":1,"maxLength":200}},"required":["kind","valueColumn"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["series"]},"valueColumns":{"minItems":2,"maxItems":32,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}}},"required":["kind","valueColumns"],"additionalProperties":false}]},"fallbackValue":{"type":"number"}},"required":["format","version","url","refreshTier","sourceRevision","row","mapping"],"additionalProperties":false}]},"format":{"type":"string","enum":["png","gif","webp","apng","jxl","jpg"]},"recipientFallback":{"oneOf":[{"type":"object","properties":{"mode":{"type":"string","enum":["hide"]}},"required":["mode"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","enum":["text"]},"text":{"type":"string","minLength":1,"maxLength":40}},"required":["mode","text"],"additionalProperties":false}]}},"additionalProperties":{}},{"type":"object","properties":{"brand":{"type":"object","properties":{"accentColor":{"type":"string","pattern":"^#(?:[a-f\\d]{3}|[a-f\\d]{6})$"},"fontId":{"type":"string","maxLength":80,"pattern":"^(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display|\"\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*\"|'\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*')$"},"brandName":{"type":"string","maxLength":200}}},"format":{"type":"string","enum":["png","gif","webp","apng","jxl","jpg"]},"dataSource":{"anyOf":[{"type":"object","properties":{"url":{"type":"string","maxLength":2048,"format":"uri"},"jsonPath":{"type":"string","minLength":1,"maxLength":200},"refreshTier":{"type":"string","enum":["realtime","fast","hourly","daily"]},"fallbackValue":{"type":"number"},"valueKey":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9_-]+$"},"labelKey":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9_-]+$"}},"required":["url","jsonPath","refreshTier"],"additionalProperties":false},{"type":"object","properties":{"format":{"type":"string","enum":["csv"]},"version":{"type":"number","enum":[1]},"url":{"type":"string"},"refreshTier":{"type":"string","enum":["realtime","fast","hourly","daily"]},"sourceRevision":{"type":"integer","minimum":0,"maximum":9007199254740991},"row":{"type":"object","properties":{"keyColumn":{"type":"string","minLength":1,"maxLength":200},"keyValue":{"type":"string","minLength":1,"maxLength":200}},"required":["keyColumn","keyValue"],"additionalProperties":false},"mapping":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["scalar"]},"valueColumn":{"type":"string","minLength":1,"maxLength":200}},"required":["kind","valueColumn"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["series"]},"valueColumns":{"minItems":2,"maxItems":32,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}}},"required":["kind","valueColumns"],"additionalProperties":false}]},"fallbackValue":{"type":"number"}},"required":["format","version","url","refreshTier","sourceRevision","row","mapping"],"additionalProperties":false}]},"recipientFallback":{"oneOf":[{"type":"object","properties":{"mode":{"type":"string","enum":["hide"]}},"required":["mode"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","enum":["text"]},"text":{"type":"string","minLength":1,"maxLength":40}},"required":["mode","text"],"additionalProperties":false}]}},"additionalProperties":{}},{"type":"object","properties":{"brand":{"type":"object","properties":{"accentColor":{"type":"string","pattern":"^#(?:[a-f\\d]{3}|[a-f\\d]{6})$"},"fontId":{"type":"string","maxLength":80,"pattern":"^(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display|\"\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*\"|'\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*')$"},"brandName":{"type":"string","maxLength":200}}},"format":{"type":"string","enum":["png","gif","webp","apng","jxl","jpg"]},"dataSource":{"anyOf":[{"type":"object","properties":{"url":{"type":"string","maxLength":2048,"format":"uri"},"jsonPath":{"type":"string","minLength":1,"maxLength":200},"refreshTier":{"type":"string","enum":["realtime","fast","hourly","daily"]},"fallbackValue":{"type":"number"},"valueKey":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9_-]+$"},"labelKey":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9_-]+$"}},"required":["url","jsonPath","refreshTier"],"additionalProperties":false},{"type":"object","properties":{"format":{"type":"string","enum":["csv"]},"version":{"type":"number","enum":[1]},"url":{"type":"string"},"refreshTier":{"type":"string","enum":["realtime","fast","hourly","daily"]},"sourceRevision":{"type":"integer","minimum":0,"maximum":9007199254740991},"row":{"type":"object","properties":{"keyColumn":{"type":"string","minLength":1,"maxLength":200},"keyValue":{"type":"string","minLength":1,"maxLength":200}},"required":["keyColumn","keyValue"],"additionalProperties":false},"mapping":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["scalar"]},"valueColumn":{"type":"string","minLength":1,"maxLength":200}},"required":["kind","valueColumn"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["series"]},"valueColumns":{"minItems":2,"maxItems":32,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}}},"required":["kind","valueColumns"],"additionalProperties":false}]},"fallbackValue":{"type":"number"}},"required":["format","version","url","refreshTier","sourceRevision","row","mapping"],"additionalProperties":false}]},"recipientFallback":{"oneOf":[{"type":"object","properties":{"mode":{"type":"string","enum":["hide"]}},"required":["mode"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","enum":["text"]},"text":{"type":"string","minLength":1,"maxLength":40}},"required":["mode","text"],"additionalProperties":false}]}},"additionalProperties":{}},{"type":"object","properties":{"brand":{"type":"object","properties":{"accentColor":{"type":"string","pattern":"^#(?:[a-f\\d]{3}|[a-f\\d]{6})$"},"fontId":{"type":"string","maxLength":80,"pattern":"^(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display|\"\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*\"|'\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*')$"},"brandName":{"type":"string","maxLength":200}}},"format":{"type":"string","enum":["png","gif","webp","apng","jxl","jpg"]},"dataSource":{"anyOf":[{"type":"object","properties":{"url":{"type":"string","maxLength":2048,"format":"uri"},"jsonPath":{"type":"string","minLength":1,"maxLength":200},"refreshTier":{"type":"string","enum":["realtime","fast","hourly","daily"]},"fallbackValue":{"type":"number"},"valueKey":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9_-]+$"},"labelKey":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9_-]+$"}},"required":["url","jsonPath","refreshTier"],"additionalProperties":false},{"type":"object","properties":{"format":{"type":"string","enum":["csv"]},"version":{"type":"number","enum":[1]},"url":{"type":"string"},"refreshTier":{"type":"string","enum":["realtime","fast","hourly","daily"]},"sourceRevision":{"type":"integer","minimum":0,"maximum":9007199254740991},"row":{"type":"object","properties":{"keyColumn":{"type":"string","minLength":1,"maxLength":200},"keyValue":{"type":"string","minLength":1,"maxLength":200}},"required":["keyColumn","keyValue"],"additionalProperties":false},"mapping":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["scalar"]},"valueColumn":{"type":"string","minLength":1,"maxLength":200}},"required":["kind","valueColumn"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["series"]},"valueColumns":{"minItems":2,"maxItems":32,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}}},"required":["kind","valueColumns"],"additionalProperties":false}]},"fallbackValue":{"type":"number"}},"required":["format","version","url","refreshTier","sourceRevision","row","mapping"],"additionalProperties":false}]},"recipientFallback":{"oneOf":[{"type":"object","properties":{"mode":{"type":"string","enum":["hide"]}},"required":["mode"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","enum":["text"]},"text":{"type":"string","minLength":1,"maxLength":40}},"required":["mode","text"],"additionalProperties":false}]}},"additionalProperties":{}},{"type":"object","properties":{"brand":{"type":"object","properties":{"accentColor":{"type":"string","pattern":"^#(?:[a-f\\d]{3}|[a-f\\d]{6})$"},"fontId":{"type":"string","maxLength":80,"pattern":"^(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display|\"\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*\"|'\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*')$"},"brandName":{"type":"string","maxLength":200}}},"format":{"type":"string","enum":["png","gif","webp","apng","jxl","jpg"]},"dataSource":{"anyOf":[{"type":"object","properties":{"url":{"type":"string","maxLength":2048,"format":"uri"},"jsonPath":{"type":"string","minLength":1,"maxLength":200},"refreshTier":{"type":"string","enum":["realtime","fast","hourly","daily"]},"fallbackValue":{"type":"number"},"valueKey":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9_-]+$"},"labelKey":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9_-]+$"}},"required":["url","jsonPath","refreshTier"],"additionalProperties":false},{"type":"object","properties":{"format":{"type":"string","enum":["csv"]},"version":{"type":"number","enum":[1]},"url":{"type":"string"},"refreshTier":{"type":"string","enum":["realtime","fast","hourly","daily"]},"sourceRevision":{"type":"integer","minimum":0,"maximum":9007199254740991},"row":{"type":"object","properties":{"keyColumn":{"type":"string","minLength":1,"maxLength":200},"keyValue":{"type":"string","minLength":1,"maxLength":200}},"required":["keyColumn","keyValue"],"additionalProperties":false},"mapping":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["scalar"]},"valueColumn":{"type":"string","minLength":1,"maxLength":200}},"required":["kind","valueColumn"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["series"]},"valueColumns":{"minItems":2,"maxItems":32,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}}},"required":["kind","valueColumns"],"additionalProperties":false}]},"fallbackValue":{"type":"number"}},"required":["format","version","url","refreshTier","sourceRevision","row","mapping"],"additionalProperties":false}]},"recipientFallback":{"oneOf":[{"type":"object","properties":{"mode":{"type":"string","enum":["hide"]}},"required":["mode"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","enum":["text"]},"text":{"type":"string","minLength":1,"maxLength":40}},"required":["mode","text"],"additionalProperties":false}]}},"additionalProperties":{}},{"type":"object","properties":{"brand":{"type":"object","properties":{"accentColor":{"type":"string","pattern":"^#(?:[a-f\\d]{3}|[a-f\\d]{6})$"},"fontId":{"type":"string","maxLength":80,"pattern":"^(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display|\"\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*\"|'\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*')$"},"brandName":{"type":"string","maxLength":200}}},"format":{"type":"string","enum":["png","gif","webp","apng","jxl","jpg"]}},"additionalProperties":{}},{"type":"object","properties":{"brand":{"type":"object","properties":{"accentColor":{"type":"string","pattern":"^#(?:[a-f\\d]{3}|[a-f\\d]{6})$"},"fontId":{"type":"string","maxLength":80,"pattern":"^(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display|\"\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*\"|'\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*')$"},"brandName":{"type":"string","maxLength":200}}},"format":{"type":"string","enum":["png","gif","webp","apng","jxl","jpg"]}},"additionalProperties":{}},{"type":"object","properties":{"brand":{"type":"object","properties":{"accentColor":{"type":"string","pattern":"^#(?:[a-f\\d]{3}|[a-f\\d]{6})$"},"fontId":{"type":"string","maxLength":80,"pattern":"^(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display|\"\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*\"|'\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*')$"},"brandName":{"type":"string","maxLength":200}}},"format":{"type":"string","enum":["png","gif","webp","apng","jxl","jpg"]}},"additionalProperties":{}},{"type":"object","properties":{"brand":{"type":"object","properties":{"accentColor":{"type":"string","pattern":"^#(?:[a-f\\d]{3}|[a-f\\d]{6})$"},"fontId":{"type":"string","maxLength":80,"pattern":"^(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display|\"\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*\"|'\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*')$"},"brandName":{"type":"string","maxLength":200}}},"format":{"type":"string","enum":["png","gif","webp","apng","jxl","jpg"]}},"additionalProperties":{}},{"type":"object","properties":{"brand":{"type":"object","properties":{"accentColor":{"type":"string","pattern":"^#(?:[a-f\\d]{3}|[a-f\\d]{6})$"},"fontId":{"type":"string","maxLength":80,"pattern":"^(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display|\"\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*\"|'\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*')$"},"brandName":{"type":"string","maxLength":200}}},"format":{"type":"string","enum":["png","gif","webp","apng","jxl","jpg"]},"dataSource":{"anyOf":[{"type":"object","properties":{"url":{"type":"string","maxLength":2048,"format":"uri"},"jsonPath":{"type":"string","minLength":1,"maxLength":200},"refreshTier":{"type":"string","enum":["realtime","fast","hourly","daily"]},"fallbackValue":{"type":"number"},"valueKey":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9_-]+$"},"labelKey":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9_-]+$"}},"required":["url","jsonPath","refreshTier"],"additionalProperties":false},{"type":"object","properties":{"format":{"type":"string","enum":["csv"]},"version":{"type":"number","enum":[1]},"url":{"type":"string"},"refreshTier":{"type":"string","enum":["realtime","fast","hourly","daily"]},"sourceRevision":{"type":"integer","minimum":0,"maximum":9007199254740991},"row":{"type":"object","properties":{"keyColumn":{"type":"string","minLength":1,"maxLength":200},"keyValue":{"type":"string","minLength":1,"maxLength":200}},"required":["keyColumn","keyValue"],"additionalProperties":false},"mapping":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["scalar"]},"valueColumn":{"type":"string","minLength":1,"maxLength":200}},"required":["kind","valueColumn"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["series"]},"valueColumns":{"minItems":2,"maxItems":32,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}}},"required":["kind","valueColumns"],"additionalProperties":false}]},"fallbackValue":{"type":"number"}},"required":["format","version","url","refreshTier","sourceRevision","row","mapping"],"additionalProperties":false}]}},"additionalProperties":{}},{"type":"object","properties":{"brand":{"type":"object","properties":{"accentColor":{"type":"string","pattern":"^#(?:[a-f\\d]{3}|[a-f\\d]{6})$"},"fontId":{"type":"string","maxLength":80,"pattern":"^(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display|\"\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*\"|'\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*')$"},"brandName":{"type":"string","maxLength":200}}},"format":{"type":"string","enum":["png","gif","webp","apng","jxl","jpg"]},"dataSource":{"anyOf":[{"type":"object","properties":{"url":{"type":"string","maxLength":2048,"format":"uri"},"jsonPath":{"type":"string","minLength":1,"maxLength":200},"refreshTier":{"type":"string","enum":["realtime","fast","hourly","daily"]},"fallbackValue":{"type":"number"},"valueKey":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9_-]+$"},"labelKey":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9_-]+$"}},"required":["url","jsonPath","refreshTier"],"additionalProperties":false},{"type":"object","properties":{"format":{"type":"string","enum":["csv"]},"version":{"type":"number","enum":[1]},"url":{"type":"string"},"refreshTier":{"type":"string","enum":["realtime","fast","hourly","daily"]},"sourceRevision":{"type":"integer","minimum":0,"maximum":9007199254740991},"row":{"type":"object","properties":{"keyColumn":{"type":"string","minLength":1,"maxLength":200},"keyValue":{"type":"string","minLength":1,"maxLength":200}},"required":["keyColumn","keyValue"],"additionalProperties":false},"mapping":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["scalar"]},"valueColumn":{"type":"string","minLength":1,"maxLength":200}},"required":["kind","valueColumn"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["series"]},"valueColumns":{"minItems":2,"maxItems":32,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}}},"required":["kind","valueColumns"],"additionalProperties":false}]},"fallbackValue":{"type":"number"}},"required":["format","version","url","refreshTier","sourceRevision","row","mapping"],"additionalProperties":false}]},"distributionSource":{"type":"object","properties":{"url":{"type":"string","maxLength":2048,"format":"uri"},"jsonPath":{"type":"string","minLength":1,"maxLength":200},"refreshTier":{"type":"string","enum":["realtime","fast","hourly","daily"]},"fallbackValue":{"type":"number"},"valueKey":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9_-]+$"},"labelKey":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9_-]+$"}},"required":["url","jsonPath","refreshTier"],"additionalProperties":false},"average":{"not":{}},"reviewCount":{"not":{}},"distribution":{"not":{}}},"additionalProperties":{}},{"type":"object","properties":{"brand":{"type":"object","properties":{"accentColor":{"type":"string","pattern":"^#(?:[a-f\\d]{3}|[a-f\\d]{6})$"},"fontId":{"type":"string","maxLength":80,"pattern":"^(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display|\"\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*\"|'\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*')$"},"brandName":{"type":"string","maxLength":200}}},"format":{"type":"string","enum":["png","gif","webp","apng","jxl","jpg"]},"dataSource":{"anyOf":[{"type":"object","properties":{"url":{"type":"string","maxLength":2048,"format":"uri"},"jsonPath":{"type":"string","minLength":1,"maxLength":200},"refreshTier":{"type":"string","enum":["realtime","fast","hourly","daily"]},"fallbackValue":{"type":"number"},"valueKey":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9_-]+$"},"labelKey":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9_-]+$"}},"required":["url","jsonPath","refreshTier"],"additionalProperties":false},{"type":"object","properties":{"format":{"type":"string","enum":["csv"]},"version":{"type":"number","enum":[1]},"url":{"type":"string"},"refreshTier":{"type":"string","enum":["realtime","fast","hourly","daily"]},"sourceRevision":{"type":"integer","minimum":0,"maximum":9007199254740991},"row":{"type":"object","properties":{"keyColumn":{"type":"string","minLength":1,"maxLength":200},"keyValue":{"type":"string","minLength":1,"maxLength":200}},"required":["keyColumn","keyValue"],"additionalProperties":false},"mapping":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["scalar"]},"valueColumn":{"type":"string","minLength":1,"maxLength":200}},"required":["kind","valueColumn"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["series"]},"valueColumns":{"minItems":2,"maxItems":32,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}}},"required":["kind","valueColumns"],"additionalProperties":false}]},"fallbackValue":{"type":"number"}},"required":["format","version","url","refreshTier","sourceRevision","row","mapping"],"additionalProperties":false}]}},"additionalProperties":{}},{"type":"object","properties":{"brand":{"type":"object","properties":{"accentColor":{"type":"string","pattern":"^#(?:[a-f\\d]{3}|[a-f\\d]{6})$"},"fontId":{"type":"string","maxLength":80,"pattern":"^(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display|\"\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*\"|'\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*')$"},"brandName":{"type":"string","maxLength":200}}},"format":{"type":"string","enum":["png","gif","webp","apng","jxl","jpg"]},"dataSource":{"type":"object","properties":{"url":{"type":"string","maxLength":2048,"format":"uri"},"jsonPath":{"type":"string","minLength":1,"maxLength":200},"refreshTier":{"type":"string","enum":["realtime","fast","hourly","daily"]},"labelKey":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9_-]+$"}},"required":["url","jsonPath","refreshTier"],"additionalProperties":false}},"additionalProperties":{}},{"type":"object","properties":{"brand":{"type":"object","properties":{"accentColor":{"type":"string","pattern":"^#(?:[a-f\\d]{3}|[a-f\\d]{6})$"},"fontId":{"type":"string","maxLength":80,"pattern":"^(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display|\"\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*\"|'\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*')$"},"brandName":{"type":"string","maxLength":200}}},"format":{"type":"string","enum":["png","gif","webp","apng","jxl","jpg"]},"dataSource":{"anyOf":[{"type":"object","properties":{"url":{"type":"string","maxLength":2048,"format":"uri"},"jsonPath":{"type":"string","minLength":1,"maxLength":200},"refreshTier":{"type":"string","enum":["realtime","fast","hourly","daily"]},"fallbackValue":{"type":"number"},"valueKey":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9_-]+$"},"labelKey":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9_-]+$"}},"required":["url","jsonPath","refreshTier"],"additionalProperties":false},{"type":"object","properties":{"format":{"type":"string","enum":["csv"]},"version":{"type":"number","enum":[1]},"url":{"type":"string"},"refreshTier":{"type":"string","enum":["realtime","fast","hourly","daily"]},"sourceRevision":{"type":"integer","minimum":0,"maximum":9007199254740991},"row":{"type":"object","properties":{"keyColumn":{"type":"string","minLength":1,"maxLength":200},"keyValue":{"type":"string","minLength":1,"maxLength":200}},"required":["keyColumn","keyValue"],"additionalProperties":false},"mapping":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["scalar"]},"valueColumn":{"type":"string","minLength":1,"maxLength":200}},"required":["kind","valueColumn"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["series"]},"valueColumns":{"minItems":2,"maxItems":32,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}}},"required":["kind","valueColumns"],"additionalProperties":false}]},"fallbackValue":{"type":"number"}},"required":["format","version","url","refreshTier","sourceRevision","row","mapping"],"additionalProperties":false}]},"dslLayout":{},"deltaText":{"not":{}}},"additionalProperties":{}},{"type":"object","properties":{"brand":{"type":"object","properties":{"accentColor":{"type":"string","pattern":"^#(?:[a-f\\d]{3}|[a-f\\d]{6})$"},"fontId":{"type":"string","maxLength":80,"pattern":"^(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display|\"\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*\"|'\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*')$"},"brandName":{"type":"string","maxLength":200}}},"format":{"type":"string","enum":["png","gif","webp","apng","jxl","jpg"]},"dataSource":{"anyOf":[{"type":"object","properties":{"url":{"type":"string","maxLength":2048,"format":"uri"},"jsonPath":{"type":"string","minLength":1,"maxLength":200},"refreshTier":{"type":"string","enum":["realtime","fast","hourly","daily"]},"fallbackValue":{"type":"number"},"valueKey":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9_-]+$"},"labelKey":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9_-]+$"}},"required":["url","jsonPath","refreshTier"],"additionalProperties":false},{"type":"object","properties":{"format":{"type":"string","enum":["csv"]},"version":{"type":"number","enum":[1]},"url":{"type":"string"},"refreshTier":{"type":"string","enum":["realtime","fast","hourly","daily"]},"sourceRevision":{"type":"integer","minimum":0,"maximum":9007199254740991},"row":{"type":"object","properties":{"keyColumn":{"type":"string","minLength":1,"maxLength":200},"keyValue":{"type":"string","minLength":1,"maxLength":200}},"required":["keyColumn","keyValue"],"additionalProperties":false},"mapping":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["scalar"]},"valueColumn":{"type":"string","minLength":1,"maxLength":200}},"required":["kind","valueColumn"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["series"]},"valueColumns":{"minItems":2,"maxItems":32,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}}},"required":["kind","valueColumns"],"additionalProperties":false}]},"fallbackValue":{"type":"number"}},"required":["format","version","url","refreshTier","sourceRevision","row","mapping"],"additionalProperties":false}]},"dslLayout":{},"tokenValues":{"not":{}},"points":{"not":{}}},"additionalProperties":{}},{"type":"object","properties":{"brand":{"type":"object","properties":{"accentColor":{"type":"string","pattern":"^#(?:[a-f\\d]{3}|[a-f\\d]{6})$"},"fontId":{"type":"string","maxLength":80,"pattern":"^(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display|\"\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*\"|'\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*')$"},"brandName":{"type":"string","maxLength":200}}},"format":{"type":"string","enum":["png","gif","webp","apng","jxl","jpg"]},"dslLayout":{},"dataSource":{"type":"object","properties":{"url":{"type":"string","maxLength":2048,"format":"uri"},"jsonPath":{"type":"string","minLength":1,"maxLength":200},"refreshTier":{"type":"string","enum":["realtime","fast","hourly","daily"]},"valueKey":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9_-]+$"},"labelKey":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9_-]+$"},"keyKey":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9_-]+$"}},"required":["url","jsonPath","refreshTier","valueKey","labelKey"],"additionalProperties":false},"me":{"not":{}},"rows":{"not":{}}},"additionalProperties":{}},{"type":"object","properties":{"brand":{"type":"object","properties":{"accentColor":{"type":"string","pattern":"^#(?:[a-f\\d]{3}|[a-f\\d]{6})$"},"fontId":{"type":"string","maxLength":80,"pattern":"^(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display|\"\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*\"|'\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*')$"},"brandName":{"type":"string","maxLength":200}}},"format":{"type":"string","enum":["png","gif","webp","apng","jxl","jpg"]},"dslLayout":{},"dataSource":{"anyOf":[{"type":"object","properties":{"format":{"type":"string","enum":["csv"]},"version":{"type":"number","enum":[1]},"url":{"type":"string"},"refreshTier":{"type":"string","enum":["realtime","fast","hourly","daily"]},"sourceRevision":{"type":"integer","minimum":0,"maximum":9007199254740991},"selection":{"type":"object","properties":{"startRow":{"type":"integer","minimum":0,"maximum":99},"rowCount":{"type":"integer","minimum":2,"maximum":6}},"required":["startRow","rowCount"],"additionalProperties":false},"mapping":{"type":"object","properties":{"kind":{"type":"string","enum":["records"]},"columns":{"minItems":2,"maxItems":4,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}}},"required":["kind","columns"],"additionalProperties":false}},"required":["format","version","url","refreshTier","sourceRevision","selection","mapping"],"additionalProperties":false},{"type":"object","properties":{"format":{"type":"string","enum":["json"]},"url":{"type":"string","maxLength":2048,"format":"uri"},"refreshTier":{"type":"string","enum":["realtime","fast","hourly","daily"]},"jsonPath":{"type":"string","minLength":1,"maxLength":200},"selection":{"type":"object","properties":{"startRow":{"type":"integer","minimum":0,"maximum":99},"rowCount":{"type":"integer","minimum":2,"maximum":6}},"required":["startRow","rowCount"],"additionalProperties":false},"mapping":{"type":"object","properties":{"kind":{"type":"string","enum":["records"]},"columns":{"minItems":2,"maxItems":4,"type":"array","items":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9_-]+$"}}},"required":["kind","columns"],"additionalProperties":false}},"required":["format","url","refreshTier","jsonPath","selection","mapping"],"additionalProperties":false}]},"rows":{"not":{}},"records":{"not":{}}},"additionalProperties":{}},{"type":"object","properties":{"brand":{"type":"object","properties":{"accentColor":{"type":"string","pattern":"^#(?:[a-f\\d]{3}|[a-f\\d]{6})$"},"fontId":{"type":"string","maxLength":80,"pattern":"^(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display|\"\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*\"|'\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*')$"},"brandName":{"type":"string","maxLength":200}}},"format":{"type":"string","enum":["png","gif","webp","apng","jxl","jpg"]},"dslLayout":{},"dataSource":{"anyOf":[{"type":"object","properties":{"format":{"type":"string","enum":["csv"]},"version":{"type":"number","enum":[1]},"url":{"type":"string"},"refreshTier":{"type":"string","enum":["realtime","fast","hourly","daily"]},"sourceRevision":{"type":"integer","minimum":0,"maximum":9007199254740991},"selection":{"type":"object","properties":{"startRow":{"type":"integer","minimum":0,"maximum":99},"rowCount":{"type":"integer","minimum":2,"maximum":100}},"required":["startRow","rowCount"],"additionalProperties":false},"mapping":{"type":"object","properties":{"kind":{"type":"string","enum":["time-series"]},"dataKind":{"type":"string","enum":["values","ohlc"]},"columns":{"minItems":2,"maxItems":5,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}}},"required":["kind","dataKind","columns"],"additionalProperties":false}},"required":["format","version","url","refreshTier","sourceRevision","selection","mapping"],"additionalProperties":false},{"type":"object","properties":{"format":{"type":"string","enum":["json"]},"url":{"type":"string","maxLength":2048,"format":"uri"},"refreshTier":{"type":"string","enum":["realtime","fast","hourly","daily"]},"jsonPath":{"type":"string","minLength":1,"maxLength":200},"selection":{"type":"object","properties":{"startRow":{"type":"integer","minimum":0,"maximum":99},"rowCount":{"type":"integer","minimum":2,"maximum":100}},"required":["startRow","rowCount"],"additionalProperties":false},"mapping":{"type":"object","properties":{"kind":{"type":"string","enum":["time-series"]},"dataKind":{"type":"string","enum":["values","ohlc"]},"columns":{"minItems":2,"maxItems":5,"type":"array","items":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9_-]+$"}}},"required":["kind","dataKind","columns"],"additionalProperties":false}},"required":["format","url","refreshTier","jsonPath","selection","mapping"],"additionalProperties":false}]},"rows":{"not":{}},"records":{"not":{}},"timeSeries":{"not":{}}},"additionalProperties":{}},{"type":"object","properties":{"brand":{"type":"object","properties":{"accentColor":{"type":"string","pattern":"^#(?:[a-f\\d]{3}|[a-f\\d]{6})$"},"fontId":{"type":"string","maxLength":80,"pattern":"^(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display|\"\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*\"|'\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*')$"},"brandName":{"type":"string","maxLength":200}}},"format":{"type":"string","enum":["png","gif","webp","apng","jxl","jpg"]},"dslLayout":{},"background":{"anyOf":[{"type":"string","collectionToken":true},{"type":"object","properties":{"type":{"type":"string","enum":["gradient"]},"colors":{"type":"array","items":[{"type":"string","collectionToken":true},{"type":"string","collectionToken":true}],"additionalItems":false,"minItems":2,"maxItems":2},"direction":{"type":"string","enum":["horizontal","vertical","diagonal"]}},"required":["type","colors","direction"],"additionalProperties":false}]},"tokenValues":{"not":{}}},"additionalProperties":{}},{"type":"object","properties":{"brand":{"type":"object","properties":{"accentColor":{"type":"string","pattern":"^#(?:[a-f\\d]{3}|[a-f\\d]{6})$"},"fontId":{"type":"string","maxLength":80,"pattern":"^(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display|\"\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*\"|'\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*')$"},"brandName":{"type":"string","maxLength":200}}},"format":{"type":"string","enum":["png","gif","webp","apng","jxl","jpg"]},"dataSource":{"anyOf":[{"type":"object","properties":{"url":{"type":"string","maxLength":2048,"format":"uri"},"jsonPath":{"type":"string","minLength":1,"maxLength":200},"refreshTier":{"type":"string","enum":["realtime","fast","hourly","daily"]},"fallbackValue":{"type":"number"},"valueKey":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9_-]+$"},"labelKey":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9_-]+$"}},"required":["url","jsonPath","refreshTier"],"additionalProperties":false},{"type":"object","properties":{"format":{"type":"string","enum":["csv"]},"version":{"type":"number","enum":[1]},"url":{"type":"string"},"refreshTier":{"type":"string","enum":["realtime","fast","hourly","daily"]},"sourceRevision":{"type":"integer","minimum":0,"maximum":9007199254740991},"row":{"type":"object","properties":{"keyColumn":{"type":"string","minLength":1,"maxLength":200},"keyValue":{"type":"string","minLength":1,"maxLength":200}},"required":["keyColumn","keyValue"],"additionalProperties":false},"mapping":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["scalar"]},"valueColumn":{"type":"string","minLength":1,"maxLength":200}},"required":["kind","valueColumn"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["series"]},"valueColumns":{"minItems":2,"maxItems":32,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}}},"required":["kind","valueColumns"],"additionalProperties":false}]},"fallbackValue":{"type":"number"}},"required":["format","version","url","refreshTier","sourceRevision","row","mapping"],"additionalProperties":false}]}},"additionalProperties":{}},{"type":"object","properties":{"brand":{"type":"object","properties":{"accentColor":{"type":"string","pattern":"^#(?:[a-f\\d]{3}|[a-f\\d]{6})$"},"fontId":{"type":"string","maxLength":80,"pattern":"^(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display|\"\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*\"|'\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*')$"},"brandName":{"type":"string","maxLength":200}}},"tokens":{"type":"object","properties":{"surface":{"type":"string","minLength":1},"ink":{"type":"string","minLength":1},"muted":{"type":"string","minLength":1},"accent":{"type":"string","minLength":1},"accentSoft":{"type":"string","minLength":1},"line":{"type":"string","minLength":1},"headingFont":{"type":"string","minLength":1},"bodyFont":{"type":"string","minLength":1}},"additionalProperties":false},"collection":{"type":"string","enum":["signal","ledger","poster","night"]},"format":{"type":"string","enum":["png","gif","webp","apng","jxl","jpg"]},"dslLayout":{},"background":{}},"additionalProperties":{}},{"type":"object","properties":{"brand":{"type":"object","properties":{"accentColor":{"type":"string","pattern":"^#(?:[a-f\\d]{3}|[a-f\\d]{6})$"},"fontId":{"type":"string","maxLength":80,"pattern":"^(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display|\"\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*\"|'\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*')$"},"brandName":{"type":"string","maxLength":200}}},"format":{"type":"string","enum":["png","gif","webp","apng","jxl","jpg"]}},"additionalProperties":{}},{"type":"object","properties":{"brand":{"type":"object","properties":{"accentColor":{"type":"string","pattern":"^#(?:[a-f\\d]{3}|[a-f\\d]{6})$"},"fontId":{"type":"string","maxLength":80,"pattern":"^(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display|\"\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*\"|'\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*')$"},"brandName":{"type":"string","maxLength":200}}},"format":{"type":"string","enum":["png","gif","webp","apng","jxl","jpg"]}},"additionalProperties":{}},{"type":"object","properties":{"brand":{"type":"object","properties":{"accentColor":{"type":"string","pattern":"^#(?:[a-f\\d]{3}|[a-f\\d]{6})$"},"fontId":{"type":"string","maxLength":80,"pattern":"^(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display|\"\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*\"|'\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*')$"},"brandName":{"type":"string","maxLength":200}}},"tokens":{"type":"object","properties":{"surface":{"type":"string","minLength":1},"ink":{"type":"string","minLength":1},"muted":{"type":"string","minLength":1},"accent":{"type":"string","minLength":1},"accentSoft":{"type":"string","minLength":1},"line":{"type":"string","minLength":1},"headingFont":{"type":"string","minLength":1},"bodyFont":{"type":"string","minLength":1}},"additionalProperties":false},"collection":{"type":"string","enum":["signal","ledger","poster","night"]},"format":{"type":"string","enum":["png","gif","webp","apng","jxl","jpg"]},"dslLayout":{},"background":{}},"additionalProperties":{}},{"type":"object","properties":{"brand":{"type":"object","properties":{"accentColor":{"type":"string","pattern":"^#(?:[a-f\\d]{3}|[a-f\\d]{6})$"},"fontId":{"type":"string","maxLength":80,"pattern":"^(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display|\"\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*\"|'\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*')$"},"brandName":{"type":"string","maxLength":200}}},"format":{"type":"string","enum":["png","gif","webp","apng","jxl","jpg"]}},"additionalProperties":{}},{"type":"object","properties":{"brand":{"type":"object","properties":{"accentColor":{"type":"string","pattern":"^#(?:[a-f\\d]{3}|[a-f\\d]{6})$"},"fontId":{"type":"string","maxLength":80,"pattern":"^(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display|\"\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*\"|'\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*')$"},"brandName":{"type":"string","maxLength":200}}},"tokens":{"type":"object","properties":{"surface":{"type":"string","minLength":1},"ink":{"type":"string","minLength":1},"muted":{"type":"string","minLength":1},"accent":{"type":"string","minLength":1},"accentSoft":{"type":"string","minLength":1},"line":{"type":"string","minLength":1},"headingFont":{"type":"string","minLength":1},"bodyFont":{"type":"string","minLength":1}},"additionalProperties":false},"collection":{"type":"string","enum":["signal","ledger","poster","night"]},"format":{"type":"string","enum":["png"]},"dslLayout":{},"background":{"anyOf":[{"type":"string","collectionToken":true},{"type":"object","properties":{"type":{"type":"string","enum":["gradient"]},"colors":{"type":"array","items":[{"type":"string","collectionToken":true},{"type":"string","collectionToken":true}],"additionalItems":false,"minItems":2,"maxItems":2},"direction":{"type":"string","enum":["horizontal","vertical","diagonal"]}},"required":["type","colors","direction"],"additionalProperties":false}]},"source":{"anyOf":[{"type":"object","properties":{"version":{"type":"number","enum":[1]},"url":{"type":"string","maxLength":2048,"format":"uri"},"refreshTier":{"type":"string","enum":["fast","hourly","daily"]},"mapping":{"type":"object","properties":{"fixedCurrency":{"type":"string","enum":["USD","EUR","GBP","CAD","AUD","JPY"]},"collectionPath":{"type":"string","minLength":1,"maxLength":200},"fields":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":200},"name":{"type":"string","minLength":1,"maxLength":200},"brand":{"type":"string","minLength":1,"maxLength":200},"productUrl":{"type":"string","minLength":1,"maxLength":200},"price":{"type":"string","minLength":1,"maxLength":200},"compareAtPrice":{"type":"string","minLength":1,"maxLength":200},"currency":{"type":"string","minLength":1,"maxLength":200},"availability":{"type":"string","minLength":1,"maxLength":200},"stockCount":{"type":"string","minLength":1,"maxLength":200}},"required":["id","name","productUrl","price","availability"],"additionalProperties":false},"images":{"type":"object","properties":{"imagesPath":{"type":"string","minLength":1,"maxLength":200},"imageIdPath":{"type":"string","minLength":1,"maxLength":200},"imageUrlPath":{"type":"string","minLength":1,"maxLength":200}},"required":["imagesPath"],"additionalProperties":false},"availability":{"type":"object","properties":{"inStock":{"minItems":1,"maxItems":20,"type":"array","items":{"anyOf":[{"type":"string","maxLength":100},{"type":"number"},{"type":"boolean"}]}},"outOfStock":{"minItems":1,"maxItems":20,"type":"array","items":{"anyOf":[{"type":"string","maxLength":100},{"type":"number"},{"type":"boolean"}]}},"unknown":{"default":[],"maxItems":20,"type":"array","items":{"anyOf":[{"type":"string","maxLength":100},{"type":"number"},{"type":"boolean"}]}}},"required":["inStock","outOfStock"],"additionalProperties":false}},"required":["collectionPath","fields","images","availability"],"additionalProperties":false},"productId":{"type":"string","minLength":1,"maxLength":200},"destinationUrl":{"type":"string","maxLength":2048,"format":"uri"},"image":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["feed"]},"imageKey":{"type":"string","minLength":1,"maxLength":200}},"required":["kind","imageKey"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["asset"]},"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}},"required":["kind","assetId"],"additionalProperties":false}]},"locale":{"default":"en-US","type":"string","minLength":2,"maxLength":35},"sourceRevision":{"type":"integer","minimum":0,"maximum":9007199254740991},"safeFallback":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":200},"brand":{"type":"string","minLength":1,"maxLength":100},"image":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["feed"]},"imageKey":{"type":"string","minLength":1,"maxLength":200}},"required":["kind","imageKey"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["asset"]},"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}},"required":["kind","assetId"],"additionalProperties":false}]}},"required":["name","image"],"additionalProperties":false}},"required":["version","url","refreshTier","mapping","productId","destinationUrl","image","sourceRevision","safeFallback"],"additionalProperties":false},{"type":"object","properties":{"format":{"type":"string","enum":["csv"]},"version":{"type":"number","enum":[1]},"url":{"type":"string"},"refreshTier":{"type":"string","enum":["fast","hourly","daily"]},"sourceRevision":{"type":"integer","minimum":0,"maximum":9007199254740991},"row":{"type":"object","properties":{"keyColumn":{"type":"string","minLength":1,"maxLength":200},"keyValue":{"type":"string","minLength":1,"maxLength":200}},"required":["keyColumn","keyValue"],"additionalProperties":false},"mapping":{"type":"object","properties":{"fixedCurrency":{"type":"string","enum":["USD","EUR","GBP","CAD","AUD","JPY"]},"fields":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":200},"brand":{"type":"string","minLength":1,"maxLength":200},"productUrl":{"type":"string","minLength":1,"maxLength":200},"price":{"type":"string","minLength":1,"maxLength":200},"compareAtPrice":{"type":"string","minLength":1,"maxLength":200},"currency":{"type":"string","minLength":1,"maxLength":200},"availability":{"type":"string","minLength":1,"maxLength":200},"stockCount":{"type":"string","minLength":1,"maxLength":200}},"required":["name","productUrl","price","availability"],"additionalProperties":false},"imageUrlColumn":{"type":"string","minLength":1,"maxLength":200},"availability":{"type":"object","properties":{"inStock":{"minItems":1,"maxItems":20,"type":"array","items":{"type":"string","maxLength":100}},"outOfStock":{"minItems":1,"maxItems":20,"type":"array","items":{"type":"string","maxLength":100}},"unknown":{"default":[],"maxItems":20,"type":"array","items":{"type":"string","maxLength":100}}},"required":["inStock","outOfStock"],"additionalProperties":false}},"required":["fields","imageUrlColumn","availability"],"additionalProperties":false},"productId":{"type":"string","minLength":1,"maxLength":200},"destinationUrl":{"type":"string","maxLength":2048,"format":"uri"},"image":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["feed"]},"imageKey":{"type":"string","minLength":1,"maxLength":200}},"required":["kind","imageKey"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["asset"]},"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}},"required":["kind","assetId"],"additionalProperties":false}]},"locale":{"default":"en-US","type":"string","minLength":2,"maxLength":35},"safeFallback":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":200},"brand":{"type":"string","minLength":1,"maxLength":100},"image":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["feed"]},"imageKey":{"type":"string","minLength":1,"maxLength":200}},"required":["kind","imageKey"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["asset"]},"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}},"required":["kind","assetId"],"additionalProperties":false}]}},"required":["name","image"],"additionalProperties":false}},"required":["format","version","url","refreshTier","sourceRevision","row","mapping","productId","destinationUrl","image","safeFallback"],"additionalProperties":false}]}},"additionalProperties":false},{"type":"object","properties":{"brand":{"type":"object","properties":{"accentColor":{"type":"string","pattern":"^#(?:[a-f\\d]{3}|[a-f\\d]{6})$"},"fontId":{"type":"string","maxLength":80,"pattern":"^(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display|\"\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*\"|'\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*')$"},"brandName":{"type":"string","maxLength":200}}},"tokens":{"type":"object","properties":{"surface":{"type":"string","minLength":1},"ink":{"type":"string","minLength":1},"muted":{"type":"string","minLength":1},"accent":{"type":"string","minLength":1},"accentSoft":{"type":"string","minLength":1},"line":{"type":"string","minLength":1},"headingFont":{"type":"string","minLength":1},"bodyFont":{"type":"string","minLength":1}},"additionalProperties":false},"collection":{"type":"string","enum":["signal","ledger","poster","night"]},"format":{"type":"string","enum":["png"]},"dslLayout":{},"background":{},"source":{}},"required":["format","dslLayout","source"],"additionalProperties":{}},{"type":"object","properties":{"brand":{"type":"object","properties":{"accentColor":{"type":"string","pattern":"^#(?:[a-f\\d]{3}|[a-f\\d]{6})$"},"fontId":{"type":"string","maxLength":80,"pattern":"^(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display|\"\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*\"|'\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*')$"},"brandName":{"type":"string","maxLength":200}}},"tokens":{"type":"object","properties":{"surface":{"type":"string","minLength":1},"ink":{"type":"string","minLength":1},"muted":{"type":"string","minLength":1},"accent":{"type":"string","minLength":1},"accentSoft":{"type":"string","minLength":1},"line":{"type":"string","minLength":1},"headingFont":{"type":"string","minLength":1},"bodyFont":{"type":"string","minLength":1}},"additionalProperties":false},"collection":{"type":"string","enum":["signal","ledger","poster","night"]},"format":{"type":"string","enum":["png"]},"dslLayout":{},"background":{},"source":{}},"required":["format","dslLayout","source"],"additionalProperties":{}},{"type":"object","properties":{"brand":{"type":"object","properties":{"accentColor":{"type":"string","pattern":"^#(?:[a-f\\d]{3}|[a-f\\d]{6})$"},"fontId":{"type":"string","maxLength":80,"pattern":"^(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display|\"\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*\"|'\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*')$"},"brandName":{"type":"string","maxLength":200}}},"tokens":{"type":"object","properties":{"surface":{"type":"string","minLength":1},"ink":{"type":"string","minLength":1},"muted":{"type":"string","minLength":1},"accent":{"type":"string","minLength":1},"accentSoft":{"type":"string","minLength":1},"line":{"type":"string","minLength":1},"headingFont":{"type":"string","minLength":1},"bodyFont":{"type":"string","minLength":1}},"additionalProperties":false},"collection":{"type":"string","enum":["signal","ledger","poster","night"]},"format":{"type":"string","enum":["png"]},"dslLayout":{},"destinationUrl":{"type":"string"},"background":{},"previewBusinessHoursScenario":{"not":{}}},"required":["format","dslLayout"],"additionalProperties":{}},{"type":"object","properties":{"brand":{"type":"object","properties":{"accentColor":{"type":"string","pattern":"^#(?:[a-f\\d]{3}|[a-f\\d]{6})$"},"fontId":{"type":"string","maxLength":80,"pattern":"^(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display|\"\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*\"|'\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*')$"},"brandName":{"type":"string","maxLength":200}}},"tokens":{"type":"object","properties":{"surface":{"type":"string","minLength":1},"ink":{"type":"string","minLength":1},"muted":{"type":"string","minLength":1},"accent":{"type":"string","minLength":1},"accentSoft":{"type":"string","minLength":1},"line":{"type":"string","minLength":1},"headingFont":{"type":"string","minLength":1},"bodyFont":{"type":"string","minLength":1}},"additionalProperties":false},"collection":{"type":"string","enum":["signal","ledger","poster","night"]},"format":{"type":"string","enum":["png"]},"dslLayout":{},"destinationUrl":{"type":"string"},"background":{},"previewShippingCutoffScenario":{"not":{}}},"required":["format","dslLayout"],"additionalProperties":{}},{"type":"object","properties":{"brand":{"type":"object","properties":{"accentColor":{"type":"string","pattern":"^#(?:[a-f\\d]{3}|[a-f\\d]{6})$"},"fontId":{"type":"string","maxLength":80,"pattern":"^(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display|\"\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*\"|'\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*')$"},"brandName":{"type":"string","maxLength":200}}},"tokens":{"type":"object","properties":{"surface":{"type":"string","minLength":1},"ink":{"type":"string","minLength":1},"muted":{"type":"string","minLength":1},"accent":{"type":"string","minLength":1},"accentSoft":{"type":"string","minLength":1},"line":{"type":"string","minLength":1},"headingFont":{"type":"string","minLength":1},"bodyFont":{"type":"string","minLength":1}},"additionalProperties":false},"collection":{"type":"string","enum":["signal","ledger","poster","night"]},"format":{"type":"string","enum":["png"]},"dslLayout":{},"background":{},"source":{}},"required":["format","dslLayout","source"],"additionalProperties":{}},{"type":"object","properties":{"brand":{"type":"object","properties":{"accentColor":{"type":"string","pattern":"^#(?:[a-f\\d]{3}|[a-f\\d]{6})$"},"fontId":{"type":"string","maxLength":80,"pattern":"^(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display|\"\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*\"|'\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*')$"},"brandName":{"type":"string","maxLength":200}}},"responseMode":{"type":"string","enum":["choice","rating_5","nps_0_10"]},"question":{"type":"string","minLength":1,"maxLength":500},"npsSubject":{"type":"string","minLength":1,"maxLength":120},"scaleLabels":{"type":"object","properties":{"low":{"type":"string","minLength":1,"maxLength":60},"high":{"type":"string","minLength":1,"maxLength":60}},"required":["low","high"],"additionalProperties":false},"showResults":{"type":"boolean"},"redirectUrl":{"type":"string","format":"uri"},"options":{"minItems":2,"maxItems":10,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"label":{"type":"string","minLength":1,"maxLength":200},"sortOrder":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["label"],"additionalProperties":false}},"optionStyle":{"type":"object","properties":{"width":{"default":400,"type":"integer","minimum":100,"maximum":800},"height":{"default":56,"type":"integer","minimum":32,"maximum":120},"gap":{"default":8,"type":"integer","minimum":0,"maximum":32},"backgroundColor":{"default":"#ffffff","type":"string","pattern":"^(?:#[0-9a-f]{3}|#[0-9a-f]{6}|rgba?\\(\\s*\\d{1,3}\\s*,\\s*\\d{1,3}\\s*,\\s*\\d{1,3}(?:\\s*,\\s*(?:0|1|0?\\.\\d+))?\\s*\\))$"},"textColor":{"default":"#1a1a1a","type":"string","pattern":"^(?:#[0-9a-f]{3}|#[0-9a-f]{6}|rgba?\\(\\s*\\d{1,3}\\s*,\\s*\\d{1,3}\\s*,\\s*\\d{1,3}(?:\\s*,\\s*(?:0|1|0?\\.\\d+))?\\s*\\))$"},"fontSize":{"default":16,"type":"integer","minimum":10,"maximum":32},"fontFamily":{"default":"Inter","type":"string","enum":["Inter","Arial","Helvetica","Verdana","Tahoma","Georgia","Times New Roman","sans-serif","system-ui"]},"borderRadius":{"default":8,"type":"integer","minimum":0,"maximum":32},"barColor":{"default":"#6366f1","type":"string","pattern":"^(?:#[0-9a-f]{3}|#[0-9a-f]{6}|rgba?\\(\\s*\\d{1,3}\\s*,\\s*\\d{1,3}\\s*,\\s*\\d{1,3}(?:\\s*,\\s*(?:0|1|0?\\.\\d+))?\\s*\\))$"},"barOpacity":{"default":0.15,"type":"number","minimum":0,"maximum":1},"percentageColor":{"default":"#6b7280","type":"string","pattern":"^(?:#[0-9a-f]{3}|#[0-9a-f]{6}|rgba?\\(\\s*\\d{1,3}\\s*,\\s*\\d{1,3}\\s*,\\s*\\d{1,3}(?:\\s*,\\s*(?:0|1|0?\\.\\d+))?\\s*\\))$"}},"additionalProperties":false},"format":{"type":"string","enum":["png","gif","webp","apng","jxl","jpg"]}},"additionalProperties":{}},{"type":"object","properties":{"brand":{"type":"object","properties":{"accentColor":{"type":"string","pattern":"^#(?:[a-f\\d]{3}|[a-f\\d]{6})$"},"fontId":{"type":"string","maxLength":80,"pattern":"^(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display|\"\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*\"|'\\s*(?:Arial|Helvetica|Georgia|Times New Roman|Courier New|Verdana|Impact|Comic Sans MS|Inter|Montserrat|Playfair Display)\\s*')$"},"brandName":{"type":"string","maxLength":200}}},"format":{"type":"string","enum":["png","gif","webp","apng","jxl","jpg"]},"dslLayout":{}},"additionalProperties":{}}],"description":"The documented union is illustrative; the widget's stored type selects validation at runtime. For most widgets, supplying config replaces the saved object. Omitted fields are not restored automatically, and some update schemas accept missing fields. Read and preserve the complete current config before editing it. Non-choice poll response modes merge permitted omitted fields, including optionStyle, while preserving immutable response semantics."},"expectedDataSourceRevision":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"folderId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$","nullable":true},"starred":{"type":"boolean"}}},"SetLiveNumericValueRequestBody":{"type":"object","properties":{"value":{"type":"integer","minimum":-1000000000000,"maximum":1000000000000},"sourceVersion":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"expectedRevision":{"type":"integer","minimum":0,"maximum":9007199254740991},"recipient":{"type":"string"}},"required":["value","sourceVersion"],"additionalProperties":false},"IncrementLiveNumericValueRequestBody":{"type":"object","properties":{"delta":{"anyOf":[{"type":"integer","minimum":-1000000000000,"maximum":-1},{"type":"integer","minimum":1,"maximum":1000000000000}]},"recipient":{"type":"string"},"eventId":{"type":"string","minLength":1,"maxLength":255}},"required":["delta"],"additionalProperties":false},"BulkSetLiveNumericValueRequestBody":{"type":"object","properties":{"entries":{"minItems":1,"maxItems":500,"type":"array","items":{"type":"object","properties":{"value":{"type":"integer","minimum":-1000000000000,"maximum":1000000000000},"sourceVersion":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"expectedRevision":{"type":"integer","minimum":0,"maximum":9007199254740991},"recipient":{"type":"string"}},"required":["value","sourceVersion","recipient"],"additionalProperties":false}}},"required":["entries"],"additionalProperties":false},"WidgetEnvelope":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"id":{"type":"string"},"userId":{"type":"string"},"type":{"type":"string","enum":["latest_content","event_card","campaign_stages","weather_variants","countdown","progress_bar","radial_progress","gauge_progress","vertical_progress","step_progress","wave_liquid","flip_clock","stat_counter","timeline","rating_summary","donut","heatmap","personalized_banner","comparison_tile","membership_card","leaderboard","data_table","time_series","calendar","sparkline","current_weather","weather_forecast","uv_index","daylight","weather_compare","product_card","booking_availability","service_status","business_hours","shipping_cutoff","review_spotlight","poll","video_thumbnail"]},"name":{"type":"string"},"config":{},"dimensions":{"type":"object","properties":{"width":{"type":"number"},"height":{"type":"number"}},"required":["width","height"],"additionalProperties":false},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"renderCount":{"type":"number"}},"required":["id","userId","type","name","config","createdAt","updatedAt"],"additionalProperties":false}},"required":["success","data"],"additionalProperties":false},"PublicWidgetEnvelope":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["latest_content","event_card","campaign_stages","weather_variants","countdown","progress_bar","radial_progress","gauge_progress","vertical_progress","step_progress","wave_liquid","flip_clock","stat_counter","timeline","rating_summary","donut","heatmap","personalized_banner","comparison_tile","membership_card","leaderboard","data_table","time_series","calendar","sparkline","current_weather","weather_forecast","uv_index","daylight","weather_compare","product_card","booking_availability","service_status","business_hours","shipping_cutoff","review_spotlight","poll","video_thumbnail"]},"name":{"type":"string"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["id","type","name","createdAt","updatedAt"],"additionalProperties":false}},"required":["success","data"],"additionalProperties":false},"LatestContentPublicEnvelope":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"state":{"type":"string","enum":["current_item","no_eligible_item","missing_image","feed_unavailable"]},"generation":{"type":"string","minLength":1,"maxLength":128},"resolvedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"item":{"type":"object","properties":{"title":{"type":"string","minLength":1,"maxLength":500},"source":{"type":"string","minLength":1,"maxLength":500},"date":{"type":"string","minLength":1,"maxLength":100},"dateProvenance":{"type":"string","enum":["published","updated"]},"articleUrl":{"type":"string","maxLength":2048,"format":"uri"},"articleHostname":{"type":"string","minLength":1,"maxLength":253},"imageUrl":{"anyOf":[{"type":"string","maxLength":2048,"format":"uri"},{"type":"string","maxLength":2048}]}},"required":["title","source","date","dateProvenance","articleUrl","articleHostname"],"additionalProperties":false}},"required":["id","state","generation","resolvedAt"],"additionalProperties":false}},"required":["success","data"],"additionalProperties":false},"LiveNumericValueReadEnvelope":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"widgetId":{"type":"string","minLength":1},"revision":{"type":"integer","minimum":0,"maximum":9007199254740991},"active":{"type":"boolean"},"value":{"type":"integer","minimum":-1000000000000,"maximum":1000000000000,"nullable":true},"sourceVersion":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"nullable":true},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$","nullable":true},"recipient":{"type":"string"},"recipientCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"recipientLimit":{"type":"integer","minimum":0,"maximum":9007199254740991},"recipientLimitHitAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$","nullable":true}},"required":["widgetId","revision","active","value","sourceVersion","updatedAt"],"additionalProperties":false}},"required":["success","data"],"additionalProperties":false},"LiveNumericValueMutationEnvelope":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"widgetId":{"type":"string","minLength":1},"revision":{"type":"integer","minimum":0,"maximum":9007199254740991},"active":{"type":"boolean"},"value":{"type":"integer","minimum":-1000000000000,"maximum":1000000000000,"nullable":true},"sourceVersion":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"nullable":true},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$","nullable":true},"recipient":{"type":"string"},"recipientCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"applied":{"type":"boolean"},"reason":{"type":"string","enum":["applied","cleared","unchanged","stale","limit","conflict","duplicate"]}},"required":["widgetId","revision","active","value","sourceVersion","updatedAt","applied","reason"],"additionalProperties":false}},"required":["success","data"],"additionalProperties":false},"BulkLiveNumericValueEnvelope":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"widgetId":{"type":"string","minLength":1},"results":{"type":"array","items":{"type":"object","properties":{"revision":{"type":"integer","minimum":0,"maximum":9007199254740991},"value":{"type":"integer","minimum":-1000000000000,"maximum":1000000000000,"nullable":true},"sourceVersion":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"nullable":true},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$","nullable":true},"recipient":{"type":"string"},"applied":{"type":"boolean"},"reason":{"type":"string","enum":["applied","cleared","unchanged","stale","limit","conflict","duplicate"]}},"required":["revision","value","sourceVersion","updatedAt","applied","reason"],"additionalProperties":false}}},"required":["widgetId","results"],"additionalProperties":false}},"required":["success","data"],"additionalProperties":false},"DeleteLiveRecipientValuesEnvelope":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"widgetId":{"type":"string","minLength":1},"deleted":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["widgetId","deleted"],"additionalProperties":false}},"required":["success","data"],"additionalProperties":false},"WidgetListEnvelope":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"userId":{"type":"string"},"type":{"type":"string","enum":["latest_content","event_card","campaign_stages","weather_variants","countdown","progress_bar","radial_progress","gauge_progress","vertical_progress","step_progress","wave_liquid","flip_clock","stat_counter","timeline","rating_summary","donut","heatmap","personalized_banner","comparison_tile","membership_card","leaderboard","data_table","time_series","calendar","sparkline","current_weather","weather_forecast","uv_index","daylight","weather_compare","product_card","booking_availability","service_status","business_hours","shipping_cutoff","review_spotlight","poll","video_thumbnail"]},"name":{"type":"string"},"config":{},"dimensions":{"type":"object","properties":{"width":{"type":"number"},"height":{"type":"number"}},"required":["width","height"],"additionalProperties":false},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"renderCount":{"type":"number"}},"required":["id","userId","type","name","config","createdAt","updatedAt"],"additionalProperties":false}},"count":{"type":"number"}},"required":["success","data","count"],"additionalProperties":false},"WidgetSummaryListEnvelope":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"type":{"type":"string","enum":["latest_content","event_card","campaign_stages","weather_variants","countdown","progress_bar","radial_progress","gauge_progress","vertical_progress","step_progress","wave_liquid","flip_clock","stat_counter","timeline","rating_summary","donut","heatmap","personalized_banner","comparison_tile","membership_card","leaderboard","data_table","time_series","calendar","sparkline","current_weather","weather_forecast","uv_index","daylight","weather_compare","product_card","booking_availability","service_status","business_hours","shipping_cutoff","review_spotlight","poll","video_thumbnail"]}},"required":["id","name","type"],"additionalProperties":false,"description":"Owner-scoped widget metadata without configuration or source URLs."}},"count":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["success","data","count"],"additionalProperties":false,"description":"A metadata-only list of widgets owned by the authenticated API account."},"HealthResponse":{"type":"object","properties":{"status":{"type":"string","enum":["healthy","degraded","unhealthy"]},"message":{"type":"string"},"timestamp":{"type":"string"},"environment":{"type":"string"},"version":{"type":"string"},"uptime":{"type":"number"},"services":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}},"required":["status","message","timestamp","environment","version","uptime","services"],"additionalProperties":false},"LivenessResponse":{"type":"object","properties":{"status":{"type":"string","enum":["ok"]},"uptime":{"type":"number"}},"required":["status","uptime"],"additionalProperties":false},"OpenApiDocument":{"type":"object","properties":{},"additionalProperties":{}},"ApiIdentityEnvelope":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"id":{"type":"string","minLength":1}},"required":["id"],"additionalProperties":false}},"required":["success","data"],"additionalProperties":false},"SuccessMessageResponse":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"message":{"type":"string"}},"required":["success","message"],"additionalProperties":false},"AddWidgetGiftRequestBody":{"type":"object","properties":{"giftId":{"type":"string","minLength":1,"maxLength":255},"amount":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^-?\\d+(?:\\.\\d{1,2})?$"}]},"note":{"type":"string","minLength":1,"maxLength":140}},"required":["giftId","amount"],"additionalProperties":false},"WidgetGiftReceiptEnvelope":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"widgetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"giftId":{"type":"string","minLength":1,"maxLength":255},"applied":{"type":"boolean"},"reason":{"type":"string","enum":["applied","duplicate"]},"value":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"nullable":true}},"required":["widgetId","giftId","applied","reason","value"],"additionalProperties":false}},"required":["success","data"],"additionalProperties":false}}}}